梦回唐朝 发表于 2013-7-6 09:02:01

菜鸟写的对象亮显lsp,请高手指点

       在论坛混了这么久,第一次写个简单的程序,现在奉献源码供大家参考。也帮忙完善下。还有几个bug,请高手指教:
      1、如何保存、恢复图层状态
      2、如何修改图块和尺寸的颜色
      3、如何默认选择所有对象

阿霸jun 发表于 2013-7-6 12:52:11

顶一个,这个还不错!

wowan1314 发表于 2013-7-6 13:16:45

论坛有现成的代码,你可搜索后参考。
估计你是通过修改图层颜色来亮显图层的。所以
1、图层状态设置成全局变量(最好保存到词典中,随图保存)。需要的时候恢复即可。
2、图块,尺寸的颜色不会马上变化,要RE一下。不过图纸较大的时候RE就比较慢了。(建议不管他们)
3、选择所有对象(ssget "x"), 遍历图层即可。为何要遍历对象呢?

梦回唐朝 发表于 2013-7-6 15:48:28

wowan1314 发表于 2013-7-6 13:16 static/image/common/back.gif
论坛有现成的代码,你可搜索后参考。
估计你是通过修改图层颜色来亮显图层的。所以
1、图层状态设置成全 ...

1、还真不是搜索后参考的,是我看到论坛上有图层亮显的功能的lsp,但我需要的是对象亮显。是我自己花了3小时才弄出来的,所有功能不咋样。
2、请教下图层状态怎么设置成全局变量?怎么保存和恢复?
3、重生成后图块和尺寸的颜色还是不变。
3、怎么遍历图层?
请高手赐教!

梦回唐朝 发表于 2013-7-6 17:34:38

梦回唐朝 发表于 2013-7-6 15:48 static/image/common/back.gif
1、还真不是搜索后参考的,是我看到论坛上有图层亮显的功能的lsp,但我需要的是对象亮显。是我自己花了3小 ...

请黄大侠赐教下!

梦回唐朝 发表于 2013-10-5 16:17:51

第一次程序没人捧场

llsheng_73 发表于 2013-11-3 23:14:07

本帖最后由 llsheng_73 于 2013-11-3 23:18 编辑

可以这样得到第一个图层的所有数据
(SetQ snl '()sll (list(TblNext "layer" T)));首先得到第一个层的数据拉下来循环
(While sll(setq snl(append snl(list sll))sll (TblNext "layer" nil)));得到第一个图层以后的所有数据
页: [1]
查看完整版本: 菜鸟写的对象亮显lsp,请高手指点