FAQ | HarmonyWare, Inc. |

Main page Products Overview Future Plans Changelog 1.7 Changelog IGES VDAFS STEP Compatible with:SMS's NLib SMS's SMLib IntegrityWare's SOLIDS++ Neat Stuff Contact Info:HarmonyWare, Inc. PO Box 2717 Midland, MI 48641 colomon@ralf.org |
Here's the beginning to a list of frequently asked questions and answers
about our IGES translators.
It is normal for the IGES translator to generate TSLib errors when
running. (If you are running IGES/Nlib, it emulates the TSLib error
mechanism using It is impossible to write a perfect IGES translator. Wildly incorrect data is found in IGES files generated by CAD programs large and small. Sometimes the problems are small, and we do our best to correct for them. Sometimes the problems are large, and there's nothing that can be done. Sometimes the data is right, and we fumble the ball.
Because we recognize this, HarmonyWare's IGES products are designed to
recover from problems and continue processing the remaining data in the
file. Normal In some cases, it recovers from errors within work on trimming a given surface. For instance, if it get an error trimming a surface using its parameter space loops, it will try to use the model space loops instead. Thus errors may even be generated in the process of a completely successful file read.
A ruled surface is constructed between two lines. Each point on one line is connected by a straight line segment to the equivalent point on the other line. How do you know which point is equivalent? The IGES specification provides two methods: by percentage of arclength along the line (form 0) and by percentage of parameter range (form 1). To exactly construct a NURBS representation of the ruled surface, you need to have a NURBS curve for each line. The NURBS must be parameterized so that equivalent points on the two curves have the same parameterization. [Note that rational NURBS curves will yield a NURBS surface whose shape is fine, but whose parameterization is incorrect.] The problem is that NURBS are not perfectly flexible. For example, you can create a NURBS circular arc which has the exact shape of an ideal circle, but it will not have the ideal (R cos t, R sin t) parameterization. (I believe Wayne Tiller has proved this.) You can get close to the ideal parameterization by approximating the circle using a non-rational curve, but it is only an approximation, albeit a good one. So each different curve entity presents its own unique brand of problems for ruled surfaces. Here's a table summary of what HW IGES can and cannot handle:
Probably not anytime soon. The techniques that create circles should also be able to create conics, but conics are a good bit trickier. As for the rest, as far as we know, there are no accurate general solutions.
The creation of a surface of revolution relies only on the shape of the generating curve -- the parameterization is unimportant. Other than offset curves, all IGES curve shapes can be exactly represented by a NURBS curve. So precise NURBS versions of the surfaces can be created, and HW IGES does so. The parameterization of these surfaces depends on the parameterization of the generating curve. So if circles or conics are present, the parameterization of the NURBS tabulated cylinder will be wrong. The NURBS parameterization of a surface of revolution is always wrong, because the "revolution" part has the same inaccurate parameterization of a NURBS circle. We have two solutions for working around this, and hope to have a third in the future. - TSLib can trim surfaces using model space trimming curves. If those are present, IGES/TSLib and IGES/SMLib will try to trim this way.
- Advanced Nlib can approximate a NURBS curve from an arbitrary G1-continuous function. In the case of NURBS circle parameteriztion errors, we use the approximation tool to map the parameter space loop from the ideal parameter space of the IGES surface to the actual parameter space of the NURBS surface.
- In the future, we hope to be able to use TSLib to create a "virtual" model space loop based on the parameter space loop.
Return to the main HarmonyWare page. |

Copyright © 1998-2017 Harmonyware, Inc. | Last modified: Tue Nov 18 08:45:03 2008 |