alf Opublikowano 6 Marca 2019 Zgłoś Opublikowano 6 Marca 2019 czy jest możliwość w zwcadze zmiany istniejącej polilinii 2D na zwykłą polilinię (lwline)? Może krtoś wpadł na jakiś lisp, który działa w zw? Cytuj
Adam Klaczek Opublikowano 6 Marca 2019 Zgłoś Opublikowano 6 Marca 2019 Mam coś takiego 2D2.lsp Ale akurat nie mam na czym przetestować... Cytuj
alf Opublikowano 6 Marca 2019 Autor Zgłoś Opublikowano 6 Marca 2019 nie działa, ale dorzuciłam do tego: (defun c:2D2 (/ s i) (if (setq s (ssget '((0 . "POLYLINE") (-4 . "<not") (-4 . "&") (70 . 120) (-4 . "not>")))) (repeat (setq i (sslength s)) (OldStyle2LwPolyline (ssname s (setq i (1- i)))) ) ) (princ) ) jeszcze to, to ze strony https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/lisp-routine-to-convert-2d-polyline-to-polyline/td-p/7124499: i teraz działa. Nie wnikam jak ;-), dzięki! ;; OldStyle2LwPolyline (2008/03/31) ;; Replace a 2d polyline with a light weight polyline ;; ;; Argument : 2d polyline (ename) ;; Return : light weight polyline (ename) (defun OldStyle2LwPolyline (pl / plst xdata vtx vlst elst) (setq plst (entget pl '("*")) xdata (assoc -3 plst) vtx (entnext pl) ) (while (= (cdr (assoc 0 (setq vlst (entget vtx)))) "VERTEX") (if (zerop (logand (cdr (assoc 70 vlst)) 16)) (setq elst (cons (vl-remove-if-not (function (lambda (x) (member (car x) '(10 40 41 42)) ) ) vlst ) elst ) ) ) (setq vtx (entnext vtx)) ) (if (setq new (entmakex (append (list '(0 . "LWPOLYLINE") '(100 . "AcDbEntity") (assoc 410 plst) (assoc 8 plst) (cond ((assoc 39 plst)) (T '(39 . 0)) ) '(100 . "AcDbPolyline") (cons 90 (length elst)) (cons 70 (logand 129 (cdr (assoc 70 plst)))) (cons 38 (last (caar elst))) (assoc 210 plst) ) (apply 'append (reverse elst)) (if xdata (list xdata) ) ) ) ) (entdel pl) ) new ) Cytuj
alf Opublikowano 6 Marca 2019 Autor Zgłoś Opublikowano 6 Marca 2019 i jeszcze drugi "myk", bo tak mnie nagle oświeciło ;-): zapisałam cały plik do dxf R12 i otworzyłam ponownie.. to jest chyba najszybsze rozwiązanie temat chyba do zamknięcia Cytuj
Rekomendowane odpowiedzi
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.