Operations

Public Methods

pushPull(feature, depth)

Push or Pulls a face or edge to specific depth.

param feature:Feature to push or pull.
type feature:FeatureArea
param depth:Push or Pull distance.
type depth:float
extract(feature)

Extracts geometry features and transfer them into a new part.

param feature:Feature to be extracted.
type feature:Feature
mirror(entity, planeOrigin=None, planeNormal=None, keep=True)

Mirrors part across a symmetry plane.

User needs to provide the planeOrigin and planeNormal if passing in a Part for mirror.

param entity:Part from which a mirror part needs to be created or a Planar feature which needs to be mirrored across the plane
type entity:Part, FeaturePlanar
param planeOrigin:
 origin of the symmetry plane.
type planeOrigin:
 Triple
param planeNormal:
 normal of the symmetry plane.
type planeNormal:
 Triple
param keep:True to keep the original part, False remove it.
type keep:Bool
returns:New mirrored part created.
rtype:Part
patch(feature)

Creates patches to fill in specified missing surfaces.

param feature:Feature to be patched.
type feature:Feature
deleteFaces(feature)

Deletes the specified face from the part.

param feature:Feature to be removed.
type feature:Feature
move(part, position)

Translates and/or rotates a part.

param part:The part to move.
type part:Part
param position:The position to move the part at.
type position:Matrix44
rotate(part, axis, angle, degrees=True)

Rotates around the specified axis.

This is a body rotation.

param part:The part to rotate.
type part:Part
param axis:The rotation axis. Valid choices are “x”, “y”, “z” or any Vector.
type axis:Union[Vector, str]
param angle:The rotation angle.
type angle:float
param degrees:Determines if angles is in degrees or not.
type degrees:bool
scale(part, value=1.1)

Resizes the part to the specified scale value.

This is useful when working with an imported model that is associated with a different default unit system.

param part:Part that needs to be scaled.
type part:Part
param value:Specify scale factor.
type value:float
booleanCombine(target, tools=None)

Combines the specified parts.

param target:Part to be combined with tools.
type target:Part
param tools:Parts to be combined with target. Destroyed after combine.
type tools:list[Part]
returns:The combined part.
rtype:Part
booleanSubtract(targets, tools, deleteOthers=True)

Carves out one set of solid objects from another set of solid objects.

param targets:The parts being carved.
type targets:list[Part]
param tools:The parts doing the carving.
type tools:list[Part]
param deleteOthers:
 Specify to delete others.
type deleteOthers:
 bool
returns:The remaining part.
rtype:Part
booleanIntersect(targets, tools, deleteOthers=True, deleteTarget=True)

Retains only the intersecting portions of two sets of solid objects.

param targets:The first set of parts
type targets:list[Part]
param tools:Part or parts for boolean intersect operation.
type tools:list[Part]
param deleteOthers:
 Specify to delete others.
type deleteOthers:
 bool
param deleteTarget:
 Specify to delete target.
type deleteTarget:
 bool
returns:The intersected part.
rtype:Part
slice(targets, cutOrigin=None, cutNormal=None, surfaceFeature=None, extendSurface=True)

Slices a set of solid objects with a cutting plane or cutting surface.

User needs to provide the cutOrigin and cutNormal or the surfaceFeature.

param targets:The parts to slice across the cutting plane.
type targets:[Part]
param cutOrigin:
 The origin of the cutting plane.
type cutOrigin:math.Point
param cutNormal:
 The normal of the cutting plane.
type cutNormal:math.Vector
param surfaceFeature:
 The surface to slice the enity accross.
type surfaceFeature:
 FeatureArea
param extendSurface:
 Set Automatic extension On/Off for tool Surface.
type extendSurface:
 bool
returns:The new sliced part created.
rtype:Part
simplifyImprints(entity)

Finds and remove imprints from a part.

An imprint is an edge or a point that appears on a surface that can be removed without changing the underlying integrity of the surface, such as scratches or trimmed points.

param entity:Part from which you want to remove the Imprints from or FeatureLinear imprint to be removed.
type entity:Part, FeatureLinear
simplifyRounds(entity)

Finds and removes both round (convex) and fillet (concave) surfaces from a part.

param entity:Part from which you want to remove the Fillets, Chamfers from or a Feature to be removed.
type entity:Part, Feature
simplifyHoles(entity)

Finds and removes holes and pockets, and find raised areas such as lettering.

param entity:Part from which you want to remove the Holes from or FeatureCircular which needs to be removed.
type entity:Part, Feature
simplifyPlugs(entity)

Finds holes and pockets, and plug them by filling the area with a new part

param entity:Part from which you want to plug the holes or a Circular feature that needs to be plugged.
type entity:Part, Feature
partition(feature, thickness='1 mm', substractFromTarget=False)

Divides a solid part into design and non-design regions by selecting a hole, pocket, or face to offset.

param feature:feature to be partitioned.
type feature:Feature
param thickness:
 partition thickness consider in mm.
type thickness:float
param substractFromTarget:
 Remove the original feature from the part and then create a partition. Defaults to False,
type substractFromTarget:
 bool
midSurface(part, surfaceOptions='Mid')

Extracts a midsurface or side faces from thin solids, and determine where surfaces are represented.

Replacing parts with midsurfaces yields better results while increasing speed when running an analysis or optimization.

param part:part which needs midsurface extraction.
type part:Part
param surfaceOptions:
 side options allows you to extract the Mid, Left or Right surface of the part.
type surfaceOptions:
 str
fillet(feature, radius='3 mm')

Creates fillet on a Linear/Planar feature.

param feature:feature that needs to be fillet.
type feature:Feature
param radius:Radius of the fillet in string format.
type radius:str
chamferByAngle(feature, angle=45, dist=0.003)

Creates chamfer on a Linear/Planar feature.

param feature:Feature that needs to be chamfer.
type feature:Feature
param angle:Chamfer angle from the edge.
type angle:float
param dist:Chamfer distance from the edge.
type dist:float
chamferByDistance(feature, dist1=0.003, dist2=0.003)

Creates chamfer on a linear or planar feature.

param feature:Feature that needs to be chamfer.
type feature:Feature
param dist1:Chamfer distance from the edge.
type dist1:float
param dist2:Chamfer distance from the edge.
type dist2:float
shell(feature, thickness=1)

Removes material and create thin walls to generate a shelled part.

param feature:Feature to create a shelled part from.
type feature:FeatureArea
param thickness:
 Shell thickness consider in mm.
type thickness:float
referencePlane(features, planeMethod, ratio=0.5, offset=0, rotationAngle=0, flipTangent=False)

Reference planes can be used with the Sketch, Slice, and Mirror tools to create or modify geometry, or to create section cuts.

param features:Features to create a reference plane.
type features:list[Feature], Feature
param planeMethod:
 Plane Methods. - OFFSET - THREE_POINTS - MIDPLANE - NORMAL_TO_EDGE - AT_AN_ANGLE - NORMAL_TO_EDGE_AT_POINT - CYLINDER_TANGENT - PARALLEL_TO_SCREEN - UNREFERENCED
type planeMethod:
 str
param ratio:Applicable for MidPlane and CurveNormal method.
type ratio:float
param offset:offset value. Applicable for Offset method.
type offset:float
param rotationAngle:
 Angle in degree.Applicable for At an angle method.
type rotationAngle:
 float
param flipTangent:
 If True, flip the tangent for cylinder tangent method.
type flipTangent:
 bool
extrude(features, direction, resultType, parts=None, extrudeAsSolid=True, reference=None, extrudeTo1=1, extrudeTo2=1, angle1=0, angle2=0, extrusionEndCaps=None)

Extrude sketch profile.

param features:The features of the sketch to
type features:Union[Feature]
param extrude.:
param extrudeAsSolid:
 If True extrude as Solid, otherwise extrude as Sheet.
type extrudeAsSolid:
 bool
param direction:
 The Extrude Direction. Valid choices are: - SINGLE - BOTH - SYMMETRY
type direction:str
param resultType:
 The Extrude Result. Valid choices are: - COMBINE - SUBTRACT - INTERSECT - NEW_PART
type resultType:
 str
param parts:Parts you would like to merge the extruded shape with. Defaults to None. That means the extruded shape will be merged with all parts that touch it.
type parts:list[Part]
param reference:
 Direction vector of extrusion. Defaults to the feature normal.
type reference:Union[math.Vector, FeatureLinear, System
param extrudeTo1:
 If extrudeTo1 is a float then its the extrusion length in direction 1 in meters. If extrudeTo1 is a FeautrePoint or a FeaturePlanar then its used to determine the extrusion length in direction 1. Defaults to 1.
type extrudeTo1:
 Union[float, FeaturePlanar, FeaturePoint]
param extrudeTo2:
 If extrudeTo2 is a float then its the extrusion length in direction 2 in meters. If extrudeTo2 is a FeautrePoint or a FeaturePlanar then its used to determine the extrusion length in direction 2. Defaults to 1.
type extrudeTo2:
 Union[float, FeaturePlanar, FeaturePoint]
param angle1:The draft angle in direction 1 in degree. Defaults to 0.
type angle1:float
param angle2:The draft angle in direction 2 in degree. Defaults to 0.
type angle2:float
param extrusionEndCaps:
 The Extrusion End Caps. Valid choices are: - NONE - BOTH - START - END
type extrusionEndCaps:
 str
revolve(feature, angle, axis)

Revolve a face, sketch, line, or 2D edge about an axis.

param feature:A face, line, or 2D edge.
type feature:Union[FeatureArea, FeatureCurve]
param angle:The angle of revolution.
type angle:float
param axis:An edge, line, cylindrical hole or a System. If it is of type System it has to have systemType Axis. Selecting an edge on another part projects the axis of revolution to the planar face that will be rotated.
type axis:Union[FeatureLinear, FeatureCircular, System]
createPipe(path, section='CIRCLE', size=0.01, width=0.01, thickness=0.0, angle=None, ignoredFeatures=None, propagate=False, resultType='COMBINE')

Create Pipe for FeatureCurve.

param path:A FeatureCurve or a list of FeatureCurve.
type path:list[FeatureCurve], FeatureCurve
param section:The Pipe Profile Type. Valid choices are: - CIRCLE - SQUARE - TRIANGLE - RECTANGLE
type section:str
param size:Length of the pipe.
type size:float
param width:Width of the pipe, only applicable for Rectangular profile.
type width:float
param thickness:
 Pipe thickness. If not set or set to zero , it will be solid pipe.
type thickness:float
param angle:Angle in radians. Only for xy alignment.
type angle:float
param ignoredFeatures:
 Ignored Features. Not mandatory. In propagated cases, if we need to ignore certain curves.
param propagate:
 if True enables propagate option, otherwise disabled.
type propagate:bool
param resultType:
 The Result Operation Type. Valid choices are: - COMBINE - SUBTRACT - INTERSECT - NEW_PART
type resultType:
 str
circularPattern(input, axis, angle=60, count=3, equalSpacing=False, instances=False)

Circular Pattern parts or faces around an axis.

param input:A Part or a list of Parts, or a FeatureArea or a list of FeatureArea.
type input:list[Part], Part, list[FeatureArea], FeatureArea
param axis:Axis is a reference line, edge, or axis to which the pattern will be parallel.
type axis:math.Vector, FeatureCurve, System
param angle:Angle within which the copies are equally spaced.
type angle:float
param count:Number of copies.
type count:int
param equalSpacing:
 If True, equally space the copies within a specified Angle.
type equalSpacing:
 bool
param instances:
 If True,any changes to part or face will apply to all instances.
type instances:bool
linearPattern(input, direction1, direction2=(0, 0, 0), bothDirection=False, spacing1=0.0, count1=3, spacing2=0.0, count2=3, instances=False)

Linear Pattern parts or faces along a direction.

param input:A Part or a list of Parts.
type input:list[Part], Part
param direction1:
 Direction can be a reference line, edge, or axis to which the pattern will be parallel.
type direction1:
 math.Vector, FeatureCurve, System
param direction2:
 Direction can be a reference line, edge, or axis to which the pattern will be parallel.
type direction2:
 math.Vector, FeatureCurve, System
param bothDirection:
 If True, sets in both direction otherwise single direction.
type bothDirection:
 bool
param spacing1:Distance between two copies.
type spacing1:float
param count1:Number of copies.
type count1:int
param spacing2:Distance between two copies.
type spacing2:float
param count2:Number of copies.
type count2:int
param instances:
 If True,any changes to part or face will apply to all instances.
type instances:bool
draft(features, direction, neutralPlane, angle1=3.0, angle2=3.0, flipDrawDirection1=False, flipDrawDirection2=False)

Add draft to one or more faces of a part when designing a product that is manufactured using injection molding.

param features:Faces to Draft.
type features:list[FeatureArea], FeatureArea
param direction:
 The Draft Direction. Valid choices are: - SINGLE - BOTH - SYMMETRY
type direction:str
param neutralPlane:
 A reference plane or an existing face in the model. neutralPlane can not be same as draft feature.
type neutralPlane:
 FeaturePlanar, System
param angle1:The angle1 of draft.
type angle1:float
param angle2:The angle2 of draft. This is applicable for BOTH or SYMMETRIC direction.
type angle2:float
param flipDrawDirection1:
 If True, flips the draw direction of draft in single direction.
type flipDrawDirection1:
 bool
param flipDrawDirection2:
 If True, flips the draw direction of draft. Applicable for BOTH direction.
type flipDrawDirection2:
 bool
moveFaces(features, position, duplicate=False)

Translate, rotate, copy, or extend features.

param features:The features to move.
type features:list[FeatureArea], FeatureArea
param position:The position to move the features at.
type position:Matrix44
param duplicate:
 If True, copy the features at given position.
type duplicate:bool
offset(input, value, newPart=False)

Offset surfaces or parts.

Use the Offset to: 1. Proportionally increase or decrease the size of a solid part. 2. Increase or decrease a solid part’s dimension along a line normal to a selected surface (constrained by surrounding surfaces). 3. Create a new solid part proportionally larger or smaller than the original 4. Create a new surface part at specified distance from a part’s selected surface(s) 5. Offset selected surface(s) of a surface part (constrained by surrounding surfaces)

param input:A Part or a list of Parts or a Feature or a list of Features.
type input:list[Part], Part, list[Feature], Feature
param value:Desired offset distance. A negative value means inward direction.
type value:float
param newPart:If True, creates a new part. Defaults to False.
type newPart:bool
returns:New part created if newPart was True.
rtype:Part
thicken(parts, value, symmetric=True)

Thicken surface parts and convert them to solids, or thicken and hollow solid parts.

When used on a solid part, the Thicken tool yields a hollow solid. When used on a surface part, the Thicken tool yields a solid part.

param parts:A Part or a list of Parts.
type parts:list[Part], Part
param value:Desired offset distance. A negative value means inward direction.
type value:float
param symmetric:
 If True, offsets symmetrically to both sides of the part’s surface. Defaults to True.
type symmetric:bool
intersect(parts, createSolids=False, keepSourceParts=False)

Intersect tool that deletes excess faces, edges and vertices.

param parts:Parts to intersect.
type parts:list[Part], Part
param createSolids:
 If True, faces of solid volumes automatically selected.
type createSolids:
 bool
param keepSourceParts:
 Keep Input Parts yes or no. Default is no. When original parts are not kept, they are deleted from the model at the end of a successful operation.
type keepSourceParts:
 bool
translate(part, x=0, y=None, z=None)

Translates by the specified distance.

If y is None, x is assumed to be a list of 3 floats.

param part:The part to translate.
type part:Part
param x:The distance to translate the ‘x’ vector. Defaults to 0.
type x:Union[float, list[float]], optional
param y:The distance to translate the ‘y’ vector. Defaults to None.
type y:float, optional
param z:The distance to translate the ‘z’ vector. Defaults to None.
type z:float, optional
convertToMass(parts, parent=None)

Replace Parts to concentrated mass.

param parts:Parts to be replaced with concentrated mass.
type parts:list[Part], Part
param parent:Parent for the mass created.
type parent:Part
replaceFromFile(part, filePath)

Replace part with the contents of a file.

param part:The part to be replaced.
type part:Part
param filePath:The path to the file whose contents will replace the part.
type filePath:str
replaceFromPart(part, toolPart, keepToolPart=False)

Replace part with tool part.

param part:The part to be replaced.
type part:Part
param toolPart:The part to replace with.
type toolPart:Part
param keepToolPart:
 Determines whether to keep the toolPart or not after replace.
type keepToolPart:
 bool
convertBodiesToParts(parts)

Convert disconnected bodies to parts.

param parts:The parts to be converted.
type parts:list[Part]
returns:Newly created parts.
rtype:list[Part]
breakInstance(parts)

Break the instances of a part.

param parts:Parts for breaking instances.
type parts:list[Part]