AutoLISP中调用offset命令出现的问题
zxq88888888
2008年05月19日 09:37:01
只看楼主

AutoLISP中调用offset命令出现的问题,我想用下面的程序画三条平行多段线,可是运行时大部分不成功,结果只有两条多段线,为什么?怎么解决????急急急急急急请高手帮忙!!!!(defun c:sanxian() (setq os (getvar "osmode")) (setq p1 (getpoint "输入第一点:")) (setq p3(getpoint "输入下一点:"))

AutoLISP中调用offset命令出现的问题,我想用下面的程序画三条平行多段线,可是运行时大部分不成功,结果只有两条多段线,为什么?怎么解决????急急急急急急请高手帮忙!!!!

(defun c:sanxian()
(setq os (getvar "osmode"))
(setq p1 (getpoint "输入第一点:"))
(setq p3(getpoint "输入下一点:"))
(setq p2 p3)
(command "pline" p1 p2)
(while (/= p2 nil)
(setq p2 (getpoint "输入下一点:"))
(command p2)
)
(setq a (angle p1 p3))
(setq pt1 (polar p1 (+(/ pi 2) a) 0.4))
(setq pt2 (polar p1 (+(/ pi 2) a) -0.4))
(setvar "osmode" 0)
(command "offset" 0.4 p1 pt1 "")
(command "offset" 0.4 p1 pt2 "")
)
免费打赏
biechen
2008年06月10日 09:28:57
2楼
(defun c:sanxian()
(setq os (getvar "osmode"))

(setq p1 (getpoint "输入第一点:"))
(setq p3(getpoint "输入下一点:"))
(setq p2 p3)
(command "pline" p1 p2)
(while (/= p2 nil)
(setq p2 (getpoint "输入下一点:"))
(command p2)
)

(setq a (angle p1 p3))
(setq pt1 (polar p1 (+(/ pi 2.0) a) 0.4))
(setq pt2 (polar p1 (+(/ pi 2.0) a) -0.4))
(setvar "osmode" 0)
(setq en (entlast))
(command "offset" 0.4 en p1 en pt1 "") ;这里改下
;(command "offset" 0.4 p1 pt2 "")
)
回复

相关推荐

APP内打开