Dirty Geometry?

I’ve heard comments that some software produces dirty geometry in comparison to others. I’ve a few questions:

  1. What exactly is dirty geometry and how should clean geometry look?

  2. Can all software produce clean geometry, it just depends on how you create it?

  3. What techniques / tips are there for creating clean geometry?

  4. What problems does it cause when manufacturing?


(btw I’m looking at Rhino’s geometry)

I’ve never heard the term dirty geometry specifically, but it could mean a couple of things.

Sometimes it is when you import it into a non-native CAD program, sometimes ProEngineer or Solidworks, it comes in with gaps between surfaces and other problems. Sometimes complex surfaces are changed slightly, other times curves on the sides of surfaces are segmented, and so on… This can be because the export settings are off or could be the integrity of the model

if it’s the model itself, it could be that the accuracy is set too low. It could also mean that you have not been properly joining surfaces precisely together when you made the model. Sometimes there are many ways to make the same geometry, and some are better than others for export (generally the fewer control curves the better). Some programs (used to) have trouble exporting radius along edges

It also might mean you have exported into a file format that isn’t very compatible with re-engineering like STL - used for prototyping, but it’s basically changed in a way that is very difficult to work with (it turns a selectable, editable surface into thousands of tiny triangles). IGES and STEP are good formats for transferring files.

How it affects engineering: You can usually repair the geometry that has import problems but it complicates things. Often someone has to rebuild parts of it in the engineering software and during this, the design might change. Some engineers don’t have the same surfacing abilities or exterior goals as designers…

I have heard that refer to 1)geometry that is not exported to correct tolerance 2) more commonly to surfaces that have excessive control points.

Solidworks for example does not provide explicit control over edit points. When you open nurbs surfaces from Solidworks in Rhino the files will typically have far more control points than users in Rhino typically generate. Even in Rhino if you are not careful, surfaces that look the same can have highly varied edit point counts.

Rhino Tutorial Part 4-Lacrosse Stick - YouTube jump to the 3 min mark to see some examples.

An example of dirty geometry and clean geometry

S2 model is from turbosquid, someone bought it thinking it could be useful for CAD but all those tiny surfaces make thing difficult to use. It was created for animation, not engineering. A very simple rebuild is shown below it
Fullscreen capture 7152011 82403 AM.jpg
Fullscreen capture 7152011 81634 AM.jpg

That’s what I thought it to be, either dense geometry or one with gaps in. I wasn’t sure if I should be looking out for something more complicated (ie something like isoparm flow/alignment). So as long as the surfaces are light and joined properly, then the geometry is clean.

Can someone then explain why some people don’t recommend using Rhino surfaces for manufacture whereas they do for Alias? Surely they can both produce the same quality, clean geometry?

I typically refer to Dirty CAD as something that is overly heavy I.E. far too many control points, isoparms, etc than the surfaces created need. In essence they were not constructed in a minimal or optimal way. One should strive for using as few control points as needed to create the desired surfaces and level of continuity required. I remember getting a file from one coworker that was over 150 MBs that I completely rebuilt in an hour and half resulting in a 6 MB file that was also a much cleaner clearer export into Pro-E for the Engineering team.

I’m not an Alias user. but from my understanding most Alias users tend to have a better idea of what they are building, in terms of curve degree, curve continuity, number of control points than many of their Rhino using counterparts. I have predominately used Rhino and it took me working with an Alias/Maya user and talking with an intern that learned Alias from a GM Surface modeler to really understand some of these concepts and step up my Rhino game. Basically in my understanding, Rhino makes it pretty easy the approximate design intent a designer wants without really learning how to do it cleanly. A lot of people using a very basic sweep with one cross section curve where the isoparms tend to rotate out of alignment between the rails is pretty common for students and newer users. I often make the analogy of contructing CAD correctly as “craftsmanship” in traditional model making. The difference is you can be sloppy in CAD and result in a surface that may look no different in a machined/printer part or rendering (which is should not be the end goal, but often is) where as if you construct your CAD with a sense of craft, it is easily usable, changeable, etc for yourself and other down the line. When you get into Parametrics this can even be how you manage your model tree and set parameters as efficiently as possible.

Design-Engine had a saying about Class A surfacing

Something about how they do it at GM with Alias- if your model’s too heavy you can’t sit at the cool table.

this is true.

<— at the cool table :wink:

Such a pandor’s box this dirty geomety question is. It seems to come down to the basic difference between usable and art. If it’s only going to stay in the computer then it’s art and there’s no need to worry about it for manufacturing, stress analysis or rapid prototyping. Most major CAD programs can make clean geometry, users have to be aware of the end goal whrn modeling and that’s where things fall apart. I’d put the threshold at about 70% of Rhino users are bad molders…couple that with the fact that the program let’s the user continue with bad edges or gaps and it just makes for a really ‘bad date’. Only program more wide spread that’s worse is sketch-up… greatest free 3D software that produces ‘poop’. I jest…for what it can do, sketch-up does have a place and with the CAD Span plug-in it’s almost usable :slight_smile:

Don’t misunderstand, I’ve seen people actually make clean models in both Rhino and Sketch-up that can be used for down the road applications. And it gets me wondering what the solution should be…if programmers need to step up their game and not allow for bad geometry to be created, should better file fixing tools be added, or if knee caps should be shot when users make a bad model? Maybe that’s just the difference between the methodologies and how users go about creating models in programs like Pro/E (Creo) and Solidworks vs Alias or Rhino. You’ll find the ratio of end users that create dirty/bad geometry out of Pro/E (Creo) and Solidworks to be much smaller than their Alias and Rhino counterparts.

I think that depends on your definition of “Dirty”. Pro/E/Solidworks are best at creating geometry that is water tight, and better at handling complex geometry (3 degrees, and lots of spans). That doesn’t mean that geometry is Class A.

If you get into the Class A game, the simplest way to define it in my opinion is the MINIMUM amount of math required to define a surface. This means if you can define a surface with a single span, 7th degree curve, it would be ideal compared to a 16 span 3 degree curve. You have much fewer control points which results in a surface that will typically have better quality, be mathematically lighter, and this generally will be reflected in the quality of the surface. That is why all automotive modelling is done as single span 5-7 degree surfaces.

Case in point: Here you have 2 pieces of geometry. One which was built cleanly (5 degree, 2 span which could easily be split into two 5 degree 1-span surfaces that maintained G2 continunity), the other which was built off of the resultant trim edges and is a 5th degree, 14 span surface. Both are visually identical, but one has a ton of un-necessary math which makes editing it directly virtually impossible.

If you ever build anything in Pro E try opening it up in Rhino or Alias and taking a look at the resultant surfaces. Sometimes they’ll be fairly good, but sometimes you’ll get very dense surfaces since Pro E only likes handling 3 degree math in the current versions.

Dirty geometry in a surfacing sense to me is bad distribution of Isoparms, disorderly CV organization, and any other junk that can be avoided. Gaps that aren’t positional to me is just a sign of someone who doesn’t know how to use the tool properly. In school, they don’t teach you these things so no one cares and you get into bad habits. Building surfaces off complex trim edges, moving things around without adjusting the edges, etc. Those are all bad habits that just make designers look bad, and are the reasons that Rhino and Alias get such a bad wrap with engineers.

I thought of an example today.

Chordal fillet is pretty devious, it makes your edges look straight and neat but it’s not the solution to the problem! the angle of your surfaces near the boundary is what needs to be adjusted.

“Hmmm this blend seems to widden and thinnen … whistle Chordal!” :smiling_imp:
It’s a little like the selling of ones soul, it’s too easy.

“If you get into the Class A game, the simplest way to define it in my opinion is the MINIMUM amount of math required to define a surface”

Agreed…it really comes down to what the definition of “dirty” means. Yes it can be for class A surface with 5-7th degree curves. But if people can’t even build clean models, then it’s not too far a stretch to think that probably don’t have a good handle on really understanding “class A” properly. The second definition points to Rapid prototyping… in either case building great geometry is needed and it really is something that should be taught as part of the program as it has been giving designers, Alias, and Rhino a bad rap… So I look no further than at those individuals who want to claim they need “Class A” and don’t have a clue as to how to build a clean model. Not pointing any fingers at you Cyberdemon, but you’d have to concede that the number of people that really truly understand and model with the skills sets that you posses is getting smaller by the day. Maybe it is just a case that it can only truly be understood and executed properly once a designer/engineer is actually out in the real world. Autodesk is at some cross road of “what to do” and it’ll be interesting to see if they can regain the market share they once had and if the plan integrate it into IV is going to go over well…

Take into account that alias’s market share has been drying up for sometime now. Due to whatever reasons you’d like to give, there was a time when alias was king and couldn’t be touched. Today, that’s not so much the case anymore. Sure very few other programs can achieve the curvature control that alias has, but when’s the last time a fork, vase, computer mouse or any mass marketed product really needed 7th degree curvature? Cars…planes absolutely, and as much as designers would like it to be it’s can’t just always be about geometry creation when design only accounts for, at best, 25% of the process.

I do pose the question to the “group” in asking a simple question. How do you know if it’s the CAD program that generated the surfaces vs. what file type it was exported as? (i.e. export out an .STL of the same surface vs STEP and it’s two very different typologies. The assumption that these ‘neutral’ formats in each program is the same, is something worth taking a look at)

I don’t disagree - 99% of the world doesn’t need good surfacing and almost everything these days can get away with that 16 span curve as long as it’s managed correctly.

The reality is at this point Alias/Rhino doesn’t have much more it they can expand on. They’re never going to jump into the Solids game, whereas SW/Pro E have been working hard to get into the surfacing game. It’s a shame that some of this stuff isn’t taught at most schools (except maybe transportation design programs) but I guess it’s hard to grasp some of the concepts let alone execute on them without a few hundred hours of pumping CAD under your belt.

RE exports:

Most exported formats involve some form of rebuild, especially the typical IGES. IGES conversion is natively going to do some crap that you don’t want. STEP is typically much better, and these days most high end tools (Alias/Pro E) will read each others files (prt/wire) and have a healthy handshake over it.

STL is a different beast since an STL is a polygon mesh vs a re-parameterized NURBS surface.

I love geeking out on this stuff. A nice clean zebra stripe at the end of the day always gets me going.

Reading through this thread now has me feeling very similar to how I felt reading a Class-A surfacing thread on Core77 years ago, I feel like I’ve learned a ton since then, but I often feel like this is a subject where there is so much to learn and so little conventionally taught.

Agreed, and I have never found the real advanced kinds of tutorials or discussions on approaches to modeling.

It would be interesting to have a more in depth discussion of surfacing techniques, and how people arrive at the final result. Perhaps someone can post an image of the kind of advanced surface transitions we are talking about, a small section, and we could discuss it in depth. I’d like to model it in my tools and see the result. Again, not a project, just a specific section, preferably a photograph of a painted finished surface detail.

Then we can discuss the cleanliness and dirtiness of the resulting geometry and other approaches and tools.

There are some good tutorials on the alias site, techniques also applicable to rhino. For example: