OCC-7.6.0 + MFC单文档应用 入门教程
磨刀不误砍柴工,如果你对MFC没任何基础,请先读这篇MFC的入门基础,它会降低你对这篇文章的恐惧感
开发环境说明
win7+ opencascade-7.6.0+vs2019
最终成果如下:
先来个餐前甜点
opencasecade-7.6.0安装完成后,进入opencasecade-7.6.0目录,如下
不知道如何安装,请点击这里有完整教程
各目录的功能如下所示:
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/vc10目录:包含window平台预编译的可执行程序和lib库;
gendoc.bat: 将occt的Markdown格式文件编译为html格式
inspector.bat occinspector工具运行环境
msvc.bat: visual studio编译工程和运行环境
draw.bat: draw工具运行环境
我们可以进行测试一下,运行draw.bat
出现两个窗口如下图
一个是cmd命令窗口,一个 Draw窗口
在cmd命令窗口输入
pload DEFAULT
axo # 显示三维辅助视图,出现三维坐标架
继续输入命令
box b -10 -10 -10 10 10 10 # 显示一个小立方体网格
fit # 调整最佳观察位置
开始创建MFC项目
step.1 创建项目
step.2 开发环境配置
设置为x64位,如下图
设置项目的包含目录
和库目录
包含目录在OpenCASCADE-7.6.0-vc14-64/opencascade-7.6.0/inc
将完整路径添加到 包含目录
库目录在OpenCASCADE-7.6.0-vc14-64\opencascade-7.6.0\win64\vc14\lib
将完整路径添加到库目录
如下图
然后在连接器,找到输入的 附加依赖项
,设置附加依赖项
添加如下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;
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;
TKXDEDRAW.lib;
TKXDEIGES.lib;
TKXDESTEP.lib;