Machine Design

Model Doctor Heals Broken Geometry Model Doctor Heals

Translating a model out of an IGES file often introduces gaps, flipped surfaces, and disconnected edges. CAD software is getting smart enough to recognize the flaws and fix them.

Paul Hamilton
Application Engineer
Fort Collins, Colo.

Translate an IGES file into a CAD system and the operation usually produces errors in the model. Some are obvious and some subtle. Real problems surface when analysis and manufacturing people try to use the flawed geometry. But they can’t.

For example, finite-element meshers can’t produce elements in a model that is not “watertight” or connected at all seams. Manufacturing people run into similar roadblocks. When NC-toolpath generators find gaps, they drop in toolpaths. If verification software doesn’t spot the erroneous paths, NC machines will follow them by ramming cutters into stock making scrap instead of parts.

Clearing the flaws and fixing models usually falls to people on the manufacturing side. They might check the report most IGES translators generate to find problem areas and then zoom to verify that gaps and seams do indeed exist. Patching the gaps then depends on their CAD skills.

Or they can let a few modeling systems pinpoint the problems and fix them almost automatically. A flawed model shows how the recent technology might be used.

The image above shows how the IGES surfaces of a model might look on import. In this case the importing solid modeler, SolidDesigner, had connected most of the edges and surfaces while attempting to construct a full-volume solid. Only a few edges could not be connected.

The modeler recognized these errors and changed the color of the part to a blue-green. A “watertight” solid would be gray. The bluish color tells users they are not working with a solid. In this case it’s a series of disconnected edges. Users can call on a function called Show Gaps to find the flaws. Within half a second the software responds with highlighted edges at both ends of the object where there are disconnects.

For instance, the dark curved surface at the left end of the model indicates one problem area. The nonreflective color signals that this surface has been flipped in translation and that its normals are in the wrong direction, a frequent translation problem. It sounds trivial, but it produces a corrupt or unusable model. Two other areas on the right, outlined in yellow, indicating edges improperly connected to other faces. The face on the lower boss is missing. While these flaws and disconnects seem obvious, they are small and nearly invisible in some cases without the yellow highlighting.

A first course of action is to repair the missing boss face. Zooming in on A missing face shows that the boss appears hollow. It has no top surface. It’s dark inside because no reflective properties are on inside faces. However, a simple command, Insert Face, prompts users to pick on the part and its edges, before it creates a face bounded by the selected edges. This action puts a cover on the open cylinder that shows in A covered boss. The model remains blue because it’s not yet solid. A couple of flaws remain.

A more complex repair would involve curved surfaces covering similar bosses. In this case the cover would be a nonplanar face or a B-spline bounded by several curves. Modelers, such as SolidDesigner, can automatically connect tangencies in more complex cases. That means when users insert a curve, the software maintains tangencies to adjacent faces. That calls for building intelligence into the software so that resulting surfaces have smooth continuities from the original or existing faces to the inserted face.

The flipped surface shows the common occurrence of incorrect face normals. The surface should be reversed. The Flip Orientation command can fix the error.

Users are most likely to encounter inverted faces when dealing with IGES files from surface modelers. The problem seems to be that surface-modeling systems do not ensure closed volumes, so they don’t check for correct face normals. When creating a car hood, for example, users might not care which way the normals point. Correct surface normals are more critical to solid models.

Rightside out shows an almost identical image to the previous one with the shiny side out. The yellow outline appears to highlight the face that had been in question. The yellow line disappears when the command is finished. What’s more, after flipping the surface, the system maintains a connection and tangency with adjacent faces.

A third flaw, A disconnected surface becomes more obvious in the closeup image. It’s near the previously flawed boss. Users can see an obvious gap where one face did not intersect another. Similar problems often crop up with blends that do not attach to adjacent surfaces.

The biggest reason for these problems is the accuracy between modeling systems. For instance, mismatched surfaces often come from importing relatively low-accuracy data (10-3 in.) into a system such as SolidDesigner that works to 10-6 mm. The situation presents two choices. One can first reduce the accuracy of the database before importing the data. Chances are user’s will get good connections along curves. But trying to increase accuracy to a much tighter value after the import, the second choice, may create gaps along curves, and usually along complex Bsplines.

Users of high-accuracy systems, those working to 10-6 mm, say they keep the tolerance set as high as they can so when importing data to systems for manufacturing and analysis, they get a high rate of quality transfers.

To consider the opposite condition, suppose a user generates a bolt to 10-3 and a nut to 10-6. Users can put the parts together in an assembly and the system would work. But export it and most likely the low-accuracy bolt would have problems similar to the ones just repaired.

The other problem arises when uniting, subtracting, or intersecting a model with two different accuracies. Users have to drop the high-accuracy part down to the lowaccuracy value before completing the Boolean operation. The most recent systems occasionally allow increasing model accuracy, but with limited success. Most often users have to drop the models to the lowest common denominator. Low-accuracy data is like a virus — its best kept out of an assembly database.

To fix the problem illustrated by A disconnected surface, users can turn to a command such as Intersect Faces. But unlike the previous situation in which the face was missing, this one requires that the face exists but doesn’t properly connect to the adjacent face. The Reintersect Faces command extends the parallel side faces until they connect to the adjacent face. The intersect operation occasionally fails because extending curved walls may miss an intended target.

For instance, when extending a curved or cylindrical surface, it extends only so far and then begins to wrap around itself. If the cylinder wall in the extension never touches the adjacent face, the command fails.

Another solution to the problem in the illustration would be to remove the floating face completely and construct a new one. This would be the tactic when a simple extension of surfaces does not work, as in the hypothetical cylinder. Should a model have errors the software cannot fix, users will have to manually work with surfaces and connections of surfaces.

The illustration Fixed and solid shows how the flaws are repaired. The gray color indicates the volume is converted to a solid model. While working with the sheet part, only repair functions are available to users. Now all modification commands in the software can apply to this body.

A few errors, such as the incorrect face normals, are categorized as degenerate faces — twisted, completely distorted, or missing boundary curves. But when healing technology sees such errors in the IGES file, it simply leaves the face out and imports a gap in the model.

© 2010 Penton Media, Inc.

Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.