微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

STEP 文件中无意义的数据重复

如何解决STEP 文件中无意义的数据重复

在我用 OpenCascade 生成的 STEP 文件中,我可以看到:

#58 = VERTEX_POINT('',#59);
#59 = CARTESIAN_POINT('',(-0.5,-0.5,-0.5));
#60 = VERTEX_POINT('',#61);
#61 = CARTESIAN_POINT('',(0.5,-0.5));
#62 = SURFACE_CURVE('',#63,(#67,#79),.PCURVE_S1.);
#63 = LINE('',#64,#65);
#64 = CARTESIAN_POINT('',-0.5));
#65 = VECTOR('',#66,1.);
#66 = DIRECTION('',(1.,0.,0.));
#67 = PCURVE('',#68,#73);

重复的数据 #59#64我有点恼火。 看起来这个 STEP 文件可能会小一点(特别是如果有数千个顶点)。 当我编辑文件以在使用 #59 的地方使用 #64 时,它看起来仍然很好。

是否有充分的理由拥有这些重复数据? 更重要的是,有没有办法避免它?

我已经尝试为每个顶点创建一个 TopoDS_Vertex 并避免重复连接相同的两个顶点的 TopoDS_Edge。 然后使用这些边创建 TopoDS_Wire,而后者又用于创建 TopoDS_Face。 整个网格用 BRepBuilderAPI_Sewing 放在一起。

谢谢

解决方法

我的回答只是猜测!

两个笛卡尔点 #59#64 碰巧是相同的,但在它们之上构建了不同的几何实体。显然,曲面曲线 #62 指代直线 #63 指代笛卡尔点 #64 也可以指代点 #59

但是,如果有人打开 STEP 文件并想要修改存储在笛卡尔点 #58 中的顶点 #59 的坐标,会发生什么?线#63和曲面曲线#62也应该修改吗?还是应该重新定义?为什么顶点 #58 的修改会导致重新定义另一个仅偶然共享一个笛卡尔位置的实体?

因此,我猜您的建议是某种“STEP 格式压缩”,但实际意图是几何实体层次结构的清晰定义。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。