Parfois, on a besoin d'utiliser SendCommand pour pouvoir réaliser certaines opérations que VBA ne supporte pas (la fonction LISSAGE par exemple). Et dans certaines situations, on veut pouvoir passer une référence à un objet précédemment créé. Dans ce cas on peut utiliser la fonction handent d'AutoLISP. handent prend en argument le maintien d'une entité et renvoie un nom d'entité qui est interprété par la ligne de commande d'AutoCAD :
Set circle1 = ThisDrawing.ModelSpace.AddCircle(p1, r1) Set circle2 = ThisDrawing.ModelSpace.AddCircle(p2, r2) ThisDrawing.SendCommand "_Loft" & vbCr _ & "(handent """ & circle1.Handle & """)" & vbCr _ & "(handent """ & circle2.Handle & """)" & vbCr _ & vbCr _ & vbCr
Notez bien que le maintien doit être spécifié entre deux guillemets doubles (qu'on doit doubler pour les spécifier dans une chaîne littérale en VBA).
Besoin d'un développement spécifique pour AutoCAD ?
Développement de compléments à AutoCAD et aux autres logiciels Autodesk (AutoCAD Electrical, AutoCAD Mechanical, Inventor, Revit, Vault, Navisworks...). C#/VB/.NET, C++/ObjectARX, AutoLISP, VBA.
Migration de vos projets VBA en .NET, intégration RealDWG dans vos applications, développement sur plateforme AutoCAD OEM et Inventor OEM.
Assistance technique AutoCAD, Inventor, Revit, Vault.
Maxence DELANNOY - Tél. : 06.46.40.75.66 - maxence.delannoy@wiip.fr
|
Ajouter un commentaire