;****************************************************************************** (defun c:dpl ( / rueck ) (setq rueck (p:hs_daten-polyline)) (print rueck) (princ) ) ;****************************************************************************** (defun p:hs_daten-polyline (/ objk obj rueck) (setq rueck 'nil objk (entsel "\nBitte Polylinie wählen")) (cond ((= objk 'nil) (alert "nichts gewählt") ) ((= (type objk) 'LIST) (setq obj (entget (car objk))) (cond ((= (cdr (assoc 0 obj)) "LWPOLYLINE") (setq rueck (p:hs_lw_pl obj)) ) ((= (cdr (assoc 0 obj)) "POLYLINE") (setq rueck (p:hs_pl obj)) ) ('T (alert "keine Polylinie gewählt")) ) ) ); cond rueck ) ;****************************************************************************** (defun p:hs_pl (element / daten test_objk ele liste) ;;; POLYLINE (setq ele (cdr (assoc -1 element))) (setq test_objk 'T) (while (/= Test_Objk 'nil ) (setq ele (entnext ele) Daten (entget Ele) Test_Objk (cdr (assoc 0 Daten))) (if ( = Test_Objk "VERTEX") (setq liste (cons (cdr (assoc 10 daten)) liste))) (if ( = Test_Objk "SEQEND") (setq Test_Objk 'nil)) ); while (setq liste (reverse liste)) ); defun ;****************************************************************************** (defun p:hs_lw_pl (daten / z liste ) ;;; LWPOLYLINE (setq z 0) (repeat (length daten) (if (= (car (nth z daten)) 10) (setq liste (cons (cdr (nth z daten)) liste))) (setq z (1+ z)) ) (setq liste (reverse liste)) ) ;******************************************************************************