明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1978|回复: 5

[提问] 请教高手:用程序如何复制外部参照中的图元到当前文档?

[复制链接]
发表于 2016-2-26 17:25:28 | 显示全部楼层 |阅读模式
  现需要通过选择提取块内文字(包括外部参照的情况),复制到当前文档。
  用entmake不支持天正文字,而用CopyObjects能复制块内对象,但对外部参照无效,会提示:“Automation 错误。 对象不在数据库中”。
  不知道有没有高手解决了这个问题?
"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2016-2-29 10:05:39 | 显示全部楼层
求助高手!!!
发表于 2016-2-29 14:27:05 | 显示全部楼层
  1. (defun c:tt ()
  2.   (vla-open
  3.     (setq doc (vla-GetInterfaceObject
  4.                 (vlax-get-acad-object)
  5.                 (if (< (setq acVer (atoi (getvar "ACADVER"))) 16)
  6.                   "ObjectDBX.AxDbDocument"
  7.                   (strcat "ObjectDBX.AxDbDocument." (itoa acVer))
  8.                 )
  9.               )
  10.     )
  11.     (findfile
  12.       (strcat
  13.         (cdr
  14.           (assoc 2
  15.                  (entget
  16.                    (last (last (setq e (nentsel "选择参照块内对象:"))))
  17.                  )
  18.           )
  19.         )
  20.         ".dwg"
  21.       )
  22.     )
  23.   )
  24.   (vlax-invoke
  25.     doc
  26.     'CopyObjects
  27.     (list
  28.       (vla-HandleToObject doc (cdr (assoc 5 (entget (car e)))))
  29.     )
  30.     (vla-get-ModelSpace
  31.       (vla-get-ActiveDocument (vlax-get-acad-object))
  32.     )
  33.   )
  34. (princ)
  35. )
 楼主| 发表于 2016-3-1 11:47:04 | 显示全部楼层
Gu_xl 发表于 2016-2-29 14:27

谢谢Gu_xl大侠!经测试可行(第一次出错,后面都正常)!
另外,想问一下,用vla-open打开的外部参照文件,在命令执行完成后,是否需要关闭?如果不关闭是否有负面影响?
发表于 2021-8-24 00:05:26 | 显示全部楼层

这段程序,我测试不成功怎么?
发表于 2021-8-26 08:01:45 | 显示全部楼层
是的,出现。 命令: tt ; 错误: ActiveX 服务器返回错误: 非选择性的参数。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-16 14:48 , Processed in 0.153977 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表