Publié par Maxence le mer, 28/09/2011 - 14:47
On utilise d'abord tblsearch pour vérifier que le calque n'existe pas déjà, ensuite on crée une liste de définition d'entité et finalement on utilise entmakex :
Publié par Maxence le jeu, 17/03/2011 - 15:03
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).
Pages