CAD软件下的3D建模库------Open CASCADE 的编译

        由于公司项目需求,要求软件可以读取其它软件生成的STEP文件(这种文件保存着某种物体的3D模型,STEP指Standard for the Exchange of Product model data)并显示在UI上。目前公司选择了开源的Open CASCADE库来实现需求。现将编译过程记录下来,以备参考。(根据Open CASCADE官方文档, 只要不是用MSVC 2010编译器完成的项目,均需要自行编译Open CASCADE库)。

        以下把Open CASCADE简称为OCC。

        首先需要前往链接所示站点确认当前开发环境是否满足OCC的系统要求(https://www.opencascade.com/content/system-requirements)。这里需要注意的是OCC依赖很多第三方库,但是有的第三方库仅仅被OCC某一种功能模块所依赖。因此需要仔细斟酌是否有必要编译完整的OCC库。

        在查看OCC相关事项时,可以先进入https://www.opencascade.com/content/latest-release下载源代码压缩包(约192MB,需要注册一个账号)。

        由于OCC文档已经以网页形式放在OCC官网,因此编译全程均参考OCCweb文档官方文档中不明确的地方本文以粗体+斜体文字说明。

        i) 查看OCC文档首页,这里的Installation指使用预编译包完成OCC的配置,因此需要点击下图红圈处链接查看从源码编译OCC库的文档。

        

        ii) 根据项目实际需要,我选择编译OCC的最少功能版,同时参考文档中"使用MSVS环境编译"部分。如下图红线所示。(注意一定要根据官网提示安装OCC依赖的第三方库)

        

       iii) 根据文档中的提示,我选择文档推荐的较为方便的GUI工具: genconf来配置OCC编译环境。此工具必须利用到Tcltk这个第三方库, 需要注意的是: Tcltk配合genconf工具配置编译环境,需要保证引用的文件/目录路径不能有空格, 中文字符等,否则此工具无法识别第三方库路径。

            这里,我把OCC源代码解压至F盘根目录下。然后,为便于OCC引用第三方库,在F盘根目录下建立ThirdPartyLib目录,存放解压后的FreeType和Tclck目录。

       iv) 进入F:\ThirdPartyLib\tcltk-86-64\bin,双击wish.exe以打开64位GUI界面,这时弹出两个窗口: Console和wish。在Console窗口中点击菜单栏"File"->“Source...”,然后载入解压后的OCC下adm目录中的genconf.tcl文件,这样开启了genconf工具。

           在genconf工具中指定编译器路径和第三方库的存放目录路径后点击Save按钮,关闭此工具。如下图所示。

           

         v) 之后genconf工具会生成custom.bat文件,注意这个文件在F:\ThirdPartyLib\tcltk-86-64\bin下, 通过文件修改日期可以判断文件是否是最新生成的。然后用这个生成的custom.bat替换原OCC目录下重名的custom.bat文件。(注: 新生成的custom.bat文件存储着当前OCC编译环境下第三方库目录,编译器等信息。之后的编译过程会用到该文件)

         vi) 根据OCC文档提示,打开Windows命令提示符运行OCC目录下的genproj.bat以生成编译OCC的MSVS解决方案文件,生成的解决方案文件在genproj.bat运行完毕后会提示具体存储位置,如下图所示。(注: 如果步骤v未执行, 则genproj.bat提示没有找到tcltk!同时终止生成MSVS解决方案)

              

         vii) 根据OCC文档,直接在Windows下双击OCC目录下的msvc.bat,之后显示Visual Studio并自动加载genproj.bat生成的解决方案,使用MSVS编译即可,编译生成的库位于OCC目录下的win32或win64目录下。

         总结: Open CASCADE的官方文档写的比较详细,编译过程中的绝大部分要点文档都会注明。而官方文档中不明确的地方本文也通过加粗文本等形式加以说明,如有错误,欢迎指正。

posted @ 2018-05-29 21:56  r0xFED  阅读(789)  评论(0编辑  收藏  举报