gm2905 Posté(e) le 22 avril 2009 Posté(e) le 22 avril 2009 Bonjour, Je suis à la recherche d'un lisp qui me donnerais la longueur cumulée des lignes, polylignes ou arcs sélectionnés.J'ai regardé un peu tout ce qui existe sur ce magnifique site, mais je n'ai pas trouvé mon bonheur. Une bonne âme pourrait-elle m'aider?
lili2006 Posté(e) le 22 avril 2009 Posté(e) le 22 avril 2009 Bonjour à toutes et tous, Bienvenue gm2905, Sur cette page => Le lisp "TotalPérim" Dans le même style (pour les surfaces), un post d'actualité a voir, éventuellement,... Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
bonuscad Posté(e) le 22 avril 2009 Posté(e) le 22 avril 2009 Bonjour, Si c'est juste pour avoir l'information, un truc plus simple... (vl-load-com) (defun c:cumul_length ( / js n ename l_cumul) (or (setq js (ssget "_I")) (setq js (ssget "_P")) ) (cond (js (sssetfirst nil js) (initget "Existant Nouveau _Existent New") (if (eq (getkword "\nTraiter jeu de sélection [Existant/Nouveau] : ") "New") (progn (sssetfirst nil nil) (setq js (ssadd) js (ssget))) ) ) (T (setq js (ssget))) ) (cond (js (setq l_cumul 0.0) (repeat (setq n (sslength js)) (setq ename (vlax-ename->vla-object (ssname js (setq n (1- n))))) (foreach typ_measure '("Length" "ArcLength" "Circumference") (if (vlax-property-available-p ename (read typ_measure)) (setq l_cumul (+ (vlax-get ename (read typ_measure)) l_cumul)) ) ) ) (princ (strcat "\nLongueur cumulée: " (rtos l_cumul))) ) ) (prin1) ) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
gm2905 Posté(e) le 22 avril 2009 Auteur Posté(e) le 22 avril 2009 Merci pour vos réponses.Je teste demain et on en reparle.
gm2905 Posté(e) le 24 avril 2009 Auteur Posté(e) le 24 avril 2009 Super, cumul_length est tout à fait ce dont j'ai besoin.Simple et rapide.Totalperim est bien aussi mais m'oblige à effacer le resultat qui s'affiche automatiquement. Merci Bonuscad et lili2006. ;)
lili2006 Posté(e) le 24 avril 2009 Posté(e) le 24 avril 2009 Re, otalperim est bien aussi mais m'oblige à effacer le resultat qui s'affiche automatiquement. Et sur un calque non imprimable ou gelé ? C'est tout de même pratique d'avoir l'info, non ? Combien de fois j'ai refait la même manip avant ce lisp,... Mais "cumul_length " de bonuscad est très bien aussi, ;) Bon WE à tous, Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
bonuscad Posté(e) le 25 avril 2009 Posté(e) le 25 avril 2009 Puisqu'elle a l'air de vous plaire, on peut avoir la même chose pour les surfaces avec peu de modifications. (vl-load-com) (defun c:cumul_area ( / js n ename a_cumul) (or (setq js (ssget "_I")) (setq js (ssget "_P")) ) (cond (js (sssetfirst nil js) (initget "Existant Nouveau _Existent New") (if (eq (getkword "\nTraiter jeu de sélection [Existant/Nouveau] : ") "New") (progn (sssetfirst nil nil) (setq js (ssadd) js (ssget))) ) ) (T (setq js (ssget))) ) (cond (js (setq a_cumul 0.0) (repeat (setq n (sslength js)) (setq ename (vlax-ename->vla-object (ssname js (setq n (1- n))))) (if (vlax-property-available-p ename "Area") (setq a_cumul (+ (vlax-get ename 'Area) a_cumul)) ) ) (princ (strcat "\nSurface cumulée: " (rtos a_cumul))) ) ) (prin1) ) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
lili2006 Posté(e) le 25 avril 2009 Posté(e) le 25 avril 2009 Bonjour à toutes et tous, Simple & efficace aussi !!! :P Merci bonuscad, ;) Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
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