All ic_hex commands are used as a simple string without argument grouping. If an argument is grouped with curly braces, quotes, or square brackets, an eval should be placed before the command to remove one level of grouping.
Wherever an index range is needed as an argument, only specify the ranges which are limiting indices, not fully displayed indices. For example, for a box with max indices of 3 in i, j, and k (including VORFN), if only j and k are constrained, this argument may look like this: 0:2,3 2:1,3. The 1 index is not specified because it is not limited.
Use [range_string] to return the current active index range.
Wherever a list of volume parts is needed as an argument, [volume_activename_string] can be substituted for the current active parts that contain blocks. For example, the following command returns all visible vertex numbers:
eval ic_hex_select_nodes 1 all [range_string] m
[volume_activename_string] node_numbers
ic_hex_check_licensing
Checks if hexa licensing is enabled.
ic_hex_release_licensing
Check back hexa licensing.
ic_hex_init
Initialize the hexlib and graphics adapter. Usage: ic_hex_init
ic_hex_ensure_is_loaded
Returns 1 if the call to the function loads the hex library. Usage: ic_hex_ensure_is_loaded
ic_hex_dladaptobj_is_loaded
Returns 1 if hex graphics adapter is initialized. Usage: ic_hex_dladaptobj_is_loaded
ic_hex_remove_dladaptobj args
Remove hex graphics object if it is initialized. Usage: ic_hex_remove_dladaptobj
ic_hex_update_dladaptobj args
Updates dladaptobj.
ic_hex_is_modified onoff [""]
Checks to see if blocking has been modified, optional argument onoff 0/1 sets the blocking as not modified or modified.
ic_hex_curve_radius args
Returns the radius of the curve. Restrictions: Valid only for periodic models. Usage: ic_hex_curve_radiuscurve_name
ic_hex_curve_length args
Returns the arc length of the curve. Usage: ic_hex_curve_lengthcurve_name
ic_hex_point_distance args
Returns the distance between the two prescribed points. Usage: ic_hex_point_distancep1p2
ic_hex_error_messages args
Enables/disables the display of error messages. Usage: ic_hex_error_messages on|off|1|0
ic_hex_reference_blocking args
Usage:ic_hex_reference_blockingref_blocking
ic_hex_set_ref_uns_mesh args
Usage: ic_hex_set_ref_uns_meshdomain_file
ic_hex_update_ref_uns_mesh args
Usage: ic_hex_update_ref_uns_mesh
ic_hex_set_uns_face_mesh args
Usage: ic_hex_uns_face_meshuns_face
ic_hex_surface_blocking args
Initializes a 2D block from every surface. Requires build topology first.
Usage: ic_hex_surface_blockingmaterialblock_type-min_edgevalue
Argument Descriptions:
material | the blocks will belong to this part. -inherited will put each block into the part of the surface it came from |
block_type | determines the unstructured and mapped blocks. Can be -mapped, -mixed, or -unstruct. |
-min_edge | merge block if any edge of a block is less than the following number. Only applies if the -respect_non_dormant argument is not added |
value | value for -min_edge |
Additional arguments:
-respect_non_dormant | blocks will not be merged if this argument is appended |
-surfaces | only initializes the listed surfaces. This is followed by a list of surface names. |
ic_hex_multizone_blocking args
Initializes a 3D blocking. Requires build topology first. Geometry must contain a solid (from imported geometry) or a body.
Usage: ic_hex_multizone_blocking-inherited-block_type-min_edgevalue1-uface_typevalue2-volfampart
e.g.,: ic_hex_multizone_blocking -inherited -block_type -min_edge value1
-automatic_sweep -uface_type value2 -volfam part
Argument descriptions:
-block_type can be robust or swept.
-min_edge merge blocks if any edge of a block is less than the value1 number. Only applies if the -respect_non_dormant argument is not added.
value1 Value for -min_edge.
-uface_type can be one of several_tris or all_tris or all_quads.
value2 Value for -uface_type.
Additional arguments:
-respect_non_dormant | Blocks will not be merged if this argument is appended. |
-automatic_sweep | In case of block_type swept required. |
-swept_surfaces | The surfaces for the swept blocks. This is followed by a list of surface names. |
ic_hex_virtual_topo_blocking args
Creates 2D surface blocking for AutoVT
ic_hex_twod_to_threed args
Fills in 2D surface blocking with volume blocks. Usage: ic_hex_twod_to_threedpart[-basic]
part is the part that the new volume blocks will be created in.
If -basic is appended, the volume blocks will all be unstructured blocks if it cannot figure out a simple structured fill. If -basic if omitted, it will try to break up the domain in order to get as many structured blocks as possible.
The basic fill is the most robust and most used. The 2D blocking must form a closed volume of surface blocks.
ic_hex_make_edge_smooth args
Usage: ic_hex_make_edge_smoothn1n2
ic_hex_reset_ogrid_orthogonality args
Resets the Ogrid orthogonality between a vertex and the orthogonal vertex along Ogrid direction.
Usage: ic_hex_reset_ogrid_orthogonalityn1n2[parts]
ic_hex_blank_blocks args
Blanks blocks. Usage: ic_hex_blank_blocks [marked] [reverse]
ic_hex_blank_selected_blocks use_output use_blank blocks
Blank selected blocks. Usage: ic_hex_blank_selected_blocksuse_output use_blank blocks. Set use_output to "1" if > is set. Set use_blank to "1" if > is set. blocks is a list of block numbers.
ic_hex_unblank_blocks args
Unblanks blocks. Usage: ic_hex_unblank_blocks [marked] [reverse]
ic_hex_check_face_radii args
Usage: ic_hex_check_face_radiin1n2n3n4
ic_hex_update_node_indices args
Updates the node indices. Usage: ic_hex_update_node_indices
ic_hex_update_node_locations args
Updates the node locations based on geometry tags and projection of vertices. Usage: ic_hex_update_node_locations [parts]
ic_hex_remove_unused_grid_lines args
Removes unused grid lines from the blocking
Usage: ic_hex_remove_unused_grid_lines [-only_one] [-version]
ic_hex_set_edge_tangents args
Sets the tangents on an edge Usage: ic_hex_set_edge_tangentsn1n2tan1_infotan2_info
Where: tan1_info would be one of following: tan1 ortho fac1 tangency_factor tan1 tangency_point_xyz fac1 tangency_factor "" and tan2_info would be one of following: tan2 ortho fac2 tangency_factor tan2 tangency_point_xyz fac2 tangency_factor "" e.g. set n1 22 set n2 65 eval ic_hex_set_edge_tangents $n1 $n2 tan1 ortho fac1 0.33 tan2 0 0 1 fac2 0.33
ic_hex_smooth_edges_at_vertex args
Makes the edges coming into a vertex smooth. Usage: ic_hex_smooth_edges_at_vertexnode_numfamilies
node_num could be replaced by ijk_range for example, set n 26 eval
ic_hex_smooth_edges_at_vertex $n [volume_activename_string]
ic_hex_edge_node_dim args
Returns the dimension and index between two vertices. Usage: ic_hex_edge_node_dimn1n2
ic_hex_get_edge_node args
Returns the other node of the edge dimension. Usage: ic_hex_get_edge_nodeijk dim for example, ic_hex_get_edge_node " 1 2 1 " 0
ic_hex_point_location args
Returns the location of a prescribed point. Usage: ic_hex_point_locationname
ic_hex_get_surface_family args
Returns the family name of a surface. Usage: ic_hex_get_surface_familysurface_name
ic_hex_define_family args
Defines a family by a name. Usage: ic_hex_define_familyname
ic_hex_set_family_projection args
Allows you to enable/disable projection to a part.
Usage: ic_hex_set_family_projectionpartname0|1
for example, ic_hex_set_family_projection SOLID 0
indicates that projection to the part SOLID has been disabled. Similarly, ic_hex_set_family_projection FLUID 1
indicates that
projection to the part FLUID has been enabled.
ic_hex_auto_split_edge args
Splits an edge into as many points as it will be meshed. Usage: ic_hex_auto_split_edge {n1 n2} | {-all [-spline] [dim : low , hi] [fam1 fam2 ...]}
ic_hex_split_edge args
Splits an edge at the specified location. Usage: ic_hex_split_edge {n1 n2} {n} {loc}
for example, ic_hex_split_edge 21 25 0 1.7 8.5 0
implies that edge 21–25 will be split at the location (1.7, 8.5, 0). The value
n which is 0
in this example indicates that this is the first split between the
vertices 21 (start vertex) and 25 (end vertex). Alternatively, a value of 1
would indicate that the split is the second between
the specified vertices, and so on.
Tip: To use an existing point to indicate the location to be used, you can use the following in the replay script:
set name pnt.00 ;# point must exist set loc [ic_geo_get_point_location $name] set x [lindex $loc 0] set y [lindex $loc 1] set z [lindex $loc 2] ic_hex_split_edge 21 25 0 $x $y $z
ic_hex_undo_major_start args
Puts a major start in the undo log and save model. Usage: ic_hex_undo_major_starttext
ic_hex_undo_major_end args
Puts a major end in the undo log. Usage: ic_hex_undo_major_endtext
ic_hex_add_boco args
Adds a boundary condition to a family. Usage: ic_hex_add_bocofamily [value1 value2 ...]
ic_hex_get_block_family args
Gets the family (part) of a block. Usage: ic_hex_get_block_familyblock_num
ic_hex_read_domains args
Reads the node locations from the domains directory. Usage: ic_hex_read_domainsm1m2 ...
ic_hex_reverse_dimension args
Reverses the global orientation of a dimension. Usage: ic_hex_reverse_dimension [dim]
ic_hex_write_family_boco args
Writes the family boco file. Usage: ic_hex_write_family_boco [filename]
ic_hex_clear_bocos args
Clears the bocos on some or all families Usage: ic_hex_clear_bocos [fam1 ...]
ic_hex_align_superblocks args
Aligns blocks with a given superblock. Usage: ic_hex_align_superblocksblock_num
ic_hex_vertex_ijk args
Returns the i j k of a vertex. Usage: ic_hex_vertex_ijkvertex_num
ic_hex_vertex_number args
Returns the vertex number from the vertex index.
args is a vertex index in format { i j k etc }. There must be spaces on both sides of each number.
ic_hex_get_block_vertices args
Returns the 8 corner vertices of the block. Usage: ic_hex_get_block_verticesblock_num
ic_hex_get_vertex_blocks args
Returns block numbers of all blocks attached to the vertex. Usage: ic_hex_get_vertex_blocksvertex_num
ic_hex_get_edge_blocks args
Returns block numbers of all blocks attached to the edge. An edge is defined by its end vertex numbers.
Usage: ic_hex_get_edge_blocksvertex_num1vertex_num2
Usage: ic_hex_get_edge_blocks{ vertex_num1 vertex_num2 }
ic_hex_get_face_blocks args
Returns block numbers of attached blocks that contain the specified face. A face is defined by its 4 corner vertex numbers.
Usage: ic_hex_get_face_blocksvertex_num1vertex_num2vertex_num3vertex_num4
Usage: ic_hex_get_face_blocks{ vertex_num1 vertex_num2 vertex_num3 vertex_num4 }
ic_hex_get_vertex_faces args
Returns faces attached to the specified vertex. A face is defined by its 4 corner vertex numbers.
Usage: ic_hex_get_vertex_facesvertex_num
ic_hex_get_edge_faces args
Returns faces attached to the specified edge. A face is defined by its 4 corner vertex numbers. An edge is defined by its end vertex numbers.
Usage: ic_hex_get_edge_facesvertex_num1vertex_num2
ic_hex_get_vertex_edges args
Returns edges attached to the specified vertex. An edge is defined by its end vertex numbers.
Usage: ic_hex_get_vertex_edgesvertex_num
ic_hex_uncollapse_edge args
Uncollapses an edge of a degenerate block. Usage: ic_hex_uncollapse_edgevertex_num
ic_hex_link_shape args
Links the shape of one edge to another. Usage: ic_hex_link_shapetar_vert1tar_vert2src_vert1src_vert2factor
tar_vert1 and tar_vert2 are the end vertices of the target edge. src_vert1 and src_vert2 are the end vertices of the source edge. factor is a multiple of the curvature. 1 will produce the exact same shape. A decimal will produce less curvature, and a number greater than one will produce more curvature.
ic_hex_link_shape_dimension args
Links the shape of all edges across the specified index dimension
Usage: ic_hex_link_shape_dimensiondimvertex1vertex2factorindex_rangeparts
Argument descriptions:
dim | index dimension where i=0, j=1, k=2, O3=3, etc.. |
vertex1 | vertex number belonging to one of the source edges |
vertex2 | vertex number belonging to one of the target edges |
factor | multiplication factor of the shape curvature. "1" will produce the same curvature. |
index_range | operates only on this index_range. Use [range_string] to return the current active index range. |
parts | the list of parts that contain blocks. Only edges belonging to these blocks will be shaped. Use [volume_activename_string] to return all the active part names containing blocks. |
ic_hex_topo_vertex_numberargs
Returns the topological number of a face. Usage: ic_hex_topo_vertex_numbern1
ic_hex_topo_edge_number args
Returns the topological number of an edge. Usage: ic_hex_topo_edge_number[output_blocks]n1n2
ic_hex_list_edge_constraints args
Returns the constraints set on an edge. Usage: ic_hex_list_edge_constraintsn1n2
ic_hex_topo_face_number args
Returns the topological number of a face. Usage: ic_hex_topo_face_number [output_blocks] n1n2
ic_hex_topo_face_number_list args
Returns the topological numbers of a list of faces. Usage: ic_hex_topo_face_number_list [output_blocks] "n1n2n1n2 ..."
ic_hex_get_super_faces_topo args
Returns the topological numbers of all existing faces. Usage: ic_hex_get_super_faces_topo [output_blocks]
ic_hex_change_mouse_buttons args
Changes mouse buttons for Hexa. Usage: ic_hex_change_mouse_buttonsrotatetranslatescalescale_dir
ic_hex_global_smooth args
Runs the global hex smoother on the blocking. Usage: ic_hex_global_smoothfamilies [fam1 fam2 fam3 ...]
ic_hex_edge_ijk args
Usage: ic_hex_edge_ijktopo_num
ic_hex_gls_init args
Usage: ic_hex_gls_initname
ic_hex_display_ijk_region args
Display faces between different materials.
Usage: ic_hex_display_ijk_region [topo_dom_no dom] [ijk_reg n1 n2 n3 n4 n5 n6] [solid]
ic_hex_delete_blocks args
Deletes blocks permanently from the blocking.
Usage: ic_hex_delete_blocks {ijk1 ijk2} | marked | {numbers n1 n2 ...} | {blanked fam1 fam2 ...} [output_blocks]
ic_hex_mesh_dimension args
Gets the dimension of the blocking (2=2D Blocking or 3=3D Blocking). Usage: ic_hex_mesh_dimension
ic_hex_dim_to_mesh args
Gets the meshed dimension of the blocking (1,2,2.5 or 3). Usage: ic_hex_dim_to_mesh
ic_hex_create_block args
Creates a new block.
Usage: ic_hex_create_blockpart_namen1n2n3n4n5n6n7n8active_parts
Usage: ic_hex_create_blockpart_namen1n2n3n4active_parts (for a 2D blocking)
e.g.,: eval ic_hex_create_block SOLID 134 135 128 129 110
111 104 105 [volume_activename_string]
For the two opposing rectangular faces of the 3D block, n2 directly opposes n1, n4 directly opposes n3, n6 directly opposes n5, and n8 directly opposes n7
Any of n1 - n8 can be replaced with an {x y z} location
ic_hex_create_sheet args
Creates a 2D sheet in 3D Blocking.
Usage: same as ic_hex_create_block
ic_hex_create_unstruct_sheet args
Creates a 2D unstructured sheet in 3D Blocking.
ic_hex_merge_sheet_with_unstruct args
Merges the sheet block inside a free block.
Usage: ic_hex_merge_sheet_with_unstructfree_blocksheet_block
ic_hex_create_block_primitive args
Creates a block primitive. Usage: ic_hex_create_block_primitivetypefamily c1 c2 [c3] p1 p2 [p3] s1 s2 [s3]
ic_hex_create_yblock args
Creates a new Y-block.
Usage: ic_hex_create_yblockpart_namen1n2n3n4n5n6active_parts
e.g.,: eval ic_hex_create_yblock SOLID 134 135 110 128 129
104 [volume_activename_string]
The first 3 vertices belong to the triangular face of one side, and the last 3 vertices are for the triangular faces of the opposite side
Any of n1 - n6 can be replaced with an {x y z} location
ic_hex_create_degen_block args
Creates a new degenerate block.
Usage: ic_hex_create_degen_blockpart_namen1n2n3n4n5n6active_parts
e.g.,: eval ic_hex_create_degen_block SOLID 134 135 110 128
129 104 [volume_activename_string]
The mesh will converge to n1 and n4. Any of n1 - n6 can be replaced with an {x y z} location.
ic_hex_create_unstruct_block args
Creates a swept block.
Usage: ic_hex_create_unstruct_blockpart_namen1n2n3n4n5n6active_parts
Usage: ic_hex_create_unstruct_blockpart_namen1n2n3 ... nn active_parts (for a 2D blocking)
e.g.,: eval ic_hex_create_unstruct_block SOLID 134 135 110
128 129 104 [volume_activename_string]
For the two opposing triangular faces of the block, n2 directly opposes n1, n4 directly opposes n3, and n6 directly opposes n5. If a block is converted to unstructured, rather than created, it is not limited to a 6-vertex block in shape.
ic_hex_split_unstruct_block args
Split a free block face.
Usage: ic_hex_split_unstruct_blockvertex1vertex2
vertex1 and vertex2 must be corner vertices of the face to split.
ic_hex_split_unstruct_block3d args
Splits a 3D unstructured block into different volume regions.
Usage: ic_hex_split_unstruct_block3dublock_numby_sheetssheet1sheet2...
Usage: ic_hex_split_unstruct_block3dublock_numloop1sheet1
Usage: ic_hex_split_unstruct_block3dublock_numloop1sheet1loop2sheet2
ic_hex_select_blocks args
Returns block numbers in the range and parts specified.
Usage: ic_hex_select_blocks num display method index_range m parts
e.g.,: ic_hex_select_blocks 1 no_highlight all
[range_string] m [volume_activename_string]
Argument descriptions:
num | usually 1 |
display | no_highlight to not highlight the block |
method | all, or inpoly p1 p2 p3 p4, where each p is the xyz of a point |
index_range | specifies the index range to limit selection. Use [range_string] to return the current active index range |
m | indicates the following arguments are part names |
parts | the list of parts that contain blocks. Use [volume_activename_string] to return all the active part names containing blocks |
The following arguments may be appended:
-not_blanked | Normally, blanked blocks do not affect which vertices are returned. This option ensures vertices turned off due to blanked blocks are not returned. |
super | |
-keep_unstruct3d |
ic_hex_default_bunching_law args
Sets the default bunching law and ratio
Usage: ic_hex_default_bunching_lawlawratio
Returns without any argument the current bunching law.
ic_hex_merge_blocking args
Merge blocking topologies
Usage: ic_hex_merge_blockingtopo1topo2parts-remove_unused_grid_lines-eps<tolerance>-separate_classes-version 110
Where,
topo1 and topo2 are the topologies to merge
parts is the list of parts that contain blocks
Use [volume_activename_string] to return all the active part names containing blocks.
tolerance specifies a relative tolerance for merging the topologies
ic_hex_merge_face args
Merges faces.
Usage by face corners: ic_hex_merge_face[ijk of vertex_num1][ijk of vertex_num2]
Usage by block faces: ic_hex_merge_face-facesface1face2
ic_hex_print_topo_tree args
Returns the existing topology names.
ic_hex_extrude_blocks args
Converts a 2D blocking into a 3D blocking by translation or rotation.
Usage: ic_hex_extrude_blockstranslatedir
Usage: ic_hex_extrude_blocksrotatecenteraxisangle
e.g.,: ic_hex_extrude_blocks rotate 0 0.05 0 1 0 0 45
-ncopies 1 -npoints 10 collapse_axis -extrude_points -extrude_curves
Argument descriptions:
dir | vector which describes direction and magnitude of translation |
center | xyz location of center of rotation |
axis | vector which gives the rotation axis direction |
angle | angle of rotation in degrees |
Additional arguments for the rotation method:
-ncopies | Each 3D wedge will be incrementally copied around the axis. A number must follow this argument. The first extrusion is included in the number. 4 copies of 90 degrees will produce a complete 360 degrees. |
-npoints | The number of nodes on extruded edges in the circumferential direction. A number must follow this argument. |
collapse_axis | Merges nodes at the axis. Choose this if vertices lie on the axis. |
-extrude_points | The points of point-projected vertices (red vertices) will be extruded into curves. |
-extrude_curves | The curves of curve-projected edges (green edges) will be extruded into surfaces. |
ic_hex_switch_blocking args
Switch to another blocking topology
Usage: ic_hex_switch_blockingtopo_name
ic_hex_merge_blocks args
Merge two or more mapped or free blocks.
Usage 2D:
ic_hex_merge_blocksblock_numublock_num
ic_hex_merge_blocksublock_num1ublock_num2
ic_hex_merge_blocksblock_num1block_num2block_num3 ...
Usage 3D:
ic_hex_merge_blocksblock_num1block_num2block_num3 ...
ic_hex_merge_blocksublock_num1ublock_num2ublock_num3 ...
where block_num means mapped block and ublock_num means free block.
ic_hex_get_proj_curves compcurve
Returns the curve names that make up the composite curve.
ic_hex_find_comp_curve curve
Returns the composite curve name given any of the curve names that belong to it. Hexa composite curves are given the name of the first curve in the list of curve names that make up the composite curve.
ic_hex_delete_node_on_edge args
Remove nodes from faces in a free 3D block. Removal of node is not allowed for block corners.
Usage: ic_hex_delete_node_on_edgevertex_num
ic_hex_set_mesh_params args
Sets the mesh params for the pre-mesh
Usage: ic_hex_set_mesh_paramsparts<fix_counts><fix_laws><curve_bunching>-version 110
Where,
parts is the list of parts that contain blocks.
Use [volume_activename_string] to return all the active part names containing blocks
fix_counts, if specified, changes the edge bunching law to the default (BiGeometric) geometry law
fix_laws, if specified, adjusts the number of nodes on each edge based on the global surface or curve mesh size
curve_bunching, if specified, transfers the advanced bunching parameters specified for curves to their associated edges
ic_hex_composite_curve args
Creates a composite curve from the list of curves. The composite curve name is the name of the first curve in the list.
Usage: ic_hex_composite_curvecurve1curve2curve3 ...
ic_hex_mark_blocks args
Marks blocks to be later used in operations on specific blocks. These include block splitting, Ogrids, and transformation operations.
Usage: ic_hex_mark_blockssuperblockblock_number
Usage: ic_hex_mark_blocksunmark
Only one block_number is allowed. Repeat the command for multiple block numbers.
The unmark version of the command clears all the marked blocks. This should always be done before marking new blocks.
ic_hex_select_nodes args
Returns vertex indices in the index range and block parts specified.
Usage: ic_hex_select_nodesnummethodindex_rangemparts
e.g.,: ic_hex_select_nodes 1 all 0:2,3 2:1,3 m
[volume_activename_string]
Argument descriptions:
num | 1 |
method | all, or inpoly p1 p2 p3 p4, where each p is the xyz of a point |
index_range | Specifies the index range to limit selection. Use [range_string] to return the current active index range |
m | indicates the following arguments are part names |
parts | the list of parts that contain blocks. Use [volume_activename_string] to return all the active part names containing blocks |
The following arguments may be appended:
node_numbers | Return node numbers instead of indices |
surface | Return only external vertices |
-not_blanked | Normally, blanked blocks do not affect which vertices are returned. This option ensures vertices turned off due to blanked blocks are not returned. |
ic_hex_select_edgeargs
Returns edge ID's in the range and parts specified
Usage: ic_hex_select_edgedisplaymethodindex_rangemaxnummparts
e.g.,: ic_hex_select_edge no_highlight all [range_string]
max 1 m [volume_activename_string] new_format edge_segment volume
Argument descriptions:
display | no_highlight to not highlight the edge |
method | al, or inpoly p1 p2 p3 p4, where each p is the xyz of a point |
index_range | Specifies the index range to limit selection. Use [range_string] to return the current active index range |
max | the text "max" indicates the following number is the maximum amount to select |
num | usually 1 |
m | indicates the following arguments are part names |
parts | The list of parts that contain blocks. Use [volume_activename_string] to return all the active part names containing blocks |
The following arguments may be appended:
new_format | |
edge_segment | |
volume | return internal volume edges also. Otherwise just return external edges. |
ic_hex_display_edge_mesh args
Sets the visible index range for the blocking.
Usage: ic_hex_display_edge_meshindex_rangempartsvolume
e.g.,: ic_hex_display_edge_mesh 1:2,3 m
[volume_activename_string] volume
Specify only the ranges which are limiting indices, not fully displayed indices. For example, for a box with max indices of 3 in i, j, and k (including VORFN), if only j and k are constrained, this argument may look like this: 0:2,3 2:1,3. The 1 index is not specified because it is not limited.
To display the full index range, leave the argument empty. To return the current index range, use the command range_string.
ic_hex_select_super_faces args
Returns face ID's in the range and parts specified.
Usage: ic_hex_select_super_facesmethodmaxnumindex_rangeparts
Usage: ic_hex_select_super_facesmethodmaxnumcornersv1v2index_rangeparts
e.g.,: ic_hex_select_super_faces all max 1 [range_string]
[volume_activename_string]
Argument descriptions:
method | all, or inpoly p1 p2 p3 p4, where each p is the xyz of a point |
max | indicates the following number is the maximum amount to select |
num | usually 1 |
corners | indicates the faces will be selected by the two corners method |
v1, v2 | vertex numbers for the two corners method. Diagonally opposed vertices. |
index_range | Specifies the index range to limit selection. Use [range_string] to return the current active index range |
parts | The list of parts that contain blocks. Use [volume_activename_string] to return all the active part names containing blocks |
ic_hex_project_to_surface args
Move the nodes to surfaces, curves, and points
Usage: ic_hex_project_to_surfaceverticesindex_rangeparts<move_ogrid_nodes>
Where,
vertices is a list of vertices to project
index_range sets the index_range on which the function operates. Use [range_string] to return the current active index range.
parts is the list of parts that contain blocks
<move_ogrid_nodes> optionally moves the ogrid nodes. Default is to not move the ogrid nodes.
ic_hex_ogrid args
Create ogrid
Usage: ic_hex_ogridpartsoffset<link_shape><-version 50>
Where,
parts is the list of parts that contain blocks
offset specifies the height of the ogrid layer
link_shape, if specified, causes all internal edges and faces of ogrid block to be shaped by the nearest, corresponding geometry.
ic_hex_list_block_families args
Returns only block parts
ic_hex_list_block_families_without skip [VORFN]
Returns all block parts except part_name
.
Example usage: ic_hex_list_block_families_withoutpart_name
ic_hex_list_surface_families args
Returns only blocking surface families
ic_hex_list_block_numbers args
Returns the list of super block numbers
ic_hex_non_empty_families args
Returns all non-empty block parts
ic_hex_save_blocking args
Saves the current blocking
Usage: ic_hex_save_blockingfile<-sub_topo topo>
ic_hex_split_grid args
Splits hexa blocks.
Usage: ic_hex_split_gridvertex1vertex2valuempartsflags
Usage: ic_hex_split_gridindexdimvaluempartsflags
Argument descriptions:
vertex1 | vertex number at end of edge |
vertex2 | vertex number at other end of edge |
value | split value
|
m | indicates the following are part names |
parts | parts to split through |
flags | When set to marked, only the marked blocks are split. The command ic_hex_mark_blocks will mark blocks |
index | index of vertex on the lower side of dim in format { i j k etc } |
dim | dimension of edge to split where 0=i, 1=j, 2=k, 3=O3, etc... |
ic_hex_restore_blocking args
Loads a blocking file
Usage: ic_hex_restore_blockingblocking_filename<-skip_read_surface_params>
If specified, -skip_read_surface_params will ignore the size parameter from the tetin file. This is useful if you set other size parameters to the blocking and do not want them to be overwritten. Default is to transfer size parameters automatically to the blocking.
ic_hex_blocking_loaded args
Returns whether or not a blocking is loaded.
Usage: ic_hex_blocking_loaded
ic_hex_remove_edge_point args
Interactively remove edge split vertices
ic_hex_ratio_histogram args
Returns a list with ratio values of the selected quality criterion:
Value 1 is the minimum value found.
Value 2 is the maximum value found.
The number of the next values depends on the number of bars specified. For each bar (range) it will return 4 values: number of elements, the lowest value, the highest value, and percent.
Usage: eval ic_hex_ratio_histogramnumber_of_barsparts proj projection_type minval minval_value -type criterion maxval maxval_valuenew_format
Where,
number_of_bars is the number of requested bars
parts is a list of parts that contain blocks
set projection_type to -1 (no projection), 0 (vertices), 1 (edges), or 2 (faces)
minval_value sets the minimum value of the requested ratio range
criterion specifies the quality criterion to be used
maxval_value sets the maximum value of the requested ratio range
ic_hex_undo args
Obsolete
ic_hex_redo args
Obsolete
ic_hex_new_blocking ents fam bbox [""] trf [""] version [50]
Obsolete; use ic_hex_initialize_blocking
ic_hex_keypoint_blocking args
Initialize blocking from key points. Initialize a 3D blocking from entities. Initializing is required before any other blocking commands can be done.
Usage: ic_hex_initialize_blockingentspartoriented {version 101}
ic_hex_convert_to_struct args
Convert a block to structured (mapped).
Usage:
2D or 3D blocking: ic_hex_convert_to_structblock_number-iterative
Example:
ic_hex_convert_to_struct 44 -iterative
3D free or swept block face: ic_hex_convert_to_structfree_face_number-propagate
Example:
ic_hex_convert_to_struct { 32 - 33 u } -propagate
for
Usage for
ic_hex_convert_to_swept args
Convert a block to swept or convert a free block free face to mapped.
Usage:
for convert a block to swept: ic_hex_convert_to_sweptblock_face [-merge_parallel] -merge_parallel will merge all adjacent mapped faces at the same index level.
for convert a free block free face to mapped: ic_hex_convert_to_sweptfree_block_face
Note: only for 3D blocking
ic_hex_imprint_loop args
Imprint loops of edges from one face onto another free block (2D) or free face (3D).
Usage for 2D blocking: ic_hex_imprint_looptarget_blockedge_loops
Usage for 3D blocking: ic_hex_imprint_looptarget_faceedge_loops
ic_hex_imprint_loop_and_split_block3d args
Combines into a single operation the ability to imprint loops from one or more sets of edges onto a free face, then split the block between the pair(s) of loops.
Usage: ic_hex_imprint_loop_and_split_block3dfree_faceedge_loops
ic_hex_connect_edges args
Connect edges from one block onto another free block (2D only).
Usage for 2D blocking: ic_hex_connect_edgestarget_blockedges
ic_hex_create_swept_block args
Create a swept block by merging two faces.
Usage: ic_hex_create_swept_blockface1face2
ic_hex_unstruct_face_type args
Sets the type of mesh for unstructured 2D blocks
Usage: ic_hex_unstruct_face_typetype
type can be stl, all_tris, all_quads, several_tris, or one_tri
ic_hex_print_block_type_info args
Returns the block type (free, mapped or swept).
Usage: ic_hex_print_block_type_infoblock_num
ic_hex_create_named_selection_subset args
Creates a named selection subset.
Usage: ic_hex_create_named_selection_subsetname
name is applied to the subset.
ic_hex_subset_add_named_selection_items args
Add entities to a named selection subset.
Usage: ic_hex_subset_add_named_selection_itemsnametypenumber_of_entitiesentities
Argument descriptions:
name | identifies the subset |
type | can be vertex, edge, or face |
number_of_entities | an integer value for the quantity of items to be added |
entities | identifies the entities that are to be added using this
type-dependent syntax:
|
Example: ic_hex_subset_add_named_selection_items WALL face 4 14 19 15 18 15 18 16 17 12 13 16 17 12 13 14 19 will add 4faces to the named selection subset called WALL. The four faces have corner vertices { 14 19 15 18 }, { 15 18 16 17 }, { 12 13 16 17 }, and { 12 13 14 19 }.
ic_hex_subset_remove_named_selection_items args
Remove entities from a named selection subset.
Usage: ic_hex_subset_remove_named_selection_itemsnametypenumber_of_entitiesentities
Argument descriptions: See the table under ic_hex_subset_add_named_selection_items.
ic_hex_delete_named_selection_subset args
Delete a named selection subset.
Usage: ic_hex_delete_named_selection_subsetname
ic_hex_rename_named_selection_subset args
Rename a named selection subset.
Usage: ic_hex_rename_named_selection_subsetnamenew_name
ic_hex_subset_named_selection name
Returns 1 if the named selection subset exists, 0 otherwise.
Usage: ic_hex_subset_named_selectionname
ic_hex_subset_list_named_selections
Returns a list of all named selection subsets.
Usage: ic_hex_subset_list_named_selections
ic_hex_mesh_free_surfaces args
Use Quad to mesh all of the surfaces with unstructured/free blocks.
ic_hex_get_edge_param n1 n2 param
Returns edge parameters.
Usage: ic_hex_get_edge_paramvertex1vertex2parameter
Argument descriptions:
vertex1 | vertex number at end of edge |
vertex2 | vertex number at other end of edge |
parameter | parameter value of edge to return
|
ic_hex_is_edge_linked n1 n2
Returns 1 if edge is linked to another edge, and 0 if not.
Usage: ic_hex_is_edge_linkededge_vertex1edge_vertex2
ic_hex_match_and_link_edges rn1 rn2 n1 n2
Allows you to match and link spacing on edges.
Usage: ic_hex_match_and_link_edgesfrom_edgeto_edge
from_edge is the reference edge, to_edge is the target edge(s).
ic_hex_copy_edge_params from to absolut [0] no_nodes [0]
Allows you to copy the edge parameters from a reference edge to the selected edge(s) or to all parallel edges.
Usage: ic_hex_copy_edge_paramsfrom_edgeto_edgeabsolutno_nodes
from_edge is the reference edge. to_edge could be a list of selected edges or the value copy_to_parallel. absolut indicates that the exact spacing will be copied (default 0). no_nodes determines whether the number of nodes will be copied (default 0).
ic_hex_ratio_check_minquality which fams [""] range [""] project_type [2] full [0]
Checks and returns the minimum quality ratio (in case of "Volume change" the maximum quality).
Usage: ic_hex_ratio_check_minquality "criterion" [parts to check] [index range] [project_type 2]
ic_hex_scale_mesh_size_with_spacings_gui scale fams [""] range [""] use_output_blocks [0]
Scales the mesh size and edge spacing1, spacing2, and max space. This automatically selects all visible edges.
Usage: ic_hex_scale_mesh_size_with_spacings_guiscale_factor [parts] [index range] [use_output_blocks 0]
Note: This function runs only in GUI mode, not in batch mode.
ic_hex_scale_mesh_size_with_spacings scale edges
Scales the mesh size and edge spacing1, spacing2, and max space.
Usage: ic_hex_scale_mesh_size_with_spacingsscale_factoredges_to_scale
Note: This function runs in both modes (GUI mode and batch mode).
ic_hex _get_edge_segment_number args
Returns the number of edge segments (splitted edge).
Usage: ic_hex_get_edge_segment_numberedge_vertex1edge_vertex2
ic_hex_get_hidden_nodes args
Returns also the hidden nodes (if any) of an edge. Usage: ic_hex_get_hidden_nodesedge_vertex1edge_vertex2
ic_hex_set_unstruct_face_method args
Sets the method of mesh for unstructured 2D blocks.
Usage: ic_hex_unstruct_face_methodmethod
Method can be uniform_quad, gambit_pave, or auto.
ic_hex_ogrid_smooth_transition args
Turns the Ogrid_smooth_transition option on or off.
Usage: ic_hex_ogrid_smooth_transition [on/off]
Returns 0 (off) or 1 (on): set state [ic_hex_ogrid_smooth_transition]
ic_hex_project_to_topo args
Turns the Project_to_topo option on or off.
Usage: ic_hex_project_to_topo [on/off]
Returns 0 (off) or 1 (on): set state [ic_hex_project_to_topo]
ic_hex_get_nearest_existing_point
vertex
part
[""]
Returns the nearest geometry point to a vertex position.
Usage: ic_hex_get_nearest_existing_pointvertex_num
ic_hex_compute_curvature_asf args
Computes the bunching on the blocking edges according to the TGLib size function background grid (must be accessible).
Usage: ic_hex_compute_curvature_asf-asf_mesh_filefname
-do_proximity-skip_edges_in_sweep_dir-skip_dimsd1 d2 d3 ...
e.g.,: eval ic_hex_compute_curvature_asf-asf_mesh_file./asf_mesh.uns
-do_proximity-skip_dims0 4 6
Argument Descriptions:
-asf_mesh_file | Full path to an unstructured mesh file that stores the edge bunching based on size functions. |
Optional arguments:
-do_proximity | Evaluate also the proximity size functions. |
-skip_edges_in_sweep_dir | Do not compute the size function based bunching in sweep direction. |
-skip_dims | List of integer Hexa blocking dimensions in which direction of the size function should not be evaluated. |
ic_hex_count_blocks
type
orfn
[0]
Returns the number of blocks.
Usage: ic_hex_count_blocksblock_type<vorfn>
block_type can be free, mapped, or swept.
Set vorfn to 1 to include blocks in part VORFN in the count.
ic_hex_number_all_free_faces
Returns the number of free faces (in 3D) and the number of free blocks (in 2D).
Usage: ic_hex_number_all_free_faces
ic_hex_split_unstruct_block3d_by_edge_loops args
Split a free block by boundary edges.
Usage: ic_hex_split_unstruct_block3d_by_edge_loopsublock_numsheet_num
ic_hex_convert_to_struct_from_nodes args
Convert a free block free face to mapped from four corner vertices.
Usage: ic_hex_convert_to_struct_from_nodes-face free_face -v_end "four_corner_vertices"
Note: Use this function if the selected free_face has more than four vertices.
ic_hex_get_edge_to_apply n1 n2
When working with superblocks (blocks that have been merged), some edges have hidden vertices that are used internally in scripting. Returns edge vertices required to define the edge in scripting commands given the visible vertices as input.
Usage: ic_hex_get_edge_to_applystart_edge_vertexend_edge_vertex
Note: if there are no hidden vertices, the
result will be the same as the input. For example, if an edge has visible
corners 10 and 20. With a hidden vertex of 15, ic_hex_get_edge_to_apply10 20 would return 10 15
. If there
are no hidden vertices in the case above, it would return 10
20
.