为何用flatten转换spl为pline后无法复制为pline线
以下程序用ET的flatten将spl转换为pline,但转换后的的线条复制后仍为spl线,不知为何(defun C:tt (/ en0 pt1 pt2 o_s acadObj doc)
(command "undo" "be")
(setvar "cmdecho" 0)
(setq o_s (getvar "osmode"))
(prompt"\n 选取spl线:")
(setq en0 (ssname (ssget ":S" '((0 . "SPLINE"))) 0))
(setq pt1 (getpoint "\n拾取基点:") pt2 (getpoint "\n拾取目标点:") )
(setvar "osmode" 0)
(if en0
(progn
(setq acadObj (vlax-get-acad-object))
(setq doc (vla-get-ActiveDocument acadObj))
(vla-sendcommand doc "flatten p ")
(setq en1 (entlast))
(command "copy" en1 "" pt1 pt2 "")
)
)
(setvar "osmode" o_s)
(command "undo" "e")
(prin1)
) 我帖子有取得各种线/曲线园椭圆弧spL等坐标—把坐标画pLiNe线就行 我帖子有取得各种线/曲线园椭圆弧spL等坐标—把坐标画pLiNe线就行
老大贴子里那个多段线处理程序我试用过,spl转换出来的pline线为折线而非圆弧多段线,而且折线点稍多,还是觉得ET工具里的flatten转换出的圆弧多段线较为理想,所以想用lisp调用flatten命令处理spl线并进行后续操作,只是不知为何转换后的pline线无法复制,程序认出的(entlast)对象仍旧是原来的spl线 我的是cad 2021测试复制后的类型是 LWPOLYLINE
页:
[1]