Implicit (hwx.inspire.implicit)#

class Implicit(assembly=None)#

Bases: Part

Implicit modelling represents geometry as a field and is highly efficient in terms of computation and rendering. Users can design very intricate geometries, such as lattices, whilst exploiting exceptional robustness during Boolean operations, offsets, shells, fillets, etc. It also enables field-driven design, where geometry can be tightly controlled using relationships with other geometry, simulation results, custom equations, and much more.

Attribute Table#

Name

Type

bodies

property

visualizationQuality

property

Method Table#

Name

Description

abs (self, bodyA)

Implicit absolute value operation.

acos (self, bodyA)

Implicit Trigonometry ACos operation.

acosh (self, bodyA)

Implicit Trigonometry ACosh operation.

add (self, bodyA, bodyB)

Implicit Add operation.

addVector (self, bodyA, bodyB)

Implicit Vector Add operation.

asin (self, bodyA)

Implicit Trigonometry ASin operation.

asinh (self, bodyA)

Implicit Trigonometry ASinh operation.

atan (self, bodyA)

Implicit Trigonometry ATan operation.

atan2 (self, bodyA, bodyB)

Implicit Trigonometry ATan2 operation.

atanh (self, bodyA)

Implicit Trigonometry ATanh operation.

ceil (self, bodyA)

Implicit ceil operation.

circularPattern (self, body, vector=None, equalSpacing=False, angle=60, count=2)

The Circular Pattern operation takes a user-selected body and distributes

clamp (self, bodyA, bodyB, bodyC)

Implicit clamp operation.

combine (self, targets, transition=’SHARP’, transitionValue=0.002, transitionField=None)

The Combine tool is a Boolean Union operation between implicit bodies.

conform (self, conformType=’SURFACE’, uCurve=None, vCurve=None, wCurve=None, curveUInvert=False, curveVInvert=False, curveWInvert=False, surfaceType=’SURFACE’, surface=None, surfaceUVFlip=False, surfaceUInvert=False, surfaceVInvert=False, volumeType=’SURFACECURVE’, volumeSurface=None, volumeSurfaceUVFlip=False, volumeSurfaceUInvert=False, volumeSurfaceVInvert=False)

Creates an Implicit conform body.

constant (self, value)

Implicit constant.

convertToImplicit (self, part)

The Convert tool accepts geometry in BRep or surface mesh formats and

cos (self, bodyA)

Implicit Trigonometry Cos operation.

create2D (self, bodyA, bodyB)

Implicit 2D Vector creation.

create3D (self, bodyA, bodyB, bodyC)

Implicit 3D Vector creation.

create4D (self, bodyA, bodyB, bodyC, bodyD)

Implicit 3D Vector creation.

createAxis (self, positionX=0, positionY=0, positionZ=0, normalX=0, normalY=0, normalZ=0)

Tool to create axis implicit body.

createBlankPart (assembly=None)

Creates Implicit blank part in space.

createCapsule (self, length=0.05, thickness=0.02, originX=0, originY=0, originZ=0)

Tool to create capsule implicit body.

createCone (self, radius=0.05, height=0.1, originX=0, originY=0, originZ=0)

Tool to create cone implicit body.

createCuboid (self, x=0.1, y=0.1, z=0.1, uniform=True, originX=0, originY=0, originZ=0)

Tool to create cubical implicit body.

createCustomImplicitBody (self, customUnitCell, minBounds, maxBounds)

Custom Implicit Body capability is available through the Python API.

createCylinder (self, radius=0.05, height=0.1, originX=0, originY=0, originZ=0)

Tool to create cylindrical implicit body.

createField (self, drivingObject, inputRangeMin=0, inputRangeMax=1, clamp=False, unitType=’Unitless’, outputRangeMin=0, outputRangeMax=1)

The Field tool is used to construct a field from a source that is not yet

createLine (self, startX=0, startY=0, startZ=0, endX=0, endY=0, endZ=0, thickness=0)

Tool to create line implicit body.

createPellet (self, radius=0.05, thickness=0.02, originX=0, originY=0, originZ=0)

Tool to create pellet implicit body.

createPipe (self, innerRadius=0.02, outerRadius=0.05, height=0.1, originX=0, originY=0, originZ=0)

Tool to create torus implicit body.

createPlane (self, positionX=0, positionY=0, positionZ=0, normalX=0, normalY=0, normalZ=1)

Tool to create plane implicit body.

createPoint (self, x=0, y=0, z=0)

Tool to create point implicit body.

createSphere (self, radius=0.05, originX=0, originY=0, originZ=0)

Tool to create spherical implicit body.

createTorus (self, innerRadius=0.02, outerRadius=0.05, originX=0, originY=0, originZ=0)

Tool to create torus implicit body.

cross (self, bodyA, bodyB)

Implicit Cross Vector creation.

difference (self, targets, tools, transition=’SHARP’, transitionValue=0.002, transitionField=None)

The difference tool is used to cut ‘tool’ implicit bodies from ‘target’

distance (self, bodyA, bodyB)

Implicit Distance Vector creation.

divide (self, bodyA, bodyB)

Implicit Divide operation.

dot (self, bodyA, bodyB)

Implicit Dot Vector creation.

e (self)

Implicit Euler’s number(E).

edgeSetAngleFilter (self, body, filterName=’Filter’, retain=False, angleReference=None, angleValue=’LESS_THAN’, lowerAngle=45, lowerAngleField=None, upperAngle=60, upperAngleField=None)

Filter edges from the Point-Edge set by checking their angle relative to

edgeSetBoundingBodyFilter (self, body, filterName=’Filter’, retain=False, boundingBody=None, nodeCheck=’ALL’, midpointCheck=True)

Filter edges from the Point-Edge set by checking if either end or an

edgeSetFieldValueFilter (self, body, filterName=’Filter’, retain=False, referenceField=None, fieldValue=’LESS_THAN’, nodeCheck=’ALL’, midpointCheck=True, lowerValue=0.05, lowerValueField=None, upperValue=0.1, upperValueField=None)

Filter edges from the Point-Edge set by interrogating the field value at

edgeSetLengthFilter (self, body, filterName=’Filter’, retain=False, lengthValue=’LESS_THAN’, lowerLength=0.01, lowerLengthField=None, upperLength=0.02, upperLengthField=None)

Filter edges from the Point-Edge set by checking their length against an

edgeSetManufacturabilityFilter (self, body, filterName=’Filter’, retain=False, angleReference=None, angleValue=’LESS_THAN’, lengthValue=’LESS_THAN’, lowerLength=0.01, lowerLengthField=None, upperLength=0.02, upperLengthField=None, lowerAngle=45, lowerAngleField=None, upperAngle=60, upperAngleField=None)

Filter edges from the Point-Edge set using a combined length and angle

edit (self)

Contextmanager to group multiple updates for performance.

equalTo (self, bodyA, bodyB)

Implicit equal to operation.

featureRefAxis (self, feature)

Takes a ParaSolid/BRep axis and creates a reference for this to be

featureRefPlane (self, feature)

Takes a ParaSolid/BRep plane and creates a reference for this to be

featureRefPoint (self, feature)

Takes a ParaSolid/BRep point and creates a reference for this to be

fillet (self, body, type=’ROUNDS’, filletRadius=0.002, roundRadius=0.002)

The Fillet tool applies a circular fillet of defined radius to sharp

floorDivision (self, bodyA, bodyB)

Implicit Floor Division operation.

fraction (self, bodyA)

Implicit fraction operation.

generalStrutLattice (self, body, hollow=False, solidRegion=False, coordinateSystemType=’CARTESIAN’, localOrigin=None, strutDiameter=0.005, strutDiameterField=None, strutInnerDiameter=0.003, strutInnerDiameterField=None, shell=False, combine=False, shellDirection=’OUTWARD’, shellThicknessIn=0.1, shellThicknessInField=None, shellThicknessOut=0.1, shellThicknessOutField=None, trimmingBody=None, combineBody=None, transition=’SHARP’, distance=0.01, distanceField=None, verts=None, beams=None)

Strut lattices are constructed from nodes and these nodes are connected

getBody (self, name)

To get the implicit bodies based on their names.

greaterOrEqualTo (self, bodyA, bodyB)

Implicit greater or equal to operation.

greaterThan (self, bodyA, bodyB)

Implicit greater than operation.

implIf (self, bodyA, bodyB, bodyC)

Implicit if operation.

intersect (self, targets, tools, transition=’SHARP’, transitionValue=0.002, transitionField=None)

The Intersection tool is used to find volumes of overlap between two or

invert (self, body)

The Invert tool swaps the convention of ‘inside’ and ‘outside’ for an

length (self, bodyA)

Implicit Length Vector creation.

lessOrEqualTo (self, bodyA, bodyB)

Implicit less or equal to operation.

lessThan (self, bodyA, bodyB)

Implicit less than operation.

linearPattern (self, body, conform=None, direction=’ONE’, vector1=None, spacing1=0.1, count1=2, vector2=None, spacing2=0.1, count2=2, spacing3=0.1, count3=2)

The Linear Pattern operation takes a user-selected body and distributes

max (self, bodyA, bodyB=None)

Implicit min operation.

min (self, bodyA, bodyB=None)

Implicit min operation.

mirror (self, body, plane=None, originX=0, originY=0, originZ=0, normalX=0, normalY=0, normalZ=1)

The mirror operation takes an implicit body and mirrors it across an

mod (self, bodyA, bodyB)

Implicit Mod operation.

morph (self, bodyA, bodyB, morphValue=0.5, morphValueField=None)

The Morph tool performs a morphing operation between two implicit

moveBodies (self, body, position)

The Move Bodies tool is used to transform implicit bodies in terms of

multiply (self, bodyA, bodyB)

Implicit Multiply operation.

normalize (self, bodyA)

Implicit Normalize Vector creation.

offset (self, body, direction=’OUTWARD’, outwardOffset=0.01, outwardOffsetField=None, inwardOffset=0.01, inwardOffsetField=None, shell=False)

The Offset tool can be used to inwardly (negative) or outwardly

pi (self)

Implicit pi.

planarLattice (self, body, unitCellType=’HEXAGON’, solidRegion=False, coordinateSystemType=’CARTESIAN’, localOriginX=0, localOriginY=0, localOriginZ=0, localOrigin=None, thickness=0.005, thicknessField=None, unitCellSize=False, uniform=True, unitCellSizeX=4, unitCellSizeXField=None, unitCellSizeY=4, unitCellSizeYField=None, planeVectorX=0, planeVectorY=0, planeVectorZ=1, shell=False, combine=False, shellDirection=’OUTWARD’, shellThicknessIn=0.1, shellThicknessInField=None, shellThicknessOut=0.1, shellThicknessOutField=None, trimmingBody=None, combineBody=None, transition=’SHARP’, distance=0.01, distanceField=None, conformTo=None)

Planar lattices are 2.5 dimensional cellular structures, with a clearly

pointCloud (self, points, weights, interpolation=’INVERSE_DISTANCE’, exponent=2, backgroundEnable=False, backgroundValue=0.0, backgroundField=None, pointBehaviour=’BUMP’, radii=None, falloffs=None)

Create a custom implicit field or geometry from a set of points with

pointCloudPattern (self, body, pointCloud=None)

The PointCloud Pattern operation takes a user-selected body and

pointEdgeSet (self, body, pointsGenerationMethod=’UNIFORM_RANDOM’, containment=True, seed=0, pointCount=200, minSpacing=0.02, minSpacingField=None, pointSet=None, edgesGenerationMethod=’VALENCE’, valence=4.0, valenceField=None, edgeSet=None, voronoiType=’DELAUNAY’)

A point-edge set is a graph comprising points that are (optionally)

pointSetBoundingBodyFilter (self, body, filterName=’Filter’, retain=False, boundingBody=None)

Filter points from the Point-Edge set by checking if they fall inside a

pointSetFieldValueFilter (self, body, filterName=’Filter’, retain=False, referenceField=None, fieldValue=’LESS_THAN’, lowerValue=0.05, lowerValueField=None, upperValue=0.1, upperValueField=None)

Filter points from the Point-Edge set by interrogating the field value at

pointSetValenceFilter (self, body, filterName=’Filter’, retain=False, valenceValue=’LESS_THAN’, valence=0.05, valenceField=None, upperValue=0.1, upperValueField=None)

Filter points from the Point-Edge set by checking the number of edges

power (self, bodyA, bodyB)

Implicit Power operation.

refAxis (self, reference)

Takes a geometry system axis and creates a reference for this to be

refPlane (self, reference)

Takes a geometry system plane and creates a reference for this to be

refPoint (self, reference)

Takes a geometry system point and creates a reference for this to be

remap (self, body)

Remap is a general field of scalar values into a signed distance field.

scale (self, bodyA, bodyB)

Implicit Scale Vector creation.

sign (self, bodyA)

Implicit sign operation.

sin (self, bodyA)

Implicit Trigonometry Sin operation.

smooth (self, body, type=’GAUSSIAN’, width=1, iterations=1, strength=100)

The Smooth tool is used to reduce the size of, or remove, unwanted small

sqrt (self, bodyA)

Implicit sqrt operation.

step (self, bodyA, bodyB)

Implicit step operation.

stochasticStrutLattice (self, body, hollow=False, solidRegion=False, strutDiameter=0.005, strutDiameterField=None, strutInnerDiameter=0.003, strutInnerDiameterField=None, shell=False, combine=False, shellDirection=’OUTWARD’, shellThicknessIn=0.1, shellThicknessInField=None, shellThicknessOut=0.1, shellThicknessOutField=None, trimmingBody=None, combineBody=None, transition=’SHARP’, distance=0.01, distanceField=None)

Stochastic lattice is built by thickening a point-edge set, which is a

strutLattice (self, body, unitCellType=’CORNERDIAGONAL’, hollow=False, solidRegion=False, coordinateSystemType=’CARTESIAN’, localOriginX=0, localOriginY=0, localOriginZ=0, localOrigin=None, strutDiameter=0.005, strutDiameterField=None, strutInnerDiameter=0.003, strutInnerDiameterField=None, unitCellSize=False, uniform=True, cellSizeX=4, cellSizeY=4, cellSizeZ=4, shell=False, combine=False, shellDirection=’OUTWARD’, shellThicknessIn=0.1, shellThicknessInField=None, shellThicknessOut=0.1, shellThicknessOutField=None, trimmingBody=None, combineBody=None, transition=’SHARP’, distance=0.01, distanceField=None, unitCellName=None, nodes=None, connectivity=None, conformTo=None)

Strut lattices are constructed from nodes and these nodes are connected

subtract (self, bodyA, bodyB)

Implicit Subtract operation.

surfaceLattice (self, body, unitCellType=’GYROID’, surfaceType=True, solidRegion=False, coordinateSystemType=’CARTESIAN’, localOriginX=0, localOriginY=0, localOriginZ=0, localOrigin=None, density=0.5, densityField=None, bias=0.5, unitCellSize=False, uniform=True, cellSizeX=4, cellSizeXField=None, cellSizeY=4, cellSizeYField=None, cellSizeZ=4, cellSizeZField=None, shell=False, combine=False, shellDirection=’OUTWARD’, shellThicknessIn=0.1, shellThicknessInField=None, shellThicknessOut=0.1, shellThicknessOutField=None, trimmingBody=None, combineBody=None, transition=’SHARP’, distance=0.01, distanceField=None, conformTo=None, default=False, extentsMinX=None, extentsMinY=None, extentsMinZ=None, extentsMaxX=None, extentsMaxY=None, extentsMaxZ=None)

Surface lattices are cellular structures constructed from one or

tan (self, bodyA)

Implicit Trigonometry Tan operation.

vectorElement (self, bodyA, index)

Implicit vector element creation.

xRef (self)

Implicit X Reference.

yRef (self)

Implicit Y Reference.

zRef (self)

Implicit Z Reference.

Example

from hwx import inspire
inspire.newModel()

# Creating Implicit blank part.
implicitPart = inspire.Implicit()
implicitPart.name = "Implicit Part1"

# Creating Cuboid primitive in implicit part.
implicitPart.createCuboid(x="300 mm", originX=0.5)

# Creating Cuboid primitive in implicit part.
cuboid1 = implicitPart.createCuboid(x="200 mm")

# Creating Sphere primitive in implicit part.
sphere = implicitPart.createSphere(radius="200 mm", originX=1)

# Creating Planar Lattice with sphere
implicitPart.planarLattice(sphere, thickness=0.01, unitCellType= "DIAMOND")
print("Planar Lattice has been created using implicit sphere body.")


# Creating Cylinder primitive in implicit part.
cylinder = implicitPart.createCylinder(height="300 mm", radius="150 mm", originX=1.5)

# Smooth operation on cylinder.
implicitPart.smooth(cylinder, width=2)
print("Smooth has been created from Cylinder with round fillet type.")

# Offset operation on cuboid .
implicitPart.offset(cuboid1, outwardOffset=0.1)
print("Offset has been created from Cuboid in outward direction.")

# Creating Surface Lattice with cuboid
cuboid = implicitPart.bodies[0]
implicitPart.surfaceLattice(cuboid, density=0.3)
print("Surface Lattice has been created using implicit cuboid body.")

# Updating Surface Lattice.
with implicitPart.edit():
  surfaceLattice = implicitPart.bodies[-1]
  surfaceLattice.density = 0.6
  surfaceLattice.solidRegion = True

inspire.fitView()
getBody(name)#

To get the implicit bodies based on their names.

property visualizationQuality#

Returns the visualization quality of implicit part from the GUI.

property bodies#

“Returns list of implicit bodies.

edit()#

Contextmanager to group multiple updates for performance.

createSphere(radius=0.05, originX=0, originY=0, originZ=0)#

Tool to create spherical implicit body.

Parameters:
  • radius (float | str) – Radius of the spherical implicit object.

  • originX (float | str) – Origin value in X direction.

  • originY (float | str) – Origin value in Y direction.

  • originZ (float | str) – Origin value in Z direction.

Returns:

The newly created Sphere object.

Return type:

Sphere

createCuboid(x=0.1, y=0.1, z=0.1, uniform=True, originX=0, originY=0, originZ=0)#

Tool to create cubical implicit body.

Parameters:
  • x (float | str) – Length of cuboid.

  • y (float | str) – Breadth of cuboid.

  • z (float | str) – Height of cuboid.

  • uniform (bool) – If True, all sides are equal.

  • originX (float | str) – Origin value in X direction.

  • originY (float | str) – Origin value in Y direction.

  • originZ (float | str) – Origin value in Z direction.

Returns:

The newly created Cuboid object.

Return type:

Cuboid

createCylinder(radius=0.05, height=0.1, originX=0, originY=0, originZ=0)#

Tool to create cylindrical implicit body.

Parameters:
  • radius (float | str) – Radius of the cylindrical implicit object.

  • height (float | str) – Height of the cylindrical implicit object.

  • originX (float | str) – Origin value in X direction.

  • originY (float | str) – Origin value in Y direction.

  • originZ (float | str) – Origin value in Z direction.

Returns:

The newly created Cylinder object.

Return type:

Cylinder

createTorus(innerRadius=0.02, outerRadius=0.05, originX=0, originY=0, originZ=0)#

Tool to create torus implicit body.

Parameters:
  • innerRadius (float | str) – Inner Radius of the torus implicit object.

  • outerRadius (float | str) – Outer Radius of the torus implicit object.

  • originX (float | str) – Origin value in X direction.

  • originY (float | str) – Origin value in Y direction.

  • originZ (float | str) – Origin value in Z direction.

Returns:

The newly created Torus object.

Return type:

Torus

createCone(radius=0.05, height=0.1, originX=0, originY=0, originZ=0)#

Tool to create cone implicit body.

Parameters:
  • radius (float | str) – Radius of the cone implicit object.

  • height (float | str) – Height of the cone implicit object.

  • originX (float | str) – Origin value in X direction.

  • originY (float | str) – Origin value in Y direction.

  • originZ (float | str) – Origin value in Z direction.

Returns:

The newly created Cone object.

Return type:

Cone

createPipe(innerRadius=0.02, outerRadius=0.05, height=0.1, originX=0, originY=0, originZ=0)#

Tool to create torus implicit body.

Parameters:
  • innerRadius (float | str) – Inner Radius of the pipe implicit object.

  • outerRadius (float | str) – Outer Radius of the pipe implicit object.

  • height (float | str) – Height of the pipe implicit object.

  • originX (float | str) – Origin value in X direction.

  • originY (float | str) – Origin value in Y direction.

  • originZ (float | str) – Origin value in Z direction.

Returns:

The newly created Pipe object.

Return type:

Pipe

createCapsule(length=0.05, thickness=0.02, originX=0, originY=0, originZ=0)#

Tool to create capsule implicit body.

Parameters:
  • length (float | str) – Length of the capsule implicit object.

  • thickness (float | str) – Thickness of the capsule implicit object.

  • originX (float | str) – Origin value in X direction.

  • originY (float | str) – Origin value in Y direction.

  • originZ (float | str) – Origin value in Z direction.

Returns:

The newly created Capsule object.

Return type:

Capsule

createPellet(radius=0.05, thickness=0.02, originX=0, originY=0, originZ=0)#

Tool to create pellet implicit body.

Parameters:
  • radius (float | str) – Radius of the pellet implicit object.

  • thickness (float | str) – Thickness of the pellet implicit object.

  • originX (float | str) – Origin value in X direction.

  • originY (float | str) – Origin value in Y direction.

  • originZ (float | str) – Origin value in Z direction.

Returns:

The newly created Pellet object.

Return type:

Pellet

createPoint(x=0, y=0, z=0)#

Tool to create point implicit body.

Parameters:
  • x (float | str) – Value in X direction for implicit point body.

  • y (float | str) – Value in Y direction for implicit point body.

  • z (float | str) – Value in Z direction for implicit point body.

Returns:

The newly created Point object.

Return type:

Point

createAxis(positionX=0, positionY=0, positionZ=0, normalX=0, normalY=0, normalZ=0)#

Tool to create axis implicit body.

Parameters:
  • positionX (float | str) – Position value in X direction for implicit axis body.

  • positionY (float | str) – Position value in Y direction for implicit axis body.

  • positionZ (float | str) – Position value in Z direction for implicit axis body.

  • normalX (float | str) – Normal value in X direction for implicit axis body.

  • normalY (float | str) – Normal value in Y direction for implicit axis body.

  • normalZ (float | str) – Normal value in Z direction for implicit axis body.

Returns:

The newly created Axis object.

Return type:

Axis

createLine(startX=0, startY=0, startZ=0, endX=0, endY=0, endZ=0, thickness=0)#

Tool to create line implicit body.

Parameters:
  • startX (float | str) – Start point value in X direction for implicit line body.

  • startY (float | str) – Start point value in Y direction for implicit line body.

  • startZ (float | str) – Start point value in Z direction for implicit line body.

  • endX (float | str) – End point value in X direction for implicit line body.

  • endY (float | str) – End point value in Y direction for implicit line body.

  • endZ (float | str) – End point value in Z direction for implicit line body.

  • thickness (float | str) – Thickness of the line.

Returns:

The newly created Line object.

Return type:

Line

createPlane(positionX=0, positionY=0, positionZ=0, normalX=0, normalY=0, normalZ=1)#

Tool to create plane implicit body.

Parameters:
  • positionX (float | str) – Position value in X direction for implicit plane body.

  • positionY (float | str) – Position value in Y direction for implicit plane body.

  • positionZ (float | str) – Position value in Z direction for implicit plane body.

  • normalX (float | str) – Normal value in X direction for implicit plane body.

  • normalY (float | str) – Normal value in Y direction for implicit plane body.

  • normalZ (float | str) – Normal value in Z direction for implicit plane body.

Returns:

The newly created Plane object.

Return type:

Plane

convertToImplicit(part)#

The Convert tool accepts geometry in BRep or surface mesh formats and converts into Altair’s implicit geometry format. The output is typically a Signed Distance Field (SDF) for the converted geometry.

Parameters:

part (Part) – Part to be converted in implicit object.

Returns:

The newly created ConvertToImplicit object.

Return type:

ConvertToImplicit

createCustomImplicitBody(customUnitCell, minBounds, maxBounds)#

Custom Implicit Body capability is available through the Python API. Here, we create a 3D voxel grid within a bounding box, and then populates each voxel (grid point) with a scalar value to create the field for the geometry. The computation of the scalar values is executed in user-defined Python scripts (including imported libraries, if needed). In this sense, the Custom Implicit Body makes Inspire Implicit Modelling infinitely customisable and extensible.

Parameters:
  • customUnitCell (Body) – Custom unit cell, created through implicit math functions.

  • minBounds (math.Point) – Minimum custom bounds for custom implicit body.

  • maxBounds (math.Point) – Maximum custom bounds for custom implicit body.

Returns:

The newly created CustomBody object.

Return type:

CustomBody

createField(drivingObject, inputRangeMin=0, inputRangeMax=1, clamp=False, unitType='Unitless', outputRangeMin=0, outputRangeMax=1)#

The Field tool is used to construct a field from a source that is not yet described in a field format and/or remap field values to different ranges. A field is a 3D grid, and each grid point contains a signed scalar value.

Parameters:
  • drivingObject (Body) – Implicit body, use bodies property to get all bodies from implicit part.

  • inputRangeMin (float | str) – Input Range minimum distance.

  • inputRangeMax (float | str) – Input Range maximum distance.

  • clamp (bool) – If True, it limits the values to between the range instead of extrapolating beyond the range otherwise not.

  • unitType (str) – Unit type for output range. - Length - Angle - Unitless - Percent

  • outputRangeMin (float | str) – Minimum output range.

  • outputRangeMax (float | str) – Maximum output range.

Returns:

The newly created Field object.

Return type:

Field

surfaceLattice(body, unitCellType='GYROID', surfaceType=True, solidRegion=False, coordinateSystemType='CARTESIAN', localOriginX=0, localOriginY=0, localOriginZ=0, localOrigin=None, density=0.5, densityField=None, bias=0.5, unitCellSize=False, uniform=True, cellSizeX=4, cellSizeXField=None, cellSizeY=4, cellSizeYField=None, cellSizeZ=4, cellSizeZField=None, shell=False, combine=False, shellDirection='OUTWARD', shellThicknessIn=0.1, shellThicknessInField=None, shellThicknessOut=0.1, shellThicknessOutField=None, trimmingBody=None, combineBody=None, transition='SHARP', distance=0.01, distanceField=None, conformTo=None, default=False, extentsMinX=None, extentsMinY=None, extentsMinZ=None, extentsMaxX=None, extentsMaxY=None, extentsMaxZ=None)#

Surface lattices are cellular structures constructed from one or sometimes two surfaces. Rather than tiling/patterning a base unit cell, the natural repetition of the surfaces creates a lattice-like structure automatically. Popular examples are Triply Periodic Minimal Surfaces (TPMS), such as the Gyroid.

Parameters:
  • body (Body) – Implicit body, use bodies property to get all bodies from implicit part.

  • unitCellType (str) – Surface type for surface lattice. - GYROID - SCHWARZ_P - SCHWARZ_D - NEOVIUS - LIDINOID - FISCHER_KOCH_S - FISCHER_KOCH_Cs - FISCHER_KOCH_Y - FISCHER_KOCH_Cy - FRD - IWP - SPLIT_P - KARCHER_K - G_PRIME

  • surfaceType (bool) – If True, Surface type will be Single otherwise Double.

  • solidRegion (bool) – if True, solid region of surface is inverted otherwise regular.

  • coordinateSystemType (str) – Surface Lattice Layout. - CARTESIAN - CYLINDRICAL - SPHERICAL

  • localOriginX (float | str) – Local origin x direction value for surface lattice.

  • localOriginY (float | str) – Local origin y direction value for surface lattice.

  • localOriginZ (float | str) – Local origin z direction value for surface lattice.

  • localOrigin (math.Matrix44) – Local origin for the surface lattice.

  • density (float | str) – Density for surface lattice. Value range from 0 to 100.

  • densityField (Field) – Density field input, if density is not provided.

  • bias (float | str) – Bias for surface lattice. Applicable only when surfaceType is Double.

  • unitCellSize (bool) – If True, Unit cell size will be Absolute otherwise Cell Count.

  • uniform (bool) – If True, Unit cell will be uniform otherwise not.

  • cellSizeX (float | str) – Cell size for surface lattice in X direction.

  • cellSizeXField (Field) – Cell size field input, if cellSizeX not provided.

  • cellSizeY (float | str) – Cell size for surface lattice in Y direction.

  • cellSizeYField (Field) – Cell size field input, if cellSizeY not provided.

  • cellSizeZ (float | str) – Cell size for surface lattice in Z direction.

  • cellSizeZField (Field) – Cell size field input, if cellSizeZ not provided.

  • shell (bool) – It’s a outer body option. If True, outer body of surface lattice will be shell otherwise not.

  • combine (bool) – It’s a outer body option. If True, outer body of surface lattice will be combine otherwise not. At a time only one option can be true among combine and shell option.

  • shellDirection (str) – Shell Direction. - OUTWARD - INWARD - BOTH - SYMMETRY

  • shellThicknessIn (float | str) – Shell thickness inward for outer body of surface lattice.

  • shellThicknessInField (Field) – Shell inward thickness field input, if shellThicknessIn is not provided.

  • shellThicknessOut (float | str) – Shell thickness outward for outer body of surface lattice.

  • shellThicknessOutField (Field) – Shell outward thickness field input, if shellThicknessOut is not provided.

  • trimmingBody (Body) – Trim implicit body for surface lattice.

  • combineBody (Body) – Combine implicit body for surface lattice.

  • transition (str) – Transition type for outer body options. - SHARP - FILLET - CHAMFER

  • distance (float | str) – Distance for outer body options.

  • distanceField (Field) – Distance field input, if distance is not provided.

  • conformTo (Conform) – Implicit Conform body, use bodies property to get all bodies from implicit part.

  • default (bool) – If True, use extents option otherwise not.

  • extentsMinX (float | str) – Minimum extents value in X direction.

  • extentsMinY (float | str) – Minimum extents value in Y direction.

  • extentsMinZ (float | str) – Minimum extents value in Z direction.

  • extentsMaxX (float | str) – Maximum extents value in X direction.

  • extentsMaxY (float | str) – Maximum extents value in Y direction.

  • extentsMaxZ (float | str) – Maximum extents value in Z direction.

Returns:

The newly created SurfaceLattice object.

Return type:

SurfaceLattice

planarLattice(body, unitCellType='HEXAGON', solidRegion=False, coordinateSystemType='CARTESIAN', localOriginX=0, localOriginY=0, localOriginZ=0, localOrigin=None, thickness=0.005, thicknessField=None, unitCellSize=False, uniform=True, unitCellSizeX=4, unitCellSizeXField=None, unitCellSizeY=4, unitCellSizeYField=None, planeVectorX=0, planeVectorY=0, planeVectorZ=1, shell=False, combine=False, shellDirection='OUTWARD', shellThicknessIn=0.1, shellThicknessInField=None, shellThicknessOut=0.1, shellThicknessOutField=None, trimmingBody=None, combineBody=None, transition='SHARP', distance=0.01, distanceField=None, conformTo=None)#

Planar lattices are 2.5 dimensional cellular structures, with a clearly defined 2D cross-section that is drawn or extruded along the third dimension. A popular example is a honeycomb structure.

Parameters:
  • body (Body) – Implicit body, use bodies property to get all bodies from implicit part.

  • unitCellType (str) – UnitCellType for planar lattice. - HEXAGON - DIAMOND - RECTANGLE - TRIANGLE - ISOGRID - CIRCLE

  • coordinateSystemType (str) – Planar Lattice Layout. - CARTESIAN - CYLINDRICAL - SPHERICAL

  • solidRegion (bool) – if True, solid region of planar is inverted otherwise regular.

  • localOriginX (float | str) – Local origin x direction value for planar lattice.

  • localOriginY (float | str) – Local origin y direction value for planar lattice.

  • localOriginZ (float | str) – Local origin z direction value for planar lattice.

  • localOrigin (math.Matrix44) – Local origin for the planar lattice.

  • thickness (float | str) – Cell thickness of planar lattice.

  • thicknessField (Field) – Thickness field input, if thickness is not provided.

  • unitCellSize (bool) – If True, Unit cell size will be Absolute otherwise Cell Count.

  • uniform (bool) – If True, Unit cell will be uniform otherwise not.

  • unitCellSizeX (float | str) – Unit cell size value in X direction.

  • unitCellSizeXField (Field) – Unit cell size field in X direction, if unitCellSizeX is not provided.

  • unitCellSizeY (float | str) – Unit cell size value in Y direction.

  • unitCellSizeYField (Field) – Unit cell size field in Y direction, if unitCellSizeY is not provided.

  • planeVectorX (float | str) – Plane vector value in X direction.

  • planeVectorY (float | str) – Plane vector value in Y direction.

  • planeVectorZ (float | str) – Plane vector value in Z direction.

  • shell (bool) – It’s a outer body option. If True, outer body of planar lattice will be shell otherwise not.

  • combine (bool) – It’s a outer body option. If True, outer body of planar lattice will be combine otherwise not. At a time only one option can be true among combine and shell option.

  • shellDirection (str) – Shell Direction. - OUTWARD - INWARD - BOTH - SYMMETRY

  • shellThicknessIn (float | str) – Shell thickness inward for outer body of planar lattice.

  • shellThicknessInField (Field) – Shell inward thickness field input, if shellThicknessIn is not provided.

  • shellThicknessOut (float | str) – Shell thickness outward for outer body of planar lattice.

  • shellThicknessOutField (Field) – Shell outward thickness field input, if shellThicknessOut is not provided.

  • trimmingBody (Body) – Trim implicit body for planar lattice.

  • combineBody (Body) – Combine implicit body for planar lattice.

  • transition (str) – Transition type for outer body options. - SHARP - FILLET - CHAMFER

  • distance (float | str) – Distance for outer body options.

  • distanceField (Field) – Distance field input, if distance is not provided.

  • conformTo (Conform) – Implicit Conform body, use bodies property to get all bodies from implicit part.

Returns:

The newly created PlanarLattice object.

Return type:

PlanarLattice

strutLattice(body, unitCellType='CORNERDIAGONAL', hollow=False, solidRegion=False, coordinateSystemType='CARTESIAN', localOriginX=0, localOriginY=0, localOriginZ=0, localOrigin=None, strutDiameter=0.005, strutDiameterField=None, strutInnerDiameter=0.003, strutInnerDiameterField=None, unitCellSize=False, uniform=True, cellSizeX=4, cellSizeY=4, cellSizeZ=4, shell=False, combine=False, shellDirection='OUTWARD', shellThicknessIn=0.1, shellThicknessInField=None, shellThicknessOut=0.1, shellThicknessOutField=None, trimmingBody=None, combineBody=None, transition='SHARP', distance=0.01, distanceField=None, unitCellName=None, nodes=None, connectivity=None, conformTo=None)#

Strut lattices are constructed from nodes and these nodes are connected by beams. Typically, there is a base unit cell that is tiled/patterned in one, two, or three dimensions to form the overall lattices structure. A popular example is the Body Centred Cubic lattice.

Parameters:
  • body (Body) – Implicit body, use bodies property to get all bodies from implicit part.

  • unitCellType (str) – UnitCellType for strut lattice. - CORNERDIAGONAL - FACECENTRE - FACEDIAGONAL - FACEEDGE - OCTAGON - HEXTRUSS - TETRAKAIDECAHEDRONEDGE - CUSTOM_UNIT_CELL

  • hollow (bool) – if True, Strut surface type will be hollow otherwise solid.

  • solidRegion (bool) – if True, solid region of strut is inverted otherwise regular.

  • coordinateSystemType (str) – Strut Lattice Layout. - CARTESIAN - CYLINDRICAL - SPHERICAL

  • localOriginX (float | str) – Local origin x direction value for strut lattice.

  • localOriginY (float | str) – Local origin y direction value for strut lattice.

  • localOriginZ (float | str) – Local origin z direction value for strut lattice.

  • localOrigin (math.Matrix44) – Local origin for the strut lattice.

  • strutDiameter (float | str) – Strut thickness of struct lattice.

  • strutDiameterField (Field) – Strut diameter field input, if strutDiameter is not provided.

  • strutInnerDiameter (float | str) – Shell thickness of strut lattice if it is hollow.

  • strutInnerDiameterField (Field) – Strut inner diameter field input, if strutInnerDiameter is not provided.

  • unitCellSize (bool) – If True, Unit cell size will be Absolute otherwise Cell Count.

  • uniform (bool) – If True, Unit cell will be uniform otherwise not.

  • cellSizeX (float | str) – Cell size for strut lattice in X direction.

  • cellSizeY (float | str) – Cell size for strut lattice in Y direction.

  • cellSizeZ (float | str) – Cell size for strut lattice in Z direction.

  • shell (bool) – It’s a outer body option. If True, outer body of strut lattice will be shell otherwise not.

  • combine (bool) – It’s a outer body option. If True, outer body of strut lattice will be combine otherwise not. At a time only one option can be true among combine and shell option.

  • shellDirection (str) – Shell Direction. - OUTWARD - INWARD - BOTH - SYMMETRY

  • shellThicknessIn (float | str) – Shell thickness inward for outer body of strut lattice.

  • shellThicknessInField (Field) – Shell inward thickness field input, if shellThicknessIn is not provided.

  • shellThicknessOut (float | str) – Shell thickness outward for outer body of strut lattice.

  • shellThicknessOutField (Field) – Shell outward thickness field input, if shellThicknessOut is not provided.

  • trimmingBody (Body) – Trim implicit body for strut lattice.

  • combineBody (Body) – Combine implicit body for strut lattice.

  • transition (str) – Transition type for outer body options. - SHARP - FILLET - CHAMFER

  • distance (float | str) – Distance for outer body options.

  • distanceField (Field) – Distance field input, if distance is not provided.

  • unitCellName (str) – Name of the custom unit cell for strut lattice.

  • nodes (list[math.Point]) – Node list of the custom unit cell for strut lattice.

  • connectivity (list[int]) – Connectivity of the custom unit cell for strut lattice.

  • conformTo (Conform) – Implicit Conform body, use bodies property to get all bodies from implicit part.

Returns:

The newly created StrutLattice object.

Return type:

StrutLattice

generalStrutLattice(body, hollow=False, solidRegion=False, coordinateSystemType='CARTESIAN', localOrigin=None, strutDiameter=0.005, strutDiameterField=None, strutInnerDiameter=0.003, strutInnerDiameterField=None, shell=False, combine=False, shellDirection='OUTWARD', shellThicknessIn=0.1, shellThicknessInField=None, shellThicknessOut=0.1, shellThicknessOutField=None, trimmingBody=None, combineBody=None, transition='SHARP', distance=0.01, distanceField=None, verts=None, beams=None)#

Strut lattices are constructed from nodes and these nodes are connected by beams. Typically, there is a base unit cell that is tiled/patterned in one, two, or three dimensions to form the overall lattices structure. A popular example is the Body Centred Cubic lattice.

Parameters:
  • body (Body) – Implicit body, use bodies property to get all bodies from implicit part.

  • hollow (bool) – if True, Strut surface type will be hollow otherwise solid.

  • solidRegion (bool) – if True, solid region of strut is inverted otherwise regular.

  • coordinateSystemType (str) – Strut Lattice Layout. - CARTESIAN - CYLINDRICAL - SPHERICAL

  • localOrigin (math.Matrix44) – Local origin for the strut lattice.

  • strutDiameter (float | str) – Strut thickness of struct lattice.

  • strutDiameterField (Field) – Strut diameter field input, if strutDiameter is not provided.

  • strutInnerDiameter (float | str) – Shell thickness of strut lattice if it is hollow.

  • strutInnerDiameterField (Field) – Strut inner diameter field input, if strutInnerDiameter is not provided.

  • shell (bool) – It’s a outer body option. If True, outer body of strut lattice will be shell otherwise not.

  • combine (bool) – It’s a outer body option. If True, outer body of strut lattice will be combine otherwise not. At a time only one option can be true among combine and shell option.

  • shellDirection (str) – Shell Direction. - OUTWARD - INWARD - BOTH - SYMMETRY

  • shellThicknessIn (float | str) – Shell thickness inward for outer body of strut lattice.

  • shellThicknessInField (Field) – Shell inward thickness field input, if shellThicknessIn is not provided.

  • shellThicknessOut (float | str) – Shell thickness outward for outer body of strut lattice.

  • shellThicknessOutField (Field) – Shell outward thickness field input, if shellThicknessOut is not provided.

  • trimmingBody (Body) – Trim implicit body for strut lattice.

  • combineBody (Body) – Combine implicit body for strut lattice.

  • transition (str) – Transition type for outer body options. - SHARP - FILLET - CHAMFER

  • distance (float | str) – Distance for outer body options.

  • distanceField (Field) – Distance field input, if distance is not provided.

  • verts (list[math.Point]) – Node list of the custom unit cell for strut lattice.

  • beams (list[int]) – Connectivity of the custom unit cell for strut lattice.

Returns:

The newly created GeneralStrutLattice object.

Return type:

GeneralStrutLattice

stochasticStrutLattice(body, hollow=False, solidRegion=False, strutDiameter=0.005, strutDiameterField=None, strutInnerDiameter=0.003, strutInnerDiameterField=None, shell=False, combine=False, shellDirection='OUTWARD', shellThicknessIn=0.1, shellThicknessInField=None, shellThicknessOut=0.1, shellThicknessOutField=None, trimmingBody=None, combineBody=None, transition='SHARP', distance=0.01, distanceField=None)#

Stochastic lattice is built by thickening a point-edge set, which is a graph of points that are connected by edges. If the points are randomly arranged and/or the edges between them are randomly created, this creates a stochastic (randomized) lattice structure.

Parameters:
  • body (PointEdgeSet | PointEdgeSetFilter) – PointEdgeSet body, use bodies property to get all bodies from implicit part.

  • hollow (bool) – if True, Stochastic surface type will be hollow otherwise solid.

  • solidRegion (bool) – if True, solid region of strut is inverted otherwise regular.

  • strutDiameter (float | str) – Stochastic thickness of struct lattice.

  • strutDiameterField (Field) – Stochastic diameter field input, if strutDiameter is not provided.

  • strutInnerDiameter (float | str) – Shell thickness of strut lattice if it is hollow.

  • strutInnerDiameterField (Field) – Stochastic inner diameter field input, if stochastic is not provided.

  • shell (bool) – It’s a outer body option. If True, outer body of stochastic lattice will be shell otherwise not.

  • combine (bool) – It’s a outer body option. If True, outer body of stochastic lattice will be combine otherwise not. At a time only one option can be true among combine and shell option.

  • shellDirection (str) – Shell Direction. - OUTWARD - INWARD - BOTH - SYMMETRY

  • shellThicknessIn (float | str) – Shell thickness inward for outer body of stochastic lattice.

  • shellThicknessInField (Field) – Shell inward thickness field input, if shellThicknessIn is not provided.

  • shellThicknessOut (float | str) – Shell thickness outward for outer body of stochastic lattice.

  • shellThicknessOutField (Field) – Shell outward thickness field input, if shellThicknessOut is not provided.

  • trimmingBody (Body) – Trim implicit body for stochastic lattice.

  • combineBody (Body) – Combine implicit body for stochastic lattice.

  • transition (str) – Transition type for outer body options. - SHARP - FILLET - CHAMFER

  • distance (float | str) – Distance for outer body options.

  • distanceField (Field) – Distance field input, if distance is not provided.

Returns:

The newly created StochasticStrutLattice object.

Return type:

StochasticStrutLattice

pointEdgeSet(body, pointsGenerationMethod='UNIFORM_RANDOM', containment=True, seed=0, pointCount=200, minSpacing=0.02, minSpacingField=None, pointSet=None, edgesGenerationMethod='VALENCE', valence=4.0, valenceField=None, edgeSet=None, voronoiType='DELAUNAY')#

A point-edge set is a graph comprising points that are (optionally) connected by edges. Point-edge sets can be thickened into strut lattices.

Parameters:
  • body (Body) – Implicit body, use bodies property to get all bodies from implicit part.

  • pointsGenerationMethod (str) – Points Generation Method. - UNIFORM_RANDOM - MIN_SPACING - IMPORT

  • containment (bool) – If true, containment is ‘Body’ otherwise ‘Bound’.

  • seed (float | str) – Seed value for point set.

  • pointCount (int | str) – Number of point for ‘UNIFORM RANDOM’ method in point set.

  • minSpacing (float | str) – Minimum spacing for ‘MIN SPACING’ method in point set.

  • minSpacingField (Field) – Minimum spacing field input, if minSpacingField is not provided.

  • pointSet (list[math.Point]) – A list of positional coordinates contained within the point set.

  • edgesGenerationMethod (str) – Edges Generation Method. - POINT_CLOUD - VALENCE - DELAUNAY - IMPORT

  • valence (float | str) – Valence value for edge set.

  • valenceField (Field) – Valence field input, if valence is not provided.

  • edgeSet (list[int]) – A list of positional coordinates contained within the point set.

  • voronoiType (str) – Voronoi Type. - DELAUNAY - VORONOI

Returns:

The newly created PointEdgeSet object.

Return type:

PointEdgeSet

pointSetBoundingBodyFilter(body, filterName='Filter', retain=False, boundingBody=None)#

Filter points from the Point-Edge set by checking if they fall inside a bounding body.

Parameters:
  • body (PointEdgeSet | PointEdgeSetFilter) – Implicit PointEdgeSet or any point edge set filters, use bodies property to get all bodies from implicit part.

  • filterName (str) – Name of the point set filter.

  • retain (bool) – If True, Filter reject is selected otherwise filter pass.

  • boundingBody (Body) – Implicit body, use bodies property to get all bodies from implicit part.

Returns:

The newly created PointSetBoundingBodyFilter

object.

Return type:

PointSetBoundingBodyFilter

pointSetFieldValueFilter(body, filterName='Filter', retain=False, referenceField=None, fieldValue='LESS_THAN', lowerValue=0.05, lowerValueField=None, upperValue=0.1, upperValueField=None)#

Filter points from the Point-Edge set by interrogating the field value at the point’s location in a user-specified field, and applying (in)equality or range constraints to determine whether to keep/remove points.

Parameters:
  • body (PointEdgeSet | PointEdgeSetFilter) – Implicit PointEdgeSet or any point edge set filters, use bodies property to get all bodies from implicit part.

  • filterName (str) – Name of the point set filter.

  • retain (bool) – If True, Filter reject is selected otherwise filter pass.

  • referenceField (Field) – Implicit Field body, use bodies property to get all bodies from implicit part.

  • fieldValue (str) – Field value for filter. - LESS_THAN - LESS_OR_EQUAL - EQUAL - NOT_EQUAL - GREATER_OR_EQUAL - GREATER_THAN - BETWEEN - NOT_BETWEEN

  • lowerValue (float | str) – Lower value for point set.

  • lowerValueField (Field) – Lower value field input, if lowerValue is not provided.

  • upperValue (float | str) – Upper value for point set.

  • upperValueField (Field) – Upper value field input, if upperValue is not provided.

Returns:

The newly created PointSetFieldValueFilter

object.

Return type:

PointSetFieldValueFilter

pointSetValenceFilter(body, filterName='Filter', retain=False, valenceValue='LESS_THAN', valence=0.05, valenceField=None, upperValue=0.1, upperValueField=None)#

Filter points from the Point-Edge set by checking the number of edges incident on that point, and applying (in)equality or range constraints to determine whether to keep/remove points.

Parameters:
  • body (PointEdgeSet | PointEdgeSetFilter) – Implicit PointEdgeSet or any point edge set filters, use bodies property to get all bodies from implicit part.

  • filterName (str) – Name of the point set filter.

  • retain (bool) – If True, Filter reject is selected otherwise filter pass.

  • valenceValue (str) – Valence value for filter. - LESS_THAN - LESS_OR_EQUAL - EQUAL - NOT_EQUAL - GREATER_OR_EQUAL - GREATER_THAN - BETWEEN - NOT_BETWEEN

  • valence (float | str) – Valence value for point set.

  • valenceField (Field) – Valence value field input, if valence is not provided.

  • upperValue (float | str) – Upper value for point set.

  • upperValueField (Field) – Upper value field input, if upperValue is not provided.

Returns:

The newly created PointSetValenceFilter

object.

Return type:

PointSetValenceFilter

edgeSetBoundingBodyFilter(body, filterName='Filter', retain=False, boundingBody=None, nodeCheck='ALL', midpointCheck=True)#

Filter edges from the Point-Edge set by checking if either end or an optional mid-point along the edge fall outside a bounding body.

Parameters:
  • body (PointEdgeSet | PointEdgeSetFilter) – Implicit PointEdgeSet or any point edge set filters, use bodies property to get all bodies from implicit part.

  • filterName (str) – Name of the edge set filter.

  • retain (bool) – If True, Filter reject is selected otherwise filter pass.

  • boundingBody (Body) – Implicit body, use bodies property to get all bodies from implicit part.

  • nodeCheck (str) – Nodecheck values. - ALL - ANY

  • midpointCheck (bool) – If True, its on otherwise off.

Returns:

The newly created EdgeSetBoundingBodyFilter

object.

Return type:

EdgeSetBoundingBodyFilter

edgeSetLengthFilter(body, filterName='Filter', retain=False, lengthValue='LESS_THAN', lowerLength=0.01, lowerLengthField=None, upperLength=0.02, upperLengthField=None)#

Filter edges from the Point-Edge set by checking their length against an (in)equality or range constraint.

Parameters:
  • body (PointEdgeSet | PointEdgeSetFilter) – Implicit PointEdgeSet or any point edge set filters, use bodies property to get all bodies from implicit part.

  • filterName (str) – Name of the edge set filter.

  • retain (bool) – If True, Filter reject is selected otherwise filter pass.

  • lengthValue (str) – Length value for filter. - LESS_THAN - LESS_OR_EQUAL - EQUAL - NOT_EQUAL - GREATER_OR_EQUAL - GREATER_THAN - BETWEEN - NOT_BETWEEN

  • lowerLength (float | str) – Lower length for edge set.

  • lowerLengthField (Field) – Lower length field input, if lowerLength is not provided.

  • upperLength (float | str) – Upper length for edge set.

  • upperLengthField (Field) – Upper length field input, if upperLength is not provided.

Returns:

The newly created EdgeSetLengthFilter

object.

Return type:

EdgeSetLengthFilter

edgeSetAngleFilter(body, filterName='Filter', retain=False, angleReference=None, angleValue='LESS_THAN', lowerAngle=45, lowerAngleField=None, upperAngle=60, upperAngleField=None)#

Filter edges from the Point-Edge set by checking their angle relative to a reference feature against an (in)equality or range constraint.

Parameters:
  • body (PointEdgeSet | PointEdgeSetFilter) – Implicit PointEdgeSet or any point edge set filters, use bodies property to get all bodies from implicit part.

  • filterName (str) – Name of the edge set filter.

  • retain (bool) – If True, Filter reject is selected otherwise filter pass.

  • angleReference (Axis | Line | Plane) – Implicit body, use bodies property to get all bodies from implicit part.

  • angleValue (str) – Angle value for filter. - LESS_THAN - LESS_OR_EQUAL - EQUAL - NOT_EQUAL - GREATER_OR_EQUAL - GREATER_THAN - BETWEEN - NOT_BETWEEN

  • lowerAngle (float | str) – Lower angle for edge set.

  • lowerAngleField (Field) – Lower angle field input, if lowerAngle is not provided.

  • upperAngle (float | str) – Upper angle for edge set.

  • upperAngleField (Field) – Upper angle field input, if upperAngle is not provided.

Returns:

The newly created EdgeSetAngleFilter

object.

Return type:

EdgeSetAngleFilter

edgeSetFieldValueFilter(body, filterName='Filter', retain=False, referenceField=None, fieldValue='LESS_THAN', nodeCheck='ALL', midpointCheck=True, lowerValue=0.05, lowerValueField=None, upperValue=0.1, upperValueField=None)#

Filter edges from the Point-Edge set by interrogating the field value at either end or an optional mid-point along the edge against a user-specified field, and applying (in)equality or range constraints to determine whether to keep/remove points.

Parameters:
  • body (PointEdgeSet | PointEdgeSetFilter) – Implicit PointEdgeSet or any point edge set filters, use bodies property to get all bodies from implicit part.

  • filterName (str) – Name of the edge set filter.

  • retain (bool) – If True, Filter reject is selected otherwise filter pass.

  • referenceField (Field) – Implicit Field body, use bodies property to get all bodies from implicit part.

  • fieldValue (str) – Field value for filter. - LESS_THAN - LESS_OR_EQUAL - EQUAL - NOT_EQUAL - GREATER_OR_EQUAL - GREATER_THAN - BETWEEN - NOT_BETWEEN

  • nodeCheck (str) – Nodecheck values. - ALL - ANY

  • midpointCheck (bool) – If True, its on otherwise off.

  • lowerValue (float | str) – Lower value for edge set.

  • lowerValueField (Field) – Lower value field input, if lowerValue is not provided.

  • upperValue (float | str) – Upper value for edge set.

  • upperValueField (Field) – Upper value field input, if upperValue is not provided.

Returns:

The newly created EdgeSetFieldValueFilter

object.

Return type:

EdgeSetFieldValueFilter

edgeSetManufacturabilityFilter(body, filterName='Filter', retain=False, angleReference=None, angleValue='LESS_THAN', lengthValue='LESS_THAN', lowerLength=0.01, lowerLengthField=None, upperLength=0.02, upperLengthField=None, lowerAngle=45, lowerAngleField=None, upperAngle=60, upperAngleField=None)#

Filter edges from the Point-Edge set using a combined length and angle filter that considers maximum self-supporting edge length at a given angle of overhang with respect to a reference feature.

Parameters:
  • body (PointEdgeSet | PointEdgeSetFilter) – Implicit PointEdgeSet or any point edge set filters, use bodies property to get all bodies from implicit part.

  • filterName (str) – Name of the edge set filter.

  • retain (bool) – If True, Filter reject is selected otherwise filter pass.

  • angleReference (Axis | Line | Plane) – Implicit body, use bodies property to get all bodies from implicit part.

  • angleValue (str) – Angle value for filter. - LESS_THAN - LESS_OR_EQUAL - EQUAL - NOT_EQUAL - GREATER_OR_EQUAL - GREATER_THAN - BETWEEN - NOT_BETWEEN

  • lengthValue (str) – Length value for filter. - LESS_THAN - LESS_OR_EQUAL - EQUAL - NOT_EQUAL - GREATER_OR_EQUAL - GREATER_THAN - BETWEEN - NOT_BETWEEN

  • lowerLength (float | str) – Lower length for edge set.

  • lowerLengthField (Field) – Lower length field input, if lowerLength is not provided.

  • upperLength (float | str) – Upper length for edge set.

  • upperLengthField (Field) – Upper length field input, if upperLength is not provided.

  • lowerAngle (float | str) – Lower angle for edge set.

  • lowerAngleField (Field) – Lower angle field input, if lowerAngle is not provided.

  • upperAngle (float | str) – Upper angle for edge set.

  • upperAngleField (Field) – Upper angle field input, if upperAngle is not provided.

Returns:

The newly created

EdgeSetManufacturabilityFilter object.

Return type:

EdgeSetManufacturabilityFilter

pointCloud(points, weights, interpolation='INVERSE_DISTANCE', exponent=2, backgroundEnable=False, backgroundValue=0.0, backgroundField=None, pointBehaviour='BUMP', radii=None, falloffs=None)#

Create a custom implicit field or geometry from a set of points with scalar values attached to them.

Parameters:
  • points (list[math.Point]) – A list of positional coordinates contained within the point cloud.

  • weights (list[Float]) – A list of scalar values associated with each point. A surface is created at the boundary between positive and negative regions.

  • interpolation (str) –

    Interpolation Type. - INVERSE_DISTANCE (Smooth gradient of values between the points) - NEAREST_NEIGHBOURS (The value in the field will correspond to the

    value associated with the closest point. This creates hard boundaries similar to Voronoi cells).

  • exponent (float | str) – The exponent used for the inverse distance interpolation 1 / (Distance^Exponent). A larger value will produce a gentler gradient between points.

  • backgroundEnable (bool) – If True, Background value is enabled otherwise not.

  • backgroundValue (float | str) – Background value for point cloud.

  • backgroundField (Body) – Background field input if backgroundValue is not provided.

  • pointBehaviour (str) – Point Behaviour for point cloud. - BUMP - SET

  • radii (List[float]) – List of radius values.

  • falloffs (List[float]) – List of falloff values.

Returns:

The newly created PointCloud object.

Return type:

PointCloud

moveBodies(body, position)#

The Move Bodies tool is used to transform implicit bodies in terms of their position and orientation in space.

Parameters:
  • body (Body) – Implicit body, use bodies property to get all bodies from implicit part.

  • position (math.Matrix44) – Position for the body to move.

combine(targets, transition='SHARP', transitionValue=0.002, transitionField=None)#

The Combine tool is a Boolean Union operation between implicit bodies. This tool creates a new body that envelopes any volume that falls within at least one of bodies being combined. It is equivalent to a logical OR / disjunction.

Parameters:
  • targets (list[Body]) – List of Implicit target body, use bodies property to get all bodies from implicit part.

  • transition (str) – Transition Type. - SHARP - FILLET - CHAMFER

  • transitionValue (float | str) – Transition value for boolean combine.

  • transitionField (Field) – Transition field input if transitionValue is not provided.

Returns:

The newly created Combine object.

Return type:

Combine

difference(targets, tools, transition='SHARP', transitionValue=0.002, transitionField=None)#

The difference tool is used to cut ‘tool’ implicit bodies from ‘target’ implicit bodies. This tool creates a new implicit body that envelopes any volume that falls within any target but NOT within any tools. It is equivalent to a logical NOT / negation.

Parameters:
  • targets (list[Body]) – List of Implicit target body, use bodies property to get all bodies from implicit part.

  • tools (list[Body]) – List of Implicit tool body, use bodies property to get all bodies from implicit part.

  • transition (str) – Transition Type. - SHARP - FILLET - CHAMFER

  • transitionValue (float | str) – Transition value for boolean difference.

  • transitionField (Field) – Transition field input if transitionValue is not provided.

Returns:

The newly created Difference object.

Return type:

Difference

intersect(targets, tools, transition='SHARP', transitionValue=0.002, transitionField=None)#

The Intersection tool is used to find volumes of overlap between two or more implicit bodies.

Parameters:
  • targets (list[Body]) – List of Implicit target body, use bodies property to get all bodies from implicit part.

  • tools (list[Body]) – List of Implicit tool body, use bodies property to get all bodies from implicit part.

  • transition (str) – Transition Type. - SHARP - FILLET - CHAMFER

  • transitionValue (float | str) – Transition value for boolean intersect.

  • transitionField (Field) – Transition field input if transitionValue is not provided.

Returns:

The newly created Intersect object.

Return type:

Intersect

offset(body, direction='OUTWARD', outwardOffset=0.01, outwardOffsetField=None, inwardOffset=0.01, inwardOffsetField=None, shell=False)#

The Offset tool can be used to inwardly (negative) or outwardly (positive) offset the surface of an implicit body. The surface always moves in a direction that is normal to the original surface.

Parameters:
  • body (Body) – Implicit body, use bodies property to get all bodies from implicit part.

  • direction (str) – Direction for offset. - OUTWARD - INWARD - BOTH - SYMMETRY BOTH and SYMMETRY are valid only if shell is True.

  • outwardOffset (float | str) – Outward Offset value for implicit body.

  • outwardOffsetField (Field) – Outward offset field input, if outwardOffset is not provided.

  • inwardOffset (float | str) – Inward Offset value for implicit body.

  • inwardOffsetField (Field) – Inward offset field input, if inwardOffset is not provided.

  • shell (True) – If True, create a shell for implicit body otherwise not.

Returns:

The newly created Offset object.

Return type:

Offset

invert(body)#

The Invert tool swaps the convention of ‘inside’ and ‘outside’ for an implicit body by reversing the sign of all scalar values in the underlying field.

Parameters:

body (Body) – Implicit body, use bodies property to get all bodies from implicit part.

Returns:

The newly created Invert object.

Return type:

Invert

morph(bodyA, bodyB, morphValue=0.5, morphValueField=None)#

The Morph tool performs a morphing operation between two implicit bodies.

Parameters:
  • bodyA (Body) – Implicit body, use bodies property to get all bodies from implicit part.

  • bodyB (Body) – Implicit body, use bodies property to get all bodies from implicit part.

  • morphValue (float | str) – The Morph Amount should lie between 0 and 100 and this controls the percentage of the morphing operation between Bodies A and B. A Morph Value of 0 would result in a perfect copy of the Body A, and a Morph amount of 100 would result in a perfect copy of the Body B.

  • morphValueField (Field) – The Morph Amount field input, if morphValue is not provided.

Returns:

The newly created Morph object.

Return type:

Morph

fillet(body, type='ROUNDS', filletRadius=0.002, roundRadius=0.002)#

The Fillet tool applies a circular fillet of defined radius to sharp edges in an implicit body. It can be separately applied to convex and concave edges. Unlike traditional CAD, the fillet effect will be applied to any qualifying edges in the model rather than those that are manually selected by a user.

Parameters:
  • body (Body) – Implicit body, use bodies property to get all bodies from implicit part.

  • type (str) – Fillet type. - FILLETS - ROUNDS - BOTH

  • filletRadius (float | str) – Fillet radius if type is ‘FILLETS’.

  • roundRadius (float | str) – Round radius if type is ‘ROUNDS’.

Returns:

The newly created Fillet object.

Return type:

Fillet

smooth(body, type='GAUSSIAN', width=1, iterations=1, strength=100)#

The Smooth tool is used to reduce the size of, or remove, unwanted small and/or sharp features in an implicit body. It is analogous to ‘blurring’ in digital image processing. It operates by moving a window through the underlying field, performing filtering operations on the field values that fall within the window. Example smoothing filters include Mean, Median, Gaussian and Laplacian. Each of these have relative pros and cons, giving different smoothing effects.

Parameters:
  • body (Body) – Implicit body, use bodies property to get all bodies from implicit part.

  • type (str) – Smoothing type. - GAUSSIAN - LAPLACIAN - MEDIAN - MEAN

  • width (int | str) – Size of the smoothing kernel.

  • iterations (int | str) – Number of times the smoothing kernel runs for.

  • strength (float | str) – Smooth strength from 0 to 100.

Returns:

The newly created Smooth object.

Return type:

Smooth

remap(body)#

Remap is a general field of scalar values into a signed distance field. After a remap, each position in the field will have a scalar value that is the signed distance to the closest point on the object being modelled (surface, point, line, etc.). Negative field values are on the inside of the model and positive field values are on the outside.

Parameters:

body (Body) – Implicit body, use bodies property to get all bodies from implicit part.

Returns:

The newly created Remap object.

Return type:

Remap

mirror(body, plane=None, originX=0, originY=0, originZ=0, normalX=0, normalY=0, normalZ=1)#

The mirror operation takes an implicit body and mirrors it across an arbitrary plane in 3D.

Parameters:
  • body (Body) – Implicit body, use bodies property to get all bodies from implicit part.

  • plane (Plane) – Implicit plane, use bodies property to get all bodies from implicit part.

  • originX (float | str) – Origin value in X direction.

  • originY (float | str) – Origin value in Y direction.

  • originZ (float | str) – Origin value in Z direction.

  • normalX (float | str) – Normal value in X direction.

  • normalY (float | str) – Normal value in Y direction.

  • normalZ (float | str) – Normal value in Z direction.

Returns:

The newly created Mirror object.

Return type:

Mirror

conform(conformType='SURFACE', uCurve=None, vCurve=None, wCurve=None, curveUInvert=False, curveVInvert=False, curveWInvert=False, surfaceType='SURFACE', surface=None, surfaceUVFlip=False, surfaceUInvert=False, surfaceVInvert=False, volumeType='SURFACECURVE', volumeSurface=None, volumeSurfaceUVFlip=False, volumeSurfaceUInvert=False, volumeSurfaceVInvert=False)#

Creates an Implicit conform body.

Parameters:
  • conformType (str) – Conform Type for implicit. - CURVE - SURFACE - VOLUME

  • uCurve (geometry.FeatureCurve) – FeatureCurve for U curve in conform body.

  • vCurve (geometry.FeatureCurve) – FeatureCurve for V curve in conform body.

  • wCurve (geometry.FeatureCurve) – FeatureCurve for W curve in conform body.

  • curveUInvert (bool) – If True invert the U curve, otherwise not.

  • curveVInvert (bool) – If True invert the V curve, otherwise not.

  • curveWInvert (bool) – If True invert the W curve, otherwise not.

  • surfaceType (str) – Surface Type. - SURFACE - CURVES

  • surface (geometry.FeatureArea) – FeatureArea for surface in conform body.

  • surfaceUVFlip (bool) – If True invert the UV surface, otherwise not.

  • surfaceUInvert (bool) – If True invert the U surface, otherwise not.

  • surfaceVInvert (bool) –

    If True invert the V surface, otherwise not. volumeType (str): Volume Type.

    • SURFACECURVE

    • CURVES

  • volumeSurface (geometry.FeatureArea) – FeatureArea for volume surface in conform body.

  • volumeSurfaceUVFlip (bool) – If True invert the UV volume surface, otherwise not.

  • volumeSurfaceUInvert (bool) – If True invert the U volume surface, otherwise not.

  • volumeSurfaceVInvert (bool) – If True invert the V volume surface, otherwise not.

Returns:

The newly created Conform object.

Return type:

Conform

featureRefAxis(feature)#

Takes a ParaSolid/BRep axis and creates a reference for this to be used inside Implicit Modeling. This reference is used during the construction of a UVW coordinate space that is later used in the creation of a Conformal Lattice. The axis will provide the U, V or W component of this conformal coordinate system.

Parameters:

feature (FeatureLinear) – FeatureLinear to be used in implicit object.

Returns:

The newly created FeatureRefAxis object.

Return type:

FeatureRefAxis

featureRefPlane(feature)#

Takes a ParaSolid/BRep plane and creates a reference for this to be used inside Implicit Modeling. This reference is used during the construction of a UVW coordinate space that is later used in the creation of a Conformal Lattice. The plane will provide the U and V components of this conformal coordinate system.

Parameters:

feature (FeaturePlanar) – FeaturePlanar to be used in implicit object.

Returns:

The newly created FeatureRefPlane object.

Return type:

FeatureRefPlane

featureRefPoint(feature)#

Takes a ParaSolid/BRep point and creates a reference for this to be used inside Implicit Modeling. This reference is used during the construction of a UVW coordinate space that is later used in the creation of a Conformal Lattice. The point will provide the U and V components of this conformal coordinate system.

Parameters:

feature (FeaturePoint) – FeaturePoint to be used in implicit object.

Returns:

The newly created FeatureRefPoint object.

Return type:

FeatureRefPoint

linearPattern(body, conform=None, direction='ONE', vector1=None, spacing1=0.1, count1=2, vector2=None, spacing2=0.1, count2=2, spacing3=0.1, count3=2)#

The Linear Pattern operation takes a user-selected body and distributes multiple identical instances according to linear patterning rules.

Parameters:
  • body (Body) – Implicit body, use bodies property to get all bodies from implicit part.

  • conform (Conform) – Implicit Conform body, use bodies property to get all bodies from implicit part.

  • direction (str) – The linear pattern direction1. - ONE - TWO - THREE

  • vector1 (FeatureRefAxis) – Implicit FeatureRefAxis body, use bodies property to get all bodies from implicit part.

  • spacing1 (float | str) – Space between the linear pattern copies in direction1.

  • count1 (float | str) – Number of copies in direction1.

  • vector2 (FeatureRefAxis) – Implicit FeatureRefAxis body, use bodies property to get all bodies from implicit part.

  • spacing2 (float | str) – Space between the linear pattern copies in direction2.

  • count2 (float | str) – Number of copies in direction2.

  • spacing3 (float | str) – Space between the linear pattern copies in direction3.

  • count3 (float | str) – Number of copies in direction3.

Returns:

The newly created LinearPattern object.

Return type:

LinearPattern

circularPattern(body, vector=None, equalSpacing=False, angle=60, count=2)#

The Circular Pattern operation takes a user-selected body and distributes multiple identical instances according to circular patterning rules.

Parameters:
  • body (Body) – Implicit body, use bodies property to get all bodies from implicit part.

  • vector (FeatureRefAxis) – Implicit FeatureRefAxis body, use bodies property to get all bodies from implicit part.

  • equalSpacing (bool) – If True, pattern are equally spaced otherwise not.

  • angle (float | str) – Angle for circular pattern.

  • count (float | str) – Number of copies.

Returns:

The newly created CircularPattern object.

Return type:

CircularPattern

pointCloudPattern(body, pointCloud=None)#

The PointCloud Pattern operation takes a user-selected body and distributes multiple identical instances according to PointCloud patterning rules.

Parameters:
  • body (Body) – Implicit body, use bodies property to get all bodies from implicit part.

  • pointCloud (PointCloud) – Implicit PointCloud body, use bodies property to get all bodies from implicit part.

Returns:

The newly created PointCloudPattern object.

Return type:

PointCloudPattern

refPoint(reference)#

Takes a geometry system point and creates a reference for this to be used inside Implicit Modeling.

Parameters:

reference (geometry.Point) – Geometry system point to be used in implicit object.

Returns:

The newly created RefPoint object.

Return type:

RefPoint

refPlane(reference)#

Takes a geometry system plane and creates a reference for this to be used inside Implicit Modeling.

Parameters:

reference (geometry.Plane) – Geometry system plane to be used in implicit object.

Returns:

The newly created RefPlane object.

Return type:

RefPlane

refAxis(reference)#

Takes a geometry system axis and creates a reference for this to be used inside Implicit Modeling.

Parameters:

reference (geometry.Axis) – Geometry system axis to be used in implicit object.

Returns:

The newly created RefAxis object.

Return type:

RefAxis

add(bodyA, bodyB)#

Implicit Add operation.

Parameters:
  • bodyA (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

  • bodyB (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

Returns:

The newly created Add object.

Return type:

Add

subtract(bodyA, bodyB)#

Implicit Subtract operation.

Parameters:
  • bodyA (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

  • bodyB (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

Returns:

The newly created Subtract object.

Return type:

Subtract

multiply(bodyA, bodyB)#

Implicit Multiply operation.

Parameters:
  • bodyA (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

  • bodyB (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

Returns:

The newly created Multiply object.

Return type:

Multiply

divide(bodyA, bodyB)#

Implicit Divide operation.

Parameters:
  • bodyA (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

  • bodyB (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

Returns:

The newly created Divide object.

Return type:

Divide

floorDivision(bodyA, bodyB)#

Implicit Floor Division operation.

Parameters:
  • bodyA (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

  • bodyB (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

Returns:

The newly created FloorDivision object.

Return type:

FloorDivision

power(bodyA, bodyB)#

Implicit Power operation.

Parameters:
  • bodyA (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

  • bodyB (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

Returns:

The newly created Power object.

Return type:

Power

mod(bodyA, bodyB)#

Implicit Mod operation.

Parameters:
  • bodyA (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

  • bodyB (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

Returns:

The newly created Mod object.

Return type:

Mod

lessThan(bodyA, bodyB)#

Implicit less than operation.

Parameters:
  • bodyA (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

  • bodyB (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

Returns:

The newly created LessThan object.

Return type:

LessThan

lessOrEqualTo(bodyA, bodyB)#

Implicit less or equal to operation.

Parameters:
  • bodyA (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

  • bodyB (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

Returns:

The newly created LessOrEqualTo object.

Return type:

LessOrEqualTo

equalTo(bodyA, bodyB)#

Implicit equal to operation.

Parameters:
  • bodyA (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

  • bodyB (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

Returns:

The newly created EqualTo object.

Return type:

EqualTo

greaterThan(bodyA, bodyB)#

Implicit greater than operation.

Parameters:
  • bodyA (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

  • bodyB (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

Returns:

The newly created GreaterThan object.

Return type:

GreaterThan

greaterOrEqualTo(bodyA, bodyB)#

Implicit greater or equal to operation.

Parameters:
  • bodyA (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

  • bodyB (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

Returns:

The newly created GreaterOrEqualTo object.

Return type:

GreaterOrEqualTo

sin(bodyA)#

Implicit Trigonometry Sin operation.

Parameters:

bodyA (Body) – Implicit body for math functions, use bodies property to get all bodies from implicit part.

Returns:

The newly created Sin object.

Return type:

Sin

cos(bodyA)#

Implicit Trigonometry Cos operation.

Parameters:

bodyA (Body) – Implicit body for math functions, use bodies property to get all bodies from implicit part.

Returns:

The newly created Cos object.

Return type:

Cos

tan(bodyA)#

Implicit Trigonometry Tan operation.

Parameters:

bodyA (Body) – Implicit body for math functions, use bodies property to get all bodies from implicit part.

Returns:

The newly created Tan object.

Return type:

Tan

atan2(bodyA, bodyB)#

Implicit Trigonometry ATan2 operation.

Parameters:
  • bodyA (Body) – Implicit body for math functions, use bodies property to get all bodies from implicit part.

  • bodyB (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

Returns:

The newly created ATan2 object.

Return type:

ATan2

asin(bodyA)#

Implicit Trigonometry ASin operation.

Parameters:

bodyA (Body) – Implicit body for math functions, use bodies property to get all bodies from implicit part.

Returns:

The newly created ASin object.

Return type:

ASin

acos(bodyA)#

Implicit Trigonometry ACos operation.

Parameters:

bodyA (Body) – Implicit body for math functions, use bodies property to get all bodies from implicit part.

Returns:

The newly created ACos object.

Return type:

ACos

atan(bodyA)#

Implicit Trigonometry ATan operation.

Parameters:

bodyA (Body) – Implicit body for math functions, use bodies property to get all bodies from implicit part.

Returns:

The newly created ATan object.

Return type:

ATan

asinh(bodyA)#

Implicit Trigonometry ASinh operation.

Parameters:

bodyA (Body) – Implicit body for math functions, use bodies property to get all bodies from implicit part.

Returns:

The newly created ASinh object.

Return type:

ASinh

acosh(bodyA)#

Implicit Trigonometry ACosh operation.

Parameters:

bodyA (Body) – Implicit body for math functions, use bodies property to get all bodies from implicit part.

Returns:

The newly created ACosh object.

Return type:

ACosh

atanh(bodyA)#

Implicit Trigonometry ATanh operation.

Parameters:

bodyA (Body) – Implicit body for math functions, use bodies property to get all bodies from implicit part.

Returns:

The newly created ATanh object.

Return type:

ATanh

abs(bodyA)#

Implicit absolute value operation.

Parameters:

bodyA (Body) – Implicit body for math functions, use bodies property to get all bodies from implicit part.

Returns:

The newly created Abs object.

Return type:

Abs

ceil(bodyA)#

Implicit ceil operation.

Parameters:

bodyA (Body) – Implicit body for math functions, use bodies property to get all bodies from implicit part.

Returns:

The newly created Ceil object.

Return type:

Ceil

clamp(bodyA, bodyB, bodyC)#

Implicit clamp operation.

Parameters:
  • bodyA (Body) – Implicit body for math functions, use bodies property to get all bodies from implicit part.

  • bodyB (Body) – Implicit body for math functions, use bodies property to get all bodies from implicit part.

  • bodyC (Body) – Implicit body for math functions, use bodies property to get all bodies from implicit part.

Returns:

The newly created Clamp object.

Return type:

Clamp

implIf(bodyA, bodyB, bodyC)#

Implicit if operation.

Parameters:
  • bodyA (Body) – Implicit body for math functions, use bodies property to get all bodies from implicit part.

  • bodyB (Body) – Implicit body for math functions, use bodies property to get all bodies from implicit part.

  • bodyC (Body) – Implicit body for math functions, use bodies property to get all bodies from implicit part.

Returns:

The newly created ImplIf object.

Return type:

ImplIf

min(bodyA, bodyB=None)#

Implicit min operation.

Parameters:
  • bodyA (Body) – Implicit body for math functions, use bodies property to get all bodies from implicit part.

  • bodyB (Body) – Implicit body for math functions, use bodies property to get all bodies from implicit part.

Returns:

The newly created Min object.

Return type:

Min

max(bodyA, bodyB=None)#

Implicit min operation.

Parameters:
  • bodyA (Body) – Implicit body for math functions, use bodies property to get all bodies from implicit part.

  • bodyB (Body) – Implicit body for math functions, use bodies property to get all bodies from implicit part.

Returns:

The newly created Max object.

Return type:

Max

step(bodyA, bodyB)#

Implicit step operation.

Parameters:
  • bodyA (Body) – Implicit body for math functions, use bodies property to get all bodies from implicit part.

  • bodyB (Body) – Implicit body for math functions, use bodies property to get all bodies from implicit part.

Returns:

The newly created Step object.

Return type:

Step

sign(bodyA)#

Implicit sign operation.

Parameters:

bodyA (Body) – Implicit body for math functions, use bodies property to get all bodies from implicit part.

Returns:

The newly created Sign object.

Return type:

Sign

sqrt(bodyA)#

Implicit sqrt operation.

Parameters:

bodyA (Body) – Implicit body for math functions, use bodies property to get all bodies from implicit part.

Returns:

The newly created Sqrt object.

Return type:

Sqrt

constant(value)#

Implicit constant.

Parameters:

value (float | str) – Constant value for implicit.

Returns:

The newly created Constant object.

Return type:

Constant

fraction(bodyA)#

Implicit fraction operation.

Parameters:

bodyA (Body) – Implicit body for math functions, use bodies property to get all bodies from implicit part.

Returns:

The newly created Fraction object.

Return type:

Fraction

pi()#

Implicit pi.

Returns:

The newly created Pi object.

Return type:

Pi

e()#

Implicit Euler’s number(E).

Returns:

The newly created E object.

Return type:

E

xRef()#

Implicit X Reference.

Returns:

The newly created XRef object.

Return type:

XRef

yRef()#

Implicit Y Reference.

Returns:

The newly created YRef object.

Return type:

YRef

zRef()#

Implicit Z Reference.

Returns:

The newly created ZRef object.

Return type:

ZRef

addVector(bodyA, bodyB)#

Implicit Vector Add operation.

Parameters:
  • bodyA (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

  • bodyB (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

Returns:

The newly created AddVector object.

Return type:

AddVector

create2D(bodyA, bodyB)#

Implicit 2D Vector creation.

Parameters:
  • bodyA (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

  • bodyB (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

Returns:

The newly created Create2D object.

Return type:

Create2D

create3D(bodyA, bodyB, bodyC)#

Implicit 3D Vector creation.

Parameters:
  • bodyA (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

  • bodyB (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

  • bodyC (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

Returns:

The newly created Create3D object.

Return type:

Create3D

create4D(bodyA, bodyB, bodyC, bodyD)#

Implicit 3D Vector creation.

Parameters:
  • bodyA (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

  • bodyB (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

  • bodyC (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

  • bodyD (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

Returns:

The newly created Create4D object.

Return type:

Create4D

distance(bodyA, bodyB)#

Implicit Distance Vector creation.

Parameters:
  • bodyA (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

  • bodyB (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

Returns:

The newly created Distance object.

Return type:

Distance

dot(bodyA, bodyB)#

Implicit Dot Vector creation.

Parameters:
  • bodyA (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

  • bodyB (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

Returns:

The newly created Dot object.

Return type:

Dot

cross(bodyA, bodyB)#

Implicit Cross Vector creation.

Parameters:
  • bodyA (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

  • bodyB (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

Returns:

The newly created Cross object.

Return type:

Cross

scale(bodyA, bodyB)#

Implicit Scale Vector creation.

Parameters:
  • bodyA (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

  • bodyB (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

Returns:

The newly created Scale object.

Return type:

Scale

length(bodyA)#

Implicit Length Vector creation.

Parameters:

bodyA (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

Returns:

The newly created Length object.

Return type:

Length

normalize(bodyA)#

Implicit Normalize Vector creation.

Parameters:

bodyA (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

Returns:

The newly created Normalize object.

Return type:

Normalize

vectorElement(bodyA, index)#

Implicit vector element creation.

Parameters:
  • bodyA (Body) – Implicit body for math operation, use bodies property to get all bodies from implicit part.

  • index (int) – The index of the vector component to be returned.

Returns:

The newly created VectorElement object.

Return type:

VectorElement