Autocad lt et autocad envoie d'une commande via vb

Résolu
momol57 Messages postés 3 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 28 février 2010 - 2 avril 2009 à 17:15
tonio160308 Messages postés 2 Date d'inscription jeudi 29 mai 2008 Statut Membre Dernière intervention 17 mars 2010 - 17 mars 2010 à 16:18
Bonjour à tous,
Mon problème est j'essaie de faire une appli sous vb qui me permet de lancer  autocad  et de lui envoyer une commande. Mon petit bout de programme:
    Dim BaCadObj As Object


   On Error Resume Next


          Set BaCadObj = CreateObject("AutoCAD.Application")
          BaCadObj.Application.Visible = True
          BaCadObj.ActiveDocument.SendCommand ("filedia" & vbCr & "0" & vbCr & "script" & vbCr & path2 & vbCr)


End

ceci fonctionne avec autocad normal et moi je voudrais bien qu'il fonctionne avec autocad lt. Alors g remplacer Autocad.application par autocad lt.application mais windows ne reconnait pas le lt donc si vous pouviez m'aider ce serait super.

Merci d'avance.

6 réponses

momol57 Messages postés 3 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 28 février 2010
3 avril 2009 à 14:40
J'ai réussi à envoyer des commandes aux deux autocad (normal et lt)
 pour autocad normal:
 On Error Resume Next
          Set BaCadObj = GetObject(,"AutoCAD.Application")
          BaCadObj.Application.Visible = True
          BaCadObj.ActiveDocument.SendCommand ("filedia" & vbCr & "0" & vbCr & "script" & vbCr & path2 & vbCr)

Pour autocad Lt:
        Set obj = Text1
            AppActivate "AUTOCAD LT", True
            obj.LinkMode = 0
            obj.LinkTopic = "AutoCAD LT.DDE|System"
            obj.LinkMode = 2
            obj.LinkTimeout = 500
            obj.LinkExecute Replace("filedia" & vbCr & "0" & vbCr & "script" & vbCr & path2 & vbCr, vbCrLf, " ")

Le seul ennui c'est que l'on doit ouvrir autocad avant sinon erreur. Donc il faut ajouter un bouton avec l'instruction:
   dim ret as object
      ret= shell("Chemin du .exe à demarrer")

Voilà
3
pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
3 avril 2009 à 09:52
bonjour
autant que je me souvienne AutoCAD LT  au contraire d'AutoCAD normal n'integre pas l'automation donc il n'y a pas de solution

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
0
pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
3 avril 2009 à 14:49
Public Sub OuvreAcad()
    dim AcadApp as object
    On Error Resume Next
    Set AcadApp = GetObject(, "AutoCAD.Application")
    If Err Then
        Err.Clear
        Set AcadApp = CreateObject("AutoCAD.Application")
    End If
    AcadApp.Visible = True

cette petite macro t'ouvre Acad si il ne l'est pas déja

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
0
tonio160308 Messages postés 2 Date d'inscription jeudi 29 mai 2008 Statut Membre Dernière intervention 17 mars 2010
27 févr. 2010 à 19:01
bonjour,
je débute en vb.net et je travaille sur une application en vb.net pour envoyer des scripts dans autocad via des fichier ".scr"
Donc pas de souci avec les versions 2006 2008, mais avec la version autocad LT 2000 problème.
Donc j'ai essayé d'adapter le code ci-dessus mais je n'y arrive pas.
Pouvez vous m'aider svp.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
momol57 Messages postés 3 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 28 février 2010
28 févr. 2010 à 23:14
POur autocad LT tu es obligé d'utiliser une link DDE, voir rép du 3 Avril 2009, moi ca a été utilisé avec LT 2004 et sup. Sinon tu as un logiciel tout fait que tu peux télécharger sur le site caderix.com qui s'appelle SuperAutoScript. Jette y un coup d'oeil ou poste ton code.
0
tonio160308 Messages postés 2 Date d'inscription jeudi 29 mai 2008 Statut Membre Dernière intervention 17 mars 2010
17 mars 2010 à 16:18
Désolé j'ai pas peu répondre avant (séjour à Londres bref)
En faite je veux retraduire ce code VBA ci dessous en vb.net (j'utilise visual studio express 2008)

Pour Autocad LT:
Set obj = Text1
AppActivate "AUTOCAD LT", True
obj.LinkMode = 0
obj.LinkTopic = "AutoCAD LT.DDE|System"
obj.LinkMode = 2
obj.LinkTimeout = 500
obj.LinkExecute Replace("filedia" & vbCr & "0" & vbCr & "script" & vbCr & path2 & vbCr, vbCrLf, " ")

Je connais SuperAutoScript mais je préfère essayer de le faire moi même.
0