前言
我们在项目中经常会遇到需要将模型数据集转换成其他格式的模型文件,但是在桌面软件中只能选择单个模型对象进行导出,如果要批量导出的话就需要组件开发,下面就让我们来看下如何使用SuperMap iObjects Java批量导出obj模型。
一、打开已有的工作空间文件
Workspace workspace = new Workspace();
WorkspaceConnectionInfo info = new WorkspaceConnectionInfo();
info.setServer("E:\\测试目录\\aaa.smwu");
info.setType(WorkspaceType.SMWU);
workspace.open(info);
二、获取需要导出的数据集
1、获取数据集
Datasource datasource = workspace.getDatasources().get(1);
DatasetVector dataset = (DatasetVector) datasource.getDatasets().get("ModelConvertorTest");
2、获取记录集
Recordset recordset = dataset.getRecordset(false,CursorType.DYNAMIC);
三、遍历记录集实现批量导出模型
ModelFileSetting setting = new ModelFileSetting();
for (int i = 0; i < recordset.getRecordCount(); i++) {
GeoModel3D geoModel3D = (GeoModel3D) recordset.getGeometry();
setting.setFilePath("E:\\测试目录\\a\\test"+i+"."+types);
System.out.println(setting.getFilePath());
Boolean b = ModelConvertor.toFile(geoModel3D.getModel(),setting);
System.out.println(b);
geoModel3D.dispose();
recordset.moveNext();
}
四、结果