Public Member Functions | Static Public Member Functions | List of all members
MachineConfiguration Class Reference

Inherits ScriptObject, and UnitConsumer.

Public Member Functions

String getXML ()
 
 MachineConfiguration ()
 
 MachineConfiguration (Axis u)
 
 MachineConfiguration (Axis u, Axis v)
 
 MachineConfiguration (Axis u, Axis v, Axis w)
 
Boolean getMilling ()
 
 setMilling (Boolean milling)
 
Boolean getTurning ()
 
 setTurning (Boolean turning)
 
Boolean getWire ()
 
 setWire (Boolean wire)
 
Boolean getJet ()
 
 setJet (Boolean jet)
 
Boolean getAdditiveFFF ()
 
 setAdditiveFFF (Boolean additive)
 
Boolean getInspection ()
 
 setInspection (Boolean inspection)
 
Boolean getToolChanger ()
 
 setToolChanger (Boolean toolChanger)
 
Boolean getToolPreload ()
 
 setToolPreload (Boolean toolPreload)
 
Integer getNumberOfTools ()
 
 setNumberOfTools (Integer numberOfTools)
 
Number getMaximumToolLength ()
 
 setMaximumToolLength (Number maximumToolLength)
 
Number getMaximumToolDiameter ()
 
 setMaximumToolDiameter (Number maximumToolDiameter)
 
Number getMaximumToolWeight ()
 
 setMaximumToolWeight (Number maximumToolWeight)
 
Number getMaximumFeedrate ()
 
 setMaximumFeedrate (Number maximumFeedrate)
 
Number getMaximumCuttingFeedrate ()
 
 setMaximumCuttingFeedrate (Number maximumCuttingFeedrate)
 
Integer getMaximumBlockProcessingSpeed ()
 
 setMaximumBlockProcessingSpeed (Integer maximumBlockProcessingSpeed)
 
Integer getNumberOfWorkOffsets ()
 
 setNumberOfWorkOffsets (Integer numberOfWorkOffsets)
 
Number getFeedrateRatio ()
 
 setFeedrateRatio (Number feedrateRatio)
 
Number getToolChangeTime ()
 
 setToolChangeTime (Number toolChangeTime)
 
 addAxis (Axis axis)
 
Boolean performRewinds ()
 
 enableMachineRewinds ()
 
 disableMachineRewinds ()
 
Boolean getReconfigure ()
 
 setReconfigure (Boolean enable)
 
 setRewindStockExpansion (Vector expansion)
 
Vector getRewindStockExpansion ()
 
 setSafeRetractDistance (Number safeRetractDistance)
 
Number getSafeRetractDistance ()
 
 setSafeRetractFeedrate (Number safeRetractFeedrate)
 
Number getSafeRetractFeedrate ()
 
 setSafePlungeFeedrate (Number safePlungeFeedrate)
 
Number getSafePlungeFeedrate ()
 
Vector getDimensions ()
 
 setDimensions (Vector dimensions)
 
Number getWidth ()
 
 setWidth (Number width)
 
Number getDepth ()
 
 setDepth (Number depth)
 
Number getHeight ()
 
 setHeight (Number height)
 
Number getWeight ()
 
 setWeight (Number weight)
 
Vector getPartDimensions ()
 
 setPartDimensions (Vector partDimensions)
 
Number getPartMaximumX ()
 
 setPartMaximumX (Number width)
 
Number getPartMaximumY ()
 
 setPartMaximumY (Number depth)
 
Number getPartMaximumZ ()
 
 setPartMaximumZ (Number height)
 
Number getWeightCapacity ()
 
 setWeightCapacity (Number weightCapacity)
 
Vector getSpindleAxis ()
 
 setSpindleAxis (Vector spindleAxis)
 
String getSpindleDescription ()
 
 setSpindleDescription (String spindleDescription)
 
Number getMaximumSpindlePower ()
 
 setMaximumSpindlePower (Number maximumSpindlePower)
 
Number getMinimumSpindleSpeed ()
 
 setMinimumSpindleSpeed (Number minimumSpindleSpeed)
 
Number getMaximumSpindleSpeed ()
 
 setMaximumSpindleSpeed (Number maximumSpindleSpeed)
 
String getCollectChuck ()
 
 setCollectChuck (String collectChuck)
 
Number getToolLength ()
 
 setToolLength (Number toolLength)
 
Boolean getVirtualTooltip ()
 
 setVirtualTooltip (Boolean virtualPositioning)
 
Axis getAxisByName (String name)
 
Axis getAxisX ()
 
Axis getAxisY ()
 
Axis getAxisZ ()
 
Boolean isSupportedPosition (Vector position)
 
Integer getValidityStatus ()
 
Boolean isSupported ()
 
 setMultiAxisFeedrate (Integer feedMode, Number maximumFeedrate, Integer feedType, Number outputTolerance, Number bpwRatio)
 
Integer getMultiAxisFeedrateMode ()
 
Number getMultiAxisFeedrateMaximum ()
 
Integer getMultiAxisFeedrateDPMType ()
 
Integer getMultiAxisFeedrateInverseTimeUnits ()
 
Number getMultiAxisFeedrateOutputTolerance ()
 
Number getMultiAxisFeedrateBpwRatio ()
 
 setSingularity (Boolean adjust, Integer method, Number cone, Number angle, Number tolerance, Number linearizationTolerance)
 
Boolean getSingularityAdjust ()
 
Integer getSingularityMethod ()
 
Number getSingularityCone ()
 
Number getSingularityAngle ()
 
Number getSingularityTolerance ()
 
Number getSingularityLinearizationTolerance ()
 
Boolean isMachineAxisRotation (Vector abc)
 
Boolean is3DConfiguration ()
 
Boolean isMultiAxisConfiguration ()
 
Integer getNumberOfAxes ()
 
Boolean isHeadConfiguration ()
 
Boolean isTableConfiguration ()
 
Axis getAxisU ()
 
Axis getAxisV ()
 
Axis getAxisW ()
 
Integer getIndexOfAxisById (AxisId id)
 
Boolean isMachineCoordinate (Integer coordinate)
 
Axis getAxisByCoordinate (Integer coordinate)
 
Vector clamp (Vector _abc)
 
Vector clampToResolution (Vector _abc)
 
Vector getRotationAxis (Axis axis)
 
Vector preserveRotaryAtZero (Vector currentDirection, Vector previousABC, Vector currentABC)
 
Vector getClosestABC (Vector current, Vector abc)
 
Boolean isXYZSupported (Vector _xyz)
 
Boolean isABCSupported (Vector _abc)
 
Boolean isDirectionSupported (Vector direction)
 
Vector getOptimizedPosition (Vector currentXYZ, Vector currentABC, Integer tcpType, Integer optimizeType, Boolean forceAdjustment)
 
Vector getOptimizedDirection (Vector direction, Vector currentABC, Boolean reverse, Boolean forceAdjustment)
 
Vector getOptimizedTables (Vector currentXYZ, Vector currentABC, Boolean reverse, Integer optimizeType, Boolean isVector, Boolean forceAdjustment)
 
Vector getOptimizedHeads (Vector currentXYZ, Vector currentABC, Boolean reverse, Integer optimizeType, Boolean forceAdjustment, Boolean pivotPoint)
 
Vector getABC (Matrix orientation)
 
VectorPair getABCByDirectionBoth (Vector direction)
 
Vector getABCByDirection (Vector direction)
 
Vector getABCByDirection2 (Vector direction)
 
Vector getABCByPreference (Matrix orientation, Vector current, Integer controllingAxis, Integer type, Integer options)
 
Vector getOtherABCByDirection (Vector abc)
 
Vector getPreferredABC (Vector abc)
 
Vector remapABC (Vector abc)
 
Vector remapToABC (Vector abc, Vector current)
 
Integer getCoordinates ()
 
Vector getPosition (Vector p, Vector abc)
 
Vector getDirection (Vector abc)
 
Vector getHeadABC (Vector abc)
 
Vector getTableABC (Vector abc)
 
Matrix getHeadOrientation (Vector abc)
 
Matrix getTableOrientation (Vector abc)
 
Matrix getOrientation (Vector abc)
 
Matrix getOrientationABC (Vector abc)
 
Vector getSpindleAxisABC (Vector abc)
 
Matrix getRemainingOrientation (Vector abc, Matrix desired)
 
Matrix getRemainingOrientationABC (Vector abc, Matrix desired)
 
Number getRetractPlane ()
 
 setRetractPlane (Number retractPlane)
 
Boolean hasHomePositionX ()
 
Number getHomePositionX ()
 
 setHomePositionX (Number x)
 
Boolean hasHomePositionY ()
 
Number getHomePositionY ()
 
 setHomePositionY (Number y)
 
Boolean hasHomePositionZ ()
 
Number getHomePositionZ ()
 
 setHomePositionZ (Number z)
 
Boolean hasCenterPosition ()
 
Number getCenterPositionX ()
 
 setCenterPositionX (Number x)
 
Number getCenterPositionY ()
 
 setCenterPositionY (Number y)
 
Number getCenterPositionZ ()
 
 setCenterPositionZ (Number z)
 
Boolean hasParkPosition ()
 
Number getParkPositionX ()
 
 setParkPositionX (Number x)
 
Number getParkPositionY ()
 
 setParkPositionY (Number y)
 
Number getParkPositionZ ()
 
 setParkPositionZ (Number z)
 
Integer getNumberExtruders ()
 
 setNumberExtruders (Integer num)
 
Number getExtruderOffsetX (Integer extruderNo)
 
 setExtruderOffsetX (Integer extruderNo, Number x)
 
Number getExtruderOffsetY (Integer extruderNo)
 
 setExtruderOffsetY (Integer extruderNo, Number y)
 
Number getExtruderOffsetZ (Integer extruderNo)
 
 setExtruderOffsetZ (Integer extruderNo, Number z)
 
String getModel ()
 
 setModel (String model)
 
String getDescription ()
 
 setDescription (String description)
 
String getVendor ()
 
 setVendor (String vendor)
 
String getVendorUrl ()
 
 setVendorUrl (String vendorUrl)
 
String getControl ()
 
 setControl (String control)
 
Boolean isCoolantSupported (Integer coolant)
 
 setCoolantSupported (Integer coolant, Boolean available)
 
Boolean getRetractOnIndexing ()
 
 setRetractOnIndexing (Boolean retractOnIndexing)
 
Boolean getShortestAngularRotation ()
 
 setShortestAngularRotation (Boolean shortestAngularRotation)
 
Vector getHeadAttachPoint ()
 
Vector getTableAttachPoint ()
 
Boolean isReceived ()
 
 setIsReceived (Boolean received)
 Sets m_isReceived. (hidden)
 

Static Public Member Functions

static Number getAsSpatial (String text)
 
static Number getAsSpatialFeedrate (String text)
 
static Number getAsAngularFeedrate (String text)
 
static Number getAsWeight (String text)
 
static Number getAsPower (String text)
 
static Number getAsAngular (String text)
 
static Number getAsTime (String text)
 
static MachineConfiguration createFromXML (String xml)
 
static MachineConfiguration createFromPath (String path)
 
static String getStatusDescription (Integer status)
 

Detailed Description

Machine configuration. This class describes the physical machine to allow mapping from global orientations and positions to machine axis coordinates.

Constructor & Destructor Documentation

◆ MachineConfiguration() [1/4]

Constructs a new 3D machine configuration.

◆ MachineConfiguration() [2/4]

Constructs a new 4-axis machine configuration.

Parameters
uThe U axis.

◆ MachineConfiguration() [3/4]

MachineConfiguration ( Axis  u,
Axis  v 
)

Constructs a new 5-axis machine configuration.

Parameters
uThe U axis.
vThe V axis.

◆ MachineConfiguration() [4/4]

MachineConfiguration ( Axis  u,
Axis  v,
Axis  w 
)

Constructs a new 6-axis machine configuration.

Parameters
uThe U axis.
vThe V axis.
wThe W axis.

Member Function Documentation

◆ addAxis()

addAxis ( Axis  axis)

Adds the specified axis.

◆ clamp()

Vector clamp ( Vector  _abc)

Returns the clamped ABC angles. Disabled coordinates are set to 0.

◆ clampToResolution()

Vector clampToResolution ( Vector  _abc)

Returns the clamped ABC angles. Disabled coordinates are set to 0.

◆ createFromPath()

static MachineConfiguration createFromPath ( String  path)
static

Loads the machine configuration from the specified path.

◆ createFromXML()

static MachineConfiguration createFromXML ( String  xml)
static

Loads the machine configuration from the specified XML.

◆ disableMachineRewinds()

disableMachineRewinds ( )

Disables machine rewinds.

◆ enableMachineRewinds()

enableMachineRewinds ( )

Enables machine rewinds.

◆ getABC()

Vector getABC ( Matrix  orientation)

Returns the ABC angles for the specified orientation such that the forward direction is maintained. An extra Z rotation in the local frame is normally required to achieve the desired orientation.

Parameters
orientationThe desired orientation.

◆ getABCByDirection()

Vector getABCByDirection ( Vector  direction)

Returns the ABC angles for the specified direction. The solution with the least tilt is returned.

Parameters
directionThe desired tool direction.

◆ getABCByDirection2()

Vector getABCByDirection2 ( Vector  direction)

Returns the secondary ABC angles for the specified direction. Returns the primary solution if the secondary solution does not exist.

Parameters
directionThe desired tool direction.

◆ getABCByDirectionBoth()

VectorPair getABCByDirectionBoth ( Vector  direction)

Returns the ABC angles for both solutions for the specified direction. Both solutions will be identical when only one solution exists. The first solution is the one with the least tilt.

Parameters
directionThe desired tool direction.

◆ getABCByPreference()

Vector getABCByPreference ( Matrix  orientation,
Vector  current,
Integer  controllingAxis,
Integer  type,
Integer  options 
)

Returns the preferred ABC angles for the specified orientation such that the forward and optionally right directions are maintained. The preferences are defined in the 'controllingAxis', 'control', and 'options' parameters. Behaves the same as section.getABCByDirection, but does not support the ENABLE_LIMITS flag.

Parameters
orientationThe desired orientation.
currentThe current machine angles.
controllingAxisThe axis used to determine the preferred solution. It can be A, B, C for a single axis or ABC to consider all axes.
typeThe preference type. PREFER_PREFERENCE - the preference specified in the createAxis definition. PREFER_CLOSEST- the closest solution. PREFER_POSITIVE - a positive angle. Not valid with ABC. PREFER_NEGATIVE - a negative angle. Not valid with ABC. PREFER_CW - axis moves in a clockwise direction. Not valid with ABC. PREFER_CCW - axis moves in a counter-clockwise direction. Not valid with ABC.
options- Options used to control the ABC selection. ENABLE_NONE - disables all options. ENABLE_RESET - respects the 'reset' parameter in the createAxis definition. ENABLE_WCS - solves for a rotary axis perpendicular to the spindle vector as defined by the tool orientation of the operation. ENABLE_ALL - enables all options (ENABLE_RESET and ENABLE_WCS).
Since
45821

◆ getAdditiveFFF()

Boolean getAdditiveFFF ( )

Returns true if additive fff is supported.

◆ getAsAngular()

static Number getAsAngular ( String  text)
static

Returns the angle in the radians.

getAsAngular("180"); // returns Math.PI
getAsAngular("20rad"); // returns 20

◆ getAsAngularFeedrate()

static Number getAsAngularFeedrate ( String  text)
static

Returns the angular feed in rad/min.

getAsAngularFeedrate("180deg/min"); // returns Math.PI
getAsAngularFeedrate("20rad/min"); // returns 20

◆ getAsPower()

static Number getAsPower ( String  text)
static

Returns the power in W (Watt).

getAsPower("20000W"); // returns 20000
getAsPower("16kW"); // returns 16000
getAsPower("40hp"); // returns 29840

◆ getAsSpatial()

static Number getAsSpatial ( String  text)
static

Returns the spatial text in the current unit.

getAsSpatial("10cm");
getAsSpatial("25m");
getAsSpatial("30yd");

◆ getAsSpatialFeedrate()

static Number getAsSpatialFeedrate ( String  text)
static

Returns the spatial text in the current unit.

◆ getAsTime()

static Number getAsTime ( String  text)
static

Returns the time in the seconds.

getAsTime("30s"); // returns 30
getAsTime("2min"); // returns 180
getAsTime("1h"); // returns 3600

◆ getAsWeight()

static Number getAsWeight ( String  text)
static

Returns the weight in kg.

getAsWeight("1g"); // returns 0.001
getAsWeight("10kg"); // returns 10
getAsWeight("25lb"); // returns 11.340

◆ getAxisByCoordinate()

Axis getAxisByCoordinate ( Integer  coordinate)

Returns the rotary axis bound to the specified coordinate.

◆ getAxisByName()

Axis getAxisByName ( String  name)

Returns the axis by name.

Parameters
nameThe name of the axis (i.e. "X", "Y", "Z", "U", "V", or "W").

◆ getAxisU()

Axis getAxisU ( )

Returns the U axis.

◆ getAxisV()

Axis getAxisV ( )

Returns the V axis.

◆ getAxisW()

Axis getAxisW ( )

Returns the W axis.

◆ getAxisX()

Axis getAxisX ( )

Returns the X axis.

◆ getAxisY()

Axis getAxisY ( )

Returns the Y axis.

◆ getAxisZ()

Axis getAxisZ ( )

Returns the Z axis.

◆ getCenterPositionX()

Number getCenterPositionX ( )

Returns the X-coordinate center position.

◆ getCenterPositionY()

Number getCenterPositionY ( )

Returns the Y-coordinate center position.

◆ getCenterPositionZ()

Number getCenterPositionZ ( )

Returns the Z-coordinate center position.

◆ getClosestABC()

Vector getClosestABC ( Vector  current,
Vector  abc 
)

Returns the current angles closest to the new machine angles. (hidden)

◆ getCollectChuck()

String getCollectChuck ( )

Returns the collect chuck. Tool-holder interface.

◆ getControl()

String getControl ( )

Returns the control.

◆ getCoordinates()

Integer getCoordinates ( )

Returns the bits indicating the machine angle coordinates in use.

Bit 0: coordinate 0 is used. Bit 1: coordinate 1 is used. Bit 2: coordinate 2 is used.

◆ getDepth()

Number getDepth ( )

Returns the width of the machine.

◆ getDescription()

String getDescription ( )

Returns the description.

◆ getDimensions()

Vector getDimensions ( )

Returns the dimensions of the machine as (width, depth, height).

◆ getDirection()

Vector getDirection ( Vector  abc)

Returns the direction for the specified ABC angles.

Parameters
abcThe machine angles.

◆ getExtruderOffsetX()

Number getExtruderOffsetX ( Integer  extruderNo)

Returns the extruder offset X-coordinate.

Parameters
extruderNoThe extruder number. The first extruder is number 1.

◆ getExtruderOffsetY()

Number getExtruderOffsetY ( Integer  extruderNo)

Returns the extruder offset Y-coordinate.

Parameters
extruderNoThe extruder number. The first extruder is number 1.

◆ getExtruderOffsetZ()

Number getExtruderOffsetZ ( Integer  extruderNo)

Returns the extruder offset Z-coordinate.

Parameters
extruderNoThe extruder number. The first extruder is number 1.

◆ getFeedrateRatio()

Number getFeedrateRatio ( )

Returns the feedrate ratio.

◆ getHeadABC()

Vector getHeadABC ( Vector  abc)

Returns the head ABC angles for the specified ABC angles. Ie. non-head axes are set to zero.

Parameters
abcThe machine angles.

◆ getHeadAttachPoint()

Vector getHeadAttachPoint ( )

Returns the machine head attach point in machine system coordinates.

Since
45964

◆ getHeadOrientation()

Matrix getHeadOrientation ( Vector  abc)

Returns the head orientation for the specified ABC angles.

Parameters
abcThe machine angles.

◆ getHeight()

Number getHeight ( )

Returns the width of the machine.

◆ getHomePositionX()

Number getHomePositionX ( )

Returns the X-coordinate home position.

◆ getHomePositionY()

Number getHomePositionY ( )

Returns the Y-coordinate home position.

◆ getHomePositionZ()

Number getHomePositionZ ( )

Returns the Z-coordinate home position.

◆ getIndexOfAxisById()

Integer getIndexOfAxisById ( AxisId  id)

Returns the order of the given axis. Returns -1 if not found.

◆ getInspection()

Boolean getInspection ( )

Returns true if inspection is supported.

◆ getJet()

Boolean getJet ( )

Returns true if jet is supported (waterjet, laser cutter, and plasma cutter).

◆ getMaximumBlockProcessingSpeed()

Integer getMaximumBlockProcessingSpeed ( )

Returns the maximum block processing speed.

◆ getMaximumCuttingFeedrate()

Number getMaximumCuttingFeedrate ( )

Returns the maximum cutting feedrate.

◆ getMaximumFeedrate()

Number getMaximumFeedrate ( )

Returns the maximum feedrate.

◆ getMaximumSpindlePower()

Number getMaximumSpindlePower ( )

Returns the maximum spindle power.

◆ getMaximumSpindleSpeed()

Number getMaximumSpindleSpeed ( )

Returns the maximum spindle speed.

◆ getMaximumToolDiameter()

Number getMaximumToolDiameter ( )

Returns the maximum tool diameter.

◆ getMaximumToolLength()

Number getMaximumToolLength ( )

Returns the maximum tool length.

◆ getMaximumToolWeight()

Number getMaximumToolWeight ( )

Returns the maximum tool weight.

◆ getMilling()

Boolean getMilling ( )

Returns true if milling is supported.

◆ getMinimumSpindleSpeed()

Number getMinimumSpindleSpeed ( )

Returns the minimum spindle speed.

◆ getModel()

String getModel ( )

Returns the model.

◆ getMultiAxisFeedrateBpwRatio()

Number getMultiAxisFeedrateBpwRatio ( )

Returns the multi-axis feed rate bpw ratio. Raises an exception of the feed mode is not FEED_DEGREES_MINUTE. See setMultiAxisFeedrate() for description.

Since
45760

◆ getMultiAxisFeedrateDPMType()

Integer getMultiAxisFeedrateDPMType ( )

Returns the multi-axis feedrate DPM sub-type. Returns either DPM_STANDARD or DPM_COMBINATION. Raises an exception of the feedrate mode is not FEED_DEGREES_MINUTE. See setMultiAxisFeedrate() for description.

Since
45760

◆ getMultiAxisFeedrateInverseTimeUnits()

Integer getMultiAxisFeedrateInverseTimeUnits ( )

Returns the multi-axis feedrate time units. Returns either NVERSE_SECONDS or INVERSE_MINUTES. Raises an exception of the feedrate mode is not FEED_INVERSE_TIME. See setMultiAxisFeedrate() for description.

Since
45760

◆ getMultiAxisFeedrateMaximum()

Number getMultiAxisFeedrateMaximum ( )

Returns the multi-axis maximum feed rate. See setMultiAxisFeedrate() for description.

Since
45760

◆ getMultiAxisFeedrateMode()

Integer getMultiAxisFeedrateMode ( )

Returns the multi-axis feed mode. Returns FEED_INVERSE_TIME, FEED_DEGREES_MINUTE or FEED_PER_MINUTE. See setMultiAxisFeedrate() for description.

Since
45760

◆ getMultiAxisFeedrateOutputTolerance()

Number getMultiAxisFeedrateOutputTolerance ( )

Returns the multi-axis feed rate output tolerance. Raises an exception of the feed mode is not FEED_DEGREES_MINUTE. See setMultiAxisFeedrate() for description.

Since
45760

◆ getNumberExtruders()

Integer getNumberExtruders ( )

Returns the number of extruders.

◆ getNumberOfAxes()

Integer getNumberOfAxes ( )

Returns the total number of axes.

◆ getNumberOfTools()

Integer getNumberOfTools ( )

Returns the maximum number of tools.

◆ getNumberOfWorkOffsets()

Integer getNumberOfWorkOffsets ( )

Returns the number of work offsets.

◆ getOptimizedDirection()

Vector getOptimizedDirection ( Vector  direction,
Vector  currentABC,
Boolean  reverse,
Boolean  forceAdjustment 
)

Adjusts a vector for the rotary table rotations.

Parameters
directionVector to be adjusted.
currentABCCurrent rotary axes positions.
reverseDisabled converts the vector from the part system to the machine system. Enabled to convert the vector from machine system to part system.
forceAdjustmentSet to true if calculation should be done even if axes are not optimized for rotary angles.
Since
45270

◆ getOptimizedHeads()

Vector getOptimizedHeads ( Vector  currentXYZ,
Vector  currentABC,
Boolean  reverse,
Integer  optimizeType,
Boolean  forceAdjustment,
Boolean  pivotPoint 
)

Adjust the tool position for the rotary head rotations.

◆ getOptimizedPosition()

Vector getOptimizedPosition ( Vector  currentXYZ,
Vector  currentABC,
Integer  tcpType,
Integer  optimizeType,
Boolean  forceAdjustment 
)

Adjusts the tool position for the rotary table and head rotations based on the defined kinematics of the machine. You can obtain the adjusted coordinates of the tool position based on the optimization of the specified section instead by using the following command.

section.getOptimzedPosition(...)

Parameters
currentXYZCurrent tool end point or XYZ position based on conversion.
currentABCCurrent rotary axes positions.
tcpTypeCan be one of the following. TCP_XYZ - Converts the tool end point position to the XYZ machine position. currentXYZ should be the tool end point position. TCP_TOOL - Converts the XYZ machine position to tool end point position. currentXYZ should be the XYZ position. TCP_XYZ_OPTIMIZED - Converts the tool end point position to the XYZ machine position. currentXYZ should be based on the input position. TCP_TOOL_OPTIMIZED - Converts the XYZ machine position to tool end point position. currentXYZ should be the input position.
optimizeTypeCan be one of the following. OPTIMIZE_BOTH - Converts the position based on both the table and head rotations. OPTIMIZE_TABLES - Converts the position based on table rotations. OPTIMIZE_HEADS - Converts the position based on the head rotations.
forceAdjustmentSet to true if calculation should be done even if axes are not optimized for rotary angles.
Since
45270

◆ getOptimizedTables()

Vector getOptimizedTables ( Vector  currentXYZ,
Vector  currentABC,
Boolean  reverse,
Integer  optimizeType,
Boolean  isVector,
Boolean  forceAdjustment 
)

Adjust the tool position or tool vector for the rotary table rotations. Uses the same arguments as 'getOptimizedPosition' with the addition of 'isVector', when enabled states that 'currentXYZ' is a vector and not an XYZ coordinate.

◆ getOrientation()

Matrix getOrientation ( Vector  abc)

Returns the matrix for the specified ABC angles. Returns an identity matrix along the spindle vector.

Parameters
abcThe machine angles.

◆ getOrientationABC()

Matrix getOrientationABC ( Vector  abc)

Returns the matrix for the specified ABC angles.

Parameters
abcThe machine angles.

◆ getOtherABCByDirection()

Vector getOtherABCByDirection ( Vector  abc)

Returns the other ABC angles for the specified ABC angles. You should normally use getABCByDirection2() to get the secondary solution directly.

For up to 4 axis machines the return value is always the input ABC angles.

The result is undefined if given invalid ABC angles.

Parameters
abcThe abc angles.

◆ getParkPositionX()

Number getParkPositionX ( )

Returns the X-coordinate park position.

◆ getParkPositionY()

Number getParkPositionY ( )

Returns the Y-coordinate park position.

◆ getParkPositionZ()

Number getParkPositionZ ( )

Returns the Z-coordinate park position.

◆ getPartDimensions()

Vector getPartDimensions ( )

Returns the maximum allowed part dimensions.

◆ getPartMaximumX()

Number getPartMaximumX ( )

Returns the width of the machine.

◆ getPartMaximumY()

Number getPartMaximumY ( )

Returns the width of the machine.

◆ getPartMaximumZ()

Number getPartMaximumZ ( )

Returns the width of the machine.

◆ getPosition()

Vector getPosition ( Vector  p,
Vector  abc 
)

Returns the position for the specified absolute position and direction. Use getOptimizedPosition() instead to get the rotary axis adjusted position.

Parameters
pThe absolute position.
abcThe machine angles.
Deprecated:

◆ getPreferredABC()

Vector getPreferredABC ( Vector  abc)

Returns the preferred ABC angles for the specified ABC angles.

Parameters
abcThe abc angles.

◆ getReconfigure()

Boolean getReconfigure ( )

Returns whether machine config allows retract and reconfigure.

Deprecated:
Use performRewinds() instead.

◆ getRemainingOrientation()

Matrix getRemainingOrientation ( Vector  abc,
Matrix  desired 
)

Returns the additional rotation required to reach the specified work orientation. For valid machine rotations this will always be a rotation around the Z.

Parameters
abcThe machine angles.
desiredThe desired work orientation.

◆ getRemainingOrientationABC()

Matrix getRemainingOrientationABC ( Vector  abc,
Matrix  desired 
)

Returns the additional rotation required to reach the specified work orientation. For valid machine rotations this will always be a rotation around the Z. Use this function when the spindle vector can change due to the rotary axis position.

Parameters
abcThe machine angles.
desiredThe desired work orientation.

◆ getRetractOnIndexing()

Boolean getRetractOnIndexing ( )

Returns the retract on indexing mode.

◆ getRetractPlane()

Number getRetractPlane ( )

Returns the machine retraction plane coordinate.

◆ getRewindStockExpansion()

Vector getRewindStockExpansion ( )

Returns the stock expansion values used for retracts and rewinds.

◆ getRotationAxis()

Vector getRotationAxis ( Axis  axis)

Return rotation axis adjusted for carrier rotations. (hidden)

◆ getSafePlungeFeedrate()

Number getSafePlungeFeedrate ( )

Returns the safe feedrate value used for plunge moves in rewinds.

Since
45790

◆ getSafeRetractDistance()

Number getSafeRetractDistance ( )

Returns the safe distance value for retract moves in rewinds.

Since
45790

◆ getSafeRetractFeedrate()

Number getSafeRetractFeedrate ( )

Returns the safe feedrate value used for retract moves in rewinds.

Since
45790

◆ getShortestAngularRotation()

Boolean getShortestAngularRotation ( )

Returns shortest angular rotation mode.

◆ getSingularityAdjust()

Boolean getSingularityAdjust ( )

Returns true if multi-axis singularity adjustment is enabled. See setSingularity() for description.

Since
41535

◆ getSingularityAngle()

Number getSingularityAngle ( )

Returns the multi-axis singularity angle. See setSingularity() for description. This parameter is in radians.

Since
41535

◆ getSingularityCone()

Number getSingularityCone ( )

Returns the multi-axis singularity cone. See setSingularity() for description. This parameter is in radians.

Since
41535

◆ getSingularityLinearizationTolerance()

Number getSingularityLinearizationTolerance ( )

Returns the multi-axis singularity linearization tolerance. See setMultiAxisSingularity() for description.

Since
41535

◆ getSingularityMethod()

Integer getSingularityMethod ( )

Returns the multi-axis singularity method. See setSingularity() for description.

Since
41535

◆ getSingularityTolerance()

Number getSingularityTolerance ( )

Returns the multi-axis singularity tolerance. See setSingularity() for description.

Since
41535

◆ getSpindleAxis()

Vector getSpindleAxis ( )

Returns the spindle axis without machine rotations.

◆ getSpindleAxisABC()

Vector getSpindleAxisABC ( Vector  abc)

Returns the spindle axis for the given ABC machine angles.

◆ getSpindleDescription()

String getSpindleDescription ( )

Returns the spindle description.

◆ getStatusDescription()

static String getStatusDescription ( Integer  status)
static

Returns the description for the specified status code.

◆ getTableABC()

Vector getTableABC ( Vector  abc)

Returns the table ABC angles for the specified ABC angles. Ie. non-table axes are set to zero.

Parameters
abcThe machine angles.

◆ getTableAttachPoint()

Vector getTableAttachPoint ( )

Returns the machine table attach point in machine system coordinates.

Since
45964

◆ getTableOrientation()

Matrix getTableOrientation ( Vector  abc)

Returns the table orientation for the specified ABC angles.

Parameters
abcThe machine angles.

◆ getToolChanger()

Boolean getToolChanger ( )

Returns true if an automatic tool changer is available.

◆ getToolChangeTime()

Number getToolChangeTime ( )

Returns the tool change time.

◆ getToolLength()

Number getToolLength ( )

Returns the tool length used for head coordinate adjustments.

◆ getToolPreload()

Boolean getToolPreload ( )

Returns true if a tool preload is supported.

◆ getTurning()

Boolean getTurning ( )

Returns true if turning is supported.

◆ getValidityStatus()

Integer getValidityStatus ( )

Returns a validity status code for the machine configuration. Use getStatusDescription() to convert the status code to an error message.

The following must be true for a configuration to be valid:

  1. X, Y, and Z axes must use coordinate 0, 1, and 2, respectively.
  2. The XYZ axes must be right-oriented orthogonal.
  3. The spindle axis must be non-degenerate.
  4. Axis U, V, and W must be rotational if defined.
  5. Axis V must only be defined if axis U is defined.
  6. Axis W must only be defined if axis V is defined.
  7. A coordinate must not be used by more than one machine axis.
  8. The angular span for any axis must be greater than 0.
  9. The angle between any defined axis must be greater than ~15deg.
  10. For 4-axis machines the angle between the tool axis and the 4th axis must be greater than ~15deg.
Returns
0 is returned for valid configurations.

◆ getVendor()

String getVendor ( )

Returns the vendor.

◆ getVendorUrl()

String getVendorUrl ( )

Returns the vendor url.

◆ getVirtualTooltip()

Boolean getVirtualTooltip ( )

Returns the virtual tool end positioning setting.

◆ getWeight()

Number getWeight ( )

Returns the weight of the machine.

◆ getWeightCapacity()

Number getWeightCapacity ( )

Returns the weight capacity.

◆ getWidth()

Number getWidth ( )

Returns the width of the machine.

◆ getWire()

Boolean getWire ( )

Returns true if wire is supported.

◆ getXML()

String getXML ( )

Returns the XML representation of the machine configuration.

◆ hasCenterPosition()

Boolean hasCenterPosition ( )

Returns true if the machine has a valid center position.

◆ hasHomePositionX()

Boolean hasHomePositionX ( )

Returns true if the X-coordinate of the home position is valid.

◆ hasHomePositionY()

Boolean hasHomePositionY ( )

Returns true if the Y-coordinate of the home position is valid.

◆ hasHomePositionZ()

Boolean hasHomePositionZ ( )

Returns true if the Z-coordinate of the home position is valid.

◆ hasParkPosition()

Boolean hasParkPosition ( )

Returns true if the machine has a valid park position.

◆ is3DConfiguration()

Boolean is3DConfiguration ( )

Returns true if this is a 3D machine configuration (i.e. axis U, V, and W are undefined).

◆ isABCSupported()

Boolean isABCSupported ( Vector  _abc)

Returns true if the specified ABC angles are supported. Disabled coordinates are ignored.

◆ isCoolantSupported()

Boolean isCoolantSupported ( Integer  coolant)

Returns true if the coolant is supported.

◆ isDirectionSupported()

Boolean isDirectionSupported ( Vector  direction)

Returns true if the specified direction is supported by the machine configuration.

Parameters
directionThe tool axis direction.

◆ isHeadConfiguration()

Boolean isHeadConfiguration ( )

Returns true if the configuration is a head configuration (i.e. if any axis excluding X, Y, and Z is a head axis).

◆ isMachineAxisRotation()

Boolean isMachineAxisRotation ( Vector  abc)

Returns true if the specified rotation A, B, and C rotates around the available machine axes only. That is, the rotation around a non-machine axis must be exactly 0.

Parameters
abcThe A, B, and C rotation.

◆ isMachineCoordinate()

Boolean isMachineCoordinate ( Integer  coordinate)

Returns true if the specified coordinate is mapped to a machine rotary axis.

By convention coordinate 0, 1, and 2 maps to A, B, and C, respectively.

◆ isMultiAxisConfiguration()

Boolean isMultiAxisConfiguration ( )

Returns true if the configuration is a multi-axis configuration (i.e. if any of the U, V, or W axes are defined).

◆ isReceived()

Boolean isReceived ( )

Returns true if this MachineConfiguration was specified from the CAM system, or a machine file Returns false if the machine configuration was created by the post script.

Since
45765

◆ isSupported()

Boolean isSupported ( )

Returns true if the configuration is valid. See getValidityStatus() for additional information.

◆ isSupportedPosition()

Boolean isSupportedPosition ( Vector  position)

Returns true if the specified machine axis position is supported. That is, within any given ranges for the X, Y, and Z axes.

Parameters
positionThe machine axes position.

◆ isTableConfiguration()

Boolean isTableConfiguration ( )

Returns true if the configuration is a table configuration (i.e. if all axes excluding X, Y, and Z are in the table).

◆ isXYZSupported()

Boolean isXYZSupported ( Vector  _xyz)

Returns true if the specified XYZ position is supported. Disabled coordinates are ignored.

◆ performRewinds()

Boolean performRewinds ( )

Returns whether the machine should rewind when needed.

◆ preserveRotaryAtZero()

Vector preserveRotaryAtZero ( Vector  currentDirection,
Vector  previousABC,
Vector  currentABC 
)

Keep secondary angle when tool axis is perpto rotary axis vector. (hidden)

◆ remapABC()

Vector remapABC ( Vector  abc)

Maps the specified angles to the preferred ranges. An exception is raised if a requested rotation is not supported for an axis.

Parameters
abcThe machine angles.

◆ remapToABC()

Vector remapToABC ( Vector  abc,
Vector  current 
)

Maps the specified angles to the current machine angles. An exception is raised if a requested rotation is not supported for an axis. It is assumed that the desired angle difference is less than 180deg always.

Parameters
abcThe machine angles.
currentThe current machine angles.

◆ setAdditiveFFF()

setAdditiveFFF ( Boolean  additive)

Sets if additive fff is supported.

◆ setCenterPositionX()

setCenterPositionX ( Number  x)

Sets the X-coordinate center position. (hidden)

◆ setCenterPositionY()

setCenterPositionY ( Number  y)

Sets the Y-coordinate center position. (hidden)

◆ setCenterPositionZ()

setCenterPositionZ ( Number  z)

Sets the Z-coordinate center position. (hidden)

◆ setCollectChuck()

setCollectChuck ( String  collectChuck)

Sets the collect chuck. Tool-holder interface.

◆ setControl()

setControl ( String  control)

Sets the control.

◆ setCoolantSupported()

setCoolantSupported ( Integer  coolant,
Boolean  available 
)

Sets if the coolant is supported. Maximum limit is 256. COOLANT_OFF is not allowed.

◆ setDepth()

setDepth ( Number  depth)

Sets the depth of the machine.

◆ setDescription()

setDescription ( String  description)

Sets the description.

◆ setDimensions()

setDimensions ( Vector  dimensions)

Sets the dimensions of the machine as (width, depth, height).

◆ setExtruderOffsetX()

setExtruderOffsetX ( Integer  extruderNo,
Number  x 
)

Sets the extruder offset X-coordinate. (hidden)

◆ setExtruderOffsetY()

setExtruderOffsetY ( Integer  extruderNo,
Number  y 
)

Sets the extruder offset Y-coordinate. (hidden)

◆ setExtruderOffsetZ()

setExtruderOffsetZ ( Integer  extruderNo,
Number  z 
)

Sets the extruder offset Z-coordinate. (hidden)

◆ setFeedrateRatio()

setFeedrateRatio ( Number  feedrateRatio)

Sets the feedrate ratio.

◆ setHeight()

setHeight ( Number  height)

Sets the height of the machine.

◆ setHomePositionX()

setHomePositionX ( Number  x)

Sets the X-coordinate home position.

◆ setHomePositionY()

setHomePositionY ( Number  y)

Sets the Y-coordinate home position.

◆ setHomePositionZ()

setHomePositionZ ( Number  z)

Sets the Z-coordinate home position.

◆ setInspection()

setInspection ( Boolean  inspection)

Sets true if inspection is supported.

◆ setJet()

setJet ( Boolean  jet)

Sets if jet is supported (waterjet, laser cutter, and plasma cutter).

◆ setMaximumBlockProcessingSpeed()

setMaximumBlockProcessingSpeed ( Integer  maximumBlockProcessingSpeed)

Sets the maximum block processing speed.

◆ setMaximumCuttingFeedrate()

setMaximumCuttingFeedrate ( Number  maximumCuttingFeedrate)

Sets the maximum cutting feedrate.

◆ setMaximumFeedrate()

setMaximumFeedrate ( Number  maximumFeedrate)

Sets the maximum feedrate.

◆ setMaximumSpindlePower()

setMaximumSpindlePower ( Number  maximumSpindlePower)

Sets the maximum spindle power.

◆ setMaximumSpindleSpeed()

setMaximumSpindleSpeed ( Number  maximumSpindleSpeed)

Sets the maximum spindle speed.

◆ setMaximumToolDiameter()

setMaximumToolDiameter ( Number  maximumToolDiameter)

Sets the maximum tool diameter.

◆ setMaximumToolLength()

setMaximumToolLength ( Number  maximumToolLength)

Sets the maximum tool length.

◆ setMaximumToolWeight()

setMaximumToolWeight ( Number  maximumToolWeight)

Sets the maximum tool weight.

◆ setMilling()

setMilling ( Boolean  milling)

Sets if milling is supported.

◆ setMinimumSpindleSpeed()

setMinimumSpindleSpeed ( Number  minimumSpindleSpeed)

Sets the minimum spindle speed.

◆ setModel()

setModel ( String  model)

Sets the model.

◆ setMultiAxisFeedrate()

setMultiAxisFeedrate ( Integer  feedMode,
Number  maximumFeedrate,
Integer  feedType,
Number  outputTolerance,
Number  bpwRatio 
)

Sets the multi-axis settings for feed rates

Parameters
feedModeCan be FEED_INVERSE_TIME, FEED_DEGREES_MINUTE or FEED_PER_MINUTE.
maximumFeedrateThe maximum feed rate value.
feedTypeOption used for selecting inverse time and DPM options. If FEED_INVERSE_TIME is selected this sets the time units and can be set to INVERSE_SECONDS or INVERSE_MINUTES. If FEED_DEGREES_MINUTE is selected this sets whether to use standard DPM or a DPM/FPM combination and can be set to DPM_STANDARD or DPM_COMBINATION.
outputToleranceThe tolerance for deciding whether to output feed rate value or not, only used for FEED_DEGREES_MINUTE.
bpwRatioThe pulse weight ratio, only used for FEED_DEGREES_MINUTE.
Since
45610

◆ setNumberExtruders()

setNumberExtruders ( Integer  num)

Sets the number of extruders. (hidden)

◆ setNumberOfTools()

setNumberOfTools ( Integer  numberOfTools)

Sets the maximum number of tools.

◆ setNumberOfWorkOffsets()

setNumberOfWorkOffsets ( Integer  numberOfWorkOffsets)

Sets the number of work offsets.

◆ setParkPositionX()

setParkPositionX ( Number  x)

Sets the X-coordinate park position. (hidden)

◆ setParkPositionY()

setParkPositionY ( Number  y)

Sets the Y-coordinate park position. (hidden)

◆ setParkPositionZ()

setParkPositionZ ( Number  z)

Sets the Z-coordinate park position. (hidden)

◆ setPartDimensions()

setPartDimensions ( Vector  partDimensions)

Sets the maximum allowed part dimensions.

◆ setPartMaximumX()

setPartMaximumX ( Number  width)

Sets the width of the machine.

◆ setPartMaximumY()

setPartMaximumY ( Number  depth)

Sets the depth of the machine.

◆ setPartMaximumZ()

setPartMaximumZ ( Number  height)

Sets the height of the machine.

◆ setReconfigure()

setReconfigure ( Boolean  enable)

Sets the reconfigure.

Deprecated:
Use enableMachineRewinds() and disableMachineRewinds() instead.

◆ setRetractOnIndexing()

setRetractOnIndexing ( Boolean  retractOnIndexing)

Sets the retract on indexing mode.

◆ setRetractPlane()

setRetractPlane ( Number  retractPlane)

Sets the machine retraction plane coordinate.

◆ setRewindStockExpansion()

setRewindStockExpansion ( Vector  expansion)

Sets the values by which the stock should be expanded when computing retract moves for rewinds.

◆ setSafePlungeFeedrate()

setSafePlungeFeedrate ( Number  safePlungeFeedrate)

Sets the safe feedrate value for plunge moves in rewinds.

Since
45790

◆ setSafeRetractDistance()

setSafeRetractDistance ( Number  safeRetractDistance)

Sets the safe distance value for retract moves in rewinds.

Since
45790

◆ setSafeRetractFeedrate()

setSafeRetractFeedrate ( Number  safeRetractFeedrate)

Sets the safe feedrate value for retract moves in rewinds.

Since
45790

◆ setShortestAngularRotation()

setShortestAngularRotation ( Boolean  shortestAngularRotation)

Sets shortest angular rotation mode.

◆ setSingularity()

setSingularity ( Boolean  adjust,
Integer  method,
Number  cone,
Number  angle,
Number  tolerance,
Number  linearizationTolerance 
)

Sets the multi-axis settings specific for handling singularities in the toolpath.

Parameters
adjustSet to 'true' to enable singularity optimization within the post processor. Singularity optimization includes the ability to adjust the tool axis to minimize singularity issues (large rotary axis movement when the tool axis approaches perpendicularity to a rotary axis) and the linearization of the moves around the singularity to keep the tool end point within tolerance.
methodWhen set to SINGULARITY_LINEARIZE_OFF it disables the linearization of the moves to keep the tool end point within tolerance of the programmed tool path around the singularity. SINGULARITY_LINEARIZE_ROTARY will linearize the moves around the singularity. Additional points are added to keep the tool within the specified tolerance and is optimized for revolved movement as if the tool were moving around a cylinder or other revolved feature. SINGULARITY_LINEARIZE_LINEAR will also add additional points to keep the tool within tolerance, but will keep the tool end point moving in a straight line.
coneSpecifies the angular distance that the tool axis vector must be within in reference to the singularity point before the singularity logic is activated. This is usually a small value (less than 5 degrees), since the further away the tool axis is from the singularity, the less noticeable the fluctuations in the rotary axes will be and the less benefit this feature will provide. This parameter is in radians.
angleThe minimum angular delta movement that the rotary axes have to move prior to considering adjusting the tool axis vector for singularity optimization. This limit is used to keep from adjusting the tool axis vector when the rotary axes do not fluctuate greatly. This is typically set to a vaule of 10 degrees or more. This parameter is in radians.
toleranceThe tolerance value to used to keep the tool within tolerance when the tool axis is adjusted to minimize rotary axis movement around the singularity.
linearizationToleranceThe tolerance value to use when addtional points are added to keep the tool end point within tolerance of the programmed move when the tool axis is near the singularity.
Since
41535

◆ setSpindleAxis()

setSpindleAxis ( Vector  spindleAxis)

Sets the spindle axis without machine rotations. The default is (0, 0, 1).

◆ setSpindleDescription()

setSpindleDescription ( String  spindleDescription)

Sets the spindle description.

◆ setToolChanger()

setToolChanger ( Boolean  toolChanger)

Sets if an automatic tool changer is available.

◆ setToolChangeTime()

setToolChangeTime ( Number  toolChangeTime)

Sets the tool change time.

◆ setToolLength()

setToolLength ( Number  toolLength)

Defines the tool length used for head coordinate adjustments.

Parameters
toolLength- The tool length.

◆ setToolPreload()

setToolPreload ( Boolean  toolPreload)

Sets the tool preload.

◆ setTurning()

setTurning ( Boolean  turning)

Sets if turning is supported.

◆ setVendor()

setVendor ( String  vendor)

Sets the vendor.

◆ setVendorUrl()

setVendorUrl ( String  vendorUrl)

Sets the vendor url.

◆ setVirtualTooltip()

setVirtualTooltip ( Boolean  virtualPositioning)

Defines if the virtual tool end position should be output.

Parameters
virtualPositioning- True if the virtual tool end point position is calculated for head offsets, false if the pivot point is calculated.

◆ setWeight()

setWeight ( Number  weight)

Sets the weight of the machine.

◆ setWeightCapacity()

setWeightCapacity ( Number  weightCapacity)

Sets the weight capacity.

◆ setWidth()

setWidth ( Number  width)

Sets the width of the machine.

◆ setWire()

setWire ( Boolean  wire)

Sets if wire is supported.



Generated by Autodesk, Inc. 12 April 2024
Copyright (c) 2012-2024 by Autodesk, Inc.