各位老师好,目前在使用IElementGraphicsProcessor将模型导出为三维网格。现有一个模型如下图所示,文件大小只有10M,但是内部有个8000多个元素,其中大部分是几何相同、位置不同的钢筋ExtendedElement,因此导出的Mesh数据量很大(上亿顶点,数千万三角形)。
由于文件本身大小很小,但几何数据量较大,因此猜测Dgn文件内部是否复用了钢筋的几何数据,即只有一根钢筋的几何数据,其他都是通过变换矩阵得到的实例化元素。或者有什么方法可以复用这些几何数据吗?谢谢!
转成Mesh格式,并不一定文件所占内存就要变小,举个例子,一个圆柱如果使用Solid格式存储的话,只需要两个坐标点,和一个半径即可,但是转成Mesh的话可不止是这么点内容了,转换的精度越高的话,所需要存储的顶点数据越多。
MS学习资源:
MicroStation Wednesday视频分享
深入探讨MicroStation DGN基本概念系列
一步步学习MicroStation CE Addin开发
一步步学习MicroStation CE MDL开发
Answer Verified By: 沈睿 舒
确实如您所说,并不是感觉顶点数量太多。而是从一些间接因素中推测这个模型中确实是优化了几何的存储。从钢筋几何体数量上来说,大约近十万个圆柱体或扫掠体,使用ElementGraphicsProcessor一一离散的时间很长,但是文件打开渲染模型的时间却很短(只有几秒)。如果是将十万实体一个个离散为Mesh并渲染,这个速度应该是快到相当惊人了。由于ExtendedElement是通过参数化的方式生成的元素,因此想请教是否有可能是这些钢筋共用了同一个几何体/Solid,再通过Transform复用,或是其他形式的优化呢?
明白了,谢谢您!
感谢您在论坛发帖,请阅读置顶的【发帖指南】,在得到正确答案后协助我们确认答案——在正确答案下点Verify Answer,该答案就会被绿色框框住。
收到,已经验证了~
非常感谢您的配合!给你点个赞
符老师您客气了