[英]Pointless data repetition in STEP file
在我使用 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,-0.5));
#62 = SURFACE_CURVE('',#63,(#67,#79),.PCURVE_S1.);
#63 = LINE('',#64,#65);
#64 = CARTESIAN_POINT('',(-0.5,-0.5,-0.5));
#65 = VECTOR('',#66,1.);
#66 = DIRECTION('',(1.,0.,0.));
#67 = PCURVE('',#68,#73);
數據#59
和#64
的重復讓我有點惱火。 似乎這個 STEP 文件可能有點小(特別是如果有數千個頂點)。 當我編輯文件以使用#64
的#59
時,它看起來仍然很好。
是否有充分的理由擁有這些重復的數據? 更重要的是,有沒有辦法避免它?
我已經嘗試為每個頂點創建一個TopoDS_Vertex
並避免重復連接相同兩個頂點的TopoDS_Edge
。 然后使用這些邊創建一個TopoDS_Wire
,而后者又用於創建TopoDS_Face
。 整個網格與BRepBuilderAPI_Sewing
放在一起。
謝謝
我的回答只是猜測!
兩個笛卡爾點#59
和#64
偶然相同,但在它們之上構建了不同的幾何實體。 顯然,曲面曲線#62
指的是指直線#63
,指的是笛卡爾點#64
,也可以指的是點#59
。
但是,如果有人打開 STEP 文件並想要修改存儲在笛卡爾點#59
中的頂點#58
的坐標,會發生什么? 線#63
和曲面曲線#62
是否也應該修改? 還是應該重新定義它們? 為什么修改頂點#58
會導致重新定義另一個實體,該實體僅偶然共享一個笛卡爾 position?
因此,我猜您的建議將是某種“STEP 格式壓縮”,但實際意圖是明確定義幾何實體的層次結構。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.