iCAx开思网
标题:
cad中不同层间偏移实体(提供源码)
[打印本页]
作者:
ken_terry
时间:
2010-10-25 22:48
标题:
cad中不同层间偏移实体(提供源码)
在层间偏移很有用,所以在网上找了以下文件,但做成LSP后还是不能用
,有那个高手帮忙做成LSP,谢谢!
在cad作图中,“offset”命令只能在同一层中偏移实体,而实际绘图中常常需要在不同层间偏移实体。例如:在一层上画完中心线后,只需将其向两边偏移一定的距离即可得到轮廓线,而中心线和轮廓线一般不在同一层上,还需改变轮廓线所在层。下面这个用autolisp编写的程序可以在不同层间偏移实体,解决了这一问题。其中变量“layer”定义为全局变量,指要把实体偏移到所在层的层名。当使用该函数时,如果所偏移到的层与上次相同,可以不用输入层名(变量“layer”的值)。
(defun c
la(/cmdecho d d1 lay ent p)
(if *error* quit)
(setq cmdecho (getvar ″cmdecho″))
(setvar″cmdecho″1)
(princ″\noffset dist<″)
(setq d(getvar ″offsetdist″))
(if(/=d-1)(princ d))
(setq d1(getdist″>:″))
(if(/=d1 nil)(setq d d1))
(princ″\ninput the layer name to offset to<″)
(if(/=layer nil)(princ layer))
(setq lay(getstring ″>:″))
(if (/=lay ″ ″)(setq layer lay))
(while(setq ent(entsel ″\nselect object to offset:″))
(setq p(getpoint″\nside object to offset?″))
(command ″—.offset″d ent p″ ″)
(command ″—.change″ ″1″ ″″ ″p″ ″layer″layer″ ″)
)
(setvar″cmdecho″ cmdecho)
(princ)
)[attach]1043683[/attach][attach]1043683[/attach]
本帖最后由 ken_terry 于 2010-10-25 22:51 编辑
作者:
ken_terry
时间:
2010-10-25 23:35
怎么没人出来指点一下
作者:
ken_terry
时间:
2010-10-27 14:50
高手去那里啦
作者:
meixiang
时间:
2010-12-11 23:05
高手去那里啦,快来
作者:
meixiang
时间:
2010-12-11 23:06
下是我所要的
欢迎光临 iCAx开思网 (https://www.icax.org/)
Powered by Discuz! X3.3