过滤设备列表
我该如何过滤我的列表,以便只有pc3文件和“无”显示ie没有列出系统打印机?
谢谢
(setq ad (vla-get-activedocument (vlax-get-acad-object)))
(vla-RefreshPlotDeviceInfo (vla-get-activelayout ad))
(setq Devicelist (vlax-safearray->list (vlax-variant-value
(vla-getplotdevicenames (vla-item (vla-get-layouts ad) Model")))))
如果没有,只需简单的vl删除。。。
(defun GetPC3 ( / doc )
(vl-load-com)
(vla-RefreshPlotDeviceInfo
(vla-get-ActiveLayout
(setq doc
(vla-get-activedocument
(vlax-get-acad-object)
)
)
)
)
(vl-remove-if-not
(function
(lambda ( x ) (or (eq "None" x) (wcmatch x "*.pc3")))
)
(vlax-invoke
(vla-item (vla-get-layouts doc) "Model") 'GetPlotDeviceNames
)
)
) 在选项中:
https://www.cadtutor.net/forum/u:%5Cchuck%5Clisp%5Cother%5Ccadtutor%5Cplot-选项。jpg
我不确定在例程中使用什么系统变量。
扔出
谢谢李-亲爱的。。。。。这就是我想要的。
“vl remove if not”将对我稍后使用的其他内容有用
干杯
旧金山
Chuck-我知道-我只需要通过编程知道 还要记住有用的vl remove和vl remove if:眨眼:
谢谢你的提醒Alan 如果你是LISP新手,VLIDE中的“自动文字完成”对于发现类似函数非常方便-例如,在VLIDE中的一个新文件中,
键入vlax curve-然后按Ctrl+Shift+Space:wink:
页:
[1]