Output from some CAD systems is near-garbage (e.g. poorly designed file formats, buggy software), making mesh generation of these models very difficult. [Ernst Mücke, ANSYS, personal communication] Perhaps more computational geometers should be involved in file format standardization efforts.The truth is, computational geometers are already involved in these standards. Of course, it is the "other breed" we are talking about here: the "modeling, curves & surface" people.
Whether or not the standards are poor and improvable is also not the issue. The standards exist, or are "in the works" for decades now, and we all have to live with them. Some of these formats also go well beyond geometry; rather, they cover the whole manufacturing process. Industry and international organizations invested a lot of time and money in this; and they are not waiting for us to help them... Some entry points to this world, for example the IGES and STEP standards: [1, 2,3]
Nevertheless, here is a potential new play ground for the compgeom community:
Different file formats (external; internal: geometry APIs, data structures) use different "languages" to describe geometry, and they are not necessarily compatible. Eg, one is NURBS based, the other B-spline based (I hear this alone is already hard enough, but I do not yet know too much about it). A trivial, but in the end rather tricky example we encountered recently: format A knows the concept of "unbounded plane," format B does not.
The problem gets even worse, because vendor A simply HAS to have an output function for format B... to satisfy marketing (and it better be yesterday!). The result are files with geometric descriptions of rather poor quality. Having to deal with these "near garbage" files is unavoidable. You might ask:
Geometry files have to be viewed as regular "data" ... and real-life data is almost always "dirty." Re-acquisition of the data is rarely possible. Here's the file... Read it or leave it! Ergo, problem 2:
This is the reality. Every good package should be able to do this (and every package claims to be able to do it), but I still have to see one that actually can do it, with a reasonable success rate. This is definitely a hot topic. For an example product, see [4].
How much "garbage" can you find in these files? A lot. Topolocal information might be missing or outright wrong. Edge loops might be oriented wrongly, whole faces might be missing, ... For whatever possibly can go wrong, you will sooner or later encounter a file where it actually does go wrong. It is common understanding that this problem will never be solved with no user interaction at all, but we want as little interaction as possible. Also, the software should be able to point the user to possible problems.
One possible approach is to also dump the geometric surface description (NURBS, splines) and work with the polygonal surface mesh only (surface tessellation/triangulation). Some call this "micro topology" ... others call it modeling with (simplicial) complexes.
Micro topology might be a possible answer; eg [5]. Of course, some people will always want their NURBS etc., which yields to a new problem:
creating smooth surfaces from polygon surface meshes; eg: [6,8]And, of course,
simplifying polygon meshes; eg: [7]
Good intro to the STEP/EXPRESS theme.
Probably more than you ever want to know on this subject. The sections relevant for geometry are: Part 203 and 214.
Provides further pointers to NIST and LLNL.
One of the companies in the geometry industry. Other than having a exceptionally neat Web site, they also have a page about their FAMclean (a pretty good geometry cleaning product) which also serves as an excellent introduction to the subject.
Another company. Includes a page on what they do in terms of Micro Topology.