Hallo CAD Gemeinde,
ich habe ein älteres Lisp Tool gefunden mit dem man automatisch Linien die im 45° Winkel gezeichnet wurden löschen kann. Dieses wird z.B. für Mauerwerksschraffuren benötigt. Jetzt möchte ich aber nicht das das Tool die Linien löscht, sondern nach dem Filtern wieder abbricht, sodass dich die gefilterten Elemente verändern kann (anderer Layer)
Wäre toll wenn mir jemand die Lisproutine entsprechend anpassen könnte. Meine Lisp Kenntnisse gehen nämlich gegen null
(defun c:schraff45 (/ SET CT OB NAME OB10 OB11 DO ER AN)
(setq m:err *error* *error* *merr*)
(princ "\nEs werden nur Linien gefiltert!")
(setq SET (ssget '((0 . "LINE"))))
(setq CT 0)
(if (= ER nil) (setq ER 0))
(setq DO (ssadd)) ;leeren auswahlsatz erzeugen
(command "_.UNDO" "_GROUP")
(while (setq NAME (ssname SET CT))
(setq OB (entget NAME))
(setq OB10 (cdr (assoc 10 OB)))
(setq OB11 (cdr (assoc 11 OB)))
(setq AN (angtos (angle OB10 OB11)))
(cond
((or (= AN "225") (= AN "315") (= AN "135") (= AN "45")) (entdel NAME) (setq ER (1+ ER)))
);cond
(setq CT (1+ CT))
);while
(command "_.UNDO" "_END")
(princ (strcat "\nBisher gelöscht: " (rtos ER 2 0)))
(setq *error* m:err m:err nil)
(princ)
);defun
Vielen Dank für die Hilfe
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP