mj0000
发表于 2011-11-1 13:23:33
这里一段
(setq lst3 (subst (append '(6 "实体线型") (list (append (list '("*" "所有线型") (list (ss-dxf 6 slent) "实体线型") (list (getvar "celtype") "当前线型")
'((sel_lay "线型多选" lin_lst "txt6") "线型多选...")) (mapcar (function (lambda (x) (list x x))) lin_lst)) ))
'(6 "实体线型")
lst3))
这里一段
(setq lst4 (subst (append '(7 "文字样式") (list (append (list '("*" "所有样式") (list (ss-dxf 7 slent) "实体样式") (list (getvar "textstyle") "当前样式")
'((sel_lay "文字样式多选" sty_lst "txt7") "文字样式多选...")) (mapcar (function (lambda (x) (list x x))) sty_lst))))
'(7 "文字样式")
lst4))
其实前面还有个append函数,只是后来你改图层下拉列表的时候已经删掉了
具体是不是这个函数的原因,请测试,我这边删掉了,同样的操作,没有发生崩溃。
小菜123
发表于 2011-11-1 13:55:46
(list (append (list '("*" "所有线型")
这里有没有append,生成的结果中下拉内容是有区别的。有append下拉列表中会包含所有的线型列表,否则下拉内容只有固定的四项。CAD2008死机这个问题我在测试图层的时候已经发现,所以图层下拉列表里面就没有列出图层名字,但出错的图经recover后,就没有问题了。你遇到的问题大概跟我遇到的图层情况类似,但具体原因也说不清
mj0000
发表于 2011-11-1 15:11:18
我把下拉列表都删了,稳定第一,这造成cad崩溃,连保存都没有,直接就关了。没有下拉列表,速度还快点。
飞诗(fsxm)
发表于 2011-11-1 15:26:35
("*" "所有。。")
是没必要,多占一行内容哦!
选所有就相当于不过滤,
不过滤直接不勾选就行了!
勾选+所有=蛋疼 嘿嘿
mj0000
发表于 2011-11-1 15:30:29
字体样式多选里面,始终有个空白行,是什么原因
小菜123
发表于 2011-11-1 16:40:00
本帖最后由 小菜123 于 2011-11-1 16:42 编辑
("*" "所有。。")我有时会用来组合其它附加条件过滤,算是用得着吧
下拉列表也没必要都删了吧,象前面说的把append删了就不会死机了,要提高速度应该把选项都写在对话框里,不在程序里逐项填写就可以了,我有点懒,能正常运行了就没改,当然版本高的CAD比较慢,版本低的,是看不出来的,比如ACAD2002,速度比2008快了N倍。
见图,哪里有空白行?
mj0000
发表于 2011-11-1 16:45:30
在多选对话框里面
小菜123
发表于 2011-11-1 16:51:03
见图,也看不出
mj0000
发表于 2011-11-1 17:10:22
字体样式里面没有空白的
小菜123
发表于 2011-11-1 17:16:10
是不是跟DWG文件有关?我这里没有,你传个图上来看看