An extruded block is a step-wise constructed prismatic volume originating from one or more pw::Face objects. It has a fixed number of prismatic layers in the computational K direction.
pw::Object pw::Entity pw::GridEntity pw::Block
pw:: | An extruded block is a step-wise constructed prismatic volume originating from one or more pw::Face objects. |
Static Actions | |
create | This action creates a new extruded block object. |
createFromPoints | This action, given at least one cell-type array and an extruded path of a list of lists of xyz vector values, creates an extruded block. |
Static Defaults | |
Instance Actions | |
getPoint | This action gets the position of a block grid point. |
setPoint | This action sets the position of a block interior grid point. |
setPoints | This action extrudes the block along the path specified by the extrudePoints list. |
isInteriorIndex | This action checks to see if an index corresponds to a point in the interior of the block. |
getAdjacentIndices | This action returns the indices that are directly connected to the specified index. |
getCellsUsingIndex | This action returns the indices that are directly connected to the specified index. |
getLinearIndex | This converts a block’s ijk index to a linear index. |
getPosition | This action gets the position in the defining space of the block at the given index. |
getXYZ | This action gets the position of the block in model space at the given index. |
getCell | This action gets the indices of the given cell. |
getFace | This action gets the face at the given index or computational boundary. |
addFace | This action adds a face to the block. |
canReExtrude | This action returns true if the entity can be re-extruded. |
setExtrusionSolverAttribute | This action sets the named extrusion solver attribute. |
getExtrusionBoundaryCondition | This action gets the boundary condition at a given connector region. |
setExtrusionBoundaryCondition | This action sets the boundary condition at a given connector region. |
Generic Extrusion Solver Attributes | |
Mode | This gets/sets the extrusion mode of this block. |
StopAtHeight | This specifies or disables the height stop condition. |
StopAtAspectRatio | This specifies or disables the max aspect ratio stop condition. |
StopAtSkewAngle | This specifies or disables the min skew angle stop condition. |
StopAtPositiveSkewJacobian | This enables / disables the positive skew Jacobian stop condition. |
StopAtZeroJacobian | This enables / disables the zero Jacobian stop condition. |
StopAtNegativeSkewJacobian | This enables / disables the negative skew Jacobian stop condition. |
StopAtNegativeJacobian | This enables / disables the negative Jacobian stop condition. |
DirectionFlipped | This specifies whether the extrusion direction is flipped. |
PlaneAngleTolerance | This specifies the angle tolerance for determining when an arbitrary plane BC is considered equal to a Cartesian plane BC. |
PlaneDeviationTolerance | This specifies the deviation tolerance for determining when an arbitrary plane BC is considered to be planar. |
Translational Extrusion Solver Attributes | |
TranslateDirection | This gets/sets the direction vector for translate extrusion. |
TranslateDistance | This gets/sets the distance for translate extrusion. |
Path Extrusion Solver Attributes | |
PathConnectors | This gets/sets a list of connectors for the path. |
PathMaximumSteps | This is the maximum number of steps available as the path extrusion is configured. |
PathUseTangent | This gets/sets the flag indicating if the path extrusion should be rotated tangentally to the path connector. |
Rotational Extrusion Solver Attributes | |
RotateAxisStart | This gets/sets the starting point of the rotation axis for rotate extrusion. |
RotateAxisEnd | This gets/sets the ending point of the rotation axis for rotate extrusion. |
RotateAngle | This gets/sets the angle (degrees) for rotational extrusion. |
Normal Extrusion Solver Attributes | |
NormalInitialStepSize | This gets/sets the size of the first marching step to value. |
NormalMaximumStepSize | This gets/sets the upper limit for the marching step size. |
NormalMinimumStepSize | This gets/sets a upper limit for the marching step size. |
NormalCornerFactor | This gets/sets a scale factor for reducing the local marching step in convex regions and increasing the marching step size in concave regions. |
NormalDirectionRelaxation | The normals in the marching direction are smoothed locally using a LaPlace filter. |
NormalDirectionRelaxationIterations | The normals in the marching direction are smoothed locally using a Lalace filter. |
NormalStepSizeRelaxation | This gets/sets the relaxation smoothing factor. |
NormalStepSizeRelaxationIterations | This gets/sets the number of marching iterations for the LaPlace filter. |
NormalFeatureSmoothing | This specifies whether knife edge features are smoothed. |
NormalQualitySmoothing | This enables/disables normal smoothing based on a quality metric. |
NormalInteriorOnlySmoothing | This enables/disables interior only quality based smoothing. |
NormalMaximumIterationsSmoothing | This specifies/retrieves the maximum number of smoothing iterations. |
NormalBlendExponentSmoothing | This specifies/retrieves the blend exponent for smoothing. |
Spacing Extrusion Solver Attributes | |
SpacingMode | This gets/sets the spacing configuration for the extrusion. |
SpacingGrowthFactor | This specifies how the marching step size will grow from its initial value. |
SpacingConnectors | This gets/sets the collection of connector-object and subconnector-index pairs that specify how the marching step size will grow from its initial value. |
pw::BlockExtruded create
This action creates a new extruded block object.
There are no parameters.
This action returns a new pw::BlockExtruded object.
pw::BlockExtruded createFromPoints ?-triangles tricellArray? ?-quadrilaterals quadCellArray? ?-splitAngle angle? ?-splitMultiLoop? extrudePoints
This action, given at least one cell-type array and an extruded path of a list of lists of xyz vector values, creates an extruded block. No extruded block will be created if the cell-type array(s) define more than one face.
The following optional cell array parameters (at least one of which is required) are each a list of lists. The sub-lists represent indices into the points list for each vertex of the particular cell. For example, there are 3 vertices for each triangle. Therefore, the ‘triCellArray’ will consist of N sub-lists, where each sub-list has 3 indices representing the three vertices of the triangle. The indices are 1-based. These arrays describe the base face layer of the block.
-triangles triCellArray | This optional parameter is a list of cells, where each cell list is 3 integers (one element for each triangle vertex, each of which refers to that index in the points array). |
-quadrilaterals quadCellArray | This optional parameter is a list of cells, where each cell list is 4 integers (one element for each quadrilateral vertex, each of which refers to that index in the points array). |
The next two parameters are additional optional parameters, neither of which is required. They are used when creating the domain(s) for the base face of the new extruded block.
-splitAngle splitAngle | this optional float parameter specifies an angle at which to split connectors. |
-splitMultiloop | this optional flag indicates that domains with more than 1 loop should be split. |
extrudePoints | This required parameter is a list of a list of xyz vectors to be used to define the base layer (face) and extrude path. The first sub-list defines the points used by the cell array(s) to create the base face layer. The subsequent lists describe each subsequent layer of the extrusion, must have the same number of points as the base face layer, and must be mappable to the base face layer points. |
This action returns the newly created pw::BlockExtruded block.
This example shows how a rotated extruded block can be created from a set of points and quadrilateral connectivity.
Code
# Rotate a list of points an angle about an axis proc rotateVec3 { pts angle axis origin } { set matrix [pwu::Transform rotation -anchor $origin $axis $angle] set rotPts [list] foreach pt $pts { set x0 [lindex $pt 0] set y0 [lindex $pt 1] set z0 [lindex $pt 2] set x [expr {$x0 * [lindex $matrix 0] + $y0 * [lindex $matrix 4] \ + $z0 * [lindex $matrix 8] + [lindex $matrix 12]}] set y [expr {$x0 * [lindex $matrix 1] + $y0 * [lindex $matrix 5] \ + $z0 * [lindex $matrix 9] + [lindex $matrix 13]}] set z [expr {$x0 * [lindex $matrix 2] + $y0 * [lindex $matrix 6] \ + $z0 * [lindex $matrix 10] + [lindex $matrix 14]}] set w [expr {$x0 * [lindex $matrix 3] + $y0 * [lindex $matrix 7] \ + $z0 * [lindex $matrix 11] + [lindex $matrix 15]}] set rotPt [pwu::Vector3 divide [pwu::Vector3 set $x $y $z] $w] lappend rotPts $rotPt } return $rotPts } proc getPoints {idim jdim} { set pts [list] for {set j 0} {$j < $jdim} {incr j} { for {set i 0} {$i < $idim} {incr i} { lappend pts [pwu::Vector3 set 0 $i $j] } } return $pts } proc getQuads {idim jdim} { set quads [list] for {set j 1} {$j < $jdim} {incr j} { for {set i 1} {$i < $idim} {incr i} { set n1 [expr {$jdim * ($j - 1) + $i}] set n0 [expr {$n1 - 1}] set n2 [expr {$jdim * $j + $i} ] set n3 [expr {$n2 - 1}] lappend quads [list $n0 $n1 $n2 $n3] } } return $quads } set idim 10 set jdim 10 set origin [list 0 -10 0] set rotAxis [pwu::Vector3 set 0 0 1] set totalAngle -90. set numLayers 21 set pts [getPoints $idim $jdim] set quads [getQuads $idim $jdim] set extPts [list] lappend extPts $pts for {set i 1} {$i < $numLayers} {incr i} { set angle [expr {$totalAngle * (double($i) / double($numLayers - 1))}] lappend extPts [rotateVec3 $pts $angle $rotAxis $origin] } # Create extruded block set extBlk [pw::BlockExtruded createFromPoints -quadrilaterals $quads $extPts]
$block getPoint ?-constrained constrainedVar? < index | ijk_index >
This action gets the position of a block grid point.
index | This optional parameter is the integer linear index of the grid point to get with the range [1, number of points]. |
ijk_index | This optional parameter is the ijk index of the grid point to get. |
-constrained constrainedVar | This optional parameter is the string name of a variable. If the grid point is database constrained, this variable is set to true. If not constrained, it is set to false. |
Either index or ijk_index must be specified.
This action returns a point giving the grid point position (may be in the form “u v dbentity”).
$block setPoint < index | ijk_index > point
This action sets the position of a block interior grid point.
index | This optional parameter is the integer linear index of the target grid point to set with the range [1, number of points]. The index must be for an interior grid point. |
ijk_index | This optional parameter is the ijk index of the grid point to set. |
point | This required parameter is the new point value of the grid point. |
Either index or ijk_index must be specified.
This action returns nothing.
Block points are not currently db-constrained, so any database information in the point argument is converted to pure XYZ data before being stored.
$block setPoints extrudePoints
This action extrudes the block along the path specified by the extrudePoints list.
extrudePoints | This required parameter is a list of a list of xyz vectors that define the extrude path. These points must be mappable to the points in the block’s face. |
This action returns nothing.
This example shows how a rotated extruded block can be created from a set of points and triangle connectivity.
Code
# Rotate a list of points an angle about an axis proc rotateVec3 { pts angle axis origin } { set matrix [pwu::Transform rotation -anchor $origin $axis $angle] set rotPts [list] foreach pt $pts { set x0 [lindex $pt 0] set y0 [lindex $pt 1] set z0 [lindex $pt 2] set x [expr {$x0 * [lindex $matrix 0] + $y0 * [lindex $matrix 4] \ + $z0 * [lindex $matrix 8] + [lindex $matrix 12]}] set y [expr {$x0 * [lindex $matrix 1] + $y0 * [lindex $matrix 5] \ + $z0 * [lindex $matrix 9] + [lindex $matrix 13]}] set z [expr {$x0 * [lindex $matrix 2] + $y0 * [lindex $matrix 6] \ + $z0 * [lindex $matrix 10] + [lindex $matrix 14]}] set w [expr {$x0 * [lindex $matrix 3] + $y0 * [lindex $matrix 7] \ + $z0 * [lindex $matrix 11] + [lindex $matrix 15]}] set rotPt [pwu::Vector3 divide [pwu::Vector3 set $x $y $z] $w] lappend rotPts $rotPt } return $rotPts } proc getPoints {idim jdim} { set pts [list] for {set j 0} {$j < $jdim} {incr j} { for {set i 0} {$i < $idim} {incr i} { lappend pts [pwu::Vector3 set 0 $i $j] } } return $pts } proc getQuads {idim jdim} { set quads [list] for {set j 1} {$j < $jdim} {incr j} { for {set i 1} {$i < $idim} {incr i} { set n1 [expr {$jdim * ($j - 1) + $i}] set n0 [expr {$n1 - 1}] set n2 [expr {$jdim * $j + $i} ] set n3 [expr {$n2 - 1}] lappend quads [list $n0 $n1 $n2 $n3] } } return $quads } set idim 10 set jdim 10 set origin [list 0 -10 0] set rotAxis [pwu::Vector3 set 0 0 1] set totalAngle -90. set numLayers 21 set pts [getPoints $idim $jdim] set quads [getQuads $idim $jdim] set doms [pw::DomainUnstructured createFromPoints -quads $quads $pts] # Create face set face [pw::FaceUnstructured createFromDomains $doms] set facePntCnt [$face getPointCount] set facePnts [list] for {set i 1} {$i <= $facePntCnt} {incr i} { lappend facePnts [$face getPoint $i] } # Create extruded block set extBlk2 [pw::BlockExtruded create] # Add face $extBlk2 addFace $face set extPts [list] lappend extPts $facePnts for {set i 1} {$i < $numLayers} {incr i} { set angle [expr {$totalAngle * (double($i) / double($numLayers - 1))}] lappend extPts [rotateVec3 $facePnts $angle $rotAxis $origin] } # Create extruded block by setPoints $extBlk setPoints $extPts
$block isInteriorIndex < index | ijk_index >
This action checks to see if an index corresponds to a point in the interior of the block.
index | This optional parameter is the integer linear index of the grid point with the range [1, number of points]. |
ijk_index | This optional parameter is the ijk index of the point to get. |
Either index or ijk_index must be specified.
This action returns true if the index is an interior point.
$block getAdjacentIndices ?-linear? < index | ijk_index >
This action returns the indices that are directly connected to the specified index.
-linear | If this optional flag is specified, the results will be a list of integer linear indices regardless of the input form. |
index | This optional parameter is the integer linear index of the grid point with the range [1, number of points]. |
ijk_index | This optional parameter is the ijk index of the point to get. |
Either index or ijk_index must be specified.
This action returns a list of indices representing the adjacent coordinates. The form of each index will be the same as the input form. If index is used or -linear is specified, the result will be a list of integer linear indices. If ijk_index is used and -linear is not specified, the result will be a list of ijk indices.
$block getCellsUsingIndex ?-linear? < index | ijk_index >
This action returns the indices that are directly connected to the specified index.
-linear | If this optional flag is specified, the results will be a list of integer linear indices regardless of the input form. This is the default option and is present to maintain consistency with the form of the command used for pw::BlockStructured and pw::BlockExtruded objects. |
index | This optional parameter is the integer index of the target grid point; [1, number of points]. |
ijk_index | This optional parameter is the ijk index of the point to get. |
Either index or ijk_index must be specified.
This action returns a list of cell entries using the specified point. Each cell entry will be a list of point indices comprising the cell. The form of each point index will be the same as the input form. If index is used or -linear is specified, each cell entry will be a list of integer linear indices. If ijk_index is used and -linear is not specified, each cell entry will be a list of ijk indices.
$block getPosition ?-grid? < index | ijk_index >
This action gets the position in the defining space of the block at the given index.
-grid | This optional flag is notification to get the position at a grid point. This is the default. |
index | This optional parameter is the integer linear index of the point to get. |
ijk_index | This optional parameter is the ijk index of the point to get. |
This action returns a point giving the position on the block (may be in the form “u v dbentity”).
Either index or ijk_index must be specified.
Even though it is not needed, the -grid switch is included here to be consistent with the other grid entity getPosition methods. The following calls are equivalent:
$extblk1 getPosition -grid [list 1 2 3] $extblk1 getPosition [list 1 2 3]
pw::Block.getPosition pw::BlockStructured.getPosition pw::Connector.getPosition pw::Domain.getPosition pw::DomainStructured.getPosition
$block getXYZ ?-grid? < index | ijk_index >
This action gets the position of the block in model space at the given index.
-grid | This optional flag is notification to get the position at a grid point. This is the default. |
index | This optional parameter is the integer linear index of the point to get. |
ijk_index | This optional parameter is the ijk index of the point to get. |
This action returns an XYZ vector.
Either index or ijk_index must be specified.
Even though it is not needed, the -grid switch is included here to be consistent with the other grid entity getPosition methods. The following calls are equivalent:
$extblk1 getXYZ -grid 22 $extblk1 getXYZ 22
pw::Block.getXYZ pw::BlockStructured.getXYZ pw::Connector.getXYZ pw::Domain.getXYZ pw::DomainStructured.getXYZ
$block getCell < index | ijk_index >
This action gets the indices of the given cell.
index | This optional parameter is the linear integer index of the target cell. |
ijk_index | This optional parameter is the ijk index of the target cell. |
Either index or ijk_index must be specified.
This action returns an integer list of linear point indices if the index parameter is used, or list of ijk indices if the ijk_index parameter is used.
$block getFace < index | boundary >
This action gets the face at the given index or computational boundary.
index | This optional parameter is the integer index of the target face in the range [1, number of faces]. |
boundary | This optional parameter is the computational boundary string with options < JMinimum | JMaximum >. |
Either index or boundary must be specified.
This action returns a pw::FaceUnstructured object.
$block addFace face
This action adds a face to the block. Only a single face can be added to the block, and it must be added prior to extrusion.
face | This required parameter is the pw::FaceUnstructured to add. |
This action returns nothing.
$entity canReExtrude
This action returns true if the entity can be re-extruded.
none
This action returns a boolean value indicating if the entity can be re-extruded.
This example shows how to get a list of all entities that can be re-extruded.
Code
puts "Entities valid for re-extrusion:" set reExtEnts [list] foreach ent [pw::Grid getAll] { if {[$ent canReExtrude]} { lappend reExtEnts $ent puts " [$ent getName]" } }
$block setExtrusionSolverAttribute att_name att_value
This action sets the named extrusion solver attribute.
att_name | This required parameter is the name string of the target attribute. |
att_value | This required parameter is the attribute’s string, integer or float value. The value data-type is dependent on the target attribute. |
This action returns nothing.
<getExtrusionSolverAttribute>, Generic Extrusion Solver Attributes, Translational Extrusion Solver Attributes, Path Extrusion Solver Attributes, Rotational Extrusion Solver Attributes, Normal Extrusion Solver Attributes, Spacing Extrusion Solver Attributes
$block getExtrusionBoundaryCondition edge_con_pair
This action gets the boundary condition at a given connector region.
edge_con_pair | This required parameter is a two-element list consisting of the integer edge index and the integer connector index within the edge. |
This action returns the string name of the boundary condition, except in the case of DatabaseConstrained and AdjacentGrid. In those cases, this action returns a list containing the name of the boundary condition and the pertinent entities (pw::DatabaseEntity or pw::DomainStructured).
ConstantX | Grid points on the front maintain a constant X coordinate value. |
ConstantY | Grid points on the front maintain a constant Y coordinate value. |
ConstantZ | Grid points on the front maintain a constant Z coordinate value. |
FloatingX | Grid points on the front maintain a constant Y and Z coordinate value (only X floats). |
FloatingY | Grid points on the front maintain a constant Z and X coordinate value (only Y floats). |
FloatingZ | Grid points on the front maintain a constant X and Y coordinate value (only Z floats). |
ArbitraryPlane | Determines the plane in which the connector lies and constrains the grid points to that plane as the front advances. |
DatabaseConstrained | Grid points in the front are projected to one or more database surfaces using closest point projection method. |
AdjacentGrid | Grid points in the front are constrained to match the grid points in an existing domain. |
$block setExtrusionBoundaryCondition edge_con_pair boundary_condition ?entity_list?
This action sets the boundary condition at a given connector region.
edge_con_pair | This required parameter is a two-element list consisting of the integer edge index and the integer connector index within the edge. |
boundary_condition | This required parameter is the string boundary condition name. |
entity_list | This optional parameter must be provided for the AdjacentGrid or DatabaseConstrained conditions. For AdjacentGrid, it is a list of pw::DomainStructured. For DatabaseConstrained, it is a list of pw::DatabaseEntity. |
This action returns nothing.
$block get/setExtrusionSolverAttribute Mode < NormalAlgebraic | Path | Rotate | Translate >
This gets/sets the extrusion mode of this block. This has no effect or returns the default if the block is not suitable for extrusion or re-extrusion.
A string with options < NormalAlgebraic | Path | Rotate | Translate >.
The default for this attribute is NormaAlgebraic.
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute StopAtHeight < height | Off | Default >
This specifies or disables the height stop condition.
A float in the range (0, inf] or a string with options < Off | Default >.
The default for this attribute is Off.
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute StopAtAspectRatio < ratio | Off | Default >
This specifies or disables the max aspect ratio stop condition.
A float in the range (1.0, inf] or a string with options < Off | Default >.
The default for this attribute is Off.
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute StopAtSkewAngle < angle | Off | Default >
This specifies or disables the min skew angle stop condition.
A float in the range (0, inf] or a string withi options < Off | Default >.
The default for this attribute is Off.
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute StopAtPositiveSkewJacobian < Default | Off | bool_value >
This enables / disables the positive skew Jacobian stop condition.
A boolean or string with options < Default | Off > where Off or false disables the positive skew Jacobian stop condition.
The default for this attribute is true.
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute StopAtZeroJacobian < Default | Off | bool_value >
This enables / disables the zero Jacobian stop condition.
A boolean or string with options < Default | Off > where Off or false disable the zero Jacobian stop condition.
The default for this attribute is true.
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute StopAtNegativeSkewJacobian < Default | Off | bool_value >
This enables / disables the negative skew Jacobian stop condition.
A boolean or string with options < Default | Off > where Off or false disable the negative skew Jacobian stop condition.
The default for this attribute is true.
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute StopAtNegativeJacobian < Default | Off | bool_value >
This enables / disables the negative Jacobian stop condition.
A boolean or string with options < Default | Off > where Off or false disable the negative Jacobian stop condition.
The default for this attribute is true.
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute DirectionFlipped flipped
This specifies whether the extrusion direction is flipped.
A boolean where true indicates the extrusion direction is reversed.
The default for this attribute is false.
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute PlaneAngleTolerance < Default | tolerance >
This specifies the angle tolerance for determining when an arbitrary plane BC is considered equal to a Cartesian plane BC.
A string with the value < Default > or a float in the range [0.0, 90.0).
The default for this attribute is 0.0.
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute PlaneDeviationTolerance < Default | tolerance >
This specifies the deviation tolerance for determining when an arbitrary plane BC is considered to be planar.
A string with the value < Default > or a float in the range [0.0, inf).
The default for this attribute is 0.0.
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute TranslateDirection direction
This gets/sets the direction vector for translate extrusion.
A direction vector.
The default for this attribute is (1, 0, 0).
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute TranslateDistance distance
This gets/sets the distance for translate extrusion.
A float indicating the total distance for the translation extrusion. The valid range is any value greater than 0.0.
The default for this attribute is 1.0.
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute PathConnectors <con_list>
This gets/sets a list of connectors for the path.
A list of pw::Connector optionally preceded with a string with value < Forward | Reverse > indicating the direction of the chain of connectors. When querying, the direction is always the first entry in the list. The remaining list members are the connectors comprising the path.
The default for this attribute is an empty list.
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block getExtrusionSolverAttribute PathMaximumSteps
This is the maximum number of steps available as the path extrusion is configured.
An integer indicating the computed maximum number of avaiable path extrusion steps.
This attribute is read only.
<getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute PathUseTangent use
This gets/sets the flag indicating if the path extrusion should be rotated tangentally to the path connector.
A boolean indicating whether the path extrusion should be rotated.
The default for this attribute is true.
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute RotateAxisStart begin_xyz
This gets/sets the starting point of the rotation axis for rotate extrusion.
An xyz vector for the start of the rotation axis.
The default for this attribute is (0, 0, 0).
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute RotateAxisEnd end_xyz
This gets/sets the ending point of the rotation axis for rotate extrusion.
An xyz vector for the end of the rotation axis.
The default for this attribute is (1, 0, 0).
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute RotateAngle degrees
This gets/sets the angle (degrees) for rotational extrusion.
A float in the range [0.0, 360].
The default for this attribute is 0.0.
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute NormalInitialStepSize < Default | size >
This gets/sets the size of the first marching step to value.
A string with the value < Default > or a float in the range (0.0, infinity).
The default for this attribute is 0.01.
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute NormalMaximumStepSize < Default | size >
This gets/sets the upper limit for the marching step size.
A string with the value < Default > or a float in the range [0.0, infinity) where 0.0 disables the upper limit.
The default for this attribute is 0.0.
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute NormalMinimumStepSize < Default | size >
This gets/sets a upper limit for the marching step size.
A string with the value < Default > or a float in the range [0.0, infinity) where 0.0 disables the upper limit.
The default for this attribute is 0.0.
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute NormalCornerFactor factor
This gets/sets a scale factor for reducing the local marching step in convex regions and increasing the marching step size in concave regions.
A string with the value < Default > or a float in the range [1.0, 100).
The default for this attribute is 5.0.
This attribute only affects algebraic normal extrusion.
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute NormalDirectionRelaxation < Default | factor >
The normals in the marching direction are smoothed locally using a LaPlace filter. This option gets/sets the relaxation factor for the filter.
A string with the value < Default > or a float in the range [0.0, 1.0].
The default for this attribute is Default.
This attribute only affects algebraic normal extrusion.
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute NormalDirectionRelaxationIterations < Default | iterations >
The normals in the marching direction are smoothed locally using a Lalace filter. This option gets/sets the number of marching iterations for the filter.
A string with the value < Default > or an integer in the range [0, infinity).
The default for this attribute is Default.
This attribute only affects algebraic normal extrusion.
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute NormalStepSizeRelaxation < Default | factor >
This gets/sets the relaxation smoothing factor. The marching step size is smoothed locally using a LaPlace filter.
A string with the value < Default > or a float in the range [0.0, 1.0].
The default for this attribute is Default.
This attribute only affects algebraic normal extrusion.
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute NormalStepSizeRelaxationIterations < Default | iterations >
This gets/sets the number of marching iterations for the LaPlace filter. The marching step size is smoothed locally using a LaPlace filter.
A string with the value < Default > or an integer in the range [0, infinity).
The default for this attribute is Default.
This attribute only affects algebraic normal extrusion.
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute NormalFeatureSmoothing < Default | bool_value >
This specifies whether knife edge features are smoothed.
A string with the value < Default > or a boolean where false diables smoothing of knife edge features.
The default for this attribute is true.
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute NormalQualitySmoothing < Default | bool_value >
This enables/disables normal smoothing based on a quality metric.
A string with the value < Default > or a boolean where false disables normal quality-based smoothing.
The default for this attribute is true.
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute NormalInteriorOnlySmoothing < Default | bool_value >
This enables/disables interior only quality based smoothing.
A string with the value < Default > or a boolean where false disables interior-only quality-based smoothing.
The default for this attribute is false.
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute NormalMaximumIterationsSmoothing < Default | maxIters >
This specifies/retrieves the maximum number of smoothing iterations.
A string with the value < Default > or an integer in the range (1, infinity).
The default for this attribute is 5.
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute NormalBlendExponentSmoothing < Default | blendExp >
This specifies/retrieves the blend exponent for smoothing. A value of zero uses the local minimum cell quality metric at the node normal. A value of 2 uses the average cell quality metric at the node normal. A value in between is a blending of the two approaches.
A string with the value < Default > or a float in the range (0.0, 2.0).
The default for this attribute is 2.0.
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute SpacingMode < Algebraic | Connector | Default >
This gets/sets the spacing configuration for the extrusion. “Algebraic” mode uses a linear spacing for translational, rotational and path extrusions. For normal extrusions, the “Algebraic” mode spaces the grid by applying a geometric growth controlled by SpacingGrowthFactor.
A string with options < Algebraic | Connector | Default >.
The default for this attribute is Algebraic.
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute SpacingGrowthFactor < Default | factor >
This specifies how the marching step size will grow from its initial value.
A string with the value < Default > or a float in the range (0.0, infinity).
The default for this attribute is 1.10.
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
$block get/setExtrusionSolverAttribute SpacingConnectors spacing_pairs
This gets/sets the collection of connector-object and subconnector-index pairs that specify how the marching step size will grow from its initial value.
This attribute is a list of subconnectors where each entry is a list of pw::Connector object and integer subconnector index. If the pw::Connector only has one subconnector, the index can be omitted. The list can be optionally begin with the literal string Forward or Reverse, indicating the direction of the chain of subconnectors. This is only necessary when the list of subconnectors is comprised of a single subconnector. Otherwise, the direction can be determined from the order of the subconnector list.
The default for this attribute is an empty list.
setExtrusionSolverAttribute, <getExtrusionSolverAttribute>
This action creates a new extruded block object.
pw::BlockExtruded create
This action, given at least one cell-type array and an extruded path of a list of lists of xyz vector values, creates an extruded block.
pw::BlockExtruded createFromPoints ?-triangles tricellArray? ?-quadrilaterals quadCellArray? ?-splitAngle angle? ?-splitMultiLoop? extrudePoints
This action gets the position of a block grid point.
$block getPoint ?-constrained constrainedVar? < index | ijk_index >
This action sets the position of a block interior grid point.
$block setPoint < index | ijk_index > point
This action extrudes the block along the path specified by the extrudePoints list.
$block setPoints extrudePoints
This action checks to see if an index corresponds to a point in the interior of the block.
$block isInteriorIndex < index | ijk_index >
This action returns the indices that are directly connected to the specified index.
$block getAdjacentIndices ?-linear? < index | ijk_index >
This action returns the indices that are directly connected to the specified index.
$block getCellsUsingIndex ?-linear? < index | ijk_index >
This converts a block’s ijk index to a linear index.
$blk getLinearIndex ijk_index
This action gets the position in the defining space of the block at the given index.
$block getPosition ?-grid? < index | ijk_index >
This action gets the position of the block in model space at the given index.
$block getXYZ ?-grid? < index | ijk_index >
This action gets the indices of the given cell.
$block getCell < index | ijk_index >
This action gets the face at the given index or computational boundary.
$block getFace < index | boundary >
This action adds a face to the block.
$block addFace face
This action returns true if the entity can be re-extruded.
$entity canReExtrude
This action sets the named extrusion solver attribute.
$block setExtrusionSolverAttribute att_name att_value
This action gets the boundary condition at a given connector region.
$block getExtrusionBoundaryCondition edge_con_pair
This action sets the boundary condition at a given connector region.
$block setExtrusionBoundaryCondition edge_con_pair boundary_condition ?entity_list?
This gets/sets the extrusion mode of this block.
$block get/setExtrusionSolverAttribute Mode < NormalAlgebraic | Path | Rotate | Translate >
This specifies or disables the height stop condition.
$block get/setExtrusionSolverAttribute StopAtHeight < height | Off | Default >
This specifies or disables the max aspect ratio stop condition.
$block get/setExtrusionSolverAttribute StopAtAspectRatio < ratio | Off | Default >
This specifies or disables the min skew angle stop condition.
$block get/setExtrusionSolverAttribute StopAtSkewAngle < angle | Off | Default >
This enables / disables the positive skew Jacobian stop condition.
$block get/setExtrusionSolverAttribute StopAtPositiveSkewJacobian < Default | Off | bool_value >
This enables / disables the zero Jacobian stop condition.
$block get/setExtrusionSolverAttribute StopAtZeroJacobian < Default | Off | bool_value >
This enables / disables the negative skew Jacobian stop condition.
$block get/setExtrusionSolverAttribute StopAtNegativeSkewJacobian < Default | Off | bool_value >
This enables / disables the negative Jacobian stop condition.
$block get/setExtrusionSolverAttribute StopAtNegativeJacobian < Default | Off | bool_value >
This specifies whether the extrusion direction is flipped.
$block get/setExtrusionSolverAttribute DirectionFlipped flipped
This specifies the angle tolerance for determining when an arbitrary plane BC is considered equal to a Cartesian plane BC.
$block get/setExtrusionSolverAttribute PlaneAngleTolerance < Default | tolerance >
This specifies the deviation tolerance for determining when an arbitrary plane BC is considered to be planar.
$block get/setExtrusionSolverAttribute PlaneDeviationTolerance < Default | tolerance >
This gets/sets the direction vector for translate extrusion.
$block get/setExtrusionSolverAttribute TranslateDirection direction
This gets/sets the distance for translate extrusion.
$block get/setExtrusionSolverAttribute TranslateDistance distance
This gets/sets a list of connectors for the path.
$block get/setExtrusionSolverAttribute PathConnectors <con_list>
This is the maximum number of steps available as the path extrusion is configured.
$block getExtrusionSolverAttribute PathMaximumSteps
This gets/sets the flag indicating if the path extrusion should be rotated tangentally to the path connector.
$block get/setExtrusionSolverAttribute PathUseTangent use
This gets/sets the starting point of the rotation axis for rotate extrusion.
$block get/setExtrusionSolverAttribute RotateAxisStart begin_xyz
This gets/sets the ending point of the rotation axis for rotate extrusion.
$block get/setExtrusionSolverAttribute RotateAxisEnd end_xyz
This gets/sets the angle (degrees) for rotational extrusion.
$block get/setExtrusionSolverAttribute RotateAngle degrees
This gets/sets the size of the first marching step to value.
$block get/setExtrusionSolverAttribute NormalInitialStepSize < Default | size >
This gets/sets the upper limit for the marching step size.
$block get/setExtrusionSolverAttribute NormalMaximumStepSize < Default | size >
This gets/sets a upper limit for the marching step size.
$block get/setExtrusionSolverAttribute NormalMinimumStepSize < Default | size >
This gets/sets a scale factor for reducing the local marching step in convex regions and increasing the marching step size in concave regions.
$block get/setExtrusionSolverAttribute NormalCornerFactor factor
The normals in the marching direction are smoothed locally using a LaPlace filter.
$block get/setExtrusionSolverAttribute NormalDirectionRelaxation < Default | factor >
The normals in the marching direction are smoothed locally using a Lalace filter.
$block get/setExtrusionSolverAttribute NormalDirectionRelaxationIterations < Default | iterations >
This gets/sets the relaxation smoothing factor.
$block get/setExtrusionSolverAttribute NormalStepSizeRelaxation < Default | factor >
This gets/sets the number of marching iterations for the LaPlace filter.
$block get/setExtrusionSolverAttribute NormalStepSizeRelaxationIterations < Default | iterations >
This specifies whether knife edge features are smoothed.
$block get/setExtrusionSolverAttribute NormalFeatureSmoothing < Default | bool_value >
This enables/disables normal smoothing based on a quality metric.
$block get/setExtrusionSolverAttribute NormalQualitySmoothing < Default | bool_value >
This enables/disables interior only quality based smoothing.
$block get/setExtrusionSolverAttribute NormalInteriorOnlySmoothing < Default | bool_value >
This specifies/retrieves the maximum number of smoothing iterations.
$block get/setExtrusionSolverAttribute NormalMaximumIterationsSmoothing < Default | maxIters >
This specifies/retrieves the blend exponent for smoothing.
$block get/setExtrusionSolverAttribute NormalBlendExponentSmoothing < Default | blendExp >
This gets/sets the spacing configuration for the extrusion.
$block get/setExtrusionSolverAttribute SpacingMode < Algebraic | Connector | Default >
This specifies how the marching step size will grow from its initial value.
$block get/setExtrusionSolverAttribute SpacingGrowthFactor < Default | factor >
This gets/sets the collection of connector-object and subconnector-index pairs that specify how the marching step size will grow from its initial value.
$block get/setExtrusionSolverAttribute SpacingConnectors spacing_pairs
This action gets the position in the defining space of the block at the given index.
$block getPosition ?-grid? index
This action gets the position in the defining space of the block at the given index.
$block getPosition ?-grid? < index | ijk_index >
This action gets a position on a connector in the defining space of the connector.
$con getPosition ?< -grid | -control | -parameter | -arc | -X | -Y | -Z | -closest >? value
This action gets a position in the defining space of the domain.
$dom getPosition ?-grid? value
This action gets the position in the defining space of the domain at the given index.
$dom getPosition ?-grid? value
This action gets the position of the block in model space at the given index.
$block getXYZ ?-grid? index
This action gets the position of the block in model space at the given index.
$block getXYZ ?-grid? < index | ijk_index >
This action gets the model space position on a connector.
$con getXYZ ?< -grid | -control | -parameter | -arc | -X | -Y | -Z | -closest >? value
This action gets a position of the domain in model space.
$dom getXYZ ?-grid? value
This action gets the position of the domain in model space at the given index.
$dom getXYZ ?-grid? value