首页 / 浏览问题 / 组件GIS / 问题详情
java组件导入obj模型问题
74EXP 2022年07月04日

java组件导入obj模型,导入进去啦,但是数据是空的,为什么啊 

1个回答

您好,请问您是在Windows系统上还是Linux系统上运行呢?使用的是SuperMap iObjects Java 组件包的哪个版本呢?

如果您使用 DataImport 导入 obj 数据后结果不正确的话,建议您可以尝试使用 ModelConvertor.fromFile 接口导入 obj 数据试试,将导入后的 Model 对象添加进新建的 GeoModel 对象中,再新建模型数据集,将 GeoModel 写入模型数据集内,最后在 iDesktop/iDesktopX 桌面端打开,看看模型数据是否存在。

希望可以帮到您。
2,253EXP 2022年07月04日
运行在window,版本时11i。

1,那通过DataImport 方法的导入方式大概是什么原因

2,如果采用ModelConvertor.fromFile,那模型的旋转角度和投影信息要如何设置呢
您好,

1. 我在本机测试了通过ImportSettingModelOSG导入obj数据的情况,这个和obj数据文件本身有关系,有些obj文件的确导入会出现异常,建议您私信我您的联系方式,将您使用的obj文件发给我看看。

2. ModelConvertor.fromFile 接口导入obj数据后,可以通过GeoModel3D对象的setRotationX、setRotationY、setRotationZ等方法可以设置旋转角度,投影信息的话可以对添加导入的GeoModel3D对象的数据集进行设置。

希望可以帮到您。

桌面中的“分解为多个模型对象”是如何实现的。

您好,拆分为多个对象是需要自己处理的,桌面端除了使用了组件中的ModelBuilder3D.split()方法拆分后,还将拆分后的结果模型的各个骨架单独生成新的模型对象,然后保存在新的模型数据集中,在iObjects Java中也可以以相同的思路实现,实现步骤如下:
   1、使用ModelBuilder3D.split()进行模型拆分;
   2、获取结果模型的精模层的骨架个数,model.getSkeletonCount(-1);
   3、通过骨架个数循环获取对应的SkeletonID,并根据SkeletonID生成新的geomodel3D;
   4、将3中生成的新的模型添加到模型数据集中。

为了在问题解决后,便于所有人检索查看,建议您以后有新的问题重新在社区发帖提问,谢谢
...