乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 61|回复: 5

查找和分解代理对象

[复制链接]

6

主题

19

帖子

1

银币

初来乍到

Rank: 1

铜币
43
发表于 2015-7-28 11:46:07 | 显示全部楼层 |阅读模式
大家好,
我正在使用AutoCAD 2016,我正在为我们的客户批处理文件。目前,我正在处理大约200个文件,其中包含从第三方库(SYSCAD)创建的代理对象。我们的客户希望删除所有代理对象,并在其位置上保留更简单的对象。我必须在不更改图纸图形信息的情况下删除代理。
这就是为什么我试图完成以下任务:
- 打开dwg文件;
- 查找所有布局(包括模型空间)中的所有代理对象;
- 将它们分解为原始对象;
- 保存文件;
请记住,我有SYSCAD启用器dbx文件。
这让我感到沮丧的是:
- 如果我打开文件而不加载启用码并循环访问布局,我可以获取来自Prservosoentity类型的所有对象,但是如果我将它们分解,则离开的对象看起来并不完全像分解的代理对象;
- 如果我打开文件,启用码加载到AutoCAD中,则许多代理对象将被视为折线或线条或块引用,但不是代理实体。
我可以用来识别哪些对象是代理的有效标准是什么?
请参阅附加的图片> 在第一个上,对象是折线,因为启用码已加载,AutoCAD知道如何处理此对象。另一方面,在第二张图片上,您可以看到,当未加载启用码时,它表示该对象是代理。
当我迭代布局时,如何识别哪个对象是真正的折线,哪个对象是代理,但从Autocad“理解”为折线?
谢谢!

l14c0dpbkaw.PNG

l14c0dpbkaw.PNG


fjphvv01vjv.PNG

fjphvv01vjv.PNG

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

15

主题

190

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
250
发表于 2015-7-28 21:12:16 | 显示全部楼层
您可以检查RX类名。
回复

使用道具 举报

6

主题

19

帖子

1

银币

初来乍到

Rank: 1

铜币
43
发表于 2015-7-29 04:10:56 | 显示全部楼层
谢谢,欧文!
我看到RX类名不同。我知道所有代理对象都是僵尸,但我不确定是否所有“识别”的代理都使用与它们所类比的对象不同的名称。
在上述情况下,对象被识别为多段线,其RX类名不是AcDbPolyline,但我能否确定这始终是正确的。
回复

使用道具 举报

6

主题

19

帖子

1

银币

初来乍到

Rank: 1

铜币
43
发表于 2015-7-29 10:37:34 | 显示全部楼层

Gile在我想的某个地方有一个僵尸清除方法。
回复

使用道具 举报

15

主题

190

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
250
发表于 2015-7-30 04:03:05 | 显示全部楼层
是的,我看到了,但是他以一种非常有趣的方式遍历所有对象并检查rxClass。因为我有激活器,所以rxclass不是僵尸。我想找到一个经验法则,如何区分从SYSCAD创建的对象和那些原生的对象。
回复

使用道具 举报

15

主题

190

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
250
发表于 2015-7-30 16:02:59 | 显示全部楼层
从C++,您可以检查每个RX类的应用程序名称,但我不知道您是否可以从。NET。如果他们注册了他们的类以进行需求加载,您可以梳理他们的需求加载注册表项,并将RX类名列表收集到一个静态列表中,您可以对其进行硬编码。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-5 00:48 , Processed in 0.157820 second(s), 67 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表