首页 / 浏览问题 / 组件GIS / 问题详情
ImportSettingModelOSG导入OBJ文件,模型丢失
1EXP 2022年11月29日
代码如下,导入obj代码有警告,在idesktop中查看没有模型

            ImportSettingModelOSG importSettingModelOSG = new ImportSettingModelOSG(filePath, datasource);
            importSettingModelOSG.setTargetEncodeType(EncodeType.BYTE);
            importSettingModelOSG.setPosition(new Point3D(623600, 4097600, 1700));
            importSettingModelOSG.setSourceFileCharset(Charset.DEFAULT);
            PrjCoordSys prjCoordSys = PrjCoordSys.fromEPSG(4544);
            importSettingModelOSG.setTargetPrjCoordSys(prjCoordSys);
//            importSettingModelOSG.setObjRotate();
            DataImport importer = new DataImport();
            importer.getImportSettings().add(importSettingModelOSG);
            ImportResult importResult = importer.run();
            if (importResult.getSucceedSettings().length == 0) {
                System.out.println("导入数据失败!!!");
                return;
            }

1个回答

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

建议您可以先使用iDesktopX导入obj模型数据看看能否在三维场景中正常查看模型数据;如果可以的话,建议您可以使用对应使用的iDesktopX版本的iObjects Java组件版本再尝试导入,如果ImportSettingModelOSG接口依然无法正常导入的话,建议您还可以尝试使用ModelConvertor的接口进行导入模型,详细接口说明建议参考iObjects java组件帮助文档。

希望可以帮到您。
2,258EXP 2022年11月29日

你好  iDesktop是10i版本,iObject是10.1.0版本

也试了ModelConvertor.fromFile进行导入,导入结果是一样,看不到模型

代码如下:

GeoModel3D geomodel=new GeoModel3D ();
Model model=new Model ();
ModelFileSetting mo=new ModelFileSetting ();
mo.setFilePath(filePath);
ModelConvertor.fromFile(model, mo);
geomodel.setModel(model);
Recordset record = datasetVector.getRecordset(false, CursorType.DYNAMIC);
record.edit();
record.addNew(geomodel);
record.update();
workspace.save();

还是会出现如下警告,如下警告是什么意思呢

您好,这些警告只是在模型转换过程中的一些提示信息,通常来说是模型的结构存在一些不合理的情况时才会输出这些警告信息。

建议您可以先在iDesktopX桌面端尝试导入模型,看看导入后是否可以正常在三维场景中看到模型。
...