请模型数据转换接口是什么?

0 投票
请问.3ds .obj .fbx等模型数据转换为OSGB,S3M的接口是什么,是否有示例代码?

在桌面软件iDesktop9D中有模型转换功能,可以单个或批量直接进行,现在我这边有很多.obj的单个模型文件(不是倾斜摄影的.obj转osgb功能),想转为osgb格式,在组件中该如何实现,请指导一下。

使用产品:iObject9D java 911

操作系统:win10 x64

数据类型: .obj(不是由photoscan生成,该OBJ属于不带LOD信息的单体模型文件)
6月 25, 2019 分类:  189次浏览 | 用户: sirst07 才疏学浅 (17 分)
修改于 6月 25, 2019 用户:sirst07

1个回答

1 投票
 
已采纳
您好!桌面里实现思路是先以导入数据集的方式导入obj生成模型数据集,在将模型数据集添加到三维场景中,鼠标选中模型数据集中的模型,右键导出成OSGB、s3m模型。

组件里提供了桌面相对应的接口。导入obj用接口ImportSettingModelOSG;导出osgb用接口ModelConvertor.ToFile ();
6月 25, 2019 用户: 胡延南 名扬四海 (3,232 分)
采纳于 6月 25, 2019 用户:sirst07

您好,谢谢您的回复。

我之前在等待的时间查到了以下方式,

http://support.supermap.com.cn/product/CodeLibrary.aspx?PRODUCT_TYPE=3

其中实现代码关键如下:

    private static void makeObjCache() {
        if (mvector == null) {
            System.exit(1);
        }
        mvector.setPrjCoordSys(new PrjCoordSys(PrjCoordSysType.PCS_EARTH_LONGITUDE_LATITUDE));
        String cacheDir = "data/modeldata/model/";
        String cacheName = "objCache";
        OSGBCacheBuilder cacheBuilder = new OSGBCacheBuilder(mvector, cacheDir, cacheName);
        cacheBuilder.setFileType(CacheFileType.OSGB);
        cacheBuilder.setIsCalNormal(false);
        cacheBuilder.setLODSize(3);
        HashMap<Integer, Double> map = new HashMap<>();
        map.put(0, 0.5);
        map.put(1, 0.75);
        map.put(2, 1.0);
        cacheBuilder.setSimplifyPercent(map);
        cacheBuilder.setObjectFiltrateThreshold(2);
        cacheBuilder.setProcessThreadsCount(4);
        cacheBuilder.setProcessType(ProcessFileType.NORMAL);
        cacheBuilder.setStorageType(StorageType.Compact);
        cacheBuilder.setTileWidth(52);
        cacheBuilder.setTilePyramidSplitType(PyramidSplitType.QuadTree);
        boolean builded = cacheBuilder.build();
        System.out.println("生成完成"+builded);
        map.clear();
        cacheBuilder.dispose();

    }

该处实现时思路也是将OBJ导入一个模型数据集内,之后通过OSGBCacheBuilder.build()生成OSGB缓存,请问两种方式区别在哪?

com.supermap.data.processing.OSGBCacheBuilder

区别在于一个是OSGB格式的缓存文件,另一个是OSGB模型文件。
您好,请问是否有示例代码可以参考一下呢?

我这边在用ModelConvertor.ToFile ()导出的文件用别的三维软件(ciciVIEW, FME data inspector, osgviewer)导入时失败,有点担心是导出时的设置出错
...