Hello Netgen

Hello Netgen

eryar@163.com

摘要Abstract:本文主要介绍如何对下载的Netgen源码进行编译生成Netgen程序和程序开发所需要的库nglib。

关键字Key Words:Netgen, nglib, Mesh Generator, OpenCascade, Triangulation

一、引言 Introduction

NETGEN是一个二维/三维自动网格剖分工具,并且遵循LGPL开源协议。即可以作为一个带有用户界面的单独程序使用,也可以作为C++的库文件被其它程序链接。Netgen可以跨平台,支持Unix/Linux和Windows。

Netgen最早为奥地利科学家Joachim Schoberl编写的网格剖分程序,是网格划分技术中极为先进与完善的,在3D网格划分领域更是具有极大的优势。可以从sourceforge上获取最新版本的Netgen5.1,网址是:http://sourceforge.net/projects/netgen-mesher/,如下图所示:

Figure 1.1 Netgen Mesh Generator on SourceForge.net

本文主要介绍如何对下载的Netgen源码进行编译生成Netgen程序和程序开发所需要的库nglib。

二、Netgen的安装 Installing Netgen

根据机器的配置选择32位或64位的安装程序,和普通软件的安装一样,下一步直到完成,安装好之后就可以使用了。

Figure 2.1 Netgen 5.1

安装完成后,在程序的开始菜单中会生成链接,如下图所示:

Figure 2.2 Netgen in Start menu

选择Netgen 5.1即可启动程序,测试一下效果,如下图所示:

Figure 2.3 Mesh generated by Netgen

三、Netgen的编译 Compiling Netgen

如果需要在程序中使用Netgen,就需要编译Netgen来生成程序开发使用Netgen的库nglib。编译Netgen需要第三方库的支持,必须的第三方库有:

l pthread-w32

l TclTkTixTogl

l zlib

其中pthread-w32和TclTkTixTogl的库都可以从Netgen的SourceForge上的AdditionalFiles中下载得到。若需要对IGES或STEP文件的读写,还需要安装OpenCascade。

Figure 3.1 3rdparty library for Netgen

原来没发现Netgen在这里把这些第三方库都提供了,尝试自己编译Tcl、Tk和Togl,前两个已经编译成功了,编译到Togl时也没找到什么资料,就放弃了,浪费了时间。直接根据需要下载Visual Studio对应的第三方库文件,再下载好zlib,很快就可以编译成功了。最好按如下方式来组织这些第三方库:

Figure 3.2 Default location of 3rdparty library for Netgen

配置好第三方库,直接选择windows文件夹中的Visual Studio解决方案进行编译基本上没什么问题了。最多再修改下头文件的目录或库文件的目录。为了使最后生成完整的程序,还需要修改下后处理的批处理文件:postBuild_netgen.bat,将其中的路径与机器上的netgen路径对应:

Figure 3.3 Modify the post build bat file to copy files

这样在编译链接完成后,会自动将所需要的文件复制到一个文件夹,还是很方便的。如图所示,生成了netgen-instNoOCC_Win32和nglib-instNoOcc-Win32:

Figure 3.4 Build Netgen and nglib without OpenCascade

库nglib的编译和Netgen的方法一样,也需要修改下后处理的批处理文件postBuild_nglib.bat,会自动把程序开发所需要的库和头文件复制到一个文件夹下面,方便程序使用。

使用编译好的Netgen生成的网格如下图所示:

Figure 3.5 Shaft mesh generated by Netgen

Figure 3.6 Box and sphere mesh generated by Netgen

四、结论 Conclusion

通过编译Netgen并结合OpenCascade来学习网格剖分在几何造型中可视化的应用。

五、参考资料 References

1. Netgen User Manual,

2. Netgen 算法说明

NETGEN An advancing front 2D/3D-mesh generator based on abstract rules

http://www.asc.tuwien.ac.at/~schoeberl/wiki/publications/netgen_org.pdf

3. zhouschina的博客http://blog.csdn.net/zhouschina/article/details/9050373

 

PDF Version: Hello Netgen

时间: 2024-11-05 16:36:00

Hello Netgen的相关文章

Netgen mesh library : nglib

Netgen mesh library : nglib eryar@163.com 摘要Abstract:本文主是对Netgen的库nglib的用法进行介绍.主要参考资料是Netgen用户指南.最后给出一个具体程序实例. 关键字Key Words:Netgen, nglib, Mesh 一.引言 Introduction Netgen网格生成库nglib是以C++源程序形式提供,可以编译为Unix/Linux或Windows上的库文件.程序开发使用的接口文件是nglib.h. 二.头文件 The

Mesh Algorithm in OpenCascade

Mesh Algorithm in OpenCascade eryar@163.com Abstract. Rendering a generic surface is a two steps process: first, computing the points that will form the mesh of the surface and then, send this mesh to 3D API. Use the Triangle to triangulate the param

EasyMesh - A Two-Dimensional Quality Mesh Generator

EasyMesh - A Two-Dimensional Quality Mesh Generator eryar@163.com Abstract. EasyMesh is developed by Bojan Niceno, it is a two-dimensional quality mesh generator. EasyMesh can generate two dimensional, unstructured, Delaunay and constrained Delaunay

Tcl Tk Introduction

Tcl Tk Introduction eryar@163.com 摘要Abstract:Tcl/Tck脚本可以很容易实现用户自定义的命令,方便的创建图形化的用户界面GUI,所以Tcl和Tk的应用领域几乎覆盖了图形和工程应用的全部范围,包括计算机辅助设计.软件开发.测试.仪器控制.科学可视化及多媒体方面.即可以使用Tcl/Tk实现AVEVA中的PML类似的功能,允许用户自己编写简单程序实现程序的二次开发. 关键字Key Words:AVEVA, PDMS, PML, Tcl/Tk, Script

Surface Normal Averaging

Surface Normal Averaging eryar@163.com 摘要Abstract:正确设置网格面上点的法向,对几何体在光照等情况下显示得更真实,这样就可以减少顶点数量,提高渲染速度.本文通过将OpenCascade中的形状离散成网格数据后在OpenSceneGraph中显示,及使用OSG的快速法向osgUtil::SmoothingVisitor优化与使用OpenCascade来计算正确的法向的结果的对比,说明面法向量的重要性. 关键字Key Words:OpenCascade

电子书迎3G新伙伴中移动期待市场随之起舞

从宣布进军电子书阅读器市场到新产品问世,中国移动仅用了短短几个月时间,其速度之快令业界愕然. 9月10日,汉王科技宣布推出中国移动定制的全球首款手写3G电子书.与此同时,大唐电信也拿出了型号为AirPaper50T.采用了中国移动G3的全球首款TD电子阅读终端.至此,中移动的3G电子阅读器终于有了真容. 一直以来,中国移动公司总裁王建宙始终致力于把G3推广到更广阔的领域中去.在8月底的访台过程中,他提及要将移动电子书的制造下单给鸿海集团,这在当时被台海两岸业界共同解读为中国移动正式迈进了电子书领