*beamsectioncreateatplane

Creates a shell or solid beam section by cutting a plane through the selected entities.

Syntax

*beamsectioncreateatplane entity_type mark_id double_array number_of_doubles merge_tol plane_id vector_id center_option create_method create_centroid_node create_shear_node beam_type keep_lines

Type

HyperMesh Tcl Modify Command

Description

A shell or solid type beam section will be created by cutting through the selected entities at the plane location and using the resulting section lines. The beam section may be centered at the centroid of the section, the shear center, or at an arbitrary point defined by you. Optionally, nodes can be created at the centroid and shear center of the beam section.

The entities selected will be cut at the selected plane and the section lines created by doing so will be rotated such that the orient vector points vertically (beam y-axis). If a shell beam section is to be created the shell beam section parts will placed along the section lines. If a solid beam section is to be created, the interior of the section lines will be filled in with beam section elements, but only if the section lines form one or more loops. The section plane normal forms the beam section’s local x-axis (length) and the orient vector forms the beam section’s local y-axis (height).

Additionally, a boundary may be assigned such that the section lines will be cropped where they cross the boundary. For shell beam sections the portions of the section lines which lie outside the boundary are discarded. For solid beam sections the boundary will be used in place of the portions of the section lines which lie outside the boundary when filling in the section.

The results for the beam section will be automatically calculated after creation.

Inputs

entity_type
The type of input entity to cut. Valid values are surfs, elems (2D or 3D only) and comps (surfs take priority over elems).
mark_id
The ID of the mark containing the input entities. Valid values are 1 and 2.
double_array
The ID of the double array that contains the vertices defining the boundary. The double array is created using the *createdoublearray command. This should always be set to 1.
The contents of this array are stored in pairs representing a series of local y and z locations for the vertices of the boundary in beam coordinates.
For example, to represent a rectangular boundary with a height (y-axis) of 6 and a width (z-axis) of 3, boundary points are needed at (3, 1.5), (3, -1.5), (-3, -1.5), and (-3, 1.5). The syntax would be:
*createdoublearray 8 3 1.5 3 -1.5 -3 -1.5 -3 1.5
The loop does not need to be closed. A minimum of three boundary points are required, but there is no maximum. The boundary can be of any shape, however the boundary should be well behaved and contain no crossovers. Extra spaces were added above for clarity. If only two doubles are given in the array, these values are used as the maximum height and width of the boundary. Thus the above boundary can be simplified to:
*createdoublearray 2 6 3
number_of_doubles
merge_tol
The tolerance used to merge input lines.
plane_id
The ID of a plane created using the *createplane command. The plane defines the plane to cut the input entities.
vector_id
The ID of a vector created using the *createvector command. The vector defines the orientation vector.
center_option
Defines how the beam section is centered:
0 - Centered at the section plane base point.
1 - Centered at the beam section centroid.
2 - Centered at the beam section shear center.
create_method
For shell sections, this is the part generation mode:
0 - Parts for the section are automatically generated.
1 - Parts for the section will be generated using a simple algorithm.
For solid sections, this is the element order:
1 - Elements generated for the beam cross-section interior are first order.
2 - Elements generated for the beam cross-section interior are first order.
create_centroid_node
Defines whether to create a node at the centroid:
0 - Do not create a node at the centroid.
1 - Create a node at the centroid.
create_shear_node
Defines whether to create a node at the shear center:
0 - Do not create a node at the shear center.
1 - Create a node at the shear center.
beam_type
The type of beam to create:
0 - Shell section.
1 - Solid section.
keep_lines
Defines whether to keep the section cut lines:
0 - Do not keep section cut lines.
1 - Keep section cut lines.

Examples

To create a shell beam section by cutting surfaces, using automatic calculation of the orientation vector, assigning no boundary, and positioning it at the shear center:
*createmark surfs 1 19 20
*createplane 1 0.0000 0.0000 1.0000 22.53 30.00 1.2343
*createvector 1 0.0000 0.0000 0.0000
*beamsectioncreateatplane surfs 1 1 0 0.1 1 1 2 1 0 0 0 0
To create a solid beam section by cutting elements, using a user orientation vector, positioning it at the plane base point, assigning a boundary with height 6 and width 3, and creating nodes at the centroid and shear center:
*createmark elems 1 1-22
*createplane 1 0.0000 0.0000 1.0000 22.53 30.00 1.2343
*createvector 1 0.0000 1.0000 0.0000
*createdoublearray 2 6 3
*beamsectioncreateatplane elems 1 1 2 0.1 1 1 0 1 1 1 1 0

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

13.0