Exécuter une commande AutoCAD
run_cad_commandExecute whitelisted native AutoCAD commands (OFFSET, TRIM, FILLET, HATCH) on the open drawing for edits AutoCAD handles best; requires confirmation and is not reversible by the server.
Instructions
DESTRUCTIF ET IRRÉVERSIBLE. Passerelle vers la ligne de commande d'AutoCAD: exécute une commande native du logiciel sur le dessin ouvert. undo_last_batch n'annule PAS ce que cette commande modifie, puisqu'elle n'est pas un lot de créations du serveur; seul l'annuler dans AutoCAD le peut.
À utiliser pour les transformations qu'AutoCAD sait déjà faire mieux qu'une réimplémentation: décaler un contour, ajuster ou prolonger des murs, raccorder deux traits, tracer un contour fermé autour d'un point. Commandes autorisées, et elles seules: ARRAY, BOUNDARY, CHAMFER, EXTEND, FILLET, HATCH, MIRROR, OFFSET, TRIM. Toute autre commande est refusée avec le code invalid_parameter et la liste ci-dessus: la liste blanche existe parce que transmettre une chaîne libre à un logiciel de CAO revient à exécuter du code arbitraire sur la machine de l'utilisateur.
INDISPONIBLE SUR LE BACKEND DXF, qui n'a pas d'interpréteur de commandes: l'appel échoue alors avec le code unsupported_operation, et c'est la situation normale hors d'un poste Windows où AutoCAD tourne. get_drawing_info dit dans can_run_commands si le moteur courant sait les exécuter: vérifiez-le avant de bâtir un plan là-dessus.
La commande est envoyée telle quelle: le dessin n'est pas relu pour vérifier ce qu'elle a fait. Regardez le résultat avec render_view.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| command | Yes | Nom de la commande AutoCAD, sans espace ni préfixe. La casse est libre, la comparaison à la liste blanche se fait en majuscules. Exemple: "OFFSET". | |
| arguments | No | Réponses aux invites de la commande, dans l'ordre. Une commande laissée en attente d'une invite bloquerait AutoCAD: donnez toutes les réponses. Exemple pour un décalage de 0,2 : ["0.2", "2,1", "3,1", ""]. | |
| confirm_command | Yes | Obligatoire, et à true. Sans lui, l'appel est refusé avec le code confirmation_required. Ce drapeau existe parce que la commande agit directement sur le document de l'utilisateur et que le serveur ne sait pas la défaire. |