(defun sl-lwpolyline->3dpolyline (en / ent ps closed ev lst)
(if (= (cdr (assoc 0 (setq ent (entget en)))) “LWPOLYLINE”)
(progn
(setq closed (if (= (cdr (assoc 70 ent)) 1) 9 8) ev (list (cdr (assoc 38 ent))))
(setq ps (mapcar ‘(lambda (a) (append (cdr a) ev)) (vl-remove-if-not ‘(lambda (b) (= (car b) 10)) ent)))
(setq lst (vl-remove-if-not ‘(lambda (e) (vl-position (car e) ‘(330 67 62 410 8 210))) ent))
(entmakex (append (list (cons 0 “POLYLINE”) (cons 66 1) (cons 100 “AcDb3dPolyline”) (cons 70 closed)) lst))
(mapcar (function (lambda (p) (entmake (list (cons 0 “VERTEX”) (cons 100 “AcDb3dPolylineVertex”) (cons 70 32) (cons 10 p))))) ps)
(entmakex (list (cons 0 “SEQEND”)))
(entdel en)
(entlast)
)
)
)
제가 높이값도 반영되었음 해서 수정해 주셨잖아요.
LWPOLYLINE 객체의 linetype 이 enabled 된상태에서 님리습 써서 3d로 변환하면
원래 닫혀져 있던 객체가 열려진채로 변환이 되더라구요.
라인타입이enabled 이냐 아니냐에 상관없이 원래 속성대로 변환되는 방법은 없는지 궁금합니다.
공유