Imprinting Geometry

To produce a non-manifold geometry model from a manifold geometry, coincident surfaces must be merged together (See Geometry Merging); this merge can only take place if the surfaces to be merged have like topology and geometry. While various parts of an assembly will typically have surfaces, which coincide geometrically, an imprint is necessary to make the surfaces have like topology. There are three types of imprinting:

To preview which surfaces can or should be imprinted, or to force imprints that the regular imprint command misses, the Find Overlap command can be used.

Regular Imprinting

To imprint bodies together

  1. On the Command Panel, click on Geometry and then Volume.
  2. Click on the Imprint Merge action button.
  3. Select Imprint from the drop-down menu.
  4. Enter in the appropriate values for Body ID(s). This can also be done using the Pick Widget function.
  5. Click Apply.

Imprint [Volume|BODY] <range> [with [Volume|BODY] <range>] [Keep]

A body can also be imprinted with curves, vertices or positions, and surfaces can be imprinted with curves. It is useful to imprint bodies or surfaces with curves to eliminate mesh skew, generate more favorable surfaces for meshing, or create hard lines for paving. Imprinting with a vertex or position can be useful to split curves for better control of the mesh or to create hard points for paving.

To imprint bodies with curves, vertices or positions

  1. On the Command Panel, click on Geometry and then Volume.
  2. Click on the Imprint Merge action button.
  3. Select Imprint from the drop-down menu.
  4. Enter in the appropriate values for Body ID(s). This can also be done using the Pick Widget function.
  5. Click the box With.
  6. Select Curve ID(s), Vertex ID(s) or Location. and enter in the appropriate values.
  7. If Location is selected, click on the Location... button. Another window will appear to specify setting.
  8. Click Apply.

Imprint Body <body_id_range> [with] Curve <curve_id_range> [Keep]

Imprint Body <body_id_range> [with] Vertex <vertex_id_range> [Keep]

Imprint {Volume|Body} [with] Position <coords> [position <coords> ... ]

Imprint Surface <surface_id_range> [with] Curve <curve_id_range> [Keep]

An Imprint All will imprint all bodies in the model pairwise; bounding boxes are used to filter out imprint calls for bodies which clearly don't intersect.

Imprint [Body] All

Tolerant Imprinting

Normal imprinting may be ineffective for some assembly models that have tolerance problems, generating unwanted sliver entities or missing imprints altogether. Tolerant imprinting is useful for dealing with these tolerance challenged assemblies. To determine coincident and overlap entities, tolerant imprinting uses the merge tolerance. The commands also include an optional tolerance value that will be used for the purposes of the single command. Specifying an optional tolerance value will not change the default, system tolerance value.

A limitation of tolerant imprinting is that it cannot imprint intersecting surfaces onto one another, as normal imprinting can. Tolerant imprinting imprints only overlapping entities onto one other.

To tolerant imprint

  1. On the Command Panel, click on Geometry and then Volume.
  2. Click on the Imprint Merge action button.
  3. Select Tolerant Imprint from the drop-down menu.
  4. Enter in the appropriate values for Body ID(s). This can also be done using the Pick Widget function.
  5. Click Apply.

Imprint Tolerant {Body|Volume} <range> [tolerance <value>]

Tolerant imprinting can also be used to imprint curves onto surfaces, provided that the tolerance between surface and curve(s) falls within the merge tolerance. The 'merge' option will merge the owning volume of the specified surface with all other volumes that share any curves with this surface.

To tolerant imprint curves onto surfaces

  1. On the Command Panel, click on Geometry and then Surface.
  2. Click on the Imprint Merge action button.
  3. Select Tolerant Imprint from the drop-down menu.
  4. Select With Curve ID(s).
  5. Enter in the appropriate values for Body ID(s) and With Curve ID(s). This can also be done using the Pick Widget function.
  6. Click Apply.

Imprint Tolerant Surface <id> with Curve <id_range> [merge]  [tolerance <value>]

Imprint Tolerant Surface <id> <id> with Curve <id_range> [merge] [tolerance <value>]

Imprint Tolerant Surface <id><id> [tolerance <value>]

The second form of the command imprints the specified bounding curves of one surface onto another surface and vice versa. Any specified curves that are not bounding either of the two specified surfaces will not be imprinted. The 'merge' option will merge all the volumes sharing any curve of these two surfaces, after the imprint.

It is recommended that normal imprinting be used when possible and tolerant imprinting be used only when normal imprinting fails.

Mesh-Based Imprinting

Another form of the imprint command,

Imprint Mesh {Body | Volume} <id_list>

uses coincident mesh entities and virtual geometry to create imprints. See the Partitioned Geometry section for more information on this command.

Imprint Settings

After imprint operations, an effort is made to remove sliver entities: sliver curves and surfaces. Previously, all curves in participating bodies less than 0.001 were removed. Newer versions of Trelis changed this because there might be times when the user wants sliver curves/surfaces to be generated during an imprint operation. In order to give the user more control over the cleanup of these sliver entities after imprint operations, a command was implemented so that the user can set an 'imprint sliver cleanup tolerance'. The default tolerance for curves is the merge tolerance 0.0005. The default tolerance for surfaces is a suitable tolerance chosen internally based on the bounding box of the entity. Sliver surfaces are removed whose maximum gap distance among the long edges is smaller than the tolerance and who have at most three long edges. A long edge is an edge whose length is greater than the specified tolerance.

Set {Curve|Surface} Imprint Cleanup Tolerance <value>