*morphvolumecreateflex
Creates a series of morph volumes using a selected profile (elements, morph volumes, lines, matrix) along a line, vector, through elements, or about an axis.
Syntax
*morphvolumecreateflex e_entity_type e_mark_id xd yd zd buff system_id han order tan m_entity_type m_mark_id alines apoints mlines mpoints plane method drag
Type
HyperMesh Tcl Modify
Description
This command will create one or more morph volumes starting from a profile defined by morph volumes, elements, lines, x-y densities, or rho-theta densities, and dragging them along a line, a nodelist, along a vector, about an axis, or through the element or nodes on the mark. It can also be used to generate a morph volume matrix using the global system or a local system although profile shrinking is not available for this option.
After generation the matrix will be enlarged to fit the selected nodes or elements if the initial drag does not contain them. Thus, the edges of the morph volumes may not fit the initial profile or be limited by the specified drag distance or angle.
Profile shrinking will shrink each profile along the drag direction in order to fit the morph volume matrix close to the mesh taking into account the specified buffer zone value.
Inputs
- e_entity_type
- Valid values are nodes and elems.
- e_mark_id
- The ID of the mark containing the nodes or elements. Valid values are 1 and 2.
- xd
- Density of the profile mesh in the x or radial direction (for off-axis profiles, the x direction is the direction closest to either the global x axis or the global y axis if the global x axis is parallel to the drag direction).
- yd
- Density of the profile mesh in the y or tangential direction.
- zd
- Density of the morph volume matrix in the dragged direction.
- buff
- Percentage buffer zone between matrix and enclosed entities.
- system_id
- ID of system used to orient matrix (method 0). If the specified system is cylindrical, the matrix will be laid out in a cylindrical fashion.
- han
- 0 – Do not create handles for morph volumes
- order
- The order of morph volumes:
- tan
- 0 – No tangency
- m_entity_type
- Valid values are hypercubes and elems.
- m_mark_id
- The ID of the mark containing the hypercubes or elements for the profile. Valid values are 1 and 2.
- a_lines_list
- The ID of the list containing the lines used to create line to drag matrix. Valid values are 1 and 2.
- a_points_list
- The ID of the list containing the nodes used to create line to drag matrix. Valid values are 1 and 2.
- m_lines_list
- The ID of the list containing the lines used to create the profile. Valid values are 1 and 2.
- m_points_list
- The ID of the list containing the nodes used to create the profile. Valid values are 1 and 2.
- plane
- The ID of the plane created using *createplane for the dragging vector or the axis of rotation for dragging about an axis.
- method
- Select the dragging method and add the desired profile to calculate the method.
- drag
- Distance or angle for drag (useable for along vector and about axis method).
Examples
To create a rectangular matrix 2x2x5 dragged along a line:
*createmark nodes 1 "all"
*createmark elems 1
*createlist lines 1 3
*createlist nodes 1
*createlist lines 2
*createlist nodes 2
*createplane 1,1.0 0.0 0.0 1.0 0.0 0.0
*morphvolumecreateflex nodes 1 2 2 5 10.0 0 1 1 1 elems 1 1 1 2 2 1 1 0.0
To create a cylindrical matrix 1x4x5 dragged from morph volumes along a vector (note that the plane normal is used for the vector direction):
*createmark nodes 1 "all"
*createmark hypercubes 1 "all"
*createlist lines 1
*createlist nodes 1
*createlist lines 2
*createlist nodes 2
*createplane 1,1.0 0.0 0.0 1.0 0.0 0.0
*morphvolumecreateflex nodes 1 1 4 5 10.0 0 1 1 1 hypercubes 1 1 1 2 2 1 63 0.0
Errors
if { [ catch {*morphvolumecreateflex...} ] } {
# Handle error
}
Version History
10.0