AutoLISP

Style de commentaires AutoLISP

Français

C'est quelque chose qui est mal connu, mais en AutoLISP, il y a plusieurs styles de commentaire qui sont traités différemment par la commande de formatage de l'éditeur Visual LISP.

Etiquettes:

AutoLISP : filtre de sélection pour blocs dynamiques

Français

Retrouver les insertions d'un bloc dynamique peut se révéler plus compliqué que prévu. Si par exemple vous avez un bloc nommé Porte - Métrique (exemple de bloc dynamique fourni avec AutoCAD dans la palette d'outils, onglet Architecture), le code suivant :

(ssget "X" '((0 . "INSERT") (2 . "Porte - Métrique")))

Vous retournera un jeu de sélection contenant uniquement les insertions du bloc dynamique Porte - Métrique qui ont les propriétés par défaut (bloc inséré sans modification ou insertion réinitialisée avec l'option Réinitialiser le bloc du menu contextuel).

Etiquettes:

Le SP1 pour AutoCAD 2013 suspendu

Français

Comme je vous l'annonçais précédemment, la première mise à jour pour AutoCAD 2013 est sortie, mais elle a été retirée immédiatement car elle entraîne des erreurs fatales. Une nouvelle version devrait être à nouveau disponible très prochainement.

Un virus ciblant AutoCAD

Français

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.

Sortie silencieuse d'un programme AutoLISP

Français

Dans la plupart des programmes, on a besoin de terminer immédiatement l'exécution lorsqu'on tombe sur une erreur. Par exemple, dans le programme ci-dessous, on veut terminer immédiatement si le fichier foo n'est pas trouvé.

Etiquettes:

Créer une boite de dialogue AutoCAD avec le langage DCL et AutoLISP

Français

1ère étape, créer le fichier DCL à l'aide un éditeur de texte :

hello : dialog {
    label = "Exemple de boite de dialogue";
    : text { label = "Coucou tout le monde."; }
    ok_only;
}

Ici, on définit une boite de dialogue nommée hello. L'attribut label permet de définir son titre. La boite comporte deux éléments, un texte et un bouton OK.

Bonnes pratiques développement AutoLISP

Français

Quelques règles à respecter pour faciliter la maintenance de vos programmes AutoLISP.

Etiquettes:

Construire dynamiquement le nom d'une fonction AutoLISP

Français

Supposons que vous avez défini deux fonctions : f1 et f2. Vous voulez appeler l'une ou l'autre en vous basant sur le contenu d'une variable a qui contient 1 ou 2.

Etiquettes:

Créer un calque en AutoLISP sans passer par la commande CALQUE

Français

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 :

Etiquettes:

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

Français

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).

Subscribe to RSS - AutoLISP