OGG几何内核读取STEP模型文件的API有STEPCAFControl_Reader、STEPControl_Reader。
STEPCAFControl_Reader使用很复杂,但可以展示装配树,有利于模型的详细分析。
本文演示了《插件化算法研究平台V2》的OCC几何模型插件的部分功能:显示装配树、构件的Brep结构树、构件定位、构件各个面的定位显示。方便后续各种模型算法分析设计。
现以NCar.stp(大小:396M)文件为例演示。
文件读取:
reader.ReadFile用时:41.079000秒
reader.Transfer用时:97.820000秒
加上显示,总共用时:179.776000秒
其中,有部分构件不能正常显示。所以,如果直接用STEPControl_Reader读取,将无法显示该模型。
内存占用约2.5G。
读取与处理时,CPU占用约10%。
笔记本电脑,8核,16线程,32G内存,无独显。
在电脑没有运行其它任务的情况下:
CPU占比最高可达18%
reader.ReadFile用时:26.235000秒
reader.Transfer用时:44.861000秒
总共用时:93.813000
载入模型时,内存高峰达3.1G,载入完成后会释放部分,占用内存为2.5G内存。
整个模型树如下图:
没有Shapid数据的是装配体。
整个模型有2740个构件和装配体,这个数字还不能体现出模型的复杂情况。
可以通过模型装配树,快速定位各级构件,如下图所示(绿色代表选中):
整个模型太大,不方便我们研究里边的螺丝钉,咱们改为线框方式显示。
下面开始定位螺丝钉:
这些螺丝钉虽然空间位置、角度各不相同,但却是相同的ShapeID/TShapeID,也就说,模型在做装配设计时使用了同一个螺丝钉。
螺丝钉在整个模型里,太小,即使是线框图也看不清。
在整个模型里,螺丝钉虽小,但螺丝钉本身的构件结构却非常复杂和精细,查看该构件的Brep结构,如下图:
合计有71个各种各样面:BSplineSurface、Plan、Cone、Cylinder等,如下图:
下面可以仔细查看一下这颗螺丝钉的各个面: