首页 / 浏览问题 / 桌面GIS / 问题详情
超图桌面端能否识别提取两个obj模型之间的差异
35EXP 2023年01月09日

使用产品:iserver 10i 操作系统:win11 x64

数据类型:文件型

问题详细描述:

模型数据一:模型数据二:两者差别:

现在想要将两个模型之间的差异部分提取出来,请问有什么方法吗?

1个回答

您好,

可以使用三维地理设计-布尔运算-求差的方法,得到差异部分内容,详见联机帮助“布尔运算”部分内容,在线链接为:https://help.supermap.com/iDesktop/zh/

希望能够帮助到您!

2,199EXP 2023年01月09日

感谢您的回复!

我找到工具并按联机帮助尝试了一下,但是软件发生了报错。

这是我的参数设置:

planbuilding、unaubuilding是我的模型图层,每个图层中都只有一个模型。

这是系统发生的报错:

这是报错的详细信息:

是否产生结果数据集? 使用的是iDesktop哪个版本,文件-关于提供具体版本信息?
产生了结果数据集,但是数据集为空。

iDesktop版本为10i。
如模型对象内存在多个子对象,建议通过模型打散将子对象保存为对象。
之后就对每一个子对象进行布尔运算吗?
布尔运算是对模型对象间求差、合并和求交运算。

选中模型右键属性点击模型信息,可查看子对象信息情况。
我尝试在两个不同的图层中手动画了两个圆柱体,设置不同的高度,没有通过导入的方式导入模型,虽然有一定误差,但是可以识别出差异,如果将obj格式的模型转换成手动画出的三维对象的形式是不是就可以不用打散了,从而解决这个问题了
对象绘制出的是单个对象,属性表中一行为一个对象属性。布尔运算是对对象进行操作,建议将对象中子对象拆出来变成对象进行操作。
我当前的模型有699个子对象,我如果打散的话,需要一个一个对象进行布尔运算吗?
目标对象指定ID,操作对象不指定ID即全为全图层对象。
好的,明白了,感谢您的回复!
我将一个对象打散成多个子对象,另一个图层中的模型对象未处理,两者进行布尔运算,参数同上,还是会报同样的错误。我咨询了一下数据生产部门,他们说我们的模型是由多个三维面搭建而成的,这样的话有没有什么处理方式呢?

布尔运算对话框中可通过‘检查’功能检查操作对象是否符合布尔运算要求。选择进行布尔运算的模型对象必须是闭合的。详见联机帮助“布尔运算”部分内容。

场景中选择模型右键属性查看模型信息对象信息确认模型是否闭合。如模型不闭合建议建模时重新处理模型数据。

好的,感谢回复!
如果可以的话,能不能把我想要处理的数据发给您看下,看看这种格式的数据目前有没有什么办法能够实现差异提取?
不闭合得模型,只能建模的时候建模人员去做处理。不闭合的模型max中也是没法做布尔运算的。
...