...通知我的简单例程
大家好,希望有人能帮我完成这个简单的程序或反应器。在打印之前,我只需要一个警报框,指示是否存在“关闭”层。最好也有选项,比如“取消”或“无论如何继续绘图”。。。但总的来说,我只需要在绘图之前发出视觉警告。非常非常感谢! 澄清一下,您是指关闭的图层还是设置为不打印的图层?....只需关闭图层。通常,我们的所有层都应该在退出/保存修改后的图形之前打开。然而,有时人们只是关闭几个层(图案填充、文本等),以更好地了解他们正在做什么&然后忘记重新打开这些层。因此,我们的plot/pdf/dwf请求将缺少对象&一个简单的反应器来提醒用户肯定有助于防止重复打印。任何绘图或冻结层都不应受到任何影响。谢谢! 只需加载即可。
(defun CreatePlotReactor()
(vl-load-com)
(if(not plot:reactor)
(setq plot:reactor
(vlr-command-reactor nil
'((:vlr-commandWillStart . PlotAlert))))
); end if
(princ)
); end of CreatePlotReactor
(CreatePlotReactor)
(defun PlotAlert(Reac Args / lList rStr)
(cond
((=(car Args) "PLOT")
(vlax-for l (vla-get-Layers
(vla-get-ActiveDocument
(vlax-get-acad-object)))
(if(=(vla-get-LayerOn l):vlax-false)
(setq lList(cons(vla-get-Name l)lList))
); end if
); end vlax-for
(if lList
(progn
(setq rStr "==== LAYERS OFF ====")
(foreach l(reverse lList)
(setq rStr(strcat rStr "\n" l))
); end foreach
(alert rStr)
); end progn
); end if
); end condition
); end cond
(princ)
); end of PlotAlert 很好的一个ASMI-一如既往的一流。
但是为什么你必须使用(汽车Args)? 阿斯米,我真诚地表达我的感激。。。谢谢你,先生!
也谢谢你尝试李!你们今天过得很愉快。 谢谢jbborge-你今天也很愉快
你们能站在断点并在窗口中寻找Args值吗?它会回答你的问题。
谢谢你的好话
对不起,你把我弄丢了?
页:
[1]
2