DenisHen Posté(e) le 10 janvier 2014 Posté(e) le 10 janvier 2014 Bonjours à tous, J'ai créé une macro VBA sous Excel qui fait des fichiers script (.scr) très gros, donc, très long à traiter dans AutoCAD... J'aimerai savoir s'il existe un FAQ ou des "Trucs et astuces" pour piloter AutoCAD depuis ma macro VBA Excel. Le script dessine des points, des textes, des textes multilignes, des polylignes 3D.... D'avence merci... Denis... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
Maxence DELANNOY Posté(e) le 12 janvier 2014 Posté(e) le 12 janvier 2014 Tu peux piloter AutoCAD (version complète) depuis Excel via l'API COM d'AutoCAD en "out-of-process". Il faut ajouter la référence à AutoCAD (AutoCAD 20xx Type Library) dans ton projet VBA Excel, puis tu peux te connecter avec AutoCAD et utiliser l'API pour créer des entités. Public Sub StartAutoCAD() Dim acadApp As AcadApplication On Error Resume Next ' Essaie de se connecter à une instance d'AutoCAD en cours d'exécution Set acadApp = GetObject(, "AutoCAD.Application") If Err Then Err.Clear ' Pas d'AutoCAD en cours d'exécution, on en démarre un Set acadApp = CreateObject("AutoCAD.Application") If Err Then MsgBox Err.Description Exit Sub End If End If On Error GoTo 0 MsgBox "Now running " + acadApp.Name + " version " + acadApp.Version ' On affiche la fenêtre sinon elle reste invisible acadApp.Visible = True ' Crée une ligne du point 0,0 au point 10,10 Dim p1(2) As Double Dim p2(2) As Double p2(0) = 10: p2(1) = 10 acadApp.ActiveDocument.ModelSpace.AddLine p1, p2 End Sub La documentation de l'API était fournie avec AutoCAD jusqu'à la version 2010 au moins mais dans les dernières versions, elle est en ligne par défaut et elle est difficile à trouver (ils ont eu la bonne idée chez Autodesk de créer une aide sans table des matières ! : http://docs.autodesk.com/ACD/2014/FRA/index.html) Maxence DELANNOYDéveloppement de compléments aux logiciels Autodesk : AutoCAD, Revit, Inventor, Vault, Navisworks... et autres logiciels de CAOWIIP - http://wiip.fr
DenisHen Posté(e) le 13 janvier 2014 Auteur Posté(e) le 13 janvier 2014 Salut, Merci Maxence, je vais potasser ta réponse... Denis... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
a.faurie Posté(e) le 13 février 2014 Posté(e) le 13 février 2014 Bonjour, j'ai un peu les mêmes besoins,je souhaite pouvoir mettre à jour les propriétés du dessin "PROPDESS" depuis excel.comment je peux faire ?
a.faurie Posté(e) le 7 juillet 2017 Posté(e) le 7 juillet 2017 J'ai trouver avec le code suivant ! ' Création de la propriété personalisée AcadPlan.SummaryInfo.AddCustomInfo "titre_affaire", titre_affaire 'Si la propriété existe déjà, il y aura une erreur -2145386475 If Err.Number = -2145386475 Then 's'il y a une erreur -2145386475 on mets à jour la veleur AcadPlan.SummaryInfo.SetCustomByKey "titre_affaire", titre_affaire ElseIf Err.Number = 0 Then 'Si une autre erreur se produit on continue comme si de rien Else End If
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant