2

最近我一直在构建一个 STEP (iso 10303-21) 导入器,作为我一直在从事的项目的必要要求。到目前为止,我的几何形状是正确的(据我所知),但方向和位置仅在 60%-80% 上正确,这让我认为我没有正确处理AXIS2_PLACEMENT_3Ds。

现在我解析文件的方式从 开始SHAPE_REPRESENTATION_RELATIONSHIP,并处理它包含的两个形状表示。对于大多数 BREP 形状,这只是一个简单的“级联”效果,直到我到达处理ADVANCED_FACE所有 2D(边缘)数据的位置,然后再传递到ELEMENTARY_SURFACE基于该数据构造形状的 BREP 中。

目前我正在使用所有 2D 边缘几何的变换,但忽略ELEMENTARY_SURFACE. 我也忽略了所有的SHAPE_REPRESENTATION转换,但使用它们最终“获取”并使用ITEM_TRANSFORMATIONs.

我还应该提一下(除了 2D 边缘数据),所有的变换都是相加的,并最终应用。要添加转换,我将轴转换为旋转矩阵(通过这个问题),将它们相乘,然后简单地添加转换。

更新1

AXIS2_PLACEMENT_3D通过删除翻译添加改变了 s 添加在一起的方式。现在我只是添加旋转,并使用第二个平移,并且似乎得到了更准确的结果。

4

0 回答 0