![]() |
【转帖】向版主老顾求救!根据颜色自动分层的lsp问题
向版主老顾求救!根据颜色自动分层的lsp问题
www.dimcax.com 向版主老顾求救!根据颜色自动分层的lsp问题 老顾,您好! 我需要一个自动分层的lsp。因为经常要用三维软件转图,要经常将转来的图改图层,线型等。 理想中的这个lsp程序可以通过颜色选择图素,然后将其转入相应的图层,当然,各人指定的图型名称等都不尽相同,如果不详尽,给我一个模板就可以了,谢谢。 问题补充:示例: 我选择一个区域的图素 然后运行程序,该程序能通过选中图素的颜色来进行筛选,然后将: 白色的图素(autocad色号:7)归入"sold"图层 黄色的图素(忘了什么色号了)归入"sec"图层 灰色的图素(autocad色号:8)归入"hed"图层 等等…… 亟待佳音,谢谢! 弱弱地问一声:偶不是老顾 可以回答这个问题么? 非常实用《线割报价软件》 群16671234可下载 1楼的仁兄请帮个忙,谢谢! 下面是你要建的三个层 在引用下面的程序时它会自己先检查没有时它按你的要求去建.你把你常用的层建好后保存到摸板图*.dwt下次你打开新图时用你的摸板图层全有. (if (not (tblsearch "layer" "sold")) (command "layer" "n" "sold" "")) ;白色可省去 (if (not (tblsearch "layer" "sec")) (command "layer" "n" "sec" "c" "2" "sec" "")) ;"c" 是色 2是黄色 (if (not (tblsearch "layer" "hed")) (command "layer" "n" "hed" "c" "8" "hed" "")) ;色红1 黄2 绿3 青4 兰5 紫6 白7 gbg 谢谢老顾!虽然我对二次开发一窍不通,但是你的解析很简单明了,已基本明白。 另外,再请问,如果是在cad里建立的属性块,能不能在插入块时能自动归属到指定层呢?例如,我建立有标零件序号的属性块,然后我也专门建立了一个标号层,能不能在使用insert命令插入这个属性块时,能自动归到标号层里面呢? 如果能解决,烦请告之。 我建立有标零件序号的属性块,然后我也专门建立了一个标号层,能不能在使用insert命令插入这个属性块时,能自动归到标号层里面. 你肯定是建好了标号层,在标号层画块,建块. 方法有两种. 1.可在任意层上用插入在命令下直接输入-insert回车提示:输入块名或 [?]你在块名前加个*例:块名为xh你就输入*xh回车,提示:指定块的插入 点:你用鼠标指定块的插入点:提示:指定 xyz 轴比例因子:你输入例输入1回车,提示:指定旋转角度 <0>:你输入旋转角度,回车,块插在你指定的位置上,它不是块,所有的线都在原建块时的层上. 2.如你可在任意层上用插入在命令下直接输入-insert回车提示:输入块名或 [?]你直接输入块名,但块插好后要用explode去炸开,炸开后都是在标号层. 下面给出一个程序: (defun c:inn () (prompt "块名") (setq a (getstring) a (strcat "*" a)) (setq p1 (getpoint "插入点: ")) (setq b (getstring "比例(1) : ")) ;回车比例为1 (if (= b "")(setq b "1")) (setq c (getstring "输入角度(0) : ")) ;回车角度为0 (if (= c "")(setq c "0")) (command "insert" a p1 b c) ) gbg 老顾,我的意思是指:假如当前操作层是0层,那么我建好的标号块插进来(不炸开)就属于0层的;有没有办法能不改变当前操作层(0层),而插进来的标号块不炸开而自动归到标号层里面,不影响我在0层继续用其他命令作图呢? 用下面的程序可把你的块插到bj层. 不管你在那一层,程序先把当前层转到bj层,把块插好后自动转到原来的层. (defun c:inn () (setq la (getvar "clayer") os (getvar "osmode")) (setvar "clayer" "bj") (setvar "osmode" 0) (prompt "块名") (setq a (getstring) ) (setq p1 (getpoint "插入点: ")) (setq b (getstring "比例(1) : ")) ;回车比例为1 (if (= b "")(setq b "1")) (setq c (getstring "输入角度(0) : ")) ;回车角度为0 (if (= c "")(setq c "0")) (command "insert" a p1 b b c) (setvar "clayer" la) (setvar "osmode" os) ) gbg 非常感谢老顾!程序我收下了。 thanks!!!!!! 描述:对话框中各选项均有默认值 图片: 描述:如果你只需要用到一行 那么将多余的图层名 空白 就好 图片: 问题补充:示例: 我选择一个区域的图素 然后运行程序,该程序能通过选中图素的颜色来进行筛选,然后将: 白色的图素(autocad色号:7)归入"sold"图层 黄色的图素(忘了什么色号了)归入"sec"图层 灰色的图素(autocad色号:8)归入"hed"图层 程序已经完成 参考17 非常实用《线割报价软件》 群16671234可下载 |
所有的时间均为北京时间。 现在的时间是 08:47 PM. |