找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2059|回复: 11

[求助] 如何判断AcDbEntity的类型

[复制链接]

已领礼包: 4个

财富等级: 恭喜发财

发表于 2016-11-23 13:34:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
在做二次开发的时候遇到一个问题,需要读取DWG文件,把其中的实体一个一个提取出来,现在读取了一个AcDbEntity,该如何去判断他是什么呢?
  1. if(pEntity->isA() == AcDbPoint::desc())
  2. {
  3.   return 1;
  4. }

我现在是就是一个类型一个类型的去判断,我找了有10中类型,但是有时候还是会出现不能识别的情况。
问题:1、请问这个时候我该怎么去判断这个实体是什么类型?
2、有没有更简便的方法去判断?总感觉我的这个方法太蠢了,一个一个去对比。
请大家多多指点下晚辈。谢谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 344个

财富等级: 日进斗金

发表于 2016-11-23 15:05:07 | 显示全部楼层
自然是要一个一个的去比较一下才能知道它是什么类型对象!既然你是都去DWG的所有对象,你肯定需要按照ARX的对象类型图表将所有类型对象枚举一遍才行!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-11-23 15:28:34 | 显示全部楼层
就得一个一个比啊,你不比你怎么知道它是什么呢?

但是,如果你要求宽泛的话,比如只需要判断是否是曲线就行,那就判断到曲线的基类AcDbCurve就行。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 4个

财富等级: 恭喜发财

 楼主| 发表于 2016-11-25 09:35:31 | 显示全部楼层

谢谢,那就只能一个一个比较去了,笨就笨吧。。。
弱弱问一句,请问帮助文档里怎么看所有的类型?我只能找到基类,也就是看这个类由什么派生出来的。请问我该如何看这个父类有哪些子类呢?
比如这个截图:
QQ截图20161125093245.png
我能知道 AcDbLine 的基类是 AcDbCurve ,但我怎么去找 AcDbCurve 有多少个子类?
请多多指点,谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 4个

财富等级: 恭喜发财

 楼主| 发表于 2016-11-25 09:41:18 | 显示全部楼层

谢谢啦~我就一个一个去比较吧。
不过还有个问题,请问我怎么去找所有的子类啊?在帮助文档中只能看到基类,但是不能找到这个类的所有派生类。我现在的情况就是找到了十个实体类型,然后有一个实体都不是这十个,那么请问我该怎么去做呢?
也就是说,我不知道一共有多少个实体类。
谢谢指点。。。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-11-25 09:44:59 | 显示全部楼层

ARX安装目录有个DWG格式的 类图, 打开看看。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-11-25 09:48:36 | 显示全部楼层

常写你就知道了,曲线下就那么几种实体,另外,你为什么要写出每个子类啊? 不知道你要做什么,你的应用不会要处理每个曲线子类吧?很多时候判断下是否是AcDbCurve就够了。曲线基类的方法可能就够你用的了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 4个

财富等级: 恭喜发财

 楼主| 发表于 2016-12-2 16:51:24 | 显示全部楼层

我主要是判断这幅图被改动的地方,所以要识别所有类型的实体,和以前存储的数据信息对比,从而确定图中数据变动。
但总是有实体识别不了。。。
我现在识别的有:point、line、xline、ployline、spline、圆弧、园、椭圆、块、文本。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-12-2 17:04:14 | 显示全部楼层

只要是在CAD里面,对象就总有一个类,不存在识别不了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 4个

财富等级: 恭喜发财

 楼主| 发表于 2016-12-5 09:01:12 | 显示全部楼层

谢谢回复,这个我知道,肯定属于某个类。
我目前就是比较实体是否是上面的几种,如果不是,就识别不了。
问题就在于,我不知道除了上面的几个类,还有别的什么类。也就是说这个实体和上面的每个类对比,如果是这个类,就识别出来了,但当上面的几个类都对比完了,发现都不是。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 13个

财富等级: 恭喜发财

发表于 2016-12-5 09:05:25 | 显示全部楼层

ARX安装目录下有个 classmap 目录,里面有个 classmap.dwg,你打开它,就会看到类图了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 4个

财富等级: 恭喜发财

 楼主| 发表于 2016-12-6 10:49:45 | 显示全部楼层

谢谢你,之前 newer 和我说过,不过那几天出差,就忘了这事了。
谢谢你哈。我等代码调试好了把判断类型的代码放上来,如果谁需要可以用一下。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-24 18:27 , Processed in 0.209457 second(s), 55 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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