Finding Surface Overlap

The surface overlap capability finds surfaces that overlap each other, with the capability to specify a distance and angle range between them. This is useful for debugging geometry imprinting and merging problems, as well as for finding gaps in large assembly models.  Finding overlapping geometry is done using the command:

Find [Surface] Overlap [{Body|Surface|Volume} <id_list> [Filter_Sliver]

If a list of entities is not specified, all bodies in the model are checked. By default the command does not check the surfaces within a given body against each other; rather, it only checks surfaces between bodies. This can be overridden by inputting a surface list (i.e. find overlap surface all), or with a setting (see below).

The filter_sliver option will remove false positives from the list by weeding out sliver surfaces that have a merged curve between them. The following pictures is an example of a sliver surface.

Figure 1. Example of a sliver surface

If curves 27 and 29 are merged before you run the find overlapping surface checkthe user will get the two surfaces in the picture as an overlapping surface pair. However, if the filter_sliver keyword is used, Trelis will not find the two surfaces to be overlapping.

Facetted Representation

This command works entirely off of the facetted surface representation of the model (the facetted representation is what you see in a shaded view in the graphics). There are inherent advantages and disadvantages with this method. The biggest advantage is avoidance of closest-point calculations with NURBS based geometry, which tends to be slow. This method also eliminates possible problems with unhealed ACIS geometry. The disadvantage is working with a less accurate (i.e., facetted) representation of the geometry. To circumvent problems with this facetted geometry, various settings can be used to control the algorithm. For example, you might consider using a more accurate facetted representation of the model - see below.

Find Overlap Settings

Various settings are used to control the precision and handling of overlaps during the find overlap process.  A listing of the settings that find overlap uses is printed using the command:

Find [Surface] Overlap Settings

These settings, and the commands used to control them, are described below. 

Facet - Absolute/Angle - The angular tolerance indicates the maximum angle between normals of adjacent surface facets. The default angular tolerance is 15 - consider using a value of 5 . This will generate a more accurate facetted representation of the geometry for overlap detection. This can be particularly useful if the overlap command is not finding surface pairs as you would expect, particularly in "curvy" regions. Note however that the algorithm will run slower with more facets. The distance tolerance means the maximum actual distance between the generated facets and the surface. This value is by default ignored by the facetter - consider specifying a reasonable value here for more accurate results.

Set Overlap [Facet] {Angle|Absolute} <value>

Gap - Minimum/Maximum - the algorithm will search for surfaces that are within a distance from the minimum to maximum specified. The default range is 0 to 0.01. Testing has shown this to be about right when searching for coincident surfaces. Gaps can be found by using a range such as 3.95 to 5.05.

Set Overlap {Minimum|Maximum} Gap <value>

Angle - Minimum/Maximum - the algorithm will search for surfaces that are within this angle range of each other. The default range is 0.0 to 5.0 degrees. Testing has shown that this range works well for most models. It is usually necessary to have a range up to 5.0 degrees even if you are looking for coincident surfaces because of the different types of faceting that can occur on curvy type surfaces. For example, for the case of a shaft in a hole, the facets of the shaft usually won't be coincident with the facets of the hole, but may be offset by a certain distance circumferentially with each other. The 5 degree max angle range will account for this. If you find that the algorithm is not finding coincident surfaces when it should, you can increase the upper range of this value. Note that this parameter is useful also for finding plates coming together at an angle.

Set Overlap {Minimum|Maximum} Angle <value>

Normal - this setting determines whether to search for surfaces whose normals point in the same direction as each other (same), away from each other (opposite) or either (any). The default is ANY, but it may be useful to limit this search to opposite, as this would be the usual case for most finds.

Set Overlap Normal {ANY|opposite|same}

Tolerance - two individual facets must overlap by more than this area for a match to be found. Consider the two cylindrical curves at the interface of the shaft and the block in Figure 2. Note that some of the facets actually overlap, even though the curves will analytically be coincident. You can filter out false matches by increasing the overlap tolerance area.  The default value for this setting is 0.001.

Set Overlap Tolerance <value>


Figure 2. Possible false find due to overlap (tolerance will prevent finding match)

Group - the surface pairs found can optionally be placed into a group. The name of the group defaults to "overlap_surfaces".

Set Overlap Group {on|OFF}

List - by default the command lists out each overlapping pair - this can be turned off using the command:

Set Overlap List {ON|off}

Display - by default the command clears the graphics and displays each overlapping pair - this can be turned off using the command:

Set Overlap Display {ON|off}

Body - by default the command will not search for overlapping pairs within bodies - only between different bodies. Turn this setting on to search for pairs within bodies. Note however that this will slow the algorithm down.

Set Overlap [Within] {Body|Volume} {on|OFF}

Imprint - If on, Trelis will imprint the overlapping surfaces that it finds together. This will often force imprints that just imprinting bodies together will miss. For each pair of overlapping surfaces, the containing body of one surface is imprinted with the individual curves of the other surface, until the resulting surfaces no longer overlap.

Set Overlap Imprint {on|OFF}