首页 > 代码库 > OpenCASCADE软件包

OpenCASCADE软件包

当你熟悉OpenCASCADE软件在Windows,你应该试试在Debian的Linux操作系统,因为这是一个开源的样OpenCASCADE软件。论文的重点如何建立OpenCASCADE软件

OpenCASCADE软件、Linux、Debian建筑


1. Introduction

因为OpenCASCADE是用C++写的几何造型算法库,有良好的跨平台性,所以决定在Linux上来编译试试看。由OpenCASCADE的文档可知,在Linux上OCC选择了Debian作为常规测试的系统,所以也安装了一个Debian 64bit的系统。

wps_clip_image-8707

Figure 1.1 Debian 64bit is a platform used for regular testing of contributions

DebianGNU/Linux是由一个叫IanMurdock的牛人在1993年发起的,他的名字以Ian开头,他太太的名字Debra开头三个字母是Deb,于是在爱情的力量下,他发起了DebianGNU/Linux组织。Debian的正式发音为/?d?.bi.?n/,对应的中文发音可以是待宾。

使用了Debian后,感觉到开源的库真是多啊!选择Debian你将不会感到孤单,有相当广泛的机构及个人都在使用Debian。Debian拥有惊人数量的软件包,每一样都是自由的。且安装与更新都很方便,只需要使用命令:apt-get update和apt-get install 等就可以自动更新及安装软件。

wps_clip_image-31950

Figure 1.2 debian the universal operating system

安装Debian系统的电脑是几年前的一台笔记本,配置有些老了。打开Debian的System Monitor可以查看Debian的系统信息,如下图所示:

wps_clip_image-3108

Figure 1.3 Debian System Info


2.Preliminary

安装好了Debian,下载了OpenCASCADE的源码后,要编译OpenCASCADE还需要做些准备工作:

v 配置C++编程环境:apt-get install build-essential

v 配置C++编译环境:apt-get install automake autoconf

v 配置OpenGL库:apt-get install freeglut3-dev

刚开始安装AutoTools还遇到问题,最后查出是源的问题,把源改成Debian默认的USA源后,即可以自动安装AutoTools了。原来用的163的镜像上不能安装AutoTools。

编译OpenCASCADE需要用到OpenGL的库,编译之前的configure会检查是否正确设置GL库。如果没有正确安装OpenGL库,有几个模块是不能正确编译的。先要安装好显卡的驱动程序,再安装freeglut库即可解决问题。


3.Building 3rd-party libraries

OpenCASCADE的第三方库分成两类:

v 必须的库:Tcl/Tk 8.5-8.6, FreeType-2.4.10-2.4.11;

v 可选的库:TBB 3.x-4.x, gl2ps 1.3.5-1.3.8, FreeImage 3.14.1-3.15.4;

所有这些第三方库都可以从Debian的官方源中下载安装,只需要执行如下命令即可:

sudo apt-get install \   
tcllib tklib tcl
-dev tk-dev \   
libfreetype
-dev \   
libxt
-dev libxmu-dev \   
libgl1
-mesa-dev \   
libfreeimage
-dev \   
libtbb
-dev \   
libgl2ps
-dev 

如果有些库找不到,可以尝试下换个源。原来设置的163的源有些库就找不到,更换成USA或其他国家的源就可以了,速度也还不错。

当然这些库也可以自己编译,推荐自己编译下,熟悉下Automake工具的使用。


4.Building OpenCASCADE with Automake

完成上述准备工作后,就可以编译OpenCASCADE了。编译步骤如下所示:

v 运行在OCCT目录中的build_configure脚本来生成与系统相适应的Makefile.in和configure;

v 运行在OCCT目录中的configure来生成makefiles;命令如下:

$CASROOT/configure<FLAGS>

其中<FLAGS>是一些编译选项,用来配置第三方库与Draw等,配置参数如下所示:

wps_clip_image-30961

Figure 4.1 Configure options for OpenCASCADE

示例configure命令如下:

wps_clip_image-13390

Figure 4.2 configure example

image

Figure 4.3 configure successed status without optional 3rdparty products

如上图所示,当Component对应的Build都为yes表明configure成功了。

v 如果configure成功后,即可使用make命令来编译了,命令如下:

make -j8 install 

v 编译成功后,即可运行draw.sh来测试OpenCASCADE了。

运行《OpenCASCADE Performance Test》中的Tcl脚本得到的效果如下图所示。模型及Tcl脚本都可以从下面获得:

http://www.cppblog.com/eryar/archive/2014/09/25/208421.html

由于笔记本的配置比较老了,运行起来速度没有新的机器快。同样数量的F1赛车模型的网格化及显示速度都要慢很多,而且帧频也明显要慢很多。

终于在Debian中把OpenCASCADE编译成功了,下一步就是使用OpenCASCADE在Debian中编程。

今天是国庆节,呆在家中摆弄这些代码也是比较惬意,免去了出去玩的People Mountain People Sea的拥挤。

wps_clip_image-17573

Figure 4.4 Draw Test Hanress in Debian

wps_clip_image-9360

Figure 4.5 Draw Test Harness in Debian

5. Conclusion

在Debian上成功编译OpenCASCADE后,为程序的开发打开一扇自由之门,在更Open的环境中开发程序,就不再受什么限制了,这点感觉比用Windows要好。

OpenCASCADE在Debian上编译主要使用了Autotools,所以需要正确安装Autotools及熟悉其使用方法。这点上感觉没有用习惯了的Visual Studio方便,新的工具只有慢慢适应。

设置合适的Debian更新源也很重要,刚开始我根据网上所说的选择了国内的镜像,导致一些工具不能自动安装,更换成USA的就可以了。

OpenCASCADE软件包