簡體   English   中英

STEP 文件中無意義的數據重復

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM