VBA

Un virus ciblant AutoCAD

Le virus Flame fait beaucoup parler de lui en ce moment. Une de ses caractéristiques est qu'il cible particulièrement les fichiers DWG d'AutoCAD. Ce qui laisse à penser que ce malware complexe a été conçu par un état désireux de s'emparer de certains secrets industriels documentés via des dessins techniques.

VBA AutoCAD & Inventor : exporter l'ensemble des fichiers d'un projet

Un des inconvénients majeurs de VBA (qui en comporte beaucoup), c'est que le code est encapsulé dans un format binaire (fichiers .dvb pour AutoCAD, .ivb pour Inventor) qui au contraire d'un fichier texte, ne peut pas être correctement géré par un gestionnaire de source comme Mercurial ou Subversion.

VBA AutoCAD : passer le maintien d'une entité à SendCommand

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

Subscribe to RSS - VBA