首页 / 浏览问题 / 组件GIS / 问题详情
OBJ转换为OSGB时的属性信息
43EXP 2019年07月01日
我们将obj等模型导入数据集后可以通过对数据集本身右键生成OSGB缓存,
也可以添加进场景后生成OSGB缓存,
两类方式是否前一个对应模型OSGB,调用ModelConvertor.ToFile (),
后一个对应倾斜摄影缓存OSGB,调用OSGBCacheBuilder。
该理解是否正确?
另外obj模型数据自带的颜色属性是否正确导入了我们数据集(并不是说展示效果,而是实际储存的数据),
如何通过我们的产品检索到正确的颜色属性数据呢,
另外,在通过ModelConvertor.ToFile (),或者OSGBCacheBuilder 生成OSGB后,其颜色属性信息是否也正确导出到OSGB内了呢?

(注:关于OBJ转OSGB,其中LOD信息,地理位置,缩尺等信息的话,使用以上两类接口是否都能从OBJ保存到OSGB内呢)

1个回答

您好!

(1)OSGBCacheBuilder 是OSGB缓存生成类,通过该类可将模型数据集或CAD数据集生成OSGB格式的缓存文件。模型数据集或者CAD数据集生成缓存用OSGBCacheBuilder.Build ();

(2)倾斜摄影生成.scp配置文件用OSGBCacheBuilder.GenerateConfigFile();倾斜摄影生成s3m缓存用接口ObliquePhotogrammetry3DModelTool.OSGBTOS3M();

(3)ModelConvertor.ToFile ()是将模型数据集添加到场景,鼠标左键选中一个模型,右键导出模型用的接口,是将单个模型对象导出为其他格式的模型文件所用接口。

(4)将由PhotoScan导出的OBJ格式的倾斜摄影模型数据转换为OSGB格式用接口ObliquePhotogrammetry3DModelTool.OBJTOOSGB ();
3,362EXP 2019年07月01日
这个回答非常全,谢谢您。

现在OSGBCacheBuilder 生成的OSGB文件用别的三维软件读取失败,报以下错误

Error reading file D:\Samplecode_halp_ch\ObjCache\data\modeldata\model\objCache_sample\Tile_-0044_0045_0000\Tile_-0044_0045_0000.osgb: read error (InputStream: Failed to decompress stream, No such compressor. At Decompression )

所以我的理解是我们的OSGBCacheBuilder生成OSGB缓存是我们超图软件自己的专用格式,内容上是做了特别修改的对吧?

在使用 ModelConvertor.ToFile () 转换模型后,OBJ的颜色等模型属性能否全部被转换后的OSGB文件继承呢?如果有部分属性会继承不过来的来请提点我一下。
(1)OSGBCacheBuilder 生成的OSGB文件是缓存文件,是超图软件自己的专用格式。

(2)您的OBJ格式的模型是倾斜摄影数据还是模型文件呢?如果是倾斜摄影数据就用ObliquePhotogrammetry3DModelTool.OBJTOOSGB ();这个接口转成OSGB。

如果是OBJ格式的模型文件,您需要用ImportSettingModelOSG导入生成模型数据集,然后添加进场景鼠标选中单个模型,将选中的模型转换为记录集Selection3D.ToRecordset 。然后将记录集转换为GeoModel3D,用recordset.GetGeometry() as GeoModel3D;获取GeoModel3D.Model 最后用ModelConvertor.ToFile ()将转换的Model转成OSGB格式的模型文件。

(3)您如果对我说的不太理解,请拿您的obj数据直接在iDesktop.Net操作一遍,就清楚了。
好的,谢谢您的回复,我实际去试试
...