请教高手:用程序如何复制外部参照中的图元到当前文档?
现需要通过选择提取块内文字(包括外部参照的情况),复制到当前文档。用entmake不支持天正文字,而用CopyObjects能复制块内对象,但对外部参照无效,会提示:“Automation 错误。 对象不在数据库中”。
不知道有没有高手解决了这个问题? 求助高手!!! (defun c:tt ()
(vla-open
(setq doc (vla-GetInterfaceObject
(vlax-get-acad-object)
(if (< (setq acVer (atoi (getvar "ACADVER"))) 16)
"ObjectDBX.AxDbDocument"
(strcat "ObjectDBX.AxDbDocument." (itoa acVer))
)
)
)
(findfile
(strcat
(cdr
(assoc 2
(entget
(last (last (setq e (nentsel "选择参照块内对象:"))))
)
)
)
".dwg"
)
)
)
(vlax-invoke
doc
'CopyObjects
(list
(vla-HandleToObject doc (cdr (assoc 5 (entget (car e)))))
)
(vla-get-ModelSpace
(vla-get-ActiveDocument (vlax-get-acad-object))
)
)
(princ)
) Gu_xl 发表于 2016-2-29 14:27 static/image/common/back.gif
谢谢Gu_xl大侠!经测试可行(第一次出错,后面都正常)!
另外,想问一下,用vla-open打开的外部参照文件,在命令执行完成后,是否需要关闭?如果不关闭是否有负面影响? Gu_xl 发表于 2016-2-29 14:27
这段程序,我测试不成功怎么? 是的,出现。 命令: tt ; 错误: ActiveX 服务器返回错误: 非选择性的参数。
页:
[1]