VS2022+OpenCasCade配置編譯

?一、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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/78793.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/78793.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/78793.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【OSG學習筆記】Day 12: 回調機制——動態更新場景

UpdateCallback 在OpenSceneGraph(OSG)里,UpdateCallback是用來動態更新場景的關鍵機制。 借助UpdateCallback,你能夠實現節點的動畫效果,像旋轉、位移等。 NodeCallback osg::NodeCallback 是一個更通用的回調類&…

全新升級:BRAV-7601-T003高性能無風扇AI邊緣計算系統,助力智能未來!

在數字化與智能化飛速發展的今天,AI邊緣計算正成為各行各業的核心驅動力。BRAV-7601作為一款高性能無風扇AI邊緣計算系統,憑借其強大的硬件配置與豐富的擴展能力,為車路協同、特種車輛車載、機器視覺、醫療影像等領域提供了卓越的解決方案。最…

刪除 Git 遠程記錄并重新設置

刪除 Git 遠程記錄并重新設置 以下是在 Windows 平臺上刪除當前項目的 Git 遠程記錄并重新設置遠程存儲庫的步驟: 步驟一:查看當前遠程倉庫 首先,檢查當前設置的遠程倉庫: git remote -v這會顯示所有已配置的遠程倉庫及其 URL…

有哪些和PPT自動生成有關的MCP項目?

隨著AI技術的快速發展, Model Context Protocol(MCP) 作為一種連接大型語言模型(LLMs)與外部工具的開放協議,正在重塑自動化辦公領域。在PPT自動生成場景中,MCP通過標準化接口實現了AI模型與設計工具、數據源的無縫整合。以下從技術框架、項目案例、應用場景三個維度展開…

PostgreSQL psql 命令和常用的 SQL 語句整理

PostgreSQL psql 命令和常用的 SQL 語句整理 1、登錄PostgreSQL數據庫2、psql 命令3、數據庫操作4、模式操作5、表操作6、數據操作7、索引操作8、視圖操作9、權限操作 1、登錄PostgreSQL數據庫 在系統的命令行界面(如 Windows 的 cmd 或者 PowerShell、Linux 的終端…

【unity游戲開發入門到精通——UGUI】文本輸入控件 —— InputField舊控件

注意:考慮到UGUI的內容比較多,我將UGUI的內容分開,并全部整合放在【unity游戲開發——UGUI】專欄里,感興趣的小伙伴可以前往逐一查看學習。 文章目錄 前言1、文本輸入控件2、InputField舊文本輸入控件組成 一、InputField文本輸入…

獲得ecovadis徽章資格標準是什么?ecovadis評估失敗的風險

EcoVadis徽章資格標準 EcoVadis徽章是對企業在可持續發展(環境、勞工與人權、商業道德、可持續采購)方面表現的認可。獲得徽章需滿足以下條件: 完成評估: 企業必須完成EcoVadis的問卷評估,并提交所有必要文件。 評分…

Python初學 有差異的知識點總結(一)

目錄 一、基礎語法規則 1.注釋 2.代碼編寫 二、基礎語法 1.變量 2.數據類型 3.數據類型的轉換 (1)隱式轉換 (2)顯示轉換 4.標識符 5.運算符 6.字符串 (1)定義 (2)拼接 …

Java面試場景深度解析

Java面試場景深度解析 在互聯網大廠Java求職者的面試中,經常會被問到關于Java項目中的各種技術場景題。本文通過一個故事場景來展示這些問題的實際解決方案。 第一輪提問 面試官:馬架構,歡迎來到我們公司的面試現場。請問您對Java內存模型…

【數據可視化藝術·應用篇】三維管線分析如何重構城市“生命線“管理?

在智慧城市、能源管理、工業4.0等領域的快速發展中,地下管線、工業管道、電力通信網絡等“城市血管”的復雜性呈指數級增長。傳統二維管理模式已難以應對跨層級、多維度、動態變化的管線管理需求。三維管線分析技術應運而生,成為破解這一難題的核心工具。…

Spring-全面詳解(學習總結)

一:概述 1.1 為什么學 解決了兩個主要問題 1. 2 學什么 1.3 怎么學 二:系統架構 作用:web開發、微服務開發、分布式系統開發 容器:用于管理對象 AOP:面向切面編程(不驚動原始程序下對其進行加強) 事…

企業架構之旅(2):解鎖TOGAF ADM

文章目錄 一、什么是 TOGAF ADM二、TOGAF ADM 的關鍵階段架構愿景(Phase A)業務架構(Phase B)信息系統架構(Phase C)技術架構(Phase D)機會與解決方案(Phase E&#xff0…

MySQL 中 SQL 語句的詳細執行過程

MySQL 中 SQL 語句的詳細執行過程 當一條 SQL 語句在 MySQL 中執行時,它會經歷多個階段的處理。下面我將詳細描述整個執行流程: 1. 連接階段 (Connection) 客戶端與 MySQL 服務器建立連接服務器驗證用戶名、密碼和權限連接器負責管理連接狀態和權限驗…

ETL架構、數據建模及性能優化實踐

ETL(Extract, Transform, Load)和數據建模是構建高性能數據倉庫的核心環節。下面從架構設計、詳細設計、數據建模方法和最佳實踐等方面系統闡述如何優化性能。 一、ETL架構設計優化 1. 分層架構設計 核心分層: 數據源層:對接O…

快速上手Prism WPF 工程

1、Prism 介紹 ?定位?: Prism 是 ?微軟推出的框架,專為構建 ?模塊化、可維護的復合式應用程序? 設計,主要支持 WPF、Xamarin.Forms、UWP 等平臺。?核心功能?: ?模塊化開發?:將應用拆分為獨立模塊&#xff0c…

React 單一職責原則:優化組件設計與提高可維護性

單一職責原則(SRP) 在 React 中,組件是構建 UI 的核心單位,而良好的組件設計是保證應用質量和可維護性的關鍵。單一職責原則是一種設計原則,也適用于 React 組件的開發。它強調每個組件應該只關注一個職責&#xff0c…

css網格布局Grid

一、網格布局適應場景 當涉及到的布局是二維布局(元素不止一行或者一列)且比較復雜的時候,可以用網格布局,看下面的一個例子: 上圖上一個四行三列的網格,布局相對比較復雜。如果你用別的布局方案&#xff…

利用Python生成Xilinx FPGA ROM IP核 .coe初始化文件

以下是一個 Python 腳本,用于生成 Xilinx IP ROM 的.coe 格式初始化文件,假設ROM 深度為 1024,數據位寬為 32bit,使用隨機的 32 位無符號數進行初始化: import random# 定義ROM的深度和數據位寬 rom_depth 1024 data…

8.2 段落格式

在word里,段落格式包括首行縮進、行間距、段前、段后等。LaTex同樣支持這些功能。 段落間距 全局設置 段落間距用setlength命令來指定。如以下代碼 \documentclass{article} \usepackage{ctex} \begin{document}\setlength{\parskip}{11em plus 1em minus 1em}\p…

OpenVLA-OFT

TL;DR 2025 年斯坦福提出的 OpenVLA 工作的續作 OpenVLA-OFT,優化 VLA 能夠有效適應新的機器人平臺和任務,優化的技術主要有并行解碼、動作塊處理、連續動作、L1 回歸和(可選的)FiLM 語言調節 Paper name Fine-Tuning Vision-La…