Posted on 2022-11-12 15:31
eryar 閱讀(1780)
評論(0) 編輯 收藏 引用 所屬分類:
2.OpenCASCADE
Geometric Constrained Solver - PlaneGCS
eryar@163.com
Abstract: PlaneGCS is open source geometric constrained solver for 2d sketch. 2 main open source software use it as constrained solver: FreeCAD and SALOME Shaper.
Keywords: PlaneGCS
1 Introduction
在傳統的三維設計軟件中,都提供從草圖通過拉伸、放樣生成三維零件的功能。而草圖的繪制都提供幾何約束和參數化的功能來提高建模效率。目前主流商用軟件一般使用西門子D-Cubed DCM及達索的CGM。在開源世界也有兩款常用的幾何約束求解器:


在開源有限元前后處理平臺SALOME中,同時使用了這兩款幾何約束求解器:
https://git.salome-platform.org/gitweb/?p=modules/shaper.git;a=tree;f=src/SketchSolver
并做了封裝示例:PlaneGCSSolver&SolveSpaceSolver。OpenCASCADE將SALOME的Shaper模塊單獨做成CAD Builder,可以在CAD Builder中體驗PlaneGCS的效果。

2 PlaneGCS
PlaneGCS字面意思是平面幾何約束求解器,主要用于二維草圖。支持的約束有:

- 水平約束 Horizontal Constraint





- 垂直約束 Perpendicular Constraint




除了以上列舉的約束以外,還支持參數變量的約束等。
3 Conclusion
PlaneGCS作為FreeCAD中二維草圖約束求解器,在社區反應還不錯。編譯PlaneGCS主要依賴Eigen,用到了Eigen中的非線性方程組求解算法,如BFGS等。
https://forum.freecadweb.org/viewtopic.php?t=20541
SALOME中對開源幾何約束求解器封裝的代碼可讀性強,可以作為學習的示例代碼。開源世界為我們打開了一扇理論聯系實際的門,教材論文等一般理論性強,結合開源代碼可以理論聯系實踐,提高學習效率。