首先感谢gu_xl版主的回复。
问题已解决!阐述如下:
很多同仁用如下方法操作当前选择集,都是相同的问题。
- (vlax-for obj (vla-get-activeselectionset(vla-get-activedocument(vlax-get-acad-object)))
- ...
- )
复制代码 使用第一次很成功,第二次则报错
错误: Automation 错误。 调用方法 Clear (接口 IAcadSelectionSet) 失败
为何?
没有及时清空选择集!
所以都请在之前执行此函数,以保证程序顺利执行。
- (defun Clearcset (/ cset)
- (if (not (vl-catch-all-error-p
- (setq cset (vl-catch-all-apply 'vla-item (list(vlax-get-property (vlax-get-property (vlax-get-acad-object) 'activedocument ) 'selectionsets)"CURRENT")))
- )
- )
- (vla-delete cset)
- )
- (princ)
- )
|