Comment obtenir la longueur cumulée de plusieurs polylignes (et autres entités linéaires) sélectionnées dans AutoCAD 2004 ?
Pour obtenir la longueur cumulée de plusieurs polylignes, lignes, arcs ou autres entités dans AutoCAD 2004, la méthode la plus efficace est d’utiliser une routine AutoLISP personnalisée, car cette version d’AutoCAD ne dispose pas de commande native pour cette fonctionnalité sur une sélection multiple.
Voici la procédure détaillée pour utiliser la routine LISP fournie :
-
PRÉPARATION DE LA ROUTINE LISP
- Copiez le code LISP ci-dessous dans un éditeur de texte (comme le Bloc-notes).
- Enregistrez le fichier avec une extension
.lsp(par exemple,total_length.lsp) dans un dossier facilement accessible (par exemple, votre dossier de support AutoCAD).
(defun c:tl (/ ss tl n ent itm obj l) (setq ss (ssget) ; Sélectionne les objets tl 0 ; Initialise la longueur totale n (1- (sslength ss)) ; Index pour parcourir la sélection ) (while (>= n 0) (setq ent (entget (setq itm (ssname ss n))) obj (cdr (assoc 0 ent)) l (cond ((= obj "line") (distance (cdr (assoc 10 ent)) (cdr (assoc 11 ent))) ) ((= obj "arc") (* (cdr (assoc 40 ent)) (if (minusp (setq l (- (cdr (assoc 51 ent)) (cdr (assoc 50 ent))))) (+ pi pi l) l ) ) ) ((or (= obj "circle") (= obj "spline") (= obj "polyline") (= obj "lwpolyline") (= obj "ellipse")) (vl-cmdf "_.area" "_o" itm) ; Utilise la commande AREA pour obtenir le périmètre (getvar "perimeter") ) (t 0) ; Pour les autres types d'objets, la longueur est 0 ) tl (+ tl l) n (1- n) ) ) (alert (strcat "La longueur totale est : " (rtos tl))) ; Affiche le résultat (princ) ) -
CHARGEMENT DE LA ROUTINE LISP DANS AUTOCAD
- Dans AutoCAD 2004, tapez
APPLOAD(ou_APPLOAD) dans la ligne de commande et appuyez sur Entrée. - Dans la boîte de dialogue « Charger/Décharger des applications », naviguez jusqu’à l’emplacement où vous avez enregistré
total_length.lsp. - Sélectionnez le fichier et cliquez sur « Charger ».
- Pour que la routine soit chargée automatiquement à chaque démarrage d’AutoCAD, ajoutez-la à la « Trousse de démarrage » (Startup Suite) en cliquant sur le bouton « Contenu… » et en ajoutant le fichier.
- Dans AutoCAD 2004, tapez
-
UTILISATION DE LA COMMANDE LISP
- Une fois la routine chargée, tapez
TL(pour « Total Length », le nom de la commande défini dans le LISP) dans la ligne de commande et appuyez sur Entrée. - AutoCAD vous invitera à « Sélectionner les objets ». Sélectionnez toutes les polylignes, lignes, arcs, cercles, splines ou ellipses dont vous souhaitez calculer la longueur cumulée.
- Appuyez sur Entrée une fois la sélection terminée.
- Une boîte de dialogue « Alerte » s’affichera, indiquant la longueur totale calculée.
- Une fois la routine chargée, tapez
Explication de la routine LISP :
Cette routine itère sur chaque entité sélectionnée. Pour les LINE et ARC, elle calcule la longueur directement à partir de leurs données d’entité. Pour les POLYLINE, LWPOLYLINE, CIRCLE, SPLINE, ELLIPSE, elle utilise une astuce : elle exécute la commande AREA d’AutoCAD avec l’option « Objet » (_o) pour l’entité sélectionnée, puis récupère la valeur du périmètre via la variable système PERIMETER. C’est une méthode robuste pour obtenir la longueur ou le périmètre de ces entités. Elle cumule ensuite toutes ces longueurs et affiche le résultat final.
Bonnes pratiques :
- Assurez-vous que les unités de votre dessin sont correctement configurées (par exemple, mètres, millimètres) avant d’utiliser la routine, car le résultat sera dans les unités du dessin.
- Pour des vérifications ponctuelles d’une seule entité, la commande
LIST(ou_LIST) peut être utilisée pour afficher les propriétés détaillées, y compris la longueur ou le périmètre.