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

说明:

  • VS版本:Visual Studio Community 2022
  • 系统:Windows 11 专业版23H2
  • Open CASCADE:v7.7.0(链接:https://pan.baidu.com/s/1-o1s4z3cjpYf5XkwhSDspQ?pwd=p9i5提取码:p9i5)

下载和安装OCC

Download - Open CASCADE Technology

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

安装MSVC


在这里插入图片描述

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

在这里插入图片描述

单个组件

在这里插入图片描述

设置VS环境变量


在这里插入图片描述

setx DEvEnvDir "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE"

编译OCC

CMD运行

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

@echo offset "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.exepause

双击“DRAWEXE_RUN.bat”

如果报错提示

---------------------------
DRAWEXE.exe - 系统错误
---------------------------
由于找不到 tbb12.dll,无法继续执行代码。重新安装程序可能会解决此问题。 
---------------------------
确定   
---------------------------
---------------------------
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++目录】

在这里插入图片描述

【外部包含目录】设置为

C:\OpenCASCADE-7.7.0-vc14-64\opencascade-7.7.0\inc

【库目录】设置为

C:\OpenCASCADE-7.7.0-vc14-64\opencascade-7.7.0\win64\vc14\lib


在这里插入图片描述

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

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】搜索栏输入

*.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”内的三维模型文件

在这里插入图片描述

参考

  • OCC_MSVC编译
  • 手把手教你VS2019编译、配置Opencascade_opencascade配置vs-CSDN博客
  • Open CASCADE 技术:Direct3D CSharp 示例 - OpenCascade 文档 — Open CASCADE Technology: Direct3D CSharp sample - OpenCascade Documentation
  • 在 C# 示例上构建 OCCTProxy - 论坛 Open Cascade Technology — Building OCCTProxy on C# Samples - Forum Open Cascade Technology

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/39898.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Julia精解【1】

文章目录 转换类型伴随矩阵 转换类型 在Julia中,可以使用内置函数来转换或者调整数据类型。以下是一些常用的数据类型转换方法: 转换类型 Int(): 将浮点数或字符串转换为整数。Float(): 将整数或字符串转换为浮点数。String(): 将其他类型转换为字符串…

阐述pandabuy淘宝代购集运系统在国外用户采购中国商品重要性丨类似淘宝代购集运系统搭建经验

Pandabuy淘宝代购集运系统在国外用户采购中国商品中的重要性,主要体现在以下几个方面: 一、满足多样化需求 Pandabuy系统为海外消费者提供了一个便捷的渠道,使他们能够轻松购买到来自中国电商平台的商品,如淘宝、天猫、京东等。…

python数据分析入门学习笔记

目录 一、 数据分析有关的python库简介 (一)numpy (二)pandas (三)matplotlib (四)scipy (五)statsmodels (六)scikit-learn 二、 数据的导入和导出 三、 数据筛选 四、 数据描述 五、 数据处理 六、 统计分析 七、 可视化 八、 其它![](https://…

windows电脑蓝屏解决方法(亲测有效)

如果不是硬件问题,打开终端尝试以下命令 sfc /scannow DISM /Online /Cleanup-Image /RestoreHealth

关于敏捷研发

文章目录 前言瀑布流和敏捷研发流程瀑布流研发流程缺点 敏捷研发流程 前言 关于敏捷研发。 瀑布流和敏捷研发流程 瀑布流研发流程 1.需求 2.设计 3.开发 4.测试 缺点 流程之间关联性很强,容易卡住风险不好预估,工时不好预估,如 2 个月的…

nodejs sqlite模块

SQLite 是一个轻量级的嵌入式数据库,它在 Node.js 中的使用通常是异步的。这意味着当你执行数据库操作时,例如创建表、插入数据或查询数据,这些操作会被放入事件队列中异步执行,而不会阻塞主线程。 安装sqlite3 npm install sql…

If you already have a 64-bit JDK installed ,defined a JAVA_HOME...的错误

今天感觉idea有点卡,修改了一下内存,结果就报这个错误了,网上的解决方案好多,都不行 以下是解决方案 打开 C:\Program Files\JetBrains\IntelliJ IDEA 2024.1.4\bin\jetbrains_client64.exe 把jihuo这个目录下所有的文件都删掉&…

通过easyexcel导入数据,添加表格参数的校验,同表格内校验以及和已有数据的校验

引入依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.2.11</version><scope>compile</scope></dependency> 需要导入到某个目录下 如果产品名称相同&#xff0c…

Mybatis数据封装

目录 解决方案&#xff1a; 1.起别名&#xff1a; 2.手动结果映射&#xff1a; 3.开启驼峰命名(推荐)&#xff1a; 我们看到查询返回的结果中大部分字段是有值的&#xff0c;但是deptId&#xff0c;createTime&#xff0c;updateTime这几个字段是没有值的&#xff0c;而数据…

分析数据不要太老实,有BI方案就用起来——奥威BI软件

在当今数据驱动的时代&#xff0c;企业对于数据分析的需求日益迫切。然而&#xff0c;面对海量的数据和复杂的分析需求&#xff0c;许多企业仍停留在传统的手工分析模式&#xff0c;这不仅效率低下&#xff0c;还容易出错。幸运的是&#xff0c;像奥威BI这样的数据分析软件提供…

Linux——互斥与同步练习

用多线程程序设计一个火车票售票系统&#xff0c; 要求至少有两个售票窗口&#xff0c;每个售票窗口 不能重复买票&#xff0c;将100张车票均匀的从两个 窗口卖出即可。 ./a.out 窗口1 卖出车票 1 窗口2 卖出车票 2 窗口1 卖出车票 3 窗口2 卖出车票 4 ..... #include <std…

【深度学习】扫描全能王的AI驱动创新与智能高清滤镜技术解析

目录 引言1、扫描全能王2、智能高清滤镜黑科技2.1、图像视觉矫正2.2、去干扰技术 3、实际应用案例3.1、打印文稿褶皱检测3.2、试卷擦除手写3.3、老旧文件处理3.4、收银小票3.5、从不同角度扫描文档 4、用户体验结论与未来展望 引言 在数字化时代背景下&#xff0c;文档扫描功能…

Vue3+Pinia

1.单纯调接口(安装pinia及引入如下第一张图) 1.npm install pinia2.在main.js里引入即可import { createPinia } from piniaapp.use(createPinia()) 1.stores建立你文件的ts、内容如下&#xff1a;1-1 import { defineStore } from pinia1-2 import { findPageJobSet } from …

GitCode见证:华为云DevUI如何定义下一代前端开发

在当今快速发展的数字时代&#xff0c;前端开发已成为企业数字化转型的关键一环。随着用户对交互体验的期待不断增长&#xff0c;拥有一个强大、灵活且易于使用的前端解决方案变得至关重要。 DevUI的诞生&#xff0c;源于华为对研发工具的深入理解和长期积累&#xff0c;作为一…

【PYG】将节点特征压缩为1和节点压缩为1的例子

文章目录 将节点特征压缩为1和节点压缩为1的例子示例1&#xff1a;将节点特征压缩为1示例2&#xff1a;将节点压缩为1 理论将特征压缩为1将节点压缩为1具体例子应用场景相关论文 将节点特征压缩为1和节点压缩为1的例子 示例1&#xff1a;将节点特征压缩为1 假设我们有一个节点…

【云原生监控】Prometheus 普罗米修斯从搭建到使用详解

目录 一、前言 二、服务监控概述 2.1 什么是微服务监控 2.2 微服务监控指标 2.3 微服务监控工具 三、Prometheus概述 3.1 Prometheus是什么 3.2 Prometheus 特点 3.3 Prometheus 架构图 3.3.1 Prometheus核心组件 3.3.2 Prometheus 工作流程 3.4 Prometheus 应用场景…

如何使用C++进行高效的数据处理和数据挖掘?

如何使用C进行高效的数据处理和数据挖掘&#xff1f; 数据处理和数据挖掘在如今信息爆炸的时代变得越来越重要。为了快速、高效地处理和分析大量的数据&#xff0c;选择合适的编程语言非常重要。C作为一种高性能的编程语言&#xff0c;在数据处理和数据挖掘领域也有广泛的应用…

open3d基础使用-简单易懂

Open3D是一个开源库&#xff0c;主要用于快速开发处理3D数据的软件。它提供了丰富的数据结构和算法&#xff0c;支持点云、网格和RGB-D图像等多种3D数据的处理。以下是对Open3D基础使用的详细归纳和说明&#xff1a; 一、安装Open3D Open3D可以通过Python的包管理器pip进行安…

8624 多项式系数累加和

这个问题可以通过使用数学的导数规则来解决。对于一个多项式&#xff0c;它的导数可以通过将每一项的系数乘以它的指数&#xff0c;然后降低该项的指数来得到。这个过程可以重复M次来得到多项式的M阶导数。然后&#xff0c;我们可以简单地将所有项的系数相加来得到结果。 以下…

3D Gaussian Splatting代码中的train和render两个文件代码解读

现在来聊一聊训练和渲染是如何进行的 training train.py line 31 def training(dataset, opt, pipe, testing_iterations, saving_iterations, checkpoint_iterations, checkpoint, debug_from):# 初始化第一次迭代的索引为0first_iter 0# 准备输出和日志记录器tb_writer p…