Skip to content
This repository was archived by the owner on Apr 25, 2026. It is now read-only.
Stephen S. Mitchell edited this page Apr 25, 2026 · 4 revisions

Namespace: AlibreScript.API | Kind: Class

The Part class provides comprehensive functionality for creating, manipulating, and managing individual parts within Alibre Design. This class handles part properties, geometry creation, sketching, and file operations.

Practical Usage

Parts are the foundation of mechanical design. Common scripting applications include:

  • Automated part generation from design parameters
  • Parametric modeling with configurable dimensions
  • Feature creation (extrudes, cuts, fillets, chamfers)
  • Sketch-based geometry for complex shapes
  • Part validation and property management
  • Batch operations on multiple parts

Common Coding Patterns

# Create a new part
part = Part("MyPart.AD_PRT", "C:\\MyProject")

# Add a sketch for the base feature
base_sketch = part.AddSketch("BaseSketch", part.GetPlane("XY"))

# Create geometry in the sketch
base_sketch.AddRectangle(0, 0, 50, 30, False)
base_sketch.AddCircle(25, 15, 5, False) # Center hole

# Create an extrude feature
part.AddExtrudeBoss(
"BaseExtrude", # Feature name
base_sketch, # Sketch to extrude
10.0, # Extrude distance
Part.EndCondition.Blind, # End condition
0.0, # Taper angle
False # Not thin wall
)

# Add a fillet to edges
part.AddFillet("EdgeFillet", ["Edge1", "Edge2"], 2.0)

# Save the part
part.Save("Part creation complete")

Related Classes

Quick Navigation

Properties

Comment

Type: Object Comment property

Configurations

Type: Object List of configurations defined on the part

CostCenter

Type: Object Cost center property

CreatedBy

Type: Object Created By property

CreatedDate

Type: Object Created Date property

CreatingApplication

Type: Object Creating Application property

Density

Type: Object Density of the part

Description

Type: Object Description of the part

DocumentNumber

Type: Object Document Number property

EngineeringApprovalDate

Type: Object Engineering Approval Date property

EngineeringApprovedBy

Type: Object Engineering Approved By property

EstimatedCost

Type: Object Estimated Cost property

ExtendedMaterialInformation

Type: Object Material (extended information) property

FileName

Type: Object Path and filename of the part

Keywords

Type: Object Keywords property

LastAuthor

Type: Object Last Author property

LastUpdateDate

Type: Object Last Update Date property

ManufacturingApprovedBy

Type: Object Manufacturing Approved By property

ManufacturingApprovedDate

Type: Object Product property

Mass

Type: Object Mass of the part

Material

Type: Object Material of the part

ModifiedInformation

Type: Object Modified Information property

Name

Type: Object Name of the part

Number

Type: Object User-defined number for the part

Origin

Type: Object Gets the origin (language independent)

Parameters

Type: Object List of parameters defined on the part

Product

Type: Object Product property

ReceivedFrom

Type: Object Received From property

Revision

Type: Object Revision property

Selections

Type: Object Gets the currently selected items as [ItemA, ItemB, ...] Supports faces, edges, vertices, planes, axes and points

StockSize

Type: Object Stock Size property

Supplier

Type: Object Supplier property

Title

Type: Object Title property

Vendor

Type: Object Vendor property

WebLink

Type: Object Web Link property

XAxis

Type: Object Gets the X-axis (language independent)

XYPlane

Type: Object Gets the XY-plane (language independent)

YAxis

Type: Object Gets the Y-axis (language independent)

YZPlane

Type: Object Gets the YZ-plane (language independent)

ZAxis

Type: Object Gets the Z-axis (language independent)

ZXPlane

Type: Object Gets the ZX-plane (language independent)

Methods

Part

Opens an existing part

Overload 1:

def Part(folder, name):
"""
Opens an existing part

Args:
folder (str): Folder containing part
name (str): Name of part to open

"""

Overload 2:

def Part(folder, name, hide_editor):
"""
Opens an existing part, optionally hiding the editor

Args:
folder (str): Folder containing part
name (str): Name of part to open
hide_editor (bool): True to hide the editor (only valid if part is not already open)

"""

Overload 3:

def Part(name):
"""
Creates a new part

Args:
name (str): Name of new part

"""

Overload 4:

def Part(name, create_new):
"""
Creates a new part or accesses an already opened part

Args:
name (str): Name of part to create or access
create_new (bool): True to create a new part, false to access an opened part

"""

Overload 5:

def Part(name, create_new, hide_editor):
"""
Creates a new part or accesses an already opened part, optionally hiding the editor

Args:
name (str): Name of part to create or access
create_new (bool): True to create a new part, false to access an opened part
hide_editor (bool): True to hide the editor (only valid if CreateNew is true)

"""

Overload 6:

def Part(file_name, type):
"""
Opens or imports an existing file for editing

Args:
file_name (str): Name of file to open
type (Part.FileTypes): Type of file (GeomagicDesignPart, STEP, IGES, ThreeDM, SAT, STL_in, STL_cm, STL_mm)

"""

Overload 7:

def Part(file_name, type, hide_editor):
"""
Opens or imports an existing file for editing, optionally hiding the editor

Args:
file_name (str): Name of file to open
type (Part.FileTypes): Type of file (GeomagicDesignPart, STEP, IGES, ThreeDM, SAT, STL_in, STL_cm, STL_mm)
hide_editor (bool): True to hide the editor

"""

Add3DSketch

Creates a new 3D sketch

def Add3DSketch(name):
"""
Creates a new 3D sketch

Args:
name (str): Name of sketch

Returns:
Created sketch

"""

AddAxis

Creates an axis based on the intersection of two planes/faces

Overload 1:

def AddAxis(name, plane1, plane2):
"""
Creates an axis based on the intersection of two planes/faces

Args:
name (str): Name of axis
plane1 (ISketchSurface): First plane/face
plane2 (ISketchSurface): Second plane/face

Returns:
New Axis

"""

Overload 2:

def AddAxis(name, point_a, point_b):
"""
Creates an axis based on two points

Args:
name (str): Name of axis
point_a (Point): First point object
point_b (Point): Second point object

Returns:
New axis

"""

Overload 3:

def AddAxis(name, cylindrical_face):
"""
Creates an axis for a cylindrical face

Args:
name (str): Name of axis
cylindrical_face (Face): Cylindrical face

Returns:
New axis

"""

Overload 4:

def AddAxis(name, point1, point2):
"""
Creates an axis based on two points

Args:
name (str): Name of axis
point1 (list): First point [X, Y, Z]
point2 (list): Second point [X, Y, Z]

Returns:
New axis

"""

AddChamfer

Adds a chamfer to a face or edge

Overload 1:

def AddChamfer(name, item, distance1, distance2, tangent_propagate):
"""
Adds a chamfer to a face or edge

Args:
name (str): Name of chamfer
item (IChamferable): Face or edge to chamfer
distance1 (float): First chamfer distance
distance2 (float): Second chamfer distance
tangent_propagate (bool): True to propagate the chamfer along connected edges

Returns:
Chamfer feature

"""

Overload 2:

def AddChamfer(name, items, distance1, distance2, tangent_propagate):
"""
Adds a chamfer to a set of faces and edges

Args:
name (str): Name of chamfer
items (list): Faces and edges to chamfer
distance1 (float): First chamfer distance
distance2 (float): Second chamfer distance
tangent_propagate (bool): True to propagate the chamfer along connected edges

Returns:
Chamfer feature

"""

Overload 3:

def AddChamfer(name, item, distance, tangent_propagate):
"""
Adds a chamfer to a face or edge

Args:
name (str): Name of chamfer
item (IChamferable): Face or edge to chamfer
distance (float): Chamfer distance
tangent_propagate (bool): True to propagate the chamfer along connected edges

Returns:
Chamfer feature

"""

Overload 4:

def AddChamfer(name, items, distance, tangent_propagate):
"""
Adds a chamfer to a set of faces and edges

Args:
name (str): Name of chamfer
items (list): Faces and edges to chamfer
distance (float): Chamfer distance
tangent_propagate (bool): True to propagate the chamfer along connected edges

Returns:
Chamfer feature

"""

AddChamferAngle

Adds a chamfer to a face or edge

Overload 1:

def AddChamferAngle(name, item, distance, angle, tangent_propagate):
"""
Adds a chamfer to a face or edge

Args:
name (str): Name of chamfer
item (IChamferable): Face or edge to chamfer
distance (float): Chamfer distance
angle (float): Chamfer angle
tangent_propagate (bool): True to propagate the chamfer along connected edges

Returns:
Chamfer feature

"""

Overload 2:

def AddChamferAngle(name, items, distance, angle, tangent_propagate):
"""
Adds a chamfer to a set of faces and edges

Args:
name (str): Name of chamfer
items (list): Faces and edges to chamfer
distance (float): Chamfer distance
angle (float): Chamfer angle
tangent_propagate (bool): True to propagate the chamfer along connected edges

Returns:
Chamfer feature

"""

AddConfiguration

Adds a configuration to the part

Overload 1:

def AddConfiguration(name):
"""
Adds a configuration to the part

Args:
name (str): Name of configuration

Returns:
New configuration

"""

Overload 2:

def AddConfiguration(name, base_configuration_name):
"""
Adds a configuration to the part using another configuration as a base

Args:
name (str): Name of configuration
base_configuration_name (str): Name of base configuration to use

Returns:
New configuration

"""

AddExtrudeBoss

Adds a simple extrude boss to a specific depth

Overload 1:

def AddExtrudeBoss(name, sketch, depth, is_reversed):
"""
Adds a simple extrude boss to a specific depth

Args:
name (str): Name of extrusion
sketch (Sketch): Sketch to extrude
depth (float): Extrusion distance
is_reversed (bool): True if extrusion direction is reversed

Returns:
Extruded feature

"""

Overload 2:

def AddExtrudeBoss(name, sketch, depth, is_reversed, end_condition, end_plane, end_offset, direction, sweep_path, draft_angle, outward_draft):
"""
Adds an extrude feature

Args:
name (str): Name of extrusion
sketch (Sketch): Sketch to extrude
depth (float): Depth of extrusion
is_reversed (bool): true if direction is reversed
end_condition (Part.EndCondition): End condition for extrusion
end_plane (ISketchSurface): Face or plane to terminate extrusion
end_offset (float): Offset from face or plane to terminate extrusion
direction (Part.DirectionType): Direction of extrusion
sweep_path (ISweepPath): Sketch or edge to follow when extruding
draft_angle (float): Angle of draft
outward_draft (bool): true if outward draft

Returns:
Extruded feature

"""

AddExtrudeCut

Adds a simple extrude cut to a specific depth

Overload 1:

def AddExtrudeCut(name, sketch, depth, is_reversed):
"""
Adds a simple extrude cut to a specific depth

Args:
name (str): Name of extrusion
sketch (Sketch): Sketch to extrude
depth (float): Extrusion distance
is_reversed (bool): True if extrusion direction is reversed

Returns:
Extruded feature

"""

Overload 2:

def AddExtrudeCut(name, sketch, depth, is_reversed, end_condition, end_plane, end_offset, direction, sweep_path, draft_angle, outward_draft):
"""
Adds an extrude cut feature

Args:
name (str): Name of extrusion
sketch (Sketch): Sketch to extrude
depth (float): Depth of extrusion
is_reversed (bool): true if direction is reversed
end_condition (Part.EndCondition): End condition for extrusion
end_plane (ISketchSurface): Face or plane to terminate extrusion
end_offset (float): Offset from face or plane to terminate extrusion
direction (Part.DirectionType): Direction of extrusion
sweep_path (ISweepPath): Sketch or edge to follow when extruding
draft_angle (float): Angle of draft
outward_draft (bool): true if outward draft

Returns:
Extruded feature

"""

AddFillet

Adds a constant radius fillet to a face or edge

Overload 1:

def AddFillet(name, item, radius, tangent_propagate):
"""
Adds a constant radius fillet to a face or edge

Args:
name (str): Name of fillet
item (IFilletable): Face or edge to fillet
radius (float): Radius of fillet
tangent_propagate (bool): True to propagate the fillet along connected edges

Returns:
Fillet feature

"""

Overload 2:

def AddFillet(name, items, radius, tangent_propagate):
"""
Adds a constant radius fillet to a set of faces and edges

Args:
name (str): Name of fillet
items (list): Faces and edges to fillet
radius (float): Radius of fillet
tangent_propagate (bool): True to propagate the fillet along connected edges

Returns:
Fillet feature

"""

Overload 3:

def AddFillet(name, items, start_radii, end_radii, tangent_propagate):
"""
Adds a variable radius fillet to a set of faces and edges

Args:
name (str): Name of fillet
items (list): Faces and edges to fillet
start_radii (list): Start radii of fillets
end_radii (list): End radii of fillets
tangent_propagate (bool): True to propagate the fillet along connected edges

Returns:
Fillet feature

"""

AddGear

Adds a gear sketch to the part

def AddGear(name, numberof_teeth, pitch_diameter, pressure_angle, diametral_pitch, single_tooth, center_x, center_y, involute_points, plane):
"""
Adds a gear sketch to the part

Args:
name (str): Name of gear sketch
numberof_teeth (float): Number of teeth
pitch_diameter (int): Diameter of pitch circle in current units
pressure_angle (float): Pressure angle (14.5 is typical)
diametral_pitch (float): Diametral angle (tooth size) (25.4/module) in teeth per inch
single_tooth (bool): true to create only a single tooth profile
center_x (float): X-coordinate of gear center
center_y (float): Y-coordinate of gear center
involute_points (int): Number of points for involute curve. Decreasing this makes Cubify/Geomagic faster. Increasing makes tooth profiles more accurate and allows gears with more teeth to be generated.
plane (ISketchSurface): Plane or face to create gear sketch on

Returns:
Gear sketch

"""

AddGearDN

Adds a gear sketch to the part using diametral pitch and number of teeth

Overload 1:

def AddGearDN(name, numberof_teeth, pressure_angle, diametral_pitch, center_x, center_y, plane):
"""
Adds a gear sketch to the part using diametral pitch and number of teeth

Args:
name (str): Name of gear sketch
numberof_teeth (float): Number of teeth
pressure_angle (int): Pressure angle (14.5 is typical)
diametral_pitch (float): Diametral angle (tooth size) (1/module)
center_x (float): X-coordinate of center of gear
center_y (float): Y-coordinate of center of gear
plane (ISketchSurface): Plane or face to create gear sketch on

Returns:
Gear sketch

"""

Overload 2:

def AddGearDN(name, numberof_teeth, pressure_angle, diametral_pitch, center_x, center_y, single_tooth, plane):
"""
Adds a gear sketch to the part using diametral pitch and number of teeth

Args:
name (str): Name of gear sketch
numberof_teeth (float): Number of teeth
pressure_angle (int): Pressure angle (14.5 is typical)
diametral_pitch (float): Diametral angle (tooth size) (1/module)
center_x (float): X-coordinate of center of gear
center_y (float): Y-coordinate of center of gear
single_tooth (bool): True to generate a single tooth
plane (ISketchSurface): Plane or face to create gear sketch on

Returns:
Gear sketch

"""

AddGearDP

Adds a gear sketch to the part using diametral pitch and pitch diameter

Overload 1:

def AddGearDP(name, pitch_diameter, pressure_angle, diametral_pitch, center_x, center_y, plane):
"""
Adds a gear sketch to the part using diametral pitch and pitch diameter

Args:
name (str): Name of gear sketch
pitch_diameter (float): Diameter of pitch circle
pressure_angle (float): Pressure angle (14.5 is typical)
diametral_pitch (float): Diametral angle (tooth size) (1/module)
center_x (float): X-coordinate of center of gear
center_y (float): Y-coordinate of center of gear
plane (ISketchSurface): Plane or face to create gear sketch on

Returns:
Gear sketch

"""

Overload 2:

def AddGearDP(name, pitch_diameter, pressure_angle, diametral_pitch, center_x, center_y, single_tooth, plane):
"""
Adds a gear sketch to the part using diametral pitch and pitch diameter

Args:
name (str): Name of gear sketch
pitch_diameter (float): Diameter of pitch circle
pressure_angle (float): Pressure angle (14.5 is typical)
diametral_pitch (float): Diametral angle (tooth size) (1/module)
center_x (float): X-coordinate of center of gear
center_y (float): Y-coordinate of center of gear
single_tooth (bool): True to generate a single tooth
plane (ISketchSurface): Plane or face to create gear sketch on

Returns:
Gear sketch

"""

AddGearNP

Adds a gear sketch to the part using number of teeth and pitch diameter

Overload 1:

def AddGearNP(name, numberof_teeth, pitch_diameter, pressure_angle, center_x, center_y, plane):
"""
Adds a gear sketch to the part using number of teeth and pitch diameter

Args:
name (str): Name of gear sketch
numberof_teeth (int): Number of teeth
pitch_diameter (float): Diameter of pitch circle
pressure_angle (float): Pressure angle (14.5 is typical)
center_x (float): X-coordinate of center of gear
center_y (float): Y-coordinate of center of gear
plane (ISketchSurface): Plane or face to create gear sketch on

Returns:
Gear sketch

"""

Overload 2:

def AddGearNP(name, numberof_teeth, pitch_diameter, pressure_angle, center_x, center_y, single_tooth, plane):
"""
Adds a gear sketch to the part using number of teeth and pitch diameter

Args:
name (str): Name of gear sketch
numberof_teeth (int): Number of teeth
pitch_diameter (float): Diameter of pitch circle
pressure_angle (float): Pressure angle (14.5 is typical)
center_x (float): X-coordinate of center of gear
center_y (float): Y-coordinate of center of gear
single_tooth (bool): True to generate a single tooth
plane (ISketchSurface): Plane or face to create gear sketch on

Returns:
Gear sketch

"""

AddLoftBoss

Adds a loft extrusion

Overload 1:

def AddLoftBoss(name, cross_sections, minimize_twist, minimize_curvature, simplify_surface, connect_ends):
"""
Adds a loft extrusion

Args:
name (str): Name of loft
cross_sections (list): Python list of cross sections (faces, 2D sketches, design points)
minimize_twist (bool): True to minimize twist
minimize_curvature (bool): True to minimize curvature
simplify_surface (bool): True to simplify the loft surface
connect_ends (bool): True to connect the start of the loft with the end

Returns:
Extruded feature

"""

Overload 2:

def AddLoftBoss(name, cross_sections, guide_curves, guide_type, minimize_twist, minimize_curvature, simplify_surface, connect_ends):
"""
Adds a loft extrusion using guide curves

Args:
name (str): Name of loft
cross_sections (list): Python list of cross sections (faces, 2D sketches, design points)
guide_curves (list): Python list of guide curves (3D sketches)
guide_type (GuideCurveTypes): Type of guide curve
minimize_twist (bool): True to minimize twist
minimize_curvature (bool): True to minimize curvature
simplify_surface (bool): True to simplify the loft surface
connect_ends (bool): True to connect the start of the loft with the end

Returns:
Extruded feature

"""

AddLoftCut

Adds a loft cut

Overload 1:

def AddLoftCut(name, cross_sections, minimize_twist, minimize_curvature, simplify_surface, connect_ends):
"""
Adds a loft cut

Args:
name (str): Name of loft
cross_sections (list): Python list of cross sections (faces, 2D sketches, design points)
minimize_twist (bool): True to minimize twist
minimize_curvature (bool): True to minimize curvature
simplify_surface (bool): True to simplify the loft surface
connect_ends (bool): True to connect the start of the loft with the end

Returns:
Cut feature

"""

Overload 2:

def AddLoftCut(name, cross_sections, guide_curves, guide_type, minimize_twist, minimize_curvature, simplify_surface, connect_ends):
"""
Adds a loft cut using guide curves

Args:
name (str): Name of loft
cross_sections (list): Python list of cross sections (faces, 2D sketches, design points)
guide_curves (list): Python list of guide curves (3D sketches)
guide_type (GuideCurveTypes): Type of guide curve
minimize_twist (bool): True to minimize twist
minimize_curvature (bool): True to minimize curvature
simplify_surface (bool): True to simplify the loft surface
connect_ends (bool): True to connect the start of the loft with the end

Returns:
Extruded feature

"""

AddParameter

Adds a cm/mm/in/deg parameter to the part

Overload 1:

def AddParameter(name, type, value):
"""
Adds a cm/mm/in/deg parameter to the part

Args:
name (str): Name of parameter
type (ParameterTypes): Type of parameter
value (float): Value for parameter

Returns:
New parameter

"""

Overload 2:

def AddParameter(name, type, unitsto_use, value):
"""
Adds a parameter to the part with specific units

Args:
name (str): Name of parameter
type (ParameterTypes): Type of parameter
unitsto_use (ParameterUnits): Units to use
value (float): Value for parameter

Returns:
New parameter

"""

Overload 3:

def AddParameter(name, type, equation):
"""
Adds a parameter to the part

Args:
name (str): Name of parameter
type (ParameterTypes): Type of parameter
equation (str): Equation for parameter

Returns:
New parameter

"""

AddPlane

Creates a plane based on the offset from an existing plane

Overload 1:

def AddPlane(name, source_plane, offset):
"""
Creates a plane based on the offset from an existing plane

Args:
name (str): Name of plane
source_plane (ISketchSurface): Plane/face to use as basis
offset (float): Offset from basis plane in currently chosen units

Returns:
Created plane

"""

Overload 2:

def AddPlane(name, normal_vector, pointon_plane):
"""
Adds a plane using a normal vector and a point on the plane

Args:
name (str): Name of plane to add
normal_vector (list): Normal vector as a list [nx, ny, nz]. Does not need to be a unit vector
pointon_plane (list): A point on the plane as a list [px, py, pz]

Returns:
Created plane

"""

Overload 3:

def AddPlane(name, axis, point):
"""
Creates a new plane contaning an axis and a point

Args:
name (str): Name of new plane
axis (Axis): Axis that lies on plane
point (Point): Point that lies on plane

Returns:
New plane

"""

Overload 4:

def AddPlane(name, source_plane, rotation_axis, angle):
"""
Creates a new plane at an angle to an existing plane

Args:
name (str): Name of new plane
source_plane (ISketchSurface): Plane/face to use as basis for new plane
rotation_axis (Axis): Axis of rotation for new plane
angle (float): Angle of new plane in degrees

Returns:
New plane

"""

Overload 5:

def AddPlane(name, point1, point2, point3):
"""
Creates a plane using three points. Each point is defined as list of [x, y, z]

Args:
name (str): Name of plane
point1 (list): Point on plane
point2 (list): Point on plane
point3 (list): Point on plane

Returns:
Created plane

"""

AddPoint

Adds a point to the part

Overload 1:

def AddPoint(name, point):
"""
Adds a point to the part

Args:
name (str): Name of the new point
point (list): Point location [x, y, z]

Returns:
The new point

"""

Overload 2:

def AddPoint(name, point):
"""
Adds a point to the part

Args:
name (str): Name of the point
point (Point): Point to add

"""

Overload 3:

def AddPoint(name, x, y, z):
"""
Adds a point to the part

Args:
name (str): Name of new point
x (float): X coordinate
y (float): Y coordinate
z (float): Z coordinate

Returns:
The new point

"""

Overload 4:

def AddPoint(name, point_or_vertex, x_offset, y_offset, z_offset):
"""
Add a point at an offset to a point or a vertex

Args:
name (str): Name of point
point_or_vertex (IPoint): Point or vertex
x_offset (float): X offse
y_offset (float): Y offset
z_offset (float): Z offset

Returns:
The created point

"""

Overload 5:

def AddPoint(name, point_or_vertex1, point_or_vertex2, ratio):
"""
Add a point between two points/vertices

Args:
name (str): Name of point
point_or_vertex1 (IPoint): First point or vertex
point_or_vertex2 (IPoint): Second point or vertex
ratio (float): Ratio of distance between points/vertices

Returns:
The created point

"""

Overload 6:

def AddPoint(name, axis_or_edge1, axis_or_edge2):
"""
Add a point at the intersection or two axes or edges

Args:
name (str): Name of point
axis_or_edge1 (IAxis): First axis or edge
axis_or_edge2 (IAxis): Second axis or edge

Returns:
The created point

"""

Overload 7:

def AddPoint(name, plane_or_face1, plane_or_face2, plane_or_face3):
"""
Add a point at the intersection of three planes or faces

Args:
name (str): Name of point
plane_or_face1 (IPlane): First plane or face
plane_or_face2 (IPlane): Second plane or face
plane_or_face3 (IPlane): Third plane or face

Returns:
The created point

"""

Overload 8:

def AddPoint(name, axis_or_edge, plane_or_face):
"""
Add a point at the the intersection of a axis or edge and a plane or face

Args:
name (str): Name of point
axis_or_edge (IAxis): Axis or edge
plane_or_face (IPlane): Plane or face

Returns:
The created point

"""

Overload 9:

def AddPoint(name, source_point_or_vertex, target_plane_or_face, x_offset, y_offset):
"""
Add a point by projecting a point or vertex onto a plane or face

Args:
name (str): Name of point
source_point_or_vertex (IPoint): Point or vertex to project
target_plane_or_face (IPlane): Plane or face to project onto
x_offset (float): X offset to apply to point once projected
y_offset (float): Y offset to apply to point once projected

Returns:
The created point

"""

Overload 10:

def AddPoint(name, target_edge, ratio):
"""
Add a point on an edge

Args:
name (str): Name of point
target_edge (Edge): The edge to create the point on
ratio (float): Ratio along the edge from 0.0 -> 1.0

Returns:
The created point

"""

AddPointFromCircularEdge

Adds a point at the center of a circular edge

def AddPointFromCircularEdge(name, target_edge):
"""
Adds a point at the center of a circular edge

Args:
name (str): Name of point
target_edge (Edge): The edge to use for creating the point

Returns:
The created point

"""

AddPointFromToroidalFace

Adds a point at the center of a toroidal face

def AddPointFromToroidalFace(name, target_face):
"""
Adds a point at the center of a toroidal face

Args:
name (str): Name of point
target_face (Face): Toroidal face to use in creating the point

Returns:
The created point

"""

AddPoints

Adds a set of points to the part

def AddPoints(prefix, points):
"""
Adds a set of points to the part

Args:
prefix (str): Prefix for the point names
points (list): List of points [x1,y1,z1, ..., xn,yn,zn]

"""

AddRevolveBoss

Creates a revolve boss feature

def AddRevolveBoss(name, sketch, axis, angle):
"""
Creates a revolve boss feature

Args:
name (str): Name of feature
sketch (Sketch): Sketch to revolve
axis (Axis): Axis to rotate around
angle (float): Rotation angle in degrees

Returns:
Created feature

"""

AddRevolveCut

Creates a revolve cut feature

def AddRevolveCut(name, sketch, axis, angle):
"""
Creates a revolve cut feature

Args:
name (str): Name of feature
sketch (Sketch): Sketch to revolve
axis (Axis): Axis to rotate around
angle (float): Rotation angle in degrees

Returns:
Created feature

"""

AddSketch

Creates a new sketch using a plane/face

def AddSketch(name, plane):
"""
Creates a new sketch using a plane/face

Args:
name (str): Name of sketch
plane (ISketchSurface): Plane/face to use for sketch

Returns:
Created sketch

"""

AddSweepBoss

Adds a sweep extrude feature

def AddSweepBoss(name, profile_sketch, path_sketch, is_rigid, end_condition, end_plane, end_offset, draft_angle, outward_draft):
"""
Adds a sweep extrude feature

Args:
name (str): Name of extrusion
profile_sketch (Sketch): Sketch to extrude
path_sketch (ISweepPath): Sketch or edge to sweep along
is_rigid (bool): true if path is parallel to profile
end_condition (Part.EndCondition): End condition for extrusion
end_plane (ISketchSurface): Face or plane to terminate extrusion
end_offset (float): Offset from face or plane to terminate extrusion
draft_angle (float): Angle of draft
outward_draft (bool): true if outward draft

Returns:
Extruded feature

"""

AddSweepCut

Adds a sweep extrude cut feature

def AddSweepCut(name, profile_sketch, path_sketch, is_rigid, end_condition, end_plane, end_offset, draft_angle, outward_draft):
"""
Adds a sweep extrude cut feature

Args:
name (str): Name of extrusion
profile_sketch (Sketch): Sketch to extrude
path_sketch (ISweepPath): Sketch or edge to sweep along
is_rigid (bool): true if path is parallel to profile
end_condition (Part.EndCondition): End condition for extrusion
end_plane (ISketchSurface): Face or plane to terminate extrusion
end_offset (float): Offset from face or plane to terminate extrusion
draft_angle (float): Angle of draft
outward_draft (bool): true if outward draft

Returns:
Extruded feature

"""

AddVertexChamfer

Adds a chamfer to a vertex

Overload 1:

def AddVertexChamfer(name, item, distance1, distance2, distance3):
"""
Adds a chamfer to a vertex

Args:
name (str): Name of chamfer
item (Vertex): Vertex to chamfer
distance1 (float): First chamfer distance
distance2 (float): Second chamfer distance
distance3 (float): Third chamfer distance

Returns:
Chamfer feature

"""

Overload 2:

def AddVertexChamfer(name, items, distance1, distance2, distance3):
"""
Adds a chamfer to a set of vertices

Args:
name (str): Name of chamfer
items (list): Vertices to chamfer
distance1 (float): First chamfer distance
distance2 (float): Second chamfer distance
distance3 (float): Third chamfer distance

Returns:
Chamfer feature

"""

ExportBIP

Exports a keyshot file

def ExportBIP(file_name):
"""
Exports a keyshot file

Args:
file_name (str): Path and name of keyshot file

"""

ExportIGES

Exports the part as a IGES file

def ExportIGES(file_name):
"""
Exports the part as a IGES file

Args:
file_name (str): Path and name of IGES file

"""

ExportRotatedSTL

Exports the part as an STL rotated so that a specific face is on the bottom

def ExportRotatedSTL(file_name, bottom_face, forceto_millimeters, use_custom_settings, max_cell_size, normal_deviation, surface_deviation):
"""
Exports the part as an STL rotated so that a specific face is on the bottom

Args:
file_name (str): Path and name of STL file
bottom_face (Face): Face to use as bottom of part
forceto_millimeters (bool): true to output STL in millimeters regardless of part units
use_custom_settings (bool): true to use custom STL settings, false to use settings in system properties
max_cell_size (float): Custom max cell size
normal_deviation (float): Custom normal deviation
surface_deviation (float): Custom surface deviation

"""

ExportSAT

Exports the part as a SAT file

def ExportSAT(file_name, version, save_colors):
"""
Exports the part as a SAT file

Args:
file_name (str): Path and name of SAT file
version (int): Exported SAT file version
save_colors (bool): true to preseve colors

"""

ExportSTEP203

Exports the part as a STEP 203 file

def ExportSTEP203(file_name):
"""
Exports the part as a STEP 203 file

Args:
file_name (str): Path and name of STEP 203 file

"""

ExportSTEP214

Exports the part as a STEP 214 file

def ExportSTEP214(file_name):
"""
Exports the part as a STEP 214 file

Args:
file_name (str): Path and name of STEP 214 file

"""

ExportSTL

Exports the part as an STL file

def ExportSTL(file_name):
"""
Exports the part as an STL file

Args:
file_name (str): Path and name of STL file

"""

Get3DSketch

Gets a sketch using the name of the sketch

def Get3DSketch(name):
"""
Gets a sketch using the name of the sketch

Args:
name (str): Name of sketch

Returns:
Sketch object

"""

GetAxis

Gets an axis from an axis name

def GetAxis(name):
"""
Gets an axis from an axis name

Args:
name (str): Name of axis to find

Returns:
Found axis

"""

GetConfiguration

Gets a configuration with a specific name

def GetConfiguration(name):
"""
Gets a configuration with a specific name

Args:
name (str): Name of confguration

Returns:
Configuration object

"""

GetCustomProperty

Gets the value of a custonm property

def GetCustomProperty(name):
"""
Gets the value of a custonm property

Args:
name (str): Name of the custom property

Returns:
The value of the property as a string

"""

GetEdge

Gets an edge using it's name "Edge"

def GetEdge(name):
"""
Gets an edge using it's name "Edge<n>"

Args:
name (str): Name of edge

Returns:
Edge if found

"""

GetFace

Gets a face using it's name "Face"

def GetFace(name):
"""
Gets a face using it's name "Face<n>"

Args:
name (str): Name of face

Returns:
Face if found

"""

GetFeature

Gets a feature on the part

def GetFeature(name):
"""
Gets a feature on the part

Args:
name (str): Name of the feature to get

Returns:
The feature or null if not found

"""

GetParameter

Gets a parameter with a specific name

def GetParameter(name):
"""
Gets a parameter with a specific name

Args:
name (str): Name of parameter

Returns:
Parameter object

"""

GetPlane

Gets a plane using the name of the plane

def GetPlane(name):
"""
Gets a plane using the name of the plane

Args:
name (str): Name of plane to find

Returns:
The plane

"""

GetPoint

Gets a point on the part using the point name. The point must have been created in a script

def GetPoint(name):
"""
Gets a point on the part using the point name. The point must have been created in a script

Args:
name (str): Name of point to get

Returns:
Point on the part

"""

GetSketch

Gets a sketch using the name of the sketch

def GetSketch(name):
"""
Gets a sketch using the name of the sketch

Args:
name (str): Name of sketch

Returns:
Sketch object

"""

GetUserData

Gets user data

def GetUserData(name):
"""
Gets user data

Args:
name (str): Name of data to get

Returns:
Data as a python dictionary or None if not found

"""

GetVertex

Gets a vertex using it's name "Vertex"

def GetVertex(name):
"""
Gets a vertex using it's name "Vertex<n>"

Args:
name (str): Name of vertex

Returns:
Vertex if found

"""

HideFeature

Hides a feature on the part

Overload 1:

def HideFeature(name):
"""
Hides a feature on the part

Args:
name (str): Name of the feature to hide

"""

Overload 2:

def HideFeature(feature):
"""
Hides a feature on the part

Args:
feature (Feature): Feature to hide

"""

NonUniformScale

Non-uniform scaling of the part

def NonUniformScale(name, scale_about_center, scale_factor_x, scale_factor_y, scale_factor_z):
"""
Non-uniform scaling of the part

Args:
name (str): Name of the scaling
scale_about_center (bool): true to scale around the center of the part
scale_factor_x (float): X scale factor
scale_factor_y (float): Y scale factor
scale_factor_z (float): Z scale factor

Returns:
Scale feature

"""

RemoveFeature

Removes a feature from the part

Overload 1:

def RemoveFeature(name):
"""
Removes a feature from the part

Args:
name (str): Name of the feature to remove

"""

Overload 2:

def RemoveFeature(feature):
"""
Removes a feature from the part

Args:
feature (Feature): Feature to remove

"""

RemovePlane

Removes a plane from the part

def RemovePlane(plane):
"""
Removes a plane from the part

Args:
plane (Plane): Plane to remove

"""

RemovePoint

Removes a point from the part

def RemovePoint(point):
"""
Removes a point from the part

Args:
point (Point): Point to remove

"""

RemoveSketch

Removes a sketch from the part

Overload 1:

def RemoveSketch(name):
"""
Removes a sketch from the part

Args:
name (str): Name of sketch to remove

"""

Overload 2:

def RemoveSketch(sketch):
"""
Removes a sketch from the part

Args:
sketch (Sketch): Sketch to remove

"""

Save

Saves the part to a specific folder

def Save(folder):
"""
Saves the part to a specific folder

Args:
folder (str): Folder to save to

"""

SaveAs

Saves the part to a specific folder with a new name

def SaveAs(folder, new_name):
"""
Saves the part to a specific folder with a new name

Args:
folder (str): Folder to save to
new_name (str): New name for part

"""

SaveSnapshot

Saves the current view as a bitmap image

def SaveSnapshot(file_name, width, height, use_aspect_ratio, use_widthand_height):
"""
Saves the current view as a bitmap image

Args:
file_name (str): Path and name of file to save to
width (int): Width in pixels
height (int): Height in pixels
use_aspect_ratio (bool): if true uses greater of width/height along with current aspect ratio
use_widthand_height (bool): if true uses current width/height of view

"""

SaveThumbnail

Saves a thumbnail image of the part

def SaveThumbnail(file_name, width, height):
"""
Saves a thumbnail image of the part

Args:
file_name (str): Path and name of file to save to
width (int): Width of thumbnail in pixels
height (int): Height of thumbnail in pixels

"""

Scale

Uniform scaling of the part

def Scale(name, scale_about_center, scale_factor):
"""
Uniform scaling of the part

Args:
name (str): Name of the scaling
scale_about_center (bool): true to scale around the center of the part
scale_factor (float): Scale factor

Returns:
Scale feature

"""

Select

Selects a face, edge, vertex, point, axis, plane, sketch

Overload 1:

def Select(faceor_edge):
"""
Selects a face, edge, vertex, point, axis, plane, sketch

Args:
faceor_edge (ISelectableGeometry): Face, edge, vertex, point, axis plane or sketch to select

"""

Overload 2:

def Select(faces_edges_list):
"""
Selects a group of faces, edges, vertices, points, axes, planes and sketches

Args:
faces_edges_list (list): List of Faces, edges, vertices, points, axes, planes and sketches to select [FaceA, FaceB, EdgeA, EdgeB, ...]

"""

SetColor

Sets the color of the part

def SetColor(red, green, blue):
"""
Sets the color of the part

Args:
red (byte): Red component 0 - 255
green (byte): Green component 0 - 255
blue (byte): Blue component 0 - 255

"""

SetCustomProperty

Sets the value of a custom property The custom property must already be defined on the part or defined on the user's PC

def SetCustomProperty(name, value):
"""
Sets the value of a custom property The custom property must already be defined on the part or defined on the user's PC

Args:
name (str): Name of the custom property
value (str): New value for the custom property

"""

SetUserData

Sets user data

def SetUserData(name, dict):
"""
Sets user data

Args:
name (str): Data name of the format companyname.projectname.dataname
dict (IronPython.Runtime.PythonDictionary): Python dictionary of data to store

"""

ShowFeature

Shows a feature on the part

Overload 1:

def ShowFeature(name):
"""
Shows a feature on the part

Args:
name (str): Name of the feature to show

"""

Overload 2:

def ShowFeature(feature):
"""
Shows a feature on the part

Args:
feature (Feature): Feature to show

"""

SuppressFeature

Suppresses a feature on the part

Overload 1:

def SuppressFeature(name):
"""
Suppresses a feature on the part

Args:
name (str): Name of the feature to suppress

"""

Overload 2:

def SuppressFeature(feature):
"""
Suppresses a feature on the part

Args:
feature (Feature): Feature to suppress

"""

UnsuppressFeature

Unsuppresses a feature on the part

Overload 1:

def UnsuppressFeature(name):
"""
Unsuppresses a feature on the part

Args:
name (str): Name of the feature to unsuppress

"""

Overload 2:

def UnsuppressFeature(feature):
"""
Unsuppresses a feature on the part

Args:
feature (Feature): Feature to unsuppress

"""

Clone this wiki locally