编译Open Cascade(OCC)并使用C#进行开发

说明:

下载和安装OCC

Download - Open CASCADE Technology




安装MSVC


打开文件夹"C:\OpenCASCADE-7.7.0-vc14-64\opencascade-7.7.0\adm\msvc"


单个组件


设置VS环境变量


cs 复制代码
setx DEvEnvDir "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE"

编译OCC

CMD运行

cs 复制代码
cd C:\OpenCASCADE-7.7.0-vc14-64\opencascade-7.7.0
msvc.bat vc142



改【Debug】为【Release】,【x64】保持不变,【解决方案】右键【重新生成】

生成的dll的文件夹位置为"C:\OpenCASCADE-7.7.0-vc14-64\opencascade-7.7.0\win64\vc14\bin"

等待编译完成


验证编译结果

在文件夹"C:\OpenCASCADE-7.7.0-vc14-64\opencascade-7.7.0\win64\vc14\bin"创建DRAWEXE_RUN.bat

cs 复制代码
@echo off

set "ffmpeg=C:\OpenCASCADE-7.7.0-vc14-64\ffmpeg-3.3.4-64\bin"
set "freeimage=C:\OpenCASCADE-7.7.0-vc14-64\freeimage-3.17.0-vc14-64\bin"
set "freetype=C:\OpenCASCADE-7.7.0-vc14-64\freetype-2.5.5-vc14-64\bin"
set "openvr=C:\OpenCASCADE-7.7.0-vc14-64\openvr-1.14.15-64\bin\win64"
set "qt=C:\OpenCASCADE-7.7.0-vc14-64\qt5.11.2-vc14-64\bin"
set "tbb=C:\OpenCASCADE-7.7.0-vc14-64\tbb-2021.5-vc14-64\bin"
set "tcltk=C:\OpenCASCADE-7.7.0-vc14-64\tcltk-86-64\bin"
set "vtk=C:\OpenCASCADE-7.7.0-vc14-64\vtk-6.1.0-vc14-64\bin"

set path=%path%;%ffmpeg%;%freeimage%;%freetype%;%openvr%;%qt%;%tbb%;%tcltk%;%vtk%

call DRAWEXE.exe

pause

双击"DRAWEXE_RUN.bat"

如果报错提示

cs 复制代码
---------------------------
DRAWEXE.exe - 系统错误
---------------------------
由于找不到 tbb12.dll,无法继续执行代码。重新安装程序可能会解决此问题。 
---------------------------
确定   
---------------------------
cs 复制代码
---------------------------
DRAWEXE.exe - 系统错误
---------------------------
由于找不到 tbbmalloc.dll,无法继续执行代码。重新安装程序可能会解决此问题。 
---------------------------
确定   
---------------------------

打开文件夹"C:\OpenCASCADE-7.7.0-vc14-64\tbb_2021.5-vc14-64\bin"复制提示缺失的"tbb12.dll"和"tbbmalloc.dll"到"DRAWEXE_RUN.bat"所在文件夹


【Samples】【Modeling】【ANC101...】【Run sample】



C#使用OCC进行开发

下载源代码:https://github.com/Open-Cascade-SAS/OCCT-samples-csharp.git

打开"CSharp.sln",打开【OCCTProxy属性页】,【VC++目录】


【外部包含目录】设置为

cs 复制代码
C:\OpenCASCADE-7.7.0-vc14-64\opencascade-7.7.0\inc

【库目录】设置为

cs 复制代码
C:\OpenCASCADE-7.7.0-vc14-64\opencascade-7.7.0\win64\vc14\lib


【链接器】【输入】【附加依赖项】设置为

plaintext 复制代码
TKBin.lib
TKBinL.lib
TKBinTObj.lib
TKBinXCAF.lib
TKBO.lib
TKBool.lib
TKBRep.lib
TKCAF.lib
TKCDF.lib
TKD3DHost.lib
TKD3DHostTest.lib
TKDCAF.lib
TKDFBrowser.lib
TKDraw.lib
TKernel.lib
TKExpress.lib
TKFeat.lib
TKFillet.lib
TKG2d.lib
TKG3d.lib
TKGeomAlgo.lib
TKGeomBase.lib
TKHLR.lib
TKIGES.lib
TKIVtk.lib
TKIVtkDraw.lib
TKLCAF.lib
TKMath.lib
TKMesh.lib
TKMeshVS.lib
TKMessageModel.lib
TKMessageView.lib
TKOffset.lib
TKOpenGl.lib
TKOpenGles.lib
TKOpenGlesTest.lib
TKOpenGlTest.lib
TKPrim.lib
TKQADraw.lib
TKRWMesh.lib
TKService.lib
TKShapeView.lib
TKShHealing.lib
TKStd.lib
TKStdL.lib
TKSTEP.lib
TKSTEP209.lib
TKSTEPAttr.lib
TKSTEPBase.lib
TKSTL.lib
TKTInspector.lib
TKTInspectorAPI.lib
TKTObj.lib
TKTObjDRAW.lib
TKToolsDraw.lib
TKTopAlgo.lib
TKTopTest.lib
TKTreeModel.lib
TKV3d.lib
TKVCAF.lib
TKView.lib
TKViewerTest.lib
TKVInspector.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

【Everything】搜索栏输入

cs 复制代码
*.dll C:\OpenCASCADE-7.7.0-vc14-64\ 


复制所有的dll到文件夹"OCCT-samples-csharp\win64\bind"中

重新生成项目"OCCTProxy",启动项目,【File】【New】之后【Import】,可以导入文件夹"C:\OpenCASCADE-7.7.0-vc14-64\opencascade-7.7.0\data"内的三维模型文件


参考

相关推荐
小羊没烦恼!13 小时前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
神仙别闹13 小时前
基于C#+MySQL实现(WinForm)个人聊天室软件
c#
龙亘川14 小时前
明月照湾区,智启新赛道:从顶流文旅IP盛会看智慧文旅升级路径
人工智能·智慧城市·开源软件·数据可视化
龙亘川15 小时前
一网统管AI平台民生业务实践:基于城市数字底座赋能公积金业务服务升级
大数据·安全·智慧城市·开源软件·数据可视化·政务
kybs199116 小时前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net
龙亘川17 小时前
水利工程决策分析报表业务建模:从 “定时报表 + 自定义报表“ 到驾驶舱钻取闭环
人工智能·智慧城市·开源软件·数据可视化·水利水务
逸模20 小时前
POC验证:怎么在不踩坑的前提下试一个新工具?
cad·revit·设计图·翻模·si标准
Polevne20 小时前
C# SFTP客户端实现文件传输
c#·ssh
samble21 小时前
从零搭建灌装监控系统(四):深色主题与样式系统,ResourceDictionary 统一管理
c#·wpf·mvvm·样式·工业控制
cjp56021 小时前
024 . WPF MVVM类封装优化
c#