*batchparams_update
Updates the global mesh parameter values.
Syntax
*batchparams_update <param1>=<value1> ?<param2>=<value2>? ... ?<paramN>=<valueN>?
Type
HyperMesh Tcl Modify Command
Description
Updates the global mesh parameter values.
Inputs
Basic:
- create_mesh=<value>
- Enable this flag to generate mesh on the cleaned-up geometry:
- element_order=<value>
- The element order for meshing. Valid values are first and second.
- element_organization=<value>
- The component organization for meshing. Valid values are:
- element_size=<value>
- The target element size for meshing.
- element_type=<value>
- The element type for meshing. Valid values are mixed, quad, and tria.
- geometry_cleanup=<value>
- Enable this flag to enable geometry cleanup and the feature related options:
- import_model_tolerance=<value>
- The tolerance used while importing the CAD model. Set to auto (recommended) to automatically calculate the tolerance based on the type and dimensions of the model.
- midmesh_extract=<value>
- Enable this flag to enable midmesh extraction and its related options:
- midsurface_extract=<value>
- Enable this flag to enable midsurface extraction and its related options:
Midsurface:
- midsurface_method=<value>
- The midsurface algorithm:
- midsurface_pre_cleanup=<value>
- Perform geometry cleanup steps on the model before midsurface extraction:
- thin_solids_feature_angle=<value>
- The minimum angle used to distinguish top and bottom faces of a thin solid from its sides. Angles less than this value are treated as if they were flat for purposes of midsurface extraction. Used when thin_solids_only=1.
- thin_solids_max_ratio=<value>
- The maximum ratio between the approximate thickness of the thin solid part (shortest dimension) and its approximate width (2nd shortest dimension), used to limit the midsurface extraction to parts for which the thickness is smaller than the length and the width. Used when thin_solids_only=1.
- thin_solids_only=<value>
- Extract midsurfaces for thin (sheet metals) solids only:
- thin_solids_max_thickness=<value>
- Ignore thin solids with a thickness less than this value. Used when thin_solids_only=1.
Midmesh:
- midmesh_defeature_ribs=<value>
- Enable this flag to defeature ribs:
- midmesh_defeature_ribs_factor=<value>
- The minimum size factor for removing small ribs. Ribs closer than this factor times the minimum size are suppressed.
- midmesh_extract_element_size=<value>
- The element size for direct midmesh. By default, it is set to target element size.
- midmesh_flat_edges_ignore=<value>
- Imprint flat edges from the input geometry onto the midmesh:
- midmesh_holes_defeature=<value>
- Remove small holes/openings less than midmesh_holes_defeature_width:
- midmesh_holes_defeature_width=<value>
- The width to use when midmesh_holes_defeature=1.
- midmesh_non_manifold_edges_combine=<value>
- Join non-manifold edges closer than midmesh_proximity_edge_suppression_factor * minimum element size.
- midmesh_non_manifold_edges_combine_factor=<value>
- The factor to use when midmesh_non_manifold_edges_combine=1.
- midmesh_proximity_edge_suppression=<value>
- Suppress small edges in proximity closer than midmesh_proximity_edge_suppression_factor * minimum element size.
- midmesh_proximity_edge_suppression_factor=<value>
- The factor to use when midmesh_proximity_edge_suppression=1.
- midmesh_ribs_flatten=<value>
- Flatten/align ribs and t-connections:
- midmesh_step_offset_mode=<value>
- This option allows finer control of how stepped geometry (one side continuous surface, and opposite side steps) is captured. This option is valid only when midmesh_ribs_flatten is enabled. Valid values are:
Geometry Cleanup:
- flat_feature_suppression_character_size_method=<value>
- The method to calculate the feature character size, which is defined by an element size or calculated automatically based on characteristic dimensions of the part. Valid values are:
- flat_feature_suppression_character_size=<value>
- The custom feature character size which is used to calculate curvature break angle when flat_feature_suppression_character_size_method=user_defined.
- flat_feature_suppression_feature_angle=<value>
- The custom feature angle when flat_feature_suppression_level=user_defined.
- flat_feature_suppression_level=<value>
- Suppress feature edges based on different levels of curvature break angle. Valid values are:
- components_boundary_preserve=<value>
- Preserve boundaries between components and do not modify such edges:
- overlapping_surfaces_fix=<value>
- Fix overlapping surfaces:
- overlapping_surfaces_fix_max_tanangle=<value>
- The tolerance used to find overlapping surfaces when overlapping_surfaces_fix=1. Set to "auto" to calculate the tolerance internally. Specify a value when auto is not sufficient.
- surface_duplicates_delete=<value>
- Control the deletion of duplicate surfaces within surface_duplicates_delete_tolerance. Valid values are:
- surface_duplicates_delete_tolerance=<value>
- The tolerance used to find duplicate surfaces for surface_duplicates_delete. Set to "auto" to calculate the tolerance internally. Specify a value when auto is not sufficient.
- surface_edges_stitch_allow_non_manifold=<value>
- Equivalence t-connections:
- surface_edges_stitch_max_tolerance=<value>
- The tolerance used to equivalence edges. Set to "auto" to calculate the tolerance internally. Specify a value when auto is not sufficient.
- surface_edges_stitch_within_components_only=<value>
- Equivalence edges across components instead of just within:
- surfaces_merge_proximity=<value>
- Suppress edges within surfaces_merge_proximity_width to avoid creation of sliver elements and disruptions in the mesh flow:
- surfaces_merge_proximity_width=<value>
- The proximity width used to suppress edges when surfaces_merge_proximity=1. This can be specified as a value (e.g. 0.67) or as a multiple of minimum element size (e.g. Lmin*0.67).
- surfaces_merge_sharp_edge_proximity=<value>
- Suppress sharp steps within surfaces_merge_sharp_edge_proximity_width to avoid creation of sliver elements when surfaces_merge_proximity=1:
- surfaces_merge_sharp_edge_proximity_width=<value>
- The proximity width used to suppress sharp steps when surfaces_merge_sharp_edge_proximity=1. This can be specified as a value (e.g. 0.67) or as a multiple of minimum element size (e.g. Lmin*0.67).
Bead Features:
- beads_recognition=<value>
- Recognize beads on sheet metal parts:
- beads_rounded_midline_preserve=<value>
- Enforce node placement along the midline of a rounded beads when beads_recognition=1:
- beads_suppression=<value>
- Suppress beads on sheet metal parts when beads_recognition=1:
- beads_suppression_height=<value>
- The height of beads to suppress when beads_recognition=1 and beads_suppression=1.
Fillet Features:
- edge_fillets_recognition=<value>
- Recognize and remove edge fillets of 2D surfaces:
- max_fillet_radius=<value>
- The maximum edge fillet radius to defeature when edge_fillets_recognition=1.
- surface_fillets_minimize_transitions=<value>
- Minimize transitions during fillet meshing:
- surface_fillets_recognition=<value>
- Recognize and optionally treat fillets on sheet metal parts. This is useful to prevent the main (long) edges of the fillets from being suppressed, and prevent the nodes of those edges from moving while fixing element quality:
- surface_fillets_table={<operation> <option1>=<value1> ?<option2>=<value2>? ... ?<optionN>=<valueN>?}
- Operates on the surface fillets table. Operations are supported for:
- Add
- Add new rows to the table. The following options are available:
- max_chord_dev=<value>
- The chordial deviation to be achieved while meshing for the given row. This is required for method=enforce.
- method=<value>
- The treatment for surface fillets. This is mandatory. Valid values are:
- min_num_rows=<value>
- The number of elements across the width of the fillets for the given row. This is required for method=enforce.
- radius_range=<value>
- The radius range of the fillets for the row. Fillets within this range will be recongized and considered for the specified treatment. This is mandatory.
- width_range=<value>
- The width range of the fillets for the row. Fillets within this range will be recongized and considered for the specified treatment. This is mandatory.
- Delete
- Delete rows from the table. The following options are available:
- row_id=<value>
- The index of the row to delete, starting from 0.
- Edit
- Edit rows of the table. The following options are available:
- row_id=<value>
- The index of the row to edit, starting from 0. This is mandatory.
- max_chord_dev=<value>
- The chordial deviation to be achieved while meshing for the given row. This is required for method=enforce, otherwise not required unless setting/changing the value.
- method=<value>
- The treatment for surface fillets. Not required unless changing the value. Valid values are:
- min_num_rows=<value>
- The number of elements across the width of the fillets for the given row. This is required for method=enforce, otherwise not required unless setting/changing the value.
- radius_range=<value>
- The radius range of the fillets for the row. Fillets within this range will be recongized and considered for the specified treatment. Not required unless changing the value.
- width_range=<value>
- The width range of the fillets for the row. Fillets within this range will be recongized and considered for the specified treatment. Not required unless changing the value.
Flange Features:
- flanges_max_width=<value>
- The maximum width of flanges to detect when flanges_recognition=1.
- flanges_min_width=<value>
- The minimum width of flanges to detect when flanges_recognition=1.
- flanges_num_elements_across=<value>
- The minimum number of elements to be created across the flange width when flanges_recognition=1.
- flanges_recognition=<value>
- Recognize flanges on sheet metal parts. Flanges may be modified to suppress construction lines, subdivide them into rectangular areas, or otherwise prepare them for proper meshing. As this functionality is not supported for solid geometries, it should be disabled for such models to improve performance:
- flanges_remove_narrow=<value>
- Allow removal of narrow flanges when flanges_recognition=1:
- flanges_remove_narrow_width=<value>
- The narrow flange width when flanges_remove_narrow=1. Set as "auto" to auto-calculate a relevant narrow width.
Hole 2D Features:
- surface_holes_coordinates=<value>
- Activate the use of coordinates tables and related functionalities:
- surface_holes_flanges_suppress=<value>
- Recognize holes with flanges and remove the flanges:
- surface_holes_flanges_suppress_height=<value>
- The maximum height of flanges to remove when surface_holes_flanges_suppress=1. Flanges with a height less than the minimal element size are extended to the minimum element size if not removed.
- surface_holes_maintain_narrow_slot_ends=<value>
- Create honeycomb and square mesh patterns for narrow slots:
- surface_holes_narrow_slot_type=<value>
- The mesh patterns for narrow slots when surface_holes_maintain_narrow_slot_ends=1:
- surface_holes_recognition=<value>
- Recognize holes in 2D parts, and allow 2D hole treatment:
- surface_holes_table={<operation> table_id=<value> <option1>=<value1> ?<option2>=<value2>? ... ?<optionN>=<valueN>?}
- Operates on the surface holes tables. Operations are supported for:
- Add
- Add new rows to the table. The following options are available:
- num_elems=<value>
- The number of elements around the hole. This is mandatory for treatment=seed and treatment=washer. Valid values are:
- row_id=<value>
- The index of the row to edit, starting from 0. This is mandatory.
- shape=<value>
- The type of holes table. This is mandatory. Valid values are:
- shape_list=<value>
- Add shapes to the mixed table. Valid values are:
- size1_max=<value>
- The upper limit of range1 in the specified row.
- size2_max=<value>
- The upper limit of range2 in the specified row. Valid for shape=rectangle and shape=slot.
- table_id=<value>
- The index of the table to update. -1 is the default table, coordinate files tables start from 0. This is mandatory.
- target_radius=<value>
- Adjust holes in the specified radius range to have the specific target radius. The radius can be specified as an exact value (for example, 5.0), or as an expression based on the original radius (for example, radius*1.1, radius-0.5, radius+0.5). Not required unless changing the value.
- treatment=<value>
- The treatment for 2D holes. This is mandatory. Valid values are:
- washer_layers={<value1>, ?<value2>?, ... ?<valueN>?}
- Create washer around the holes. Multiple layers of washers can be created. Sets the width of the washer layers as a constant value, a scale of the hole radius, for example 0.6*radius or a subtraction formula, for example 14.0-radius. This is mandatory for treatment=washer.
- washer_type=<value>
- The type of washer. Valid values are:
- Delete
- Delete rows from the table. The following options are available:
- row_id=<value>
- The index of the row to delete, starting from 0. This is mandatory.
- shape=<value>
- The type of holes table. This is mandatory. Valid values are:
- table_id=<value>
- The index of the table to delete. -1 is the default table, coordinate files tables start from 0. This is mandatory.
- Edit
- Edit rows of the table. The following options are available:
- num_elems=<value>
- The number of elements around the hole. This is mandatory for treatment=seed and treatment=washer. Valid values are:
- row_id=<value>
- The index of the row to edit, starting from 0. This is mandatory.
- shape=<value>
- The type of holes table. This is mandatory. Valid values are:
- shape_list={<value1> | ?<value2>? | ... ?<valueN>?}
- Add shapes to the mixed table. Valid values are:
- size1_max=<value>
- The upper limit of range1 in the specified row.
- size2_max=<value>
- The upper limit of range2 in the specified row. Valid for shape=rectangle and shape=slot.
- table_id=<value>
- The index of the table to update. -1 is the default table, coordinate files tables start from 0. This is mandatory.
- target_radius=<value>
- Adjust holes in the specified radius range to have the specific target radius. The radius can be specified as an exact value (e.g. 5.0), or as an expression based on the original radius (e.g. radius*1.1, radius-0.5, radius+0.5). Not required unless changing the value.
- treatment=<value>
- The treatment for 2D holes. Valid values are:
- washer_layers={<value1>, ?<value2>?, ... ?<valueN>?}
- Create washer around the holes. Multiple layers of washers can be created. Sets the width of the washer layers as auto, a constant value, a scale of the hole radius, for example 0.6*radius or a subtraction formula, for example 14.0-radius. This is mandatory for treatment=washer.
- washer_type=<value>
- The type of washer. Valid values are:
- surface_holes_washer_trims_remove=<value>
- Remove trim lines created during washer creation:
Hole 3D Features:
- solid_holes_recognition=<value>
- Recognize holes in 3D parts, and allow 3D hole treatment:
- solid_holes_table={<operation> <option1>=<value1> ?<option2>=<value2>? ... ?<optionN>=<valueN>?}
- Operates on the solid holes table. Operations are supported for:
- Add
- Add new rows to the table. The following options are available:
- max_radius=<value>
- The maximum 3D hole radius. This should be greater than the maximum radius range of the entire table. Adds the row to the end of the table. If not specified, range must be used.
- num_elems=<value>
- The minimum/exact number of elements around the hole. This is required for treatment=mark and treatment=seed.
- range=<value>
- The range of radii. Inserts the row between existing rows. If not specified, max_radius must be used.
- treatment=<value>
- The treatment for 3D holes. This is mandatory. Valid values are:
- Delete
- Delete rows from the table. The following options are available:
- row_id=<value>
- The index of the row to delete, starting from 0.
- Edit
- Edit rows of the table. The following options are available:
- max_radius=<value>
- The maximum 3D hole radius. This should be greater than the maximum radius range of the entire table. Not required unless changing the value.
- num_elems=<value>
- The minimum/exact number of elements around the hole. This is required for treatment=mark and treatment=seed, otherwise not required unless setting/changing the value.
- row_id=<value>
- The index of the row to edit, starting from 0. This is mandatory.
- treatment=<value>
- The treatment for 3D holes. Not required unless changing the value. Valid values are:
Logo Features:
- logo_max_height=<value>
- The maximum height of la letter within a logo to remove when logo_remove=1.
- logo_max_size=<value>
- The maximum size/width of a letter within a logo to remove when logo_remove=1.
- logo_min_concavity=<value>
- Creates a filter that provides more flexible control of automatic logo recognition. As this is a heuristic tool, it may remove real features, such as flat bottom round dimples, that were not intended for removal. The value is a quantitative measure of a letters shape complexity. Extend the recognition and removal of logos by reducing this value. Used only when logo_remove=1.
- logo_remove=<value>
- Remove small features that represent logos:
Thread Features:
- threads_remove=<value>
- Recognize and remove features that represent threads by replacing then with a smooth cylinder or cone:
- threads_remove_max_depth=<value>
- The maximum depth of cylindrical or conical threads to be replaced when threads_remove=1.
- threads_replacement_diameter_type=<value>
- The method used to define the diameter for replacing threads with a cylinder or cone when threads_remove=1:
Quality Correction:
- element_folding_angle=<value>
- Elements whose angle exceeds this value are considered folded and are attempted to be cleaned.
- feature_angle=<value>
- The feature angle to maintain while performing element cleanup.
- nodes_keep_on_free_round_holes=<value>
- Prevent node movement off of free round holes. This is useful if distortion of holes is not allowed:
- nodes_keep_on_free_round_holes_elements=<value>
- Do not allow any nodes to move off the edges of free holes (without washers) with less than this number of elements when nodes_keep_on_free_round_holes=1.
- nodes_move_across_free_edges=<value>
- Allow node movement across free edges:
- nodes_move_across_free_edges_max=<value>
- The maximum allowable node movement across free edges when nodes_move_across_free_edges=1. This can be specified as a value (e.g. 0.1) or as a multiple of minimum element size (e.g. Lmin*0.1) or target element size (e.g. L*0.1).
- nodes_move_across_non_manifold_edges=<value>
- Allow node movement across non-manifold edges:
- nodes_move_across_non_manifold_edges_max=<value>
- The maximum allowable node movement across non-manifold edges when nodes_move_across_non_manifold_edges=1. This can be specified as a value (e.g. 0.1) or as a multiple of minimum element size (e.g. Lmin*0.1) or target element size (e.g. L*0.1).
- nodes_move_across_shared_edges=<value>
- Allow node movement across shared edges:
- nodes_move_across_shared_edges_max=<value>
- The maximum allowable node movement across shared edges when nodes_move_across_shared_edges=1. This can be specified as a value (e.g. 0.1) or as a multiple of minimum element size (e.g. Lmin*0.1) or target element size (e.g. L*0.1).
- nodes_move_normal=<value>
- Allow node movement normally to surfaces:
- nodes_move_normal_max=<value>
- The maximum allowable node movement normal to surfaces when nodes_move_normal=1.
- quads_divide_warped=<value>
- Split warped quads into trias:
Special Components:
- special_components_add=<value>
- The name of a component to add to the special components list.
- special_components_remove=<value>
- The index of a component, starting from 0, to remove from the special components list.
- special_components_selection=<value>
- Handling of special components selection:
- special_components_treatment=<value>
- Options for meshing of special components when special_components_selection=1:
- special_components_wildcard_use=<value>
- The component names provided in the special components list are used as a search string to find all matching components in the current model and add them internally to the list when special_components_selection=1:
Examples
To change the geometry cleanupflag and element
size:
*batchparams_update = {geometry_cleanup_flag = 0 element_size = 7.5}
To add a new row to the fillet
table:
*batchparams_update surface_fillet_table = {Add radius_range = {0-10} width_range = {5-10} method = enforced min_num_rows = 2 max_chord_dev = 0.2}
To change parameters of circle table in row ID
3:
*batchparams_update surface_holes_table = {Edit table_id=default shape=circle row_id=3 size1_max=3 treatment=washer_mark target_radius=1.1*radius num_elems={exact,4} washer_layers={2,radius-5,auto} washer_type=radial}
To change parameters of rectangle table in row ID
2:
*batchparams_update surface_holes_table = {Edit table_id=default shape=rectangle row_id=2 size1_max=5 size2_max=4 num_elems=auto_even washer_type=corner_quad}
To change parameters of mixed table in row ID
2:
*batchparams_update surface_holes_table = {Edit table_id=default shape=mixed row_id=2 shape_list={convex_arbitrary | concave_arbitrary}}
To change parameters of the first coordinates
table:
*batchparams_update surface_holes_table = {Edit table_id=0 row_id=1 shape=circle treatment=ignore}
To add a new row to the circle
table:
*batchparams_update surface_holes_table = {Add table_id=default shape=circle row_id=4 size1_max=4 treatment=remove_mark}
To add a new row to the slot
table:
*batchparams_update surface_holes_table = {Add table_id=default shape=slot row_id=2 size1_max=4 size2_max=5 treatment=seed num_elems=4 washer_type=rectangle_ends}
To delete the first row of the rectangle
table:
*batchparams_update surface_holes_table = {Delete table_id=default shape=rectangle row_id=0}
To delete the entire circle
table:
*batchparams_update surface_holes_table = {Delete table_id=default shape=circle}
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
2021
2021.1 - Updated the surface_holes_table options and the list of examples.
2021.2 - Added new options create_mesh, midmesh_defeature_ribs, midmesh_defeature_ribs_factor, and midmesh_step_offset_mode.
2022 - Added auto option for washer layer width.