Je souhaite créer une commande de décalage complexe dans AutoCAD, qui, après un premier décalage d’une valeur fixe, attribue un type de ligne, une couleur et un calque, puis effectue un second décalage avec des propriétés différentes. Est-il possible de réaliser cela via une macro dans une palette d’outils ?
La solution réside dans la création d’une macro AutoCAD combinant les commandes _OFFSET, _CHPROP et _PEDIT, en utilisant des sélections automatiques comme _L (dernier objet) ou la fonction LISP (entlast) pour chaîner les actions. Cette macro a été finalisée et validée par l’utilisateur Benoit_marceau.
Voici les étapes pour implémenter cette macro :
-
Préparer les calques et types de ligne : Assurez-vous que les calques (BORDURES, TRAIT) et les types de ligne (P1, TI2020) mentionnés dans la macro existent déjà dans votre gabarit de dessin ou dans le dessin courant.
-
Créer ou modifier un outil dans la Palette d’outils :
- Ouvrez votre Palette d’outils (commande
_TOOLPALETTES). - Faites un clic droit dans la palette et choisissez « Nouvel outil » ou modifiez un outil existant.
- Dans les propriétés de l’outil, collez la chaîne de macro suivante dans le champ « Chaîne de commande » :
^C^C_OFFSET;0.04;\\;_CHPROP;_L;;_LA;BORDURES;_LT;P1;;_PEDIT;_L;LA;0.06;;_OFFSET;0.04;(entlast);\;_CHPROP;_L;;_LT;TI2020;_LA;TRAIT;_CO;90;;_PEDIT;_L;LA;0;;
- Ouvrez votre Palette d’outils (commande
-
Comprendre le fonctionnement de la macro :
^C^C: Annule toute commande en cours pour assurer un démarrage propre._OFFSET;0.04;: Lance la commande DECALER avec une distance fixe de 0.04 unités.\\: Demande à l’utilisateur de sélectionner l’objet à décaler et le côté du décalage._CHPROP;_L;;: Lance la commande PROPRIETES (CHPROP)._Lsélectionne le dernier objet créé (le résultat du premier décalage). Les points-virgules valident la sélection._LA;BORDURES;: Change le calque de l’objet sélectionné en « BORDURES »._LT;P1;;: Change le type de ligne en « P1 »._PEDIT;_L;LA;0.06;;: Lance la commande PEDIT (ÉDITPL)._Lsélectionne le dernier objet.LA;0.06;définit la largeur globale de la polyligne à 0.06. Les points-virgules ferment la commande PEDIT._OFFSET;0.04;: Lance un second décalage avec une distance de 0.04 unités.(entlast);\: Utilise la fonction LISP(entlast)pour sélectionner le dernier objet créé (le premier décalage) comme objet source pour le second décalage. Le\demande à l’utilisateur de choisir le côté du décalage._CHPROP;_L;;: Lance PROPRIETES et sélectionne le dernier objet créé (le résultat du second décalage)._LT;TI2020;_LA;TRAIT;_CO;90;;: Change le type de ligne en « TI2020 », le calque en « TRAIT » et la couleur en 90 (une couleur AutoCAD)._PEDIT;_L;LA;0;;: Lance PEDIT sur le dernier objet (le second décalage) et réinitialise sa largeur globale à 0.
-
Tester et ajuster : Exécutez la macro en cliquant sur l’outil dans la palette. Vous devrez sélectionner l’objet initial et le côté de décalage pour chaque opération. Vérifiez que les propriétés des objets créés sont conformes à vos attentes. Ajustez les noms de calques, types de ligne, couleurs et distances directement dans la chaîne de commande si nécessaire.
Note importante : Bien que cette macro permette de forcer des propriétés spécifiques aux objets, il est généralement recommandé de gérer les propriétés par calque pour une meilleure organisation et maintenabilité de vos dessins AutoCAD. Cette approche est particulièrement utile pour des cas spécifiques nécessitant une personnalisation rapide et répétitive.