FreeCAD
引言
[編輯]簡介
[編輯]FreeCAD 是通用且開源的三維 CAD/MCAD/CAx/CAE/PLM 建模工具, 目標直指機械工程與產品設計,也面向更廣泛的工程應用,例如建築或其他工程領域。FreeCAD 以參數化特徵建模為核心功能,基於模塊化的軟件架構而實現,可在不改動系統核心的的前提下進行功能擴展。
FreeCAD 建立於強大的幾何核心 OpenCasCade 之上,採用 Coin 3D 提供的與 Open Inventor 兼容的三維場景模型,並提供豐富的 Python 應用程序接口,其圖形交互界面基於 Qt 實現。FreeCAD 能夠確保在 Windows, Mac OS X 與 Linux 平台上運行時用戶交互界面的一致性。
定位
[編輯]FreeCAD的功能目的是成為一個3D CAD建模工具。她的開發完全遵循Open Source(GPL & LGPL License)協議。FreeCAD的目標直指機械工程、產品設計,當然也適合工程行業內的其他廣大用戶,比如建築或者其他特殊工程行業。
FreeCAD的功能特徵類似Catia, SolidWorks 或 Solid Edge, 因此也可以使用關鍵詞 MCAD, PLM, CAx 以及 CAE. 她是一個 功能化的參數化建模工具 ,是一個模塊化的CAD核心環境,你可以在不修改核心程序的基礎上為其開發插件、功能模塊。
和其他3D CAD建模工具一樣,她也將擁有一個2D組件來將3D模型的準確設計信息轉化為2D的產品圖紙,二維靜態圖紙(比如: AutoCAD LT) 並不准確、動態或者有零件關係等概念(譯者:僅僅是一些線條而已)(比如: Maya, 3ds Max 或 Cinema 4D), 因此,得益於FreeCAD可以被廣泛地改寫(添加功能模塊), 她將比目前更加有用。
FreeCAD另外一個值得注意關注的是深度應用所有強大的已有開源庫,例如計算機科學. 其中包含 OpenCascade, 強大的CAD內核, Coin3D(是 OpenInventor的進化版本), Qt,著名的UI庫,Python, 是目前最好的腳本語言。當然FreeCAD自身也可以被其他項目作為庫來使用。
FreeCAD是一個真正的多平台程序, 目前可在Windows、Linux/Unix以及Mac OSX系統上完美運行,並在所有平台上擁有一樣的外觀和功能。
核心功能
[編輯]- 基於 Open CASCADE Technology 的完整的幾何核心,對 brep, nurbs, 布爾運算與倒角 (fillet) 等概念提供原生支持,可完成複雜形狀類型的三維運算
- 支持以插件(模塊)形式對核心功能進行擴展的模塊化的軟件架構。所實現的擴展可以像一個全新的應用程序那樣複雜,也可像 Python 腳本 或所錄製的 macros 那樣簡單
- 健全的參數化模型,支持任意類型的參數驅動對象定製,甚至可完全用 Python 編程實現
- 可通過內建的 Python 解析器,宏或外部腳本操縱 FreeCAD 的全部功能,例如 幾何模型創建與坐標變換, 幾何體的二維與三維表示 (scenegraph) 甚至 FreeCAD 圖形界面
- 支持標準格式的數據導入與導出,例如 STEP, IGES, OBJ, DXF, SVG, U3D 與 STL
正在開發的功能
[編輯]- 具備約束求值的草圖 (Sketcher) 模塊,以實現具有幾何約束的二維形狀草圖建模。目前 草圖模塊支持多種幾何約束類型,可使用它們作為 FreeCAD 中其他對象的構建基礎。
- 工程製圖 (Drawing sheets)模塊,用於生成三維模型的二維視圖,並能以 SVG 或 PDF 格式輸出。該模塊雖然仍缺乏許多功能,但是已經具備了強大的 Python 接口支持。
- 機器人仿真模塊,可用於研究機器人運動。該模塊目前已具備一個寬泛的圖形界面,可僅僅通過圖形交互界面進行機器人運動仿真。
- 渲染模塊,可導出三維對象,以供外部渲染工具實現模型渲染,目前僅支持povray,但是將來有望擴展到其他渲染工具。
- 建築模塊,支持 BIM 風格的工作流程,併兼容 IFC。建築模塊的設計與實現還在社區討論階段。