Assault with a Deadly CAD File (MCAD Modeling Column)1 Oct, 2008 By: IDSA ,Mike Hudspeth
A few diversionary tactics could help you survive the experience of sharing 3D models.
Are you MENSA material? I'm not. Puzzles irritate me. My wife loves to sit for hours figuring them out. I throw puzzles against the wall and go find something more fun to do. I guess I'm not the "if at first you don't succeed, try, try again" type. Actually, I'm the type who uses the computer-game cheat books. I don't play games for the intellectual stimulation; I play them for fun.
It's interesting then that I chose to go into 3D modeling. How so? Let me ask you, How often have you had to use someone else's model and you felt as if you were taking a MENSA test? You can't do this, you can't do that. The model explodes. Does that sound familiar? Just about anyone who deals with 3D models has problems from time to time. It's not their fault (usually). It's just that using models from who-knows-where can be challenging.
No one has it in for you. When you get a model from someone, he or she usually doesn't intend to cause problems. But unless everyone does everything exactly the same way, variation will be commonplace. Until the 3D modeling police make people do things the so-called right way, people are going to do their own thing. It's human nature.
I used to work with a bunch of modelers (who shall remain anonymous) who learned to do their jobs piecemeal. Our company was too cheap to send them to training, so they had to pick the brains of those who were lucky enough to have gone. They ended up learning just enough to get their jobs done. They were totally oblivious to the full capabilities of the 3D modeling software. Consequently, whenever a problem occurred with a model, you could bet your bottom dollar it was one of theirs. One engineer in particular was notorious for having models no one wanted to touch. Every time we imported or opened his files (and I do mean every time), they had problems, (You only have to get the blue screen o' death once or twice before you figure out someone's not doing something right.) Unfortunately, our deadlines didn't allow us to remodel, so we worked with what we had.
Lost in Translation
If you have to translate 3D CAD files from one file format to another, you're probably no stranger to problematic models. CAD file translators today have come a long way and are fairly bulletproof, but not always perfect. Again, the process is hampered by the human desire to do things our own way. If you take a part to five toolmakers and ask each to design a tool to make the part, you are likely to get five different solutions. It's the same with 3D CAD software programmers. Each 3D modeling program is different from the next, which means you probably can't move a model from one to the other without losing something in the translation. In the old days, this problem was even bigger. Many developers would make it difficult to export models to another format because they feared easy file translation might lead to lost business. (What was Genghis Khan's old saying? "It's not enough that I succeed, everyone else must fail.") So translation issues weren't just intentional, sometimes they were economical.
Figure 1. Many manufacturers of off-the-shelf parts offer 3D models you can incorporate into your CAD assembly.
File-translation problems can pop up if you use purchased parts and you download 3D models to represent those parts in your design (figure 1). The manufacturers that produce standard parts can't always afford seven different 3D CAD modeling programs to create parts models in every popular format. Even if your company owns several 3D modeling programs, you probably model in only one of them, and chances are you usually require some file translation to incorporate 3D models of off-the-shelf parts.
When I was new to CAD work, I drew all my parts to three decimal places. It was accurate and simple, but it also was expensive. Some of those dimensions didn't need to be so tight. I was summarily corrected, and I learned to adjust for what was important and what wasn't. Unfortunately, a 3D modeling program can't learn that sort of lesson. So when the user tells the software to round everything to a certain tolerance, that's what the software does. When that part is translated into another 3D modeling format and the tolerances aren't the same, problems can occur. The first system recognizes a dimension as 1.000, and the second sees 0.9997. These two numbers are essentially the same in the real world, but they aren't the same to a computer. When tolerances don't agree, you end up with geometry issues. What originally was a watertight model comes into your 3D modeler with gaps, overlapping edges, or both (figure 2). You have no choice but to fix these problems. Time is money, and fixing problems of this nature can consume a lot of both.
Figure 2. When the tolerances in two 3D CAD applications don't quite agree, you can end up with imported models that have wide-open gaps. Some 3D modelers have tools to heal them.
So What Do We Do?
You're probably thinking, "How do we minimize these issues?" You have several choices. First, take a little time to observe which techniques you use to create your models. If you use a parametric modeler, make sure every sketch is fully defined before you proceed (figure 3). I can't tell you how often I have examined a problematic model only to discover that the sketches had all sorts of undefined geometry. It's not going to work, folks. If you don't tie everything down, changes will bring unexpected results. If there's no time to do it right, where will you find the time to do it over?
Figure 3. If you don't constrain everything in your sketches, changes in the model will cause the unconstrained items to move unpredictably.
Another way to avoid problems is to establish good corporate modeling standards. Some of you are cringing, but you really need them. (For more information about standards, see my August "MCAD Modeling" column, "Do You Need Modeling Standards?") If you establish good practices and adhere to them, at the very least you'll know what to expect when you open your coworkers' files. Fully parameterize your models, put features on designated layers, label everything you can (figure 4), and so forth. Establish some basic modeling standards and you'll limit your potential problems greatly.
Figure 4. Whether they are for layers or individual features, descriptions impart intelligence. The more intelligence you build into a model, the easier it will be to work with.
A really good way to minimize modeling surprises is to be kind to your coworkers. You're a team, so you all should have the same goals. Working well together increases efficiency. Mutual cooperation and teamwork minimize egos. When people aren't feeling territorial about their modeling habits, they will begin to open their minds to new or different ways of doing things. If the company benefits, you benefit. So, if you learn to do something, share that knowledge with as many others as possible. If someone is having a problem, help out. You'll find these good deeds will come back to you in the future. Also, it looks good on your annual review if you can say you helped those around you.
Work It Out
No matter what, you're going to have occasional problems when you use other people's models. And any time you translate something, you invite trouble. But if you take a little time and expend a little effort, you can pare down those problems to a minimum.