Model.fuse_shell_mesh#
- Model.fuse_shell_mesh(source_collection, target_collection, proximity, options=s_defaultString)#
Attempts to mesh two disconnected element/component sets within a certain proximity with each other.
- Parameters:
source_collection (Collection) – The collection containing the source entities. Valid entities are components and elements.
target_collection (Collection) – The collection containing the target entities. Valid values are components and elements
proximity (double) – The value within which the source and target elements should be fused. Value must not be negative.
options (hwString) –
List of input options, passed as a space separated string enclosed in quotes. Valid options are:
BridgeGaps=<value>
Creating bridge elements between source and target elements or stiching them. Valid options are:
0 - Stitches the source and target by imprinting source on target (default).
1 - Creates bridge elements between source and target instead of stitching ,thereby retaining the source curvature.
BridgeGapTol=<value>
The value beyond which the source nodes found under proximity with target will be bridged. Only valid when
"BridgeGaps"is enabled. Default value is the global node tolerance.ClusterRemovalMaxWidth=<value>
During mesh fusing, some isolated clusters on source can remain. This defines the mesh maximum width within which if clusters of elements formed after fusing, they are removed. Value must not be negative. Default value is 0.0.
DoRemesh=<value>
Remesing fuse elements. Valid options are:
0 - Do not remesh fused elements (default)
1 - Remesh fused elements
FeatureAngle=<value>
The value to define features in the range of 0 to 180. Default/common value is 30.0.
FuseFreeEdgesOnly=<value>
Fusing all elements or free edges within proximity. Valid options are:
0 - Fuse all elems within proximity (default).
1 - Fuse only free edges within proximity
NodeFeatureSnapTol=<value>
The value within which the nodes positions resulting after the fusing of source and target elements can be snapped to features. Value must not be negative. Default value is 0.0.
ProjectionType=<value>
Type of projection. Valid options are:
1 - Projection and further stitching happens along shortest projection direction of source nodes to the target (default).
2 - Projection and further stitching happens along the tangential projection direction of source nodes to the target.
3 - Projection and further stitching is attempted along the tangential projection direction of source nodes to the target, however if the tangential projection fails, shortest projection is considered.
RemoveTargetTails=<value>
Removing target tails. Valid options are:
0 - Do not remove target tails (default).
1 - Remote target tails with tolerance provided in
"RemoveTargetTailTolerance"option.2 - Remote target tails with internally calculated tolerance.
RemoveTargetTailTolerance=<value>
If the width of the tail of the target tail face lies within this value, it is removed. Valid only when
"RemoveTargetTails"is enabled. Default value is 0.0.RemoveSharedTargetFace=<value>
Deleting faces shares by source and target entities. Valid options are:
0 - Do not delete faces shared by source and target at all edges formed at the target after fusing (default)
1 - Delete faces shared by source and target at all edges formed at the target after fusing.
Example#
Fuse components 100 and 200 within a proximity of 40 , with various fuse options#import hm import hm.entities as ent model = hm.Model() # Creating components collections for fusing, and then applying the fuse. source_comp_collection = hm.Collection(model, ent.Component, [100]) target_comp_collection = hm.Collection(model, ent.Component, [200]) model.fuse_shell_mesh( source_collection=source_comp_collection, target_collection=target_comp_collection, proximity=40.0, options="ClusterRemovalMaxWidth=30.0 DoRemesh=1 FuseFreeEdgesOnly=1 BridgeGaps=1 BridgeGapTol=0.0 ProjectionType=3 RemoveTargetTails=1", )