LOLO2B82 Posté(e) le 9 janvier 2008 Posté(e) le 9 janvier 2008 Bonjour, j'aimerai connaitre la longueur de canalisation d'un réseau entier dessiné en polyligne, avec la commande "_list" (liste) j'ai la longueur d'une polyligne. Comment faire pour avoir la somme de toutes les polylignes du réseau ? merci
Bred Posté(e) le 9 janvier 2008 Posté(e) le 9 janvier 2008 Salut,la somme de toutes les polylignes du réseaudans la commande "_area", tu as les options "Addition", puis "Objet". Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
Bred Posté(e) le 9 janvier 2008 Posté(e) le 9 janvier 2008 ... ou un petit lisp :(defun c:lg-pol (/ LG SEL X) (setq lg 0) (while (not sel) (setq sel (ssget '((0 . "LWPOLYLINE")))) ) (repeat (setq x (sslength sel)) (setq lg (+ lg (vla-get-Length (vlax-ename->vla-object (ssname sel (setq x (1- x))))))) ) (alert (strcat "Longueur :" (rtos lg) " .")) (princ) ) [Edité le 9/1/2008 par Bred] Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
LOLO2B82 Posté(e) le 9 janvier 2008 Auteur Posté(e) le 9 janvier 2008 le lisp ne marche pas, autocad me mets le message suivant: ; erreur: no function definition: VLAX-ENAME->VLA-OBJECT Et pour la commande "_aire" c'est pas adapté à mon cas, je peux sélectionné qu'un objet apres l'autre et comme j'en ai 350 demain j'y suis encore <acronym class=dict title=...
Bred Posté(e) le 9 janvier 2008 Posté(e) le 9 janvier 2008 ; erreur: no function definition: VLAX-ENAME->VLA-OBJECTTu es vraiment sous 2008 ??? :casstet: sinon rajoute en début de lisp(vl-load-com) Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
LOLO2B82 Posté(e) le 9 janvier 2008 Auteur Posté(e) le 9 janvier 2008 oui je suis sous 2008, mais sous MAP... ca viens peut etre de là
bouvet.c Posté(e) le 13 janvier 2008 Posté(e) le 13 janvier 2008 Je suis nouvelle sur Autocad, mais je crois que tu peux obtenir beaucoup de renseignements avec la commande "Extraction de données"
claude56 Posté(e) le 21 février 2008 Posté(e) le 21 février 2008 voilà un lisp que j'ai chopé sur le forum:(defun c:metre (/ ss tot nb n long obj lst lay l_lay)(vl-load-com)(if (setq ss (ssget "_X" '((0 . "LWPOLYLINE"))))(progn(setq nb (sslength ss)n 0tot 0.0)(princ(strcat "\n\nLe dessin contient : " (itoa nb) " polylignes"))(repeat nb(setq obj (vlax-ename->vla-object (ssname ss n))long (vlax-curve-getDistAtParamobj(vlax-curve-getEndParam obj))tot (+ tot long)lay (vla-get-Layer obj))(princ (strcat "\nP"(itoa (setq n (1+ n)))" = "(rtos long)"\tCalque : "lay))(if (setq l_lay (assoc lay lst))(setq lst (subst (cons lay (+ long (cdr l_lay))) l_lay lst))(setq lst (cons (cons lay long) lst))))(mapcar '(lambda (x)(princ (strcat "\nLongueur totale sur le calque "(car x)" : "(rtos (cdr x)))))lst)(princ (strcat "\nLongueur totale dans le dessin = " (rtos tot)))(textscr))(princ "\nLe dessin ne contient pas de polylignes."))(princ)) tu n'as plus qu'a le convertir en .lsp et le chargertu peux remplacer "metre" de la 1ere ligne par une autre commande que tu rentreras dans la barre de texte autocad.il calculera le nombre de polyligne par calque. Defaut: il ne prendra pas en compte les differents diametres.
claude56 Posté(e) le 21 février 2008 Posté(e) le 21 février 2008 en fait te casse pas la tete tu trouveras surement ton bohneur surAccueil du Forum > LISP et Visual LISP > Routines LISP Chapeau a patrick et ses collegues qui ont creer tout ces lisp
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