Hallo zusammen.
Ich bin gerade drann n paar alte LISP's ins neue ACAD 2013 anzupassen. Eins davon macht mir gerade etwas schwierigkeiten (naja meine LISP skills waren schonmal besser...)
Code:
(defun C:3dlength ()
(setq LENGTH 0)
(setq C nil)
(setq PT2 nil)
(setq ENAME (car (entsel "\n3d Polyline: ")))
(setq E (entget ENAME))
(if (= (cdr (assoc 0 E)) "POLYLINE")
(progn
(if (= (logand (cdr (assoc 70 E)) 1) 1)
(setq C 1)
)
(setq T C)
(setq ENAME (entnext ENAME))
(setq E (entget ENAME))
(while (/= (cdr (assoc 0 E)) "SEQEND")
(if (= (logand (cdr (assoc 70 E)) 16) 0)
(progn
(setq PT1 (cdr (assoc 10 E)))
(cond ((= T 1) (setq PT0 PT1) (setq T nil)))
(cond ((not PT2) (setq PT2 PT1)))
(setq LENGTH (+ LENGTH (distance PT1 PT2)))
(setq PT2 PT1)
)
)
(setq ENAME (entnext ENAME))
(setq E (entget ENAME))
)
(if (= C 1)
(setq LENGTH (+ LENGTH (distance PT1 PT0)))
)
(princ "\nLaenge :")
(princ LENGTH)
(princ)
)
(princ "\nKeine 3d Polylinie")
)
)
Kapiert hab ich wohl das "LENGTH" ein bereits definierter begriff ist den ich nich einfach so überschreiben kann. Das zu ersetzen durch "länge" hat aber nicht geklappt... (ja manchmal funktioniert sowas wenn man sonst nicht weiss was man tut )
hab auch ein zwei alternativen gefunden, leider macht "gesla" keine 3d polys
http://ww3.cad.de/foren/ubb/Forum54/HTML/003000.shtml
und dies hier nimmt alles in der Zeichnung vorhandene, piken wäre schön...
http://ww3.cad.de/foren/ubb/Forum145/HTML/000033.shtml
Schöne Grüsse
nebu
------------------
...glaubst das ist luft die du gerade atmest? in diesem raum...
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP