Aller au contenu

Calcul long. polyligne du calque souhaité


Messages recommandés

Posté(e)

Bonjour à tous,

 

Je post ici un petit Lisp (qui n'est pas de moi, je n'y connait pas grand chose au Lisp) que l'on a au bureau et je n'avais pas pensé du tout à le poster, il s'appel ZONE, il sert à calculer la longueur de toutes les polylignes du calques souhaités en ml. très pratique si on veut savoir combien on a reportés de ml. de canalisation ou autres, peut-etre existe t-il déjà sur le site??

 

[surligneur] ; Length/Area of Polyline by Layer

; David Bethel May 2004 from an original idea by David Watson

; This command will give a total area or length for all polylines on a specified layer.

;

(defun c:zone ( / ss la rv i tv op en)

 

(while (not ss)

(princ "\nPick any object on the required layer")

(setq ss (ssget)))

 

(initget "Length Area")

(setq rv (getkword "\nWould you like to measure Length/ : "))

(and (not rv)

(setq rv "Area"))

 

(setq la (cdr (assoc 8 (entget (ssname ss 0))))

ss (ssget "X" (list (cons 0 "*POLYLINE")

(cons 8 la)))

i (sslength ss)

tv 0

op 0)

(while (not (minusp (setq i (1- i))))

(setq en (ssname ss i))

(command "_.AREA" "_E" en)

(cond ((= rv "Length")

(setq tv (+ tv (getvar "PERIMETER"))))

(T

(setq tv (+ tv (getvar "AREA")))

(if (/= (logand (cdr (assoc 70 (entget en))) 1) 1)

(setq op (1+ op))))))

 

(princ (strcat "\nTotal " rv

" for layer " la

" = " (rtos tv 2 2)

" in " (itoa (sslength ss)) " polylines\n"

(if (/= rv "Length")

(strcat (itoa op) " with open polylines") "")))

(prin1))[/surligneur]

 

Voilà, si cela peut dépanner..

 

A+,

 

Joff

Le ridicule ne tue pas, il te rend plus fort!

Posté(e)

Ah ouais :exclam: , c'est vraiment mieux, de plus on peut garder une trace grace à Excel.. merci pour l'info.

 

Joff

Le ridicule ne tue pas, il te rend plus fort!

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité