*createsectioncut

Computes area moments of inertia from a section cut, and creates beam elements along the cuts.

Syntax

*createsectioncut sectionmethod=<value> ?<option1>=<value1>? ?<option2>=<value2>? ... ?<optionN>=<valueN>?

Type

HyperMesh Tcl Modify Command

Options can be provided in any order.

Description

This command computes area moments of inertia and stiffness terms of a planar section cut from a 1D/2D selection. The computed data is stored in a resultant section cut table. Moreover, it can create shell beam sections from the cuts and create beam elements along the consecutive cuts. Every beam element created has a PBEAM property assigned to it. The property refers to the beam sections, along the start and end of the beam element, at stations 0 and 1. The command currently works for OptiStruct and Nastran user profiles.

Inputs

sectionmethod=<value>
auto - Uses the element selection to compute the bounding box and creates section cut along the longest dimension of the box. In case of ambiguity, considers the global axis in the order of X and Y respectively as section cut normal.
byplane - Uses the plane information to create the cut (default)
beamoffset=<value>
Available if includebeams is specified.
0 - Do not consider 1D offset in the section cut (default)
1 - Consider 1D offset in the section cut
createbeamelems=<value>
0 - Do not create beam elements between consecutive cuts (default)
1 - Create beam elements between consecutive cuts, and create and assign PBEAM properties.
createbeamsect=<value>
0 - Do not create shell beam section from the section cut (default)
1 - Create shell beam section from the section cut
createelemsat=<value>
Available if createbeamelems=1.
1 - Create beam elements at the centroid (default)
2 - Create beam elements at the neutral axis
createelemsets=<value>
0 - Do not create sets of intersecting elements for each cut (default)
1 - Create sets of intersecting elements for each cut
createsectiondata=<value>
0 - Do not create resultant section cut table (default)
1 - Create resultant section cut table
detaileddata=<value>
0 - Do not create a table with detailed element level section cut data (default)
1 - Create a table with detailed element level section cut data
elemscomp=<value>
Available if createbeamelems=1.
0 - Create in current component (default)
1 - Create in new component
includebeams=<value>
0 - Do not consider beam/bar elements in the section cut
1 - Consider beam/bar elements in the section cut (default)
includeenttype=<value>
The include entity type, elems or comps. Requires includemark to be specified.
includemark=<value>
The ID of the mark containing the entities for the section cut. If provided, only the given elements will be used for the cut. Valid values are 1 and 2. Required if includeenttype is specified.
includerods=<value>
0 - Do not consider rod/truss elements in the section cut
1 - Consider rod/truss elements in the section cut (default)
includeshells=<value>
0 - Do not consider 2D elements in the section cut
1 - Consider 2D elements in the section cut (default)
intertiaat=<value>
centroid - Output the MOI at the section's centroid
neutralaxis - Output the MOI at the section's neutral axis (default)
neutralaxis - Output the MOI at the section's neutral axis (default)
<x y z> - Output the MOI at the user-defined position projected onto the section's plane
keepintersectlines=<value>
Available if createbeamsect=1.
0 - Do not keep intersect lines (default)
1 - Keep intersect lines
linescomp=<value>
Available if keepintersectlines=1.
0 - Keep in current component (default)
1 - Keep in new component
nodeatcentroid=<value>
0 - Do not create a node at the centroid (default)
1 - Create a node at the centroid
nodeatneutralaxis=<value>
0 - Do not create a node at the neutral axis (default)
1 - Create a node at the neutral axis
numcuts=<value>
The number of cuts to be made.
offset=<value>
The offset from the section plane base to make consecutive cuts. Requires the use of numcuts. Available if sectionmethod=byplane and sectionbase is provided.
refenttype=<value>
The type of reference entities to use, nodes or points. Requires reflistid to be specified.
reflistid=<value>
The ID of the list containing the reference nodes or points for the section plane base. Valid values are 1 and 2. Required if refenttype is specified.
sectionbase=<x y z>
The coordinates of the section base. Required if sectionmethod=byplane and offset is to be used.
sectionnormal=<x y z>
The component of the section plane normal pointing to the positive side. Only elements from that side are considered to evaluate interias. Required if sectionmethod=byplane.
shelloffset=<value>
Available if includeshells is specified.
0 - Do not consider shell offset in the section cut (default)
1 - Consider shell offset in the section cut
verticalaxis=<x y z>
The global coordinates of the YZ section vertical axis. The actual vertical axis will be recomputed as 2 cross-products using the section's normal vector. Required if sectionmethod=byplane.

Example

Create a section cut using offset information:
*createmark comps 1 displayed
*createsectioncut sectionmethod=byplane sectionnormal={-1 0 0} verticalaxis={0 0 1} sectionbase={8000 1.5916157281026e-12 1125} offset=300 numcuts=2 inertiaat=centroid includemark=1 includeenttype=comps createelemsets=1 createsectiondata=1 detaileddata=1 nodeatcentroid=1 createbeamsect=1 keepintersectlines=1 linescomp=1 createbeamelems=1 createelemsat=1 elemscomp=1
Create a section cut using nodes:
*createlist nodes 2 10 11 12
*createsectioncut sectionmethod=byplane sectionnormal={1 0 0} verticalaxis={0 0 1} refenttype=nodes reflistid=2 inertiaat=centroid createelemsets=1 createsectiondata=1 detaileddata=1 nodeatcentroid=1 createbeamsect=1 keepintersectlines=1 createbeamelems=1 createelemsat=1
Create a section cut using auto:
*createsectioncut sectionmethod=auto numcuts=4 inertiaat=centroid createelemsets=1 createsectiondata=1 detaileddata=1 nodeatcentroid=1 createbeamsect=1 keepintersectlines=1 createbeamelems=1 createelemsat=1

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

2019.1