安装好了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的牛人在1992年提倡的,他的名字以伊恩初步,他爱人的名字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张开一个反应计时器aTimer; 

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

v 用incmesh来对造型进行网格化; 

图片 10

Figure 2.1 Mesh 100 F1 

上述Tcl测量试验了网格化100辆F1超跑的时刻如上海体育场所所示。能够修改上述Tcl脚本代码,来测量检验网格化一千0个球所急需的年月。

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的网格及可视化的属性还是能。能够修改上述代码,来测量检验显示一千0个圆球所急需的时刻。 

末尾交给上述Tcl测量检验用的模子数据及Tcl脚本完整代码供下载应用。

PDF Version and Tcl Script: OpenCASCADE Performance
Test

相关文章