Comment créer une macro AutoCAD pour insérer un bloc depuis un fichier DWG externe, le décomposer automatiquement à l’insertion, et permettre la sélection interactive du point d’insertion, tout en utilisant des échelles et rotations par défaut ?
Pour créer une macro AutoCAD qui insère un bloc depuis un fichier DWG externe, le décompose immédiatement et permet de choisir le point d’insertion de manière interactive tout en appliquant les échelles et rotations par défaut, vous devez utiliser une syntaxe DIESEL spécifique. Voici la procédure détaillée :
1. Comprendre les Composants Clés d’une Macro DIESEL
Une macro DIESEL est une séquence de commandes et de caractères spéciaux qui simulent une saisie utilisateur. Les éléments essentiels sont :
^C^C: Annule toute commande en cours (deux fois pour plus de sûreté).-INSERER: Appelle la version en ligne de commande de la fonctionINSERER(évite l’ouverture d’une boîte de dialogue).;: Simule la toucheEntrée.\: Met la macro en pause et attend une saisie utilisateur (par exemple, un clic pour un point).
2. Décomposer le Bloc à l’Insertion (Explode)
Pour qu’un bloc soit automatiquement décomposé (explosé) dès son insertion, vous devez préfixer son nom par un astérisque (*).
- Exemple : Si votre bloc s’appelle
Gabariecadretitre, vous utiliserez*Gabariecadretitre.
3. Définir le Point d’Insertion de Manière Interactive
Pour permettre à l’utilisateur de cliquer sur le dessin pour choisir le point d’insertion, utilisez le caractère \ (backslash) à l’endroit où la commande INSERER attend le point.
4. Gérer l’Échelle et la Rotation par Défaut
Après le point d’insertion, la commande INSERER demande successivement l’échelle X, l’échelle Y et l’angle de rotation. Pour accepter les valeurs par défaut (généralement 1 pour les échelles et 0 pour la rotation), il suffit d’envoyer un Entrée (;) pour chaque prompt.
5. Macro Combinée et Optimisée
En combinant ces éléments, voici la macro DIESEL qui répond à vos besoins :
^C^C-INSERER;*Gabariecadretitre;\;;;
6. Explication Détaillée de la Macro
^C^C: Annule toute commande active pour assurer que la macro démarre dans un état neutre.-INSERER: Lance la commande d’insertion de bloc en mode ligne de commande.;: Valide la commande-INSERER.*Gabariecadretitre: Spécifie le nom du bloc à insérer. Le*devantGabariecadretitreindique à AutoCAD de décomposer le bloc immédiatement après son insertion.;: Valide le nom du bloc.\: Met la macro en pause et attend que l’utilisateur clique sur un point dans le dessin pour définir le point d’insertion du bloc.;: Valide l’échelle X par défaut (qui est généralement 1).;: Valide l’échelle Y par défaut (qui est généralement 1).;: Valide l’angle de rotation par défaut (qui est généralement 0).
7. Bonnes Pratiques
- Utilisation de la version en ligne de commande : Toujours privilégier les versions en ligne de commande (précédées d’un tiret, ex:
-INSERER) pour les macros afin d’éviter les boîtes de dialogue qui interrompraient le script. - Test et ajustement : Testez toujours votre macro après l’avoir créée ou modifiée pour vous assurer qu’elle se comporte comme prévu. Si vous souhaitez des échelles ou rotations spécifiques, remplacez les
;par les valeurs numériques désirées (ex:^C^C-INSERER;*Gabariecadretitre;\;2;2;45;pour échelle X=2, Y=2, rotation=45 degrés).
Cette macro peut être assignée à un bouton de barre d’outils ou à un élément de menu personnalisé dans AutoCAD.