Mayo 是GitHub上一个基于opencascade的3D模型文件viewer开源项目,工程基于QT+opencascade,笔者出于对其界面的侧边栏感兴趣就尝试编译起来,就在这分享一下我的笔记。
该工具支持的文件格式如下,这个我就直接复制GitHub的:
Format | Import | Export | Notes |
---|---|---|---|
STEP | ✅ | ✅ | AP203, 214, 242 |
IGES | ✅ | ✅ | v5.3 |
BREP | ✅ | ✅ | OpenCascade format |
DXF | ✅ | ❌ | |
OBJ | ✅ | ✅ | |
glTF | ✅ | ✅ | 1.0, 2.0 and GLB |
VRML | ✅ | ✅ | v2.0 UTF8 |
STL | ✅ | ✅ | ASCII/binary |
AMF | ❌ | ✅ | v1.2 Text/ZIP |
PLY | ✅ | ✅ | ASCII/binary |
OFF | ✅ | ✅ | |
Image | ❌ | ✅ | PNG, JPEG, ... |
接下来我们就开始研究如何编译:
1、安装Open CASCADE
Download - Open CASCADE Technology
我们这里直接下载执行文件安装即可,当然感兴趣的也可以下载源文件编译,这个以后介绍。
安装后如下图:
其实是把一下源文件和库文件解压到指定目录,
2、QT安装过程省略。。。但是版本要求5.12以上,笔者使用的是5.14.2
3、接下来就是从github上git工程下来。相信这个全球最大男人的交友论坛,大家都很熟,方式很多,就最简单的直接上连接。
fougue/mayo: 3D CAD viewer and converter based on Qt + OpenCascade (github.com)
接下来直接开始编译mayo-develop.zip,解压后
用QT打开mayo.pro后直接编译先试试看,报错是肯定的:
不用慌,这些文件都是前面安装好的的opencascade里面包括的,找到opencascade的src目录,你会看到很多源文件的文件夹:
而上面报错的头文件都在这些子文件里面,一开始我也是不知所措,实在太多了,就把报错的一个个复制过去,发现根本没完没了,头文件这么多文件夹也不可能在opencascade.pri中一个个加吧?但是这难不倒我们, 打开vs2017,写个小程序把这些文件夹里面的头文件和源文件分离到不同的两个目录即可:
此次省略500字。。。。(工具见文尾)
接下来我们把以上src文件夹复制到一个空文件夹,我就放桌面了
运行咱们的小小分离工具,过程有点长,静静等待完成即可
此时你会发现,多了5个文件夹,再回到我们的工程根目录src文件夹下新建一个core文件夹,让将刚才分类好的文件夹复制过来,如下:
这样就只剩下最后一步了,修改opencascade.pri的路径配置
注意 INCLUDEPATH += $$CASCADE_LIB_DIR 这一句也是必不可少的,因为笔者的小小分离工具会把.lxx分离到lib目录下,而刚才报错的头文件是会有包含这.lxx。
接着就没有然后了,直接编译
编译完成,目录下会有mayo.exe生成,但是打开报错,依赖库我们需要复制过去,除了QT的一些库还有opencascade目录的,还是从简吧,直接先下载一个已经编译好的
Release v0.7.0 · fougue/mayo (github.com)
运行安装 mayo_v0.7.0.1113-f88a35d_winx64_installer.exe
然后把咱们编译好的mayo.exe试试,
O 了!!
.hxx和.cxx分离的小工具:
一个头文件和源文件分离的小工具资源-CSDN文库https://download.csdn.net/download/qq_15686867/87850163
编译的mayo工程:
开源工程mayo编译,基于QT+opencascade-C++https://download.csdn.net/download/qq_15686867/87850179