Autocad lt et autocad envoie d'une commande via vb [Résolu]

momol57 3 Messages postés mardi 12 février 2008Date d'inscription 28 février 2010 Dernière intervention - 2 avril 2009 à 17:15 - Dernière réponse : tonio160308 2 Messages postés jeudi 29 mai 2008Date d'inscription 17 mars 2010 Dernière intervention
- 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.
Afficher la suite 

Votre réponse

6 réponses

momol57 3 Messages postés mardi 12 février 2008Date d'inscription 28 février 2010 Dernière intervention - 3 avril 2009 à 14:40
+3
Utile
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à
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de momol57
pile_poil 682 Messages postés vendredi 6 avril 2007Date d'inscription 4 août 2012 Dernière intervention - 3 avril 2009 à 09:52
0
Utile
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
Commenter la réponse de pile_poil
pile_poil 682 Messages postés vendredi 6 avril 2007Date d'inscription 4 août 2012 Dernière intervention - 3 avril 2009 à 14:49
0
Utile
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
Commenter la réponse de pile_poil
tonio160308 2 Messages postés jeudi 29 mai 2008Date d'inscription 17 mars 2010 Dernière intervention - 27 févr. 2010 à 19:01
0
Utile
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.
Commenter la réponse de tonio160308
momol57 3 Messages postés mardi 12 février 2008Date d'inscription 28 février 2010 Dernière intervention - 28 févr. 2010 à 23:14
0
Utile
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.
Commenter la réponse de momol57
tonio160308 2 Messages postés jeudi 29 mai 2008Date d'inscription 17 mars 2010 Dernière intervention - 17 mars 2010 à 16:18
0
Utile
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.
Commenter la réponse de tonio160308

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.