?一、Open CASCADE Technology介紹及安裝(windows10)
? ? ? ? Open CASCADE Technology(簡稱OCCT)是一款開源的 3D CAD/CAM/CAE 軟件開發平臺,廣泛應用于工業設計、工程仿真、制造等領域。開源OCC對象庫是一個面向對象C++類庫,用于快速開發設計領域的專業應用程序。OCC主要用于開發二維和三維幾何建模應用程序,包括通用的或專業的計算機輔助設計CAD系統、制造或分析領域的應用程序、仿真應用程序或圖形演示工具。OCC通過有機組織的C++庫文件提供了六個模塊。可視化模塊作為OCC的核心部分,是可視化技術的具體體現。
1.1 核心功能
1.幾何建模內核:提供曲面和實體建模的核心算法,支持 NURBS 曲線/曲面、布爾運算(交/并/差)、倒角、抽殼等高級建模功能
2. 數據交換:支持多種CAD格式,如STEP、IGES、STL、OBJ、VRML 等,可導入/導出行業標準文件,兼容主流CAD軟件(如 SolidWorks、CATIA)
3. 可視化與渲染,集成OpenGL渲染引擎,支持3D模型的交互式顯示,提供 選擇、縮放、旋轉 等交互操作功能
4. 網格處理:生成三角網格(用于 3D 打印、有限元分析),支持網格優化、修復、簡化等操作
5. 參數化建模:支持歷史記錄(Feature Tree),允許修改設計參數并自動更新模型。
1.2 源碼下載
1.2.1 OpenCasCade源碼下載
1、下載網址
Download - Open CASCADE Technology
2、點擊Previous releases----》點擊Open CASCADE Technology 7.7.0 -?07.11.2022
3、 點擊opencascade-7.7.0-vc14-64.exeopencascade-7.7.0.tgz進行下載,注冊賬戶。
4、點擊3rd party Components------>點擊Windows(win32)
5、下載第三方插件,下載freeimage-3.17.0-vc14-64、freetype-2.5.5-vc14-64、tcltk-86-64三個依賴包。
6、解壓open CasCade源碼壓縮包,在改目錄中創建install、build和product三個文件夾。
7、 將第三方庫文件解壓放到product文件下。
1.3 cmake工具下載及安裝
1、進入官網下載CMake安裝包,官網網址:Download CMake,往下滑,隨便選擇一個版本,下載.msi文件。2、下載完成后雙擊安裝
3、進入安裝界面,點擊【Next】
4、同意協議,點擊【Next】
5、將Cmake添加進用戶變量,勾選創建桌面圖標,點擊【Next】。
6、選擇路徑,點擊【Next】。
7、開始安裝,點擊【Install】
8、安裝完畢,點擊【Finish】
9、安裝完畢,進行測試,打開cmd黑窗,輸入命令查看版本,安裝成功。
cmake /V
1.4??編譯源碼???
1、打開cmake工具首先配置occ的源碼位置和build目錄,點擊Configure。
2、?選擇“Visual?Studio 17 2022”,X64編譯----》Finish。?? ?
3、彈出Error窗口,點擊OK
?4、將cmake配置項中配置3RDPARTY_DIR為放置依賴的product目錄,以及INSTALL_DIR目錄目錄為install。
5、點一下Configure----》Generate,最后點OpenProject。
6、Visual Studio自動打開,右鍵解決方案,生成解決方案開始構建,無報錯就表示成功了。?
7、右鍵解決方案管理器中的INSTALL,點擊生成,目的是將編譯好的文件安裝到install目錄
8、測試,右鍵Modules---->Draw----->DRAWEXE,將DRAWEXE設為啟動項目,然后CTRL+F5執行,在打開的命令行窗口中即可測試DRAWEXE命令。
9、在打開的終端中輸入以下命令繪制測試圖像?。
pload ALL
box b 1 1 1
axo
fit
二、Visual Studio環境配置(Debug版本)
1、創建一個新項目OCCT_test,設置平臺為Debug?x64,打開屬性管理器,新建屬性表,命名為 OCCT7.7.0_Debug?_x64.props
2、修改屬性表名字,點擊添加即可。
3、雙擊OCCT_Debug_7.7.0屬性表。
?4、VC++目錄----》包含目錄-----》小三角----》編輯----》添加四個目錄-----》確定。
5、VC++目錄----》庫目錄-----》小三角----》編輯----》添加四個目錄-----》確定。
6、提取lib文件命配置鏈接器
1)通過這段python代碼提取一下目錄的lib文件
import osdef Extract_lib(path):# 檢查路徑是否存在且是目錄if not os.path.isdir(path):raise ValueError(f"路徑 '{path}' 無效或不是目錄。")# 使用追加模式 'a'(而不是寫入模式 'w')with open("ooct_debug_lib.txt", 'a', encoding='utf-8') as release: # 'a' 表示追加for file in os.listdir(path):if file.lower().endswith('.lib'): # 不區分大小寫檢查擴展名release.write(file + '\n') # 寫入文件名并換行if __name__ == '__main__':# 修改提取lib文件的目錄path = r"D:\Software_Setup_Path\OpenCASCADE-7.7.0-vc14-64\build\win64\vc14\libd"Extract_lib(path)path = r"D:\Software_Setup_Path\OpenCASCADE-7.7.0-vc14-64\product\freeimage-3.17.0-vc14-64\lib"Extract_lib(path)path = r"D:\Software_Setup_Path\OpenCASCADE-7.7.0-vc14-64\product\freetype-2.5.5-vc14-64\lib"Extract_lib(path)path = r"D:\Software_Setup_Path\OpenCASCADE-7.7.0-vc14-64\product\tcltk-86-64\lib"Extract_lib(path)
2)需要提取lib文件的四個庫目錄
D:\Software_Setup_Path\OpenCASCADE-7.7.0-vc14-64\build\win64\vc14\libd
D:\Software_Setup_Path\OpenCASCADE-7.7.0-vc14-64\product\freeimage-3.17.0-vc14-64\lib
D:\Software_Setup_Path\OpenCASCADE-7.7.0-vc14-64\product\freetype-2.5.5-vc14-64\lib
D:\Software_Setup_Path\OpenCASCADE-7.7.0-vc14-64\product\tcltk-86-64\lib
3)提取結果
FreeImage.lib
FreeImagePlus.lib
DRAWEXE.lib
ExpToCasExe.lib
TKBin.lib
TKBinL.lib
TKBinTObj.lib
TKBinXCAF.lib
TKBO.lib
TKBool.lib
TKBRep.lib
TKCAF.lib
TKCDF.lib
TKDCAF.lib
TKDraw.lib
TKernel.lib
TKExpress.lib
TKFeat.lib
TKFillet.lib
TKG2d.lib
TKG3d.lib
TKGeomAlgo.lib
TKGeomBase.lib
TKHLR.lib
TKIGES.lib
TKLCAF.lib
TKMath.lib
TKMesh.lib
TKMeshVS.lib
TKOffset.lib
TKOpenGl.lib
TKOpenGlTest.lib
TKPrim.lib
TKQADraw.lib
TKRWMesh.lib
TKService.lib
TKShHealing.lib
TKStd.lib
TKStdL.lib
TKSTEP.lib
TKSTEP209.lib
TKSTEPAttr.lib
TKSTEPBase.lib
TKSTL.lib
TKTObj.lib
TKTObjDRAW.lib
TKTopAlgo.lib
TKTopTest.lib
TKV3d.lib
TKVCAF.lib
TKViewerTest.lib
TKVRML.lib
TKXCAF.lib
TKXDE.lib
TKXDECascade.lib
TKXDEDRAW.lib
TKXDEIGES.lib
TKXDESTEP.lib
TKXMesh.lib
TKXml.lib
TKXmlL.lib
TKXmlTObj.lib
TKXmlXCAF.lib
TKXSBase.lib
TKXSDRAW.lib
FreeImage.lib
FreeImagePlus.lib
freetype.lib
itclstub40.lib
tcl86.lib
tclstub86.lib
tk86.lib
tkstub86.lib
DRAWEXE.lib
ExpToCasExe.lib
TKBin.lib
TKBinL.lib
TKBinTObj.lib
TKBinXCAF.lib
TKBO.lib
TKBool.lib
TKBRep.lib
TKCAF.lib
TKCDF.lib
TKDCAF.lib
TKDraw.lib
TKernel.lib
TKExpress.lib
TKFeat.lib
TKFillet.lib
TKG2d.lib
TKG3d.lib
TKGeomAlgo.lib
TKGeomBase.lib
TKHLR.lib
TKIGES.lib
TKLCAF.lib
TKMath.lib
TKMesh.lib
TKMeshVS.lib
TKOffset.lib
TKOpenGl.lib
TKOpenGlTest.lib
TKPrim.lib
TKQADraw.lib
TKRWMesh.lib
TKService.lib
TKShHealing.lib
TKStd.lib
TKStdL.lib
TKSTEP.lib
TKSTEP209.lib
TKSTEPAttr.lib
TKSTEPBase.lib
TKSTL.lib
TKTObj.lib
TKTObjDRAW.lib
TKTopAlgo.lib
TKTopTest.lib
TKV3d.lib
TKVCAF.lib
TKViewerTest.lib
TKVRML.lib
TKXCAF.lib
TKXDE.lib
TKXDECascade.lib
TKXDEDRAW.lib
TKXDEIGES.lib
TKXDESTEP.lib
TKXMesh.lib
TKXml.lib
TKXmlL.lib
TKXmlTObj.lib
TKXmlXCAF.lib
TKXSBase.lib
TKXSDRAW.lib
FreeImage.lib
FreeImagePlus.lib
freetype.lib
itclstub40.lib
tcl86.lib
tclstub86.lib
tk86.lib
tkstub86.lib
?7、打開ooct_debug_lib.txt將txt中的lib文件名復制粘貼到鏈接器----》輸入----》附加依賴項----》小三角----》編輯-----》粘貼lib文件名----》確定
8、設置系統變量:右鍵此電腦-----》屬性-----》高級系統設置------》高級------》環境變量------》Path------》編輯-----》添加以下四條路徑。
D:\Software_Setup_Path\OpenCASCADE-7.7.0-vc14-64\product\tcltk-86-64\bin
D:\Software_Setup_Path\OpenCASCADE-7.7.0-vc14-64\product\freetype-2.5.5-vc14-64\bin
D:\Software_Setup_Path\OpenCASCADE-7.7.0-vc14-64\product\freeimage-3.17.0-vc14-64\bin
D:\Software_Setup_Path\OpenCASCADE-7.7.0-vc14-64\build\win64\vc14\bind
?
?9、配置項目調試環境:解決方案-----》右鍵OCCT_QT項目-----》屬性-----》調試-----》環境------》小三角------》編輯-----》,添加同樣的路徑。
D:\Software_Setup_Path\OpenCASCADE-7.7.0-vc14-64\product\tcltk-86-64\bin
D:\Software_Setup_Path\OpenCASCADE-7.7.0-vc14-64\product\freetype-2.5.5-vc14-64\bin
D:\Software_Setup_Path\OpenCASCADE-7.7.0-vc14-64\product\freeimage-3.17.0-vc14-64\bin
D:\Software_Setup_Path\OpenCASCADE-7.7.0-vc14-64\build\win64\vc14\bind