958620832 发表于 2013-8-1 13:07:35

直线改为多义线

(defun c:j7 ()
(setvar "cmdecho" 0)
(setq en (entsel "\选择直线:"))
(setq ent1 (entget(car en)))
(setq oldtype (assoc 0 ent1))
(setq newtype (cons 0 "LWPOLYLINE"))
(setq ent2 (subst newtype oldtype ent1))
(entmod ent2)
(setvar "cmdecho" 1)
(Princ)
)
应用后,图上直线没改成多义线。什么地方错了么?

Andyhon 发表于 2013-8-1 13:13:06

得用 Pedit ...
例子很多...

958620832 发表于 2013-8-1 13:34:48

Andyhon 发表于 2013-8-1 13:13 static/image/common/back.gif
得用 Pedit ...
例子很多...

我只针对lisp文件中的问题,而不是单单就直线改为多义线的方法而言。知道怎么改lisp,就将lisp文件中的问题指出来。

Andyhon 发表于 2013-8-1 13:44:48

那您先得比对出 两者的资料格式差异,写个转换函数...
用 Pedit 是把 转换的工作交付AutoCAD坊处理,省心

ll_j 发表于 2013-8-1 14:26:22

Line和LWPolyline是不同的两种实体,组码种类差异很大,只变换组码0是不可以的(即使组码相近,也不能通过替换组码0来改变实体),这种情况一般解决方法是借用Pedit命令来完成。

286168051 发表于 2013-8-2 05:22:19

调用PEDIT未免太慢了吧

自贡黄明儒 发表于 2013-8-2 09:05:40

你想用组码替换,还不如用entmake更现实

zyhandw 发表于 2013-8-2 11:08:57

没错,同意楼上观点,还是用entmake现实、简单些!
页: [1]
查看完整版本: 直线改为多义线