On this page:
4.6.1 Automatic Geometry Clean-up
4.6.1.1 Automatic Forced Sweepability
4.6.1.1.1 Example
4.6.1.2 Automatic Surface Split
4.6.1.2.1 Example
4.6.1.3 Automatic Small Curve Removal
4.6.1.4 Automatic Small Surface Removal
4.6.1.4.1 Example
4.6.2 Healing
4.6.2.1 Analyzing Geometry
4.6.2.2 Auto Healing
4.6.2.3 Healing Attributes
4.6.2.4 Spline Removal
4.6.2.5 What if Healing is Unsuccessful?
4.6.3 Removing Geometric Features
4.6.3.1 Removing Surfaces
4.6.3.2 Removing Vertices
4.6.4 Tweaking Geometry
4.6.4.1 Tweaking Curves
4.6.4.2 Tweak Remove Topology
4.6.4.3 Tweaking Surfaces
4.6.4.3.7.1 Hole Removal Example
4.6.4.3.8.1 Fillet Removal Example
4.6.4.3.9 Changing the Taper of Surfaces
4.6.4.4 Tweaking Vertices
4.6.4.5 Tweak Volume Bend
4.6.4.5.1 Example
4.6.5 Debugging Geometry
4.6.5.1 Related Commands
4.6.6 Finding Surface Overlap
4.6.6.2.1 Facet - Absolute/  Angle
4.6.6.2.2 Gap - Minimum/  Maximum
4.6.6.2.3 Angle - Minimum/  Maximum
4.6.6.2.4 Normal
4.6.6.2.5 Tolerance
4.6.6.2.6 Group
4.6.6.2.7 List
4.6.6.2.8 Display
4.6.6.2.9 Body
4.6.6.2.10 Imprint
4.6.7 Geometry Accuracy
4.6.8 Regularizing Geometry
4.6.9 Removing Blunt Tangencies
4.6.10 Stitching Sheet Bodies
4.6.11 Trimming and Extending Curves
4.6.12 Validating Geometry
8.5

4.6 Geometry Cleanup and Defeaturing

Frequently, models imported from various CAD platforms either provide too much detail for mesh generation and analysis, or the geometric representation is deficient. These deficiencies can often be overcome with small changes to the model. Several tools are provided in Cubit for this purpose.

4.6.1 Automatic Geometry Clean-up

The automated geometry clean-up commands are used to automatically clean up geometry in preparation for meshing. These commands are built in to the ITEM interface, but they can also be used on their own. Note: some of these operations will create virtual geometry.

4.6.1.1 Automatic Forced Sweepability

In some cases, a volume can be "forced" into a sweepable configuration by compositing surfaces on the linking surfaces. The automatic forced sweep command will attempt to automatically composite linking surfaces together to create a sweepable topology. This command can be useful in cases where there are many linking surfaces that prohibit sweepability and are not needed to define the mesh. It is assumed that the user has assigned the source and target surfaces for the sweep prior to calling this function. Cubit will try to composite linking surfaces together to get rid of problems such as 1) non-submappable linking surfaces, 2) interior angles between curves of a surface that deviate far from multiples of 90 degrees, and 3) surfaces with curves smaller than the small curve size, if a small curve size is specified. This command is incorporated into the ITEM GUI, but is also available from the command line using the following command syntax.

To use automatic forced sweepability

  1. On the Command Panel, click on Geometry and then Volume.

  2. Click on the Modify action button.

  3. Select Auto Clean from the drop-down menu.

  4. Enter in the appropriate values for Volume ID(s). This can also be done using the Pick Widget function.

  5. Enter in the appropriate value for Small Feature Threshold Size.

  6. Click Force Sweepability from the Select Auto Clean Method menu.

  7. Click Apply.

Auto_clean Volume <id_range> Force_sweepability [Small_curve_size <val>]

The small_curve_size qualifier is an optional argument. If a curve size is specified, the command will try to remove surfaces with curves smaller than this size by compositing the surface with adjacent surfaces.

4.6.1.1.1 Example

The following cylinder has been webcut and had surface splits so that it is not sweepable. The split surface command has also introduced 3 small curves on the surfaces. After the source and target surfaces are set, the force sweepability command is issued to automatically composite neighboring surfaces to make the volume sweepable and remove the small curves. The results are shown in the image below.

auto_clean volume 1 force_sweepability small_curve_size .7

Figure 146: Linking surfaces are composited to force a sweepable volume topology

4.6.1.2 Automatic Surface Split

This auto clean command will attempt to automatically split narrow regions of surfaces. In this context, any surface that contains a portion that narrows down to a small angle is considered a narrow region. The command will use the split command from the underlying solid modeling kernel. The user specifies a size that defines what is narrow. This command also propagates the splits to neighboring narrow surfaces. This command is usually used as a preprocessor to the "tweak remove_topology" command but can also be used on its own.

To automatically split narrow regions of surfaces

  1. On the Command Panel, click on Geometry and then Volume.

  2. Click on the Modify action button.

  3. Select Auto Clean from the drop-down menu.

  4. Enter in the appropriate values for Volume ID(s). This can also be done using the Pick Widget function.

  5. Enter in the appropriate value for Small Feature Threshold Size.

  6. Click Split Narrow Regions from the Select Auto Clean Method menu.

  7. Click Apply.

Auto_clean Volume <id_range> Split_narrow_regions Narrow_size <val>

4.6.1.2.1 Example

The model has a surface that necks down to a narrow region. This surface also has some neighboring narrow surfaces to which the splits are propagated.

Figure 147: Automatic small and narrow surface removal on a cylinder

4.6.1.3 Automatic Small Curve Removal

The automatic small curve removal command uses composites and collapse curves commands to automatically remove small curves from a volume. This is useful for removing small or unnecessary details from a model to facilitate meshing algorithms. The user enters a small curve size. Any curve smaller than this specified size will be removed. This command is issued from the ITEM toolbar. More information can be found by reading the section entitled Small Details in the Model in the ITEM documentation. This command can also be called from the command line. The syntax of this command is:

To remove small curves from a volume

  1. On the Command Panel, click on Geometry and then Volume.

  2. Click on the Modify action button.

  3. Select Auto Clean from the drop-down menu.

  4. Enter in the appropriate values for Volume ID(s). This can also be done using the Pick Widget function.

  5. Enter in the appropriate value for Small Feature Threshold Size.

  6. Click Small Curves from the Select Auto Clean Method menu.

  7. Click Apply.

Auto_clean Volume <id_range> Small_curves Small_curve_size <val>

The automatic curve removal should be used with caution, as the user has little control over how curves are removed.

Example:

The cylindrical model has 3 small curves just less than 0.7. The remove small curves command will remove two of the small curves by compositing two neighboring surfaces and the third using the collapse curve functionality.

auto_clean volume 1 small_curves small_curve_size .7

Figure 148: Automatic small curve removal on a cylinder

4.6.1.4 Automatic Small Surface Removal

This auto clean command will attempt to remove small and narrow surfaces from the model by compositing them with neighboring surfaces. The user specifies a small curve size value. This value is used in two different ways. First, a small area is calculated as the small curve size squared. This value is used to compare against when looking for small surfaces. The small curve size is also used to identify surfaces that are narrower than the small curve size.

To remove small and narrow surfaces from the model

  1. On the Command Panel, click on Geometry and then Volume.

  2. Click on the Modify action button.

  3. Select Auto Clean from the drop-down menu.

  4. Enter in the appropriate values for Volume ID(s). This can also be done using the Pick Widget function.

  5. Enter in the appropriate value for Small Feature Threshold Size.

  6. Click Small Surfaces from the Select Auto Clean Method menu.

  7. Click Apply.

Auto_clean Volume <id_range> Small_surfaces Small_curve_size <val>

4.6.1.4.1 Example

The cylindrical model has 2 small surfaces and a few narrow surfaces. The surfaces are composited to remove these.

Figure 149: Automatic small and narrow surface removal on a cylinder

4.6.2 Healing

Healing is an optional module that detects and fixes ACIS models.

It is possible to create ACIS models that are not accurate enough for ACIS to process. This most often happens when geometry is created in some other modeling system and translated into an ACIS model. Such models may be imprecise due to the inherent numerical limitations of their parent systems, or due to limitations of data transfer through neutral file formats. This imprecision can also result when an ACIS model is created at a different tolerance from the current tolerance settings. This imprecision leads to problems such as geometric errors in entities, gaps between entities, and the absence of connectivity information (topology). Since ACIS is a high precision modeler, it expects all entities to satisfy stringent data integrity checks for the proper functioning of its algorithms. Therefore, if such imprecise models must be processed by an ACIS based system, "healing" of such models is necessary to establish the desired precision and accuracy.

4.6.2.1 Analyzing Geometry

The following operation analyzes the ACIS geometry and will indicate problems detected

  1. On the Command Panel, click on Geometry and then Volume.

  2. Click on the Modify action button.

  3. Select Heal from the drop-down menu.

  4. Select Analyze or Autoheal.

  5. Enter in the Filename.

  6. Enter in any other appropriate settings from this menu.

  7. Click Apply.

Healer Analyze Body <id_range> [Logfile [’filename’] [Display]]

The logfile option writes the analysis results to the filename specified, or to ’healanalysis.log’ by default.In the GUI version of Cubit, the display option will write the results in a dialog window.

The outputs include an estimate of the percentage of good geometry in each body. The optional logfile will include detailed information about the geometry analysis. By default Cubit will also highlight the bad geometry in the graphics and give a printed summary indicating which entities are "bad".Sample output from this command is shown below:

Percentage good geometry in Body 9: 98%

HEALER ANALYSIS SUMMARY:

Analyzed 1 Body: 9
Found 2 bad Vertices: 51, 52
Found 3 bad Curves: 76, 77, 80
Found 2 bad CoEdges. The Curves are: 76
Found 1 Bodies with problems: 9
Journaled Command: healer analyze body 9

It is not necessary to analyze the geometry before healing; however, it can be useful to analyze first rather than healing unnecessarily. Also, that healer analysis can take a bit of time, depending on the complexity of the geometry and how bad the geometry is.

The validate geometry commands work independently of the healer and give more detailed information.

4.6.2.1.1 Healer Settings

You can control the outputs from the healer with the following commands:

Healer Set OnShow {Highlight|Draw|None}

Healer Set OnShow {Badvertices|Badcurves|Badcoedges|Badbodies|All} {On|Off}

Healer Set OnShow Summary {On|Off}

These settings allow you to highlight, draw or ignore the bad entities in the graphics. You can control which entity types to display, as well as whether or not to show the printed summary at the end of analysis.

After you have analyzed the geometry (which can take some time), you can show the bad geometry again with the show command. This command simply uses cached data (healing attributes - see the next section) from the previous analysis.

Healer Show Body <id_list>

4.6.2.2 Auto Healing