wrap#

Mesh.wrap(min_size=None, max_size=None, growth_rate=1.2, elements_per_gap=None, normal_angle=18.0, input_parts='*', input_labels='*', keep_inputs=False, region_extract=WrapRegion.EXTERNAL, material_point=None, extract_features=True, create_intersection_loops=False, use_existing_features=False, enable_feature_octree_refinement=True, feature_angle=40.0, contact_prevention_size=None, number_of_threads=None, remesh_postwrap=True, recompute_remesh_sizes=False, use_existing_size_fields=False, size_fields=None, wrap_size_controls=None, remesh_size_controls=None, feature_recovery_params=None, contact_prevention_params=None, leak_prevention_params=None)#

Wrap and remesh input.

Default behaviour is to perform an external wrap of all parts in the model using curvature sizing and extracting features. The wrap is then remeshed to give a surface mesh for the extracted region.

Geodesic sizing is used if only soft and curvature controls are set. If contact prevention size is set and geodesic sizing is available then contact detection is used globally.

If min_size and max_size is provided, variable size mesh is generated between min_size and max_size by applying sizes based on curvature.

If either of min_size or max_size is provided, constant size mesh will be generated with the provided size.

If neither of min_size or max_size is provided, global min and max settings are used to generate a variable size mesh based on curvature.

Parameters:
input_partsstr

Parts to be wrapped. Default = “*”

input_labelsstr

Labels to be wrapped. Default = “*”

keep_inputsbool

Retain inputs. Default = False

region_extractprime.WrapRegion

Set region to wrap. Default = prime.WrapRegion.EXTERNAL

material_pointList[float], optional

Material point needed if region extraction method set to material point.

min_size: float, optional

Minimum edge length of the mesh.

max_size: float, optional

Maximum edge length of the mesh.

growth_ratefloat

Default = 1.2

elements_per_gapfloat, optional

Global proximity size control elements per gap with self proximity.

normal_anglefloat

Global curvature size control normal angle. Default = 18.0

create_intersection_loops: bool

Create intersection loops between all parts. Default = False

use_existing_features: bool

Maintain existing features on parts. Default = False

extract_features: bool

Extract feature edges using feature angle. Default = True

feature_angle: float

Angle used to extract features. Default = 40.0

enable_feature_octree_refinement: bool

Apply refinement to feature edges during wrap. Default = True

contact_prevention_size: float, optional

Global proximity size controls between all parts.

number_of_threads: int, optional
remesh_postwrapbool

Remesh wrap. Default = True

recompute_remesh_sizesbool

Recompute sizes from global controls using the wrap surface. Default = False

use_existing_size_fieldsbool

Use precomputed size fields. Default = False

size_fieldsList[prime.SizeField], optional

Set size fields to use.

wrap_size_controlsList[prime.SizeControl], optional

Set wrap size controls to use.

remesh_size_controlsList[prime.SizeControl], optional

Set remesh size controls to use.

feature_recovery_paramsList[prime.FeatureRecoveryParams], optional

Set feature recovery parameters to use.

contact_prevention_paramsList[prime.ContactPreventionParams], optional

Set contact prevention parameters to use.

leak_prevention_paramsList[prime.LeakPreventionParams], optional

Set leak prevention parameters to use.

Returns:
Wrapped part

Returns Part.

Examples

>>> import ansys.meshing.prime as prime
>>> from ansys.meshing.prime import lucid
>>> prime_client = prime.launch_prime()
>>> model = prime_client.model
>>> mesh = lucid.Mesh(model)
>>> mesh.read("/my_geometry.stl")
>>> mesh.wrap(min_size=1, max_size=20, create_intersection_loops=True)
>>> mesh.write("/mesh_output.pmdat")
>>> prime_client.exit()