RE: thoughts on CAD translation errors

From: James Carruthers (
Date: Sat Apr 01 2000 - 06:08:02 EEST


Hmmmmm...not really. For one thing, CAD programs don't use meshes anymore,
except for meshes derived from the model for on-screen rendering, FEA, and
export to STL or DXF, etc. Meshes are not very sophisticated, and after the
job I just finished horsing around with meshing for STL, I think I'm going
to make it my mission in life to wipe them from the face of the Earth, but I
digress. In the graphics world, you can transfer them from one program to
another with no errors to speak of(bugs aside,)keeping all the smoothing
info, texture mapping coordinates, and even animation and texture mapping
properites ("shaders") fully intact. There's no reason whatsoever to expect
that a certain percentage of the polygons aren't going to translate. That
would require extremely sloppy programming, or something like JPEG
compression(speaking of which, have you seen what JPEG2000 is supposed to be
able to do? Holy cow!)

It's a bit different with "CAD" files, but not so much. What's stored in a
file are a bunch of numbers that are parameters to be plugged into the
equations that describe the surfaces that comprise an object(even if the
program is not "parametric" per se.) Again, it's not like you're going to
lose track of some of those numbers as you move from one program to another.
The problems when translating through IGES or whatever (or "direct" through
a plug-in or whatever) have to do with what types of entities the file type
and program support, and tolerance issues. (Of course this is in an ideal
situation, bugs aside, most translation problems are simply bugs.) Either
they work just fine, they don't translate at all, or they have to go through
some processing to work in the new program, which will result in not exactly
the geometry you started with. I read once that writing and reading IGES
files is like taking a beautiful peice of liturature, translating it into a
language with only 100 words, and then trying to get back to the original
work. And then there are the tolerance issues where the destination program
might not be smart enough to deal with what another program considers
acceptable tolerances, and how the inherent limitations of doing math on a
computer might cause tolerances to 'stack up' in all those numbers at they
get processed again and again going from program to program(though you'd
have to be hopping around quite a lot, and be dealing with some really tiny
stuff to notice it.) Note, the 'tolerance' setting in IGES or whatever
doesn't have any effect on the actual coordiantes in the file, they're
always stored to the same precision, it's just a value for the downstream
program's reference. Anyway, I think you get the idea.

James Carruthers
Hydraulic Design
--3D Modeling and Design
--Rhinoceros 3D Reseller

> -----Original Message-----
> From: []On Behalf
> Of B. J. Arnold-Feret
> Sent: Friday, March 31, 2000 11:34 AM
> To:
> Subject: thoughts on CAD translation errors
> I had a client come to me with a thought on translation errors going from
> one CAD program to another that had some interesting aspects, and I was
> wondering if anyone has data on it.
> He notes that each solid surface file has thousands upon thousands of
> facets, and anytime the whole file is translated there are bound to be a
> certain percentage of errors, such as 5 to 10% as an example. If the file
> has to go to an immediate step (as a breakdown to IGES) before it is
> rendered into the new CAD program, there is another percentage of errors
> compounded into the first set of errors. Therefore, his thought was that
> any time you go to the translations from one porgram into another, you can
> predict the amount of errors you will see based on the number of
> translations, the percentage of errors inherent in each type or brand of
> program, and steps that the translation has to go through prior
> to arriving
> at the final rendering.
> B. J. Arnold-Feret
> For more information about the rp-ml, see

For more information about the rp-ml, see

This archive was generated by hypermail 2.1.2 : Tue Jun 05 2001 - 23:03:10 EEST