你好大神,能否加一个功能,就是能够返回恢复原来全部图层打开的状态
用layerstate-save函数在运行前保存当前图层状态,之后在恰当的时候用layerstate-restore函数恢复图层状态.也可以直接由用户通过图层状态管理器手动恢复.
layerstate-save不能覆盖以有图层状态,需要先把同名图层状态删除. 如果有多个关键字,如何设定 BUBUBA918 发表于 2019-10-23 11:43
如果有多个关键字,如何设定
(setq UserWord "*ANA*") 可以任意修改(setq UserWord "*ANA*,*CCC*,*DDD*") 用逗号隔开 wyl219 发表于 2019-10-23 11:24
用layerstate-save函数在运行前保存当前图层状态,之后在恰当的时候用layerstate-restore函数恢复图层状态 ...
大神我不太懂函数,你可以弄一个吗谢谢大神了 664571221 发表于 2019-10-23 14:13
大神我不太懂函数,你可以弄一个吗谢谢大神了
;|
说明:保存现在的图层状态,如果当前已有该图层状态时,覆盖.
参数:lst_name:图层状态名,str
返回值:无
|;
(defun wyl:layerstate_save ( name_save / )
(if (layerstate-has name_save );如果存在这个图层状态
(layerstate-delete name_save 255 nil));删除该图层状态
(layerstate-save name_save 255 nil);save不能覆盖
(princ)
)
;|
说明:恢复并删除某个现在的图层状态,如果当前没有某个图层状态时,弹窗提示.
参数:name_save:str
返回值:无
|;
(defun wyl:layerstate_restore( name_save / )
(if (layerstate-has name_save );如果存在这个图层状态
(progn
(layerstate-restore name_savenil 5)
(layerstate-delete name_save 255 nil);删除该图层状态,如果不需要删除把这行注释掉
)
(alert (strcat "\n不存在" name_save "图层状态,无法恢复."))
)
(princ)
)
需要保存图层状态的时候用wyl:layerstate_save函数,需要恢复的时候用wyl:layerstate_restore函数.
没有对传入参数进行判断,使用的时候注意参数是否正确 (setq UserWord "dsptext_beam,dsptext_col,dsptext_wallcol,dsptext_planname")
(setq t0 (* 86400 (getvar "tdusrtimer")))
(vlax-for vlay LayersObj
(if (wcmatch (vla-get-Name vlay) UserWord)
(vla-put-layeron vlay :vlax-false)
(vla-put-layeron vlay :vlax-true)
)
);end vlax-for
能否做到循环开关指定图层? BUBUBA918 发表于 2019-10-24 10:22
(setq UserWord "dsptext_beam,dsptext_col,dsptext_wallcol,dsptext_planname")
(setq t0 (* 86400 (getv ...
你这个是什么???? wyl219 发表于 2019-10-23 16:06
;|
说明:保存现在的图层状态,如果当前已有该图层状态时,覆盖.
参数:lst_name:图层状态名,str
大神你好,能否直接改到程序里,因为小弟不懂程序,所有麻烦了
页:
1
[2]