[OCCT] Open CASCADE Technology的编译(包含示例的编译)

QQ交流群:604668232
OCCT知识库:yuque.com/softdev/occt,持续更新

相关文档

  1. 官方文档:构建、调试和升级
  2. 官方文档:OCCT的构建

源代码目录

  • adm目录:包含编译OCCT的相关工程;
    • adm/cmake目录:包含使用CMake构建OCCT的相关处理脚本;
    • adm/msvc目录:包含window平台 Visual C++ 2010, 2012, 2013, 2015, 2017 and 2019等版本的32/64平台solutinon文件;
  • data目录: 包含用于OCCT功能测试的CAD文件
  • doc目录:包含OCCT的html和pdf格式帮助文档;
  • dox目录:包含了基于MarkDown文件格式的文本文档;
  • inc目录:OCCT头文件依赖;
  • samples目录:OCCT示例项目;
  • src目录:OCCT源码目录;
  • tests目录:包含测试脚本文件
  • tools目录:包含Inspector工具的源码.
  • win64/vc14目录:OCCT在window平台预编译的可执行程序和lib库;
  • gendoc.bat: 将occt的Markdown格式文件编译为html格式
  • inspector.bat occinspector工具运行环境
  • msvc.bat: visual studio编译工程和运行环境
  • draw.bat: draw工具运行环境

编译源代码

官方提供的文件中,带有预编译的第三方库,因此我们能很方便的编译OCCT

代码下载:https://old.opencascade.com/content/latest-release

方法一:使用官方提供的VS工程

  1. 打开msvc.bat
  2. 修改以下内容
@echo off
rem This file has been generated by genproj.tcl script from CASROOT/adm/templates/msvc.bat

rem Setup environment
call "%~dp0env.bat" vc141 win64 %3 #修改成vc141 win64
  1. 双击msvc.bat,它自动会打开VS17的工程

方法二:使用cmake构建工程

  1. 源代码路径:D:\OpenCASCADE-7.5.0-vc14-64\opencascade-7.5.0
  2. build路径(自定义):D:\OpenCASCADE-7.5.0-vc14-64\build
  3. 3RDPARTY_DIR设置为D:\OpenCASCADE-7.5.0-vc14-64
    1. 安装包提供了vc14版本的第三方库,可以直接指定
  4. 勾选安装例子Build_SAMPLES_QT
  5. INSTALL_DIR设置为D:\OpenCASCADE-7.5.0-vc14-64\install,再点击Configure
  6. 编译 ,vs中install出错,用管理员身份打开

软件介绍

Full安装之后,你能得到以下内容:

在这里插入图片描述

  1. Class Reference 类图(包括方法与注释等等),应该是由doxygen自动生成的
  2. Documentation文档
  3. Guides指南,官方的教程
  4. Release Notes发布说明(即更新记录)
  5. Sample 例子
  6. Draw Test Harness 绘制测试工具
  7. TInspector查看器(可查看OCCT官方的模型文件)

Draw Test Harness绘制测试工具

此工具可以输入OCCT的脚本,完成快速绘制图形的功能,并且提供给我们一些示例

  1. 点开Load -> pload all加载标准命令

在这里插入图片描述

  1. 然后就有一些示例可以查看与学习

在这里插入图片描述

相关错误:您的图形供应商 (Intel) 已提供损坏的 OpenGL 驱动程序,因此该消息建议要求供应商更新驱动程序以解决该问题。

Error: no active view!
TKOpenGl | Type: Error | ID: 0 | Severity: High | Message:
  Error! OpenGL context reports version 4.6 but does not export required functions for 4.5 (glGetnTexImage)
Please report this issue to OpenGL driver vendor 'intel'

TInspector查看器

查看STEP模型文件的节点关系与信息。

示例

原始链接:OCCT教程与例子

如果要查看对应的例子,在编译OCCT的时候勾选相应的例子即可。

OCCT提供了各种平台与各种框架的示例

  1. C++:MFCQt
  2. C#:Windows Forms、WPF+Direct3D Viewer
  3. Android:jniviewer(java)和AndroidQt(qt + qml)
  4. IOS:Apple UIKit框架
  5. Web:Emscripten SDK
  6. OCAF使用示例
  7. OCAF机制用法
  8. Draw绘制脚本

MFC示例

编译

  1. 修改C:\OpenCASCADE-7.5.0-vc14-64\opencascade-7.5.0\samples\mfc\standard下面的msvc.bat,用call "%~dp0env.bat" vc141 win64 %3启动vs2017
  2. 编译时报找不到头文件:在vs2017的“C/C++”的“附加包含目录”中增加D:\OpenCASCADE-7.5.0-vc14-64\opencascade-7.5.0\inc
  3. 报找不到lib:在vs2017的“连接器”-“常规”-“附加库目录”中增加D:\OpenCASCADE-7.5.0-vc14-64\opencascade-7.5.0\win64\vc14\lib
  4. 无法启动程序:在vs2017的“调试”的“环境”中增加PATH=D:\OpenCASCADE-7.5.0-vc14-64\opencascade-7.5.0\win64\vc14\bin;%PATH%
  5. 编译通过

调试方法

  1. VS > 视图 > 资源视图 > Modeling > Modeling.rc > Toolbar > 找到对应图标 > 右键图标,属性 > 杂项 > 复制ID

在这里插入图片描述

  1. 在项目中搜索这个ID,找到命令。找到对应的回调函数即可

在这里插入图片描述

Qt OCCT示例

内容

D:\OpenCASCADE-7.5.0-vc14-64\opencascade-7.5.0\samples\qt\OCCTOverview包含了“Qt OCCT概述”应用程序的文件夹和文件:

  • 文件OCCTOverview.proOCCTOverview0.pro是Qt项目文件。
  • 使用genproj.bat文件对MS Visual Studio项目进行降级。
  • 文件msvc.bat以运行MS Visual Studio项目。
  • 文件make.sh以在Linux上构建应用程序。
  • 使用文件run.batrun.sh运行应用程序。
  • 从_genproj.bat_,msvc.batrun.bat_调用文件env.batcustom.bat。用户应该定义文件_custom.bat_来提供QT目录和OCCT安装目录的路径(请参见_custom.bat.template)。
  • srcres目录提供源文件和资源文件。

D:\OpenCASCADE-7.5.0-vc14-64\opencascade-7.5.0\samples\OCCTOverview\code包含了示例的源代码。

如何构建Qt OCCT概述的应用程序
  • 编辑custom.bat文件。有必要定义以下变量:
    • 安装Qt的QTDIR路径
    • 安装Open CASCADE二进制文件的CASROOT路径。
  • 生成应用程序:
    • 在Windows上:
      • 生成项目文件: > genproj.bat vc141 win64 Debug
      • 启动MS Visual Studio: > msvc.bat vc141 win64 Debug
      • 使用MS Visual Studio生成应用程序。
    • 在Linux上:通过make.sh脚本启动应用程序的构建

运行应用程序
  1. Windows:run.bat vc141 win64 Debug
  2. Linux:run.sh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

geodoer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值