antoine1 Posté(e) le 21 octobre 2005 Posté(e) le 21 octobre 2005 Bonjour, Je souhaiterai savoir comment obtenir la longueur d'une multiligne simplement. Merci, Antoine
bonuscad Posté(e) le 21 octobre 2005 Posté(e) le 21 octobre 2005 Bonjour, La longueur retournée par la procédure qui suit, est celle de la ligne de [surligneur]BASE[/surligneur] de de la multiligne. (defun c:ml_length ( / js ent dxf_ent closed lst l_dist) (princ "\nChoix de la multiligne : ") (setq js (ssget "_+.:E:S" '((0 . "MLINE")))) (cond (js (setq ent (ssname js 0) dxf_ent (entget ent) closed (boole 1 (cdr (assoc 71 dxf_ent)) 2) lst (mapcar '(lambda (x) (trans x ent 1)) (mapcar 'cdr (vl-remove-if '(lambda (x) (/= (car x) 11)) dxf_ent))) l_dist (mapcar 'distance (reverse (cdr (reverse lst))) (cdr lst)) ) (if (not (zerop closed)) (setq l_dist (cons (distance (last lst) (car lst)) l_dist))) (princ (strcat "\nLa longueur de la ligne de base de la multiligne est de: " (rtos (apply '+ l_dist)))) ) (T (princ "\nSélection vide ou ce n'est pas une multiligne")) ) (prin1) ) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant