设置好了Debian,OpenCASCADE开发平台提供了3D曲面和实业造型

Building OpenCASCADE on Debian

eryar@163.com

Abstract. When you are familiar with
OpenCASCADE on Windows, you should try it on Linux operating system,
because of Debian is also open source like OpenCASCADE. The paper is
focus on how to building the OpenCASCADE on Debian. 

Key Words. OpenCASCADE, Linux,
Debian, Building 

1. Introduction

因为OpenCASCADE是用C++写的几何样子算法库,有出彩的跨平台性,所以决定在Linux上来编译试试看。由OpenCASCADE的文档可见,在Linux上OCC接纳了Debian作为健康测试的连串,所以也设置了一个Debian
64bit的系统。 

图片 1

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

DebianGNU/Linux是由一个叫伊恩Murdock的牛人在1993年发起的,他的名字以伊恩开头,他太太的名字Debra开头三个假名是Deb,于是在爱情的能力下,他提倡了DebianGNU/Linux协会。Debian的正规发音为/ˈdɛ.bi.ən/,对应的普通话发音可以是待宾。 

应用了Debian后,感觉到开源的库真是多啊!接纳Debian你将不会深感孤独,有卓绝广泛的机关及个体都在运用Debian。Debian拥有惊人数据的软件包,每一样都是不管三七二十一的。且安装与更新都很有益,只需求利用命令:apt-get
update和apt-get install 等就可以自动更新及安装软件。 

图片 2

Figure 1.2 debian the universal operating system 

设置Debian系统的处理器是几年前的一台台式机,配置有些老了。打开Debian的System
Monitor可以查看Debian的连串音信,如下图所示: 

图片 3

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等,配置参数如下所示: 

图片 4

Figure 4.1 Configure options for OpenCASCADE 

演示configure命令如下: 

图片 5

Figure 4.2 configure example 

图片 6

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的水泄不通。 

图片 7

Figure 4.4 Draw Test Hanress in Debian 

图片 8

Figure 4.5 Draw Test Harness in Debian 

5. Conclusion

在Debian上得逞编译OpenCASCADE后,为顺序的费用打开一扇自由之门,在更Open的环境中支出顺序,就不再受什么样范围了,那一点感觉比用Windows要好。 

OpenCASCADE在Debian上编译首要使用了Autotools,所以须要科学安装Autotools及熟谙其应用办法。那点上感到没有用习惯了的Visual
Studio方便,新的工具唯有逐步适应。 

安装合适的Debian更新源也很重点,刚初叶自我依照网上所说的拔取了国内的镜像,导致有些工具不能够自动安装,更换成USA的就足以了。 

 

PDF Version: Building OpenCASCADE on
Debian

OpenCASCADE Performance Test

eryar@163.com

Abstract. Use the Draw Test Harness to test the performance of
OpenCASCADE by Tcl scripts. From the test result, you will check whether
the OpenCASCADE meet your need. 

Key Words. OpenCASCADE, Performance Test, Draw Test Harness, Tcl/Tk

1. Introduction

OpenCASCADE开发平台提供了3D曲面和实体造型,CAD数据互换及可视化的法力。作为C++的开发库,OpenCASCADE最适于处理3D造型的CAD,创制、测量(CAM)及数值仿真(CAE)等软件的费用。 

Draw Test
Harness使用Tcl封装了OpenCASCADE的累累指令,通过编制Tcl脚本,可以方便地测试OpenCASCADE相应的功用。 

本文主要介绍使用Tcl/Tk脚本在Draw Test
Harness中测试OpenCASCADE的网格及可视化的特性。 

图片 9

Figure 1.1 Test 1000 Spheres

2.Mesh Test

实业形状突显需求被网格化,网格化速度的速度直接影响显示的速度。所以先测试一下OpenCASCADE的网格剖分算法的快慢。相应的Tcl脚本如下所示: 

#
#    Copyright (c) 2014 eryar All Rights Reserved.
#
#        File    : testocc.tcl
#        Author  : eryar@163.com
#        Date    : 2014-09-25 18:10
#        Version : 1.0v
#
#    Description : Test the OpenCASCADE performance.
#

pload MODELING VISUALIZATION

set shapeCount 100
set count 10
set distance 5000

#psphere s 3.0
#restore data/occ/CrankArm.brep s
#restore data/occ/Moto.brep s
restore data/occ/F1.brep s

puts "\nMeshing the $shapeCount shapes..."
chrono aTimer start
for {set i 0} {$i < $shapeCount} {incr i 1} {
    copy s s$i

    set dx [expr ($i%$count)*$distance]
    set dy [expr ($i/$count)*$distance]
    set dz 0.0

    ttranslate s$i $dx $dy $dz

    # mesh the shape
    incmesh s$i 1 1
}
chrono aTimer show

上边对上述代码进行简要解析: 

v 用pload命令加载所急需的建模及可视化模块; 

v 用restore命令加载一个brep文件到造型变量s; 

v 用chrono打开一个计时器a提姆er; 

v 用ttranslate来阵列复制形状s获得的形制; 

v 用incmesh来对造型举办网格化; 

图片 10

Figure 2.1 Mesh 100 F1 

上述Tcl测试了网格化100辆F1赛车的小时如上图所示。能够修改上述Tcl脚本代码,来测试网格化10000个球所需求的时刻。

3.Display Test

网格化之后方可呈现出形象了。上边的Tcl脚本测试了OpenCASCADE的显示质量:

puts "\nDisplaying the $shapeCount shapes..."
chrono aTimer start
for {set i 0} {$i < $shapeCount} {incr i 1} {
    vdisplay s$i
}
chrono aTimer show
chrono aTimer stop

vsetdispmode 1
vfit

puts "\nShow the frame rate..."
vfps

 突显效果如下图所示: 

图片 11

Figure 3.1 Hundreds of F1 

个中命令vfps是显得当前视图的帧频数的。100辆F1的帧数有26,速度还行,稍有卡滞。

4. Conclusion

根据上述Tcl脚本得以看来OpenCASCADE的网格及可视化的特性还能。可以修改上述代码,来测试显示10000个圆球所急需的年华。 

最终交给上述Tcl测试用的模子数据及Tcl脚本完整代码供下载使用。

PDF Version and Tcl Script: OpenCASCADE Performance
Test

相关文章