![]() |
请教一个图层编写lisp,谢谢!
请教一个图层编写lisp,谢谢!
www.dimcax.com 请教一个图层编写lisp,谢谢! 例如:我有图层0、db、dbhid、dbth、dbdim、sp、sphid、spth、spdim(pp、bp......每个都有相应的hid、th、dim)等等. 就拿hid层来说我现在想编一个lisp: 假如当前层为0层,输入命令后选取像素(不管像素本身是什么层)就变到hid层; 假如当前层是db、dbth、dbdim输入命令后选取像素就变到dbhid层; 假如当前层是pp、ppth、ppdim输入命令后选取像素就变到pphid层, 提示除了0层外其它图层前两个字符相同,请各位帮帮忙,谢谢! d (defun c:cy() (setq a (ssget))(command "chprop" a "" "la" 0 "") (princ)) 这里面你自已改: cy 是命令 0 是图层,你可以改这两个参数为你自已常用的 d 楼主可能没有完全理解我的意思,如果要达到楼主效果我用这句也可以(defun c:q1() (ssget) (command "chprop" "p" "" "l" "1" "")) 我的意思假如当前图层是db或是dbdim我输入命令后选取图元它就变到dbhid层,假如当前图层是pp或是ppdim我输入命令后选取图元它就变到pphid层,请楼主再帮我想想,谢谢! d 这就要花点时间研究了,等搞好再传上来 d 楼主的意思是改变当前层还是改变图形所在层?? d 在网吧 只能告诉你方法了: 1 获取所选对象图层名 如:dbdim 2 得到对象图层名前两个字符 db 就你一楼提供的信息来看 好象主板实名都是两个字符的db、sp、pp... 3 将这两个字符和hid 组合起来——得到 dbhid 4 将所选对象图层设定为 dbhid 人生如棋 棋如其人 乐在棋中 棋乐无穷 |
所有的时间均为北京时间。 现在的时间是 03:28 PM. |