*findflangestoposhell

Finds flanges in shell meshes.

Syntax

*findflangestoposhell mark_id boundary_faces min_ratio max_align max_width min_width max_length min_length allow_holes allow_detached max_nonmanifold_segments min_free_ratio max_attached_ratio max_internal_fold_angle max_auto_pitch_bend_angle maintain output reserved1 reserved2

Type

HyperMesh Tcl Modify

Description

Finds flanges in shell meshes bounded by a connected and closed sequence of free edges subject to the specified parameters. Flanges are found on elements or components specified by a previous call to *findflangesinit. The output is either a mark of elements, or the creation of duplicate elements denoting where flanges were identified.

The process of finding flanges requires the initialization of the process using *findflangesinit. This initialization process requires the components or elements utilized by subsequent * findflangestoposhell and *findflangesproximityshell commands. To utilize different input components or elements, the *findflangesinit command needs to be rerun. After completing the find flanges process, the command *findflangesend should be called to clear the memory.

Inputs

mark_id
The mark ID containing the output flange elements. Valid values are 1 and 2.
If set to 0, then duplicate elements are constructed from the identified elements and placed in the component ^face_flange_topo_shell.
The output_elems argument is used to decide what types of elements are output.
boundary_faces
Defines if boundary faces not satisfying the flange constraints should be found. Valid values are:
  • 0 - Do not consider boundary flanges.
  • 1 - Consider boundary flanges.
min_ratio
The minimum length-to-width ratio. Used only if > 1.0.
max_width
The maximum flange width. Used only if > 0.0.
min_width
The minimum flange width. Used only if > 0.0.
max_length
The maximum flange length. Used only if > 0.0.
min_length
The minimum flange length. Used only if > 0.0.
allow_holes
Defines if flanges with holes be found. Valid values are:
  • 0 - Do not consider flanges with holes.
  • 1 - Consider flanges with holes.
allow_detached
Defines if free "floating" washer-type flanges should be found. Valid values are:
  • 0 - Do not consider free "floating" washer-type flanges.
  • 1 - Consider free "floating" washer-type flanges.
max_nonmanifold_segments
The maximum number of non-manifold attachments a flange can have.
min_free_ratio
The minimum ratio of the free length to the attached length of the flange free size. Must be ≥ 0.0 and ≤ 1.0.
max_attached_ratio
The maximum ratio of the free length to the attached length of the flange attached size. Must be > 0.0 and ≤ 1.0.
max_internal_fold_angle
The maximum fold angle in the width direction of the flange.
max_auto_pitch_bend_angle
The maximum bend angle along a free edge to be considered for auto-pitch.
maintain
Defines if existing flanges from a previous call to this command should be kept. Valid values are:
  • 0 - Do not keep existing flanges.
  • 1 - Keep existing flanges.
output
The output type. Valid values are:
  • 0 - No output.
  • 1 - Output only elements on flanges.
  • 2 - Output elements on flanges and plot elements defining the flange edges for auto-pitch points.
  • 3 - Output elements on flanges and other boundary faces potentially used for auto-pitch points.
  • 4 - Combination of 2 and 3.
Free edges are always placed in a component named ^face_flange_topo_edges.
reserved1
Reserved for future use. Set to 0.
reserved2
Reserved for future use. Set to 0.

Example

To find all flanges in shell elements of the displayed components using a feature angle of 30 degrees, and to create auto pitch points using a search distance of 0.5, a spot pitch distance of 1.5, an end offset of 2.0, and a free edge distance of 0.1:
*createmark comps 2 displayed
*findflangesinit components 2 2 30 0 0 0
*findflangestoposhell 0 1 4.0 0.0 0.0 0.0 0.0 0 0 0 0.5 0.5 0.0 45.0 0 0 0 0.0
*findflangesproximityshell 0 1 0.5 45.0 -1 1.5 2.0 0.1 0 0 0.0
*findflangesend

Errors

Incorrect usage results in a Tcl error. To detect errors, you can use the catch command:
if { [ catch {command_name...} ] } {
   # Handle error
}

Version History

11.0.101