尝试一下:
- (defun C:CleanPlot (/ layerTable)
- (vl-load-com)
- (vla-startundomark
- (cond (*activeDoc*)
- ((setq *activeDoc*
- (vla-get-activedocument
- (vlax-get-acad-object))))))
- (if (setq layerTable (vla-get-layers *activeDoc*))
- (vlax-for layer layerTable
- (if (vl-position (vla-get-PlotStyleName layer) '("Normal" "Style_1"))
- (vl-catch-all-apply
- '(lambda (x)
- (prompt (strcat "\n <!> layer Fixed <!> " (vla-get-name layer)))
- (vla-put-PlotStyleName x "As Drawn"))
- (list layer))
- (prompt (strcat "\n >> layer Skipped >> " (vla-get-name layer))))))
- (vla-endundomark *activeDoc*)
- (princ))
我的两分钱……”“捕捉错误”与“缓解”或“处理错误”不同。
例如:
如果阻止在命令行上显示,则无法完成任务。
- _$
- ; error: Automation Error. The drawing is in color dependent plot style mode
诚然,我在上面遇到的错误可能是由于我的办公室使用了不同的标准。
希望这有帮助! |