找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2304|回复: 11

[求助] 在c++ arx 二次开发中,如何判断实体相对另一个实体被旋转或者平移过?(已解决)

[复制链接]

已领礼包: 3个

财富等级: 恭喜发财

发表于 2018-11-1 14:19:23 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 tong76890 于 2018-11-5 16:05 编辑

在c++ arx 二次开发中,如何判断实体相对另一个实体被旋转或者平移过?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 4365个

财富等级: 富可敌国

发表于 2018-11-1 14:44:53 | 显示全部楼层
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2018-11-1 17:29:58 | 显示全部楼层
移动了就是移动了,除非你两个实体是关联的,比如是一个组
无关系的两个实体,你判断不出,除非你通过方法把两个实体关联起来
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3个

财富等级: 恭喜发财

 楼主| 发表于 2018-11-1 19:52:55 | 显示全部楼层
newer 发表于 2018-11-1 17:29
移动了就是移动了,除非你两个实体是关联的,比如是一个组
无关系的两个实体,你判断不出,除非你通过方法 ...

比较尴尬啊,
原始图1被修改后,保存为图纸2
客户要求能检测出来:与图纸1相比较,图纸2被旋转或平移过,

点评

同一个图,拷贝一份,那么两个图纸里面同样的实体,句柄肯定是一样的,通过这个判断 1、两图的图元数是否相同,不同,肯定是添加或者修改了。 2、同一个句柄的,判断下特征点是否相同 a.包围框不同,说明肯  详情 回复 发表于 2018-11-1 20:11
同一个图,拷贝一份,那么两个图纸里面同样的实体,句柄肯定是一样的,通过这个判断 1、两图的图元数是否相同,不同,肯定是添加或者修改了。 2、同一个句柄的,判断下特征点是否相同 a.包围框不同,说明肯  详情 回复 发表于 2018-11-1 20:11
那就是图纸对比了,你试试2019的dwg compare获得下灵感 提供个思路,分别获得两个图纸的最大矩形框,然后你循环比较实体相对框左上角的距离,实体可以找特征点,比如线取中点,块取插入点,一个图位置的相对位置  详情 回复 发表于 2018-11-1 20:07
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2018-11-1 20:07:31 | 显示全部楼层
tong76890 发表于 2018-11-1 19:52
比较尴尬啊,
原始图1被修改后,保存为图纸2
客户要求能检测出来:与图纸1相比较,图纸2被旋转或平移过,{:1 ...

那就是图纸对比了,你试试2019的dwg compare获得下灵感

提供个思路,分别获得两个图纸的最大矩形框,然后你循环比较实体相对框左上角的距离,实体可以找特征点,比如线取中点,块取插入点,一个图位置的相对位置,去另外一个图相对位置选择实体,看看句柄什么的是否相同,然后判断特征点相对位置是否和第一个图一样,去判断图纸是否改动
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2018-11-1 20:11:41 | 显示全部楼层
tong76890 发表于 2018-11-1 19:52
比较尴尬啊,
原始图1被修改后,保存为图纸2
客户要求能检测出来:与图纸1相比较,图纸2被旋转或平移过,{:1 ...

同一个图,拷贝一份,那么两个图纸里面同样的实体,句柄肯定是一样的,通过这个判断
1、两图的图元数是否相同,不同,肯定是添加或者修改了。
2、同一个句柄的,判断下特征点是否相同
     a.包围框不同,说明肯定旋转了
     b.包围框相同,特征点不同,比如你取下9宫格,9个点比较,都在允许精度内,说明图元没变化
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2018-11-1 20:11:41 | 显示全部楼层
tong76890 发表于 2018-11-1 19:52
比较尴尬啊,
原始图1被修改后,保存为图纸2
客户要求能检测出来:与图纸1相比较,图纸2被旋转或平移过,{:1 ...

同一个图,拷贝一份,那么两个图纸里面同样的实体,句柄肯定是一样的,通过这个判断
1、两图的图元数是否相同,不同,肯定是添加或者修改了。
2、同一个句柄的,判断下特征点是否相同
     a.包围框不同,说明肯定旋转了
     b.包围框相同,特征点不同,比如你取下9宫格,9个点比较,都在允许精度内,说明图元没变化
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3个

财富等级: 恭喜发财

 楼主| 发表于 2018-11-2 09:33:44 | 显示全部楼层
newer 发表于 2018-11-1 20:11
同一个图,拷贝一份,那么两个图纸里面同样的实体,句柄肯定是一样的,通过这个判断
1、两图的图元数是 ...

非常感谢您的回答,
图纸里面的对象这块差异比较功能已经做好了,就是和你说的差不多,根据实体句柄,来比较实体的属性以及内容,就是不知道该如何精确判断 实体被旋转过,旋转可以指定基点,不像平移,比对下点坐标,就知道是否平移了

点评

另外,用户关心的是图纸是否改动了,哪里改动了,你给标识出来,方便校核,不用指明到底是怎么改动了吧。  详情 回复 发表于 2018-11-2 10:04
实体最大外框改变了,肯定是旋转或者缩放了啊  详情 回复 发表于 2018-11-2 10:02
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2018-11-2 10:02:41 | 显示全部楼层
tong76890 发表于 2018-11-2 09:33
非常感谢您的回答,
图纸里面的对象这块差异比较功能已经做好了,就是和你说的差不多,根据实体句柄,来比较 ...

实体最大外框改变了,肯定是旋转或者缩放了啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2018-11-2 10:04:36 | 显示全部楼层
tong76890 发表于 2018-11-2 09:33
非常感谢您的回答,
图纸里面的对象这块差异比较功能已经做好了,就是和你说的差不多,根据实体句柄,来比较 ...

另外,用户关心的是图纸是否改动了,哪里改动了,你给标识出来,方便校核,不用指明到底是怎么改动了吧。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3个

财富等级: 恭喜发财

 楼主| 发表于 2018-11-2 10:38:50 | 显示全部楼层
Lisphk 发表于 2018-11-2 10:04
另外,用户关心的是图纸是否改动了,哪里改动了,你给标识出来,方便校核,不用指明到底是怎么改动了吧。

客户要求被旋转或者平移的图纸不算修改...
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3个

财富等级: 恭喜发财

 楼主| 发表于 2018-11-5 16:03:58 | 显示全部楼层
本帖最后由 tong76890 于 2018-11-5 16:06 编辑

问题已解决,两个图纸,选择句柄相同的一组线,根据他们的端点坐标计算旋转的基坐标,然后对比各个基坐标,相同个数最多的视为整体的旋转基坐标,然后求出旋转角度就ok啦,谢谢各位
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-14 22:01 , Processed in 0.400852 second(s), 50 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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