Site Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

rhino:troubleshootingiges [2015/09/14]
127.0.0.1 external edit
rhino:troubleshootingiges [2016/05/13] (current)
sandy
Line 12: Line 12:
 Rhino has the basic tools needed to overcome all these problems. With a little practice and good problem solving skills, you can repair these problem files and import the data into your solid modeling application. The effort and time required will vary a great deal depending on the number of problems and the size of the IGES file. Rhino has the basic tools needed to overcome all these problems. With a little practice and good problem solving skills, you can repair these problem files and import the data into your solid modeling application. The effort and time required will vary a great deal depending on the number of problems and the size of the IGES file.
  
-Fortunately,​ most problem IGES files can be repaired quickly with a little practice. ​However, ​some can take several days of effort. With Rhino you have the tools to fix the most difficult IGES problems and get on with the job.+Most problem IGES files can be repaired quickly with a little practice. ​But some can take several days of effort. With Rhino you have the tools to fix the most difficult IGES problems and get on with the job.
  
 Since Rhino is a surface modeler that supports solids, it does not require that the IGES data consist of a closed solid. Rhino will read in as much valid information from the model as it can, skipping corrupt objects, but reading all the point, curve, and surface data. Rhino’s IGES importing process will often read the file and fix the problems automatically. All you have to do then is save it back as a new IGES file and read it into your application. If the repair isn’t automatic, you can use Rhino to replace missing surfaces, fix bad trim curves, smooth surface discontinuities,​ and export a solid model to your application. Since Rhino is a surface modeler that supports solids, it does not require that the IGES data consist of a closed solid. Rhino will read in as much valid information from the model as it can, skipping corrupt objects, but reading all the point, curve, and surface data. Rhino’s IGES importing process will often read the file and fix the problems automatically. All you have to do then is save it back as a new IGES file and read it into your application. If the repair isn’t automatic, you can use Rhino to replace missing surfaces, fix bad trim curves, smooth surface discontinuities,​ and export a solid model to your application.
Line 24: Line 24:
   -**Open the IGES file.**   -**Open the IGES file.**
   -**Hide or delete extra data** - Use the **SelDup** command to find duplicate entities and move the extra ones to a //​duplicate//​ layer and turn it off. You may need them later.   -**Hide or delete extra data** - Use the **SelDup** command to find duplicate entities and move the extra ones to a //​duplicate//​ layer and turn it off. You may need them later.
-  - Use **SelCrv** and **SelPt** to select and **Hide** the curves and points - Use **SelSrf** to select all the surfaces and **Invert** the selection. This will leave any curves and points highlighted. Delete the curves that are not on or near the surfaces. Carefully inspect the remaining curves on the surfaces. These are probably the remains of incomplete trimming curves. Move them to another layer for later use. This will leave only surfaces on the screen.+  - Use **SelCrv** and **SelPt** to select and **Hide** the curves and points - Use **SelSrf** to select all the surfaces and **Invert** the selection. This will leave any curves and points highlighted. Delete the curves that are not on or near the surfaces. Carefully inspect the remaining curves on the surfaces. These are probably the remains of incomplete trimming curves. Move them to another layer to use later. This will leave only surfaces on the screen.
   -**Shade and visually inspect the model** - Does it look like you expected it to? Are there obviously missing surfaces? Do surfaces extend beyond where they should? The trimming curves to fix them may be saved on the layer from step 3.   -**Shade and visually inspect the model** - Does it look like you expected it to? Are there obviously missing surfaces? Do surfaces extend beyond where they should? The trimming curves to fix them may be saved on the layer from step 3.
   -**Check for bad surfaces** - The **Check** and **SelBadObjects** commands determine if some of the surfaces in the model have problems in their definitions. They may have stacked control points, bad edge curves, or a various other problems. Move these surfaces to a //bad surfaces// layer to clean up later.   -**Check for bad surfaces** - The **Check** and **SelBadObjects** commands determine if some of the surfaces in the model have problems in their definitions. They may have stacked control points, bad edge curves, or a various other problems. Move these surfaces to a //bad surfaces// layer to clean up later.
-  - **Look at the units and absolute modeling tolerance settings in file properties** - Are they reasonable? Most applications that produce IGES files do not match the unit and tolerance settings without user intervention. Rhino does match the settings on export. Free-form surface modeling requires an intelligent compromise in modeling tolerance. [[rhino:​nurbs|NURBs]] curves are chains of polynomial expression segments joined by knots that carry continuity information between the segments. These segments fit to neighboring curves within the specified modeling tolerance. The tighter the tolerance, the more complex these curves become and system performance suffers. There is no point in calculating high density curve fitting to tolerance values that are not supported by your downstream manufacturing processes.+  - **Look at the units and absolute modeling tolerance settings in file properties** - Are they reasonable? Most applications that produce IGES files do not match the unit and tolerance settings without user intervention. Rhino does match the settings on export. Free-form surface modeling requires an intelligent compromise in modeling tolerance. [[rhino:​nurbs|NURBS]] curves are chains of polynomial expression segments joined by knots that carry continuity information between the segments. These segments fit to neighboring curves within the specified modeling tolerance. The tighter the tolerance, the more complex these curves become and system performance suffers. There is no point in calculating high density curve fitting to tolerance values that are not supported by your downstream manufacturing processes.
   -**Join the surfaces** - When joining, adjacent edges are tagged as joined if they fit within the specified modeling tolerance. If they are outside the tolerance, they are not joined. Joining does not alter the geometry. It only tags the edges as being close enough to be treated as coincidental. Look at the results on the command line. Did you get as many polysurfaces as you thought you would? Sometimes there are double surfaces after importing an IGES file. Usually, one will be complete and the second one will be missing interior trims. When the **join** happens, you have no control over which of the two surfaces it will select. If you suspect this has occurred, try joining two naked edges. If there is no nearby naked edge where one should be, undo the join, and select for duplicate surfaces. Delete the less complete surfaces and try the join again.   -**Join the surfaces** - When joining, adjacent edges are tagged as joined if they fit within the specified modeling tolerance. If they are outside the tolerance, they are not joined. Joining does not alter the geometry. It only tags the edges as being close enough to be treated as coincidental. Look at the results on the command line. Did you get as many polysurfaces as you thought you would? Sometimes there are double surfaces after importing an IGES file. Usually, one will be complete and the second one will be missing interior trims. When the **join** happens, you have no control over which of the two surfaces it will select. If you suspect this has occurred, try joining two naked edges. If there is no nearby naked edge where one should be, undo the join, and select for duplicate surfaces. Delete the less complete surfaces and try the join again.
   - **Check for naked edges** - Naked edges are surface edges that aren't joined to other edges. During the join process, they were farther apart than the specified modeling tolerance. This may be from sloppy initial modeling, a misleading tolerance setting in the imported IGES file, or duplicate surfaces. If there are a lot of naked edges showing when you run the **ShowNakedEdges** command, consider undoing the join and relaxing the absolute tolerance. It is likely that the original modeling was done at a more relaxed tolerance and the exported file setting wasn't true.   Note: You can not improve the tolerance fitting between surfaces without substantial remodeling.   - **Check for naked edges** - Naked edges are surface edges that aren't joined to other edges. During the join process, they were farther apart than the specified modeling tolerance. This may be from sloppy initial modeling, a misleading tolerance setting in the imported IGES file, or duplicate surfaces. If there are a lot of naked edges showing when you run the **ShowNakedEdges** command, consider undoing the join and relaxing the absolute tolerance. It is likely that the original modeling was done at a more relaxed tolerance and the exported file setting wasn't true.   Note: You can not improve the tolerance fitting between surfaces without substantial remodeling.
-  -**Join naked edges or remodel** - The joining of naked edges can be a mixed blessing. It is a trade off and may cause problems downstream. If your reason for joining the edges is for later import as a solid or a meshing operation like making an STL file, using the **JoinEdge** command will not generally cause any problems. If you will be cutting sections and most other //curve harvesting//​ operations, the sections will have gaps as they cross edges that were joined outside of tolerance. The gap to be spanned ​is displayed prior to joining. If the gap is less than twice of your tolerance setting, you can proceed without worry. If the gap is too wide, consider editing or rebuilding the surfaces to reduce the gap. **Join** and **JoinEdge** do not alter the surface geometry. They only tag edges as being coincident within the specified or override tolerance.+  -**Join naked edges or remodel** - Joining ​naked edges is a mixed blessing. It is a trade off and may cause problems downstream. If your reason for joining the edges is for later import as a solid or a meshing operation like making an STL file, the **JoinEdge** command will not generally cause any problems. If you will be cutting sections and most other //curve harvesting//​ operations, the sections will have gaps as they cross edges that were joined outside of tolerance. The gap to be spanned ​displays before ​joining. If the gap is less than twice your tolerance setting, you can proceed without worry. If the gap is too wide, consider editing or rebuilding the surfaces to reduce the gap. **Join** and **JoinEdge** do not alter the surface geometry. They only tag edges as being coincident within the specified or override tolerance.
   - **Repair the bad surfaces** - It's best to repair one bad surface at a time, and join them into the main polysurface as you go. In order of least destructive method to most radical, repair the problems that caused them to fail check by:   - **Repair the bad surfaces** - It's best to repair one bad surface at a time, and join them into the main polysurface as you go. In order of least destructive method to most radical, repair the problems that caused them to fail check by:
     - Rebuilding edges     - Rebuilding edges
Line 36: Line 36:
     - Rebuilding surfaces     - Rebuilding surfaces
     - Replacing surfaces - Harvesting edges from surrounding surfaces, cutting sections through bad surfaces, and building replacement surfaces from the collected curves.     - Replacing surfaces - Harvesting edges from surrounding surfaces, cutting sections through bad surfaces, and building replacement surfaces from the collected curves.
-  -**Check for bad objects** - Sometimes joining surfaces that pass check result in a polysurface that fails check. Generally this is caused by tiny segments in the edge or trimming curves that are shorter than the modeling tolerance. Extract the adjoining surfaces, check them, edit the boundary curves to eliminate these tiny segments, and join them back in. You are finished when you have a closed polysurface that passes check and has no naked edges. As you are joining and fixing surfaces, it is generally ​a good idea to run check from time to time as you work.+  -**Check for bad objects** - Sometimes joining surfaces that pass check result in a polysurface that fails check. Generally this is caused by tiny segments in the edge or trimming curves that are shorter than the modeling tolerance. Extract the adjoining surfaces, check them, edit the boundary curves to eliminate these tiny segments, and join them back in. You are finished when you have a closed polysurface that passes check and has no naked edges. As you are joining and fixing surfaces, it is a good idea to run check from time to time as you work.
   - **Export** - Now that you have cleaned up and repaired the IGES file, you can export it as IGES, Parasolid, STEP, or ACIS for import into your application. There are differences between these formats. Some applications differ in their support of these formats. Experiment with all that are support by your application to determine the best format for you needs.   - **Export** - Now that you have cleaned up and repaired the IGES file, you can export it as IGES, Parasolid, STEP, or ACIS for import into your application. There are differences between these formats. Some applications differ in their support of these formats. Experiment with all that are support by your application to determine the best format for you needs.
  
Line 106: Line 106:
 **[[ProEFileExchange|Pro/​E file exchange]]** **[[ProEFileExchange|Pro/​E file exchange]]**
  
-----+
 Information about successful exchange of Rhino files with Pro/E. Information about successful exchange of Rhino files with Pro/E.
  
 **[[SoftimageFileExchange|Softimage file exchange]]** **[[SoftimageFileExchange|Softimage file exchange]]**
  
-----+
 Information about successful exchange of Rhino files with Softimage. Information about successful exchange of Rhino files with Softimage.
  
 **[[SolidWorksFileExchange|SOLIDWORKS IGES file exchange]]** **[[SolidWorksFileExchange|SOLIDWORKS IGES file exchange]]**
  
-----+
 Information about successful exchange of Rhino files with SOLIDWORKS. Information about successful exchange of Rhino files with SOLIDWORKS.
  
  
  
rhino/troubleshootingiges.txt · Last modified: 2016/05/13 by sandy