Re: [brlcad-devel] [GSoC 2012] - Visualizing Constructive Solid Geometry (CSG) project
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: Clifford Y. <cli...@gm...> - 2012-03-26 15:56:32
|
On Mon, Mar 26, 2012 at 6:46 AM, Cristina Precup < cp....@gm...> wrote: > > On 26 March 2012 02:43, Clifford Yapp <cli...@gm...> wrote: > > > I have considered looking more carefully at netgen - it's LGPL license > makes > > it viable for use with BRL-CAD - but without out a clear idea of how > much of > > its abilities depend on the OpenCASCADE kernel (which is not license > > compatible) it's hard to say how much work it would be to "port" netgen > to > > using BRL-CAD as a backend. It's a bit off-topic, but I was curious if > your > > work with netgen give you a feeling for how heavily netgen relies on > > OpenCASCADE? > > Well, a part of Netgen relies on the OpenCASCADE kernel, for example > the implementation for modelling IGES, STEP geometries and some > visualization development. However, there's another large part of > Netgen that doesn't rely on OpenCASCADE, for example CSG 3d (this was > something new for my project: using OpenCASCADE for CSG 2d). I'd say > it's around 30-35% overall. > What is your idea behind porting Netgen to using BRL-CAD as a backend? > As I understand it, Netgen is focused on generating "good" meshes for use in applications like FEM - generally speaking, BRL-CAD's ability to generate mesh geometry is not optimized for these applications. When it comes to generating good quality meshes, these are the steps that I understand must be undertaken: 0. parse the geometry files into something that can be worked on (IGES/STEP/STL/etc. -> internal format) 1. (for CSG) - generate either an explicit surface (BREP) or mesh representation from the CSG representation 2. (for BREP) - generate a mesh representation from the BREP representation 3. refine an existing mesh representation to satisfy quality metrics Depending on what Netgen can do on its own and what it uses OpenCASCADE for, I was curious if Netgen could be used to produce better quality mesh outputs using BRL-CAD geometry as a starting point. BREP support in BRL-CAD is still in its relatively early stages, so we can't currently supply step 2 above as input to Netgen (yet - we're working on it), but we have used CSG since the beginning and most of our CSG primitives can be expressed (in isolation) as meshes. If Netgen is capable of taking those individual meshes and doing the booleans on them to produce high quality evaluated representations, that would be very interesting. And once we can tessellate BREP objects, perhaps all of Netgen's abilities could be supported using the BRL-CAD libraries. As I said, I don't really have a clear understand of what Netgen is getting from OpenCASCADE and whether BRL-CAD is currently up to supplying all of its requirements, but it would be interesting to see what we're currently missing and whether Netgen could offer improvements already on the mesh output BRL-CAD can generate from CSG geometry. Cheers, CY |