Cycles

Each cycle has a unique id which is available through the cycleType property. All cycles are described by a set of parameters and an ordered set of points (or toolpath). The cycle parameters are available in the property cycle upon invocation of onCycle().

onCycle() // invoked on cycle
onCyclePoint(x, y, z) // invoked once per point
onCycleEnd() // invoked on cycle completion
onCycle() // invoked on cycle
onCyclePath() // invoked once at the beginning of cycle toolpath
onRapid()
...
onLinear()
...
onCircular()
...
onCyclePathEnd() // invoked once at the ending of cycle toolpath
onCycleEnd() // invoked on cycle completion

Well-Known Cycles

It is discouraged that you overload the meaning of built-in cycles and parameters. Instead a new cycle or parameter should be introduced.

Well-known cycles that do not have an NC counterpart for a particular control may be expanded by invoking expandCyclePoint(). expandCyclePoint() may in return invoke onCommand(). Some times it is acceptable to map rapid traversal to feed traversal but the oppsosite is not allowed unless it is guaranteed that the cutter cannot come in contact with (or close to) any stock. Note that not all cycles can be expanded into alternative commands and must be implemented in the post configuration to be supported.

Attention
The position after any completed cycle motion is by default expected to be the last given cycle point projected onto the initial Z-plane. If no cycle points have been provided the current position is expected to remain unchanged. The configuration script must explicitly set the current position using setCurrentPosition() if it is different from the default and possibly add additional motion.

The following parameters have been reserved. Note that not all cycles make use of each defined parameter.

The parameters bottom, plungesPerRetract, compensatedShiftOrientation, and shiftDirection are calculated by the post processor.

The post processor has built-in support for the following cycles. Please note that the G-codes specified below are only intended for guidance and may not be the proper mapping for a particular control.

Preliminary Motion

The preliminary default motion for a cycle point is as follows:

a) If the initial plane is above the clearance plane:

  1. Move at rapid traverse to the X-Y position at the initial plane.
  2. Move at rapid traverse to the clearance plane (along the tool axis).
  3. Move at rapid traverse to the retract plane (along the tool axis). This motion can be ignored.

b) If the initial plane is below the clearance plane:

  1. Move at rapid traverse to the clearance plane (along the tool axis).
  2. Move at rapid traverse to the X-Y position at the clearance plane.
  3. Move at rapid traverse to the retract plane (along the tool axis). This motion can be ignored.

drilling

Defined properties: clearance, retract, stock, depth, feedrate

Cycle for center drilling, drilling, reaming, and rough boring (G81 style). Same as counter-boring but without dwelling at the bottom of the hole.

  1. Preliminary motion.
  2. Move to bottom at feedrate (feedrate).
  3. Retract at rapid traverse to clearance plane (or initial plane for last cycle point).

counter-boring

Defined properties: clearance, retract, stock, depth, feedrate, dwell

Cycle for counter boring, spot drilling, and face drilling (G82 style). Similar to drilling but dwells at the bottom of the hole.

  1. Preliminary motion.
  2. Move to bottom at feedrate (feedrate).
  3. Dwell (dwell).
  4. Retract at rapid traverse to clearance plane (initial plane for the last cycle point).

chip-breaking

Defined properties: clearance, retract, stock, depth, feedrate, dwell, incrementalDepth, incrementalDepthReduction, accumulatedDepth, chipBreakDistance

This cycle is for chip breaking (G73 style). The property machineParameters.chipBreakingDistance specifies the distance that the machine will retract to break the chips for cycle chip-breaking. If machineParameters.chipBreakingDistance is undefined the cycle will use full retracts. When expanding the cycle the property machineParameters.drillingSafeDistance specifies the safety distance above the remaining stock for which the machine will rapid down (if undefined the cycle will do feed plunging from the clearance plane).

  1. Preliminary motion.
  2. Move toward bottom at by no more than the given plunge depth (incrementalDepth) at a time.
  3. Dwell (dwell).
  4. Retract by distance chipBreakDistance if defined and otherwise machineParameters.chipBreakingDistance to break chip (or retract to clearance plane if accumulatedDepth has been reached).
  5. Repeat step 2-4 until bottom has been reached.
  6. Retract at rapid traverse to clearance plane (initial plane for the last cycle point).

deep-drilling

Defined properties: clearance, retract, stock, depth, feedrate, dwell, incrementalDepth, incrementalDepthReduction, spindleSpeedDwell

This cycle is for deep hole drilling with full retract (G83 style). When expanding the cycle the property machineParameters.drillingSafeDistance specifies the safety distance above the remaining stock for which the machine will rapid down (if undefined the cycle will do feed plunging from the clearance plane).

  1. Preliminary motion.
  2. Move toward bottom by no more than the given plunge depth (incrementalDepth) at a time.
  3. Retract at rapid traverse to retract plane if bottom has not been reached.
  4. Repeat 2-3 until bottom has been reached.
  5. Dwell at bottom (dwell).
  6. Retract at rapid traverse to clearance plane (initial plane for the last cycle point).

break-through-drilling

Defined properties: clearance, retract, stock, depth, feedrate, stopSpindle, breakThroughDistance, breakThroughFeedrate, breakThroughSpindleSpeed, dwell, stopSpindle, dwell, spindleSpeedDwell

This cycle is for breaking through with reduced feed.

  1. Preliminary motion.
  2. Move to break through starting depth at feedrate (feedrate).
  3. Move to bottom at the break-through feedrate and speed (breakThroughFeedrate and breakThroughSpindleSpeed).
  4. Dwell at dwell depth (dwell).
  5. Conditionally stop spindle (stopSpindle).
  6. Retract at feedrate to clearance plane (initial plane for the last cycle point).
  7. Turn on spindle if stopped.
  8. Optional dwell (machineParameter.spindleSpeedDwell).

gun-drilling

Defined properties: clearance, retract, stock, depth, feedrate, startingDepth, stopSpindle, positioningFeedrate, positioningSpindleSpeed, dwellDepth, dwell, spindleSpeedDwell

This cycle is for guided deep hole drilling commonly known as gun drilling. This cycle is used for deep drilling with non self-guiding drills.

  1. Preliminary motion.
  2. Move to the starting position at the positioning feedrate (positioningFeedrate) and positioning spindle speed (positioningSpindleSpeed).
  3. Change spindle speed to cutting speed.
  4. Optional dwell (machineParameter.spindleSpeedDwell).
  5. Move to bottom at feedrate (feedrate).
  6. Dwell at dwell depth (dwell).
  7. Stop spindle or change spindle speed to positioning spindle speed (positioningSpindleSpeed).
  8. Retract at retract feedrate to clearance plane (initial plane for the last cycle point).

left-tapping

Defined properties: clearance, retract, stock, depth, feedrate, dwell

Left-tapping (G74 style).

  1. Preliminary motion.
  2. Start speed-feed synchronization.
  3. Move to bottom at feedrate (feedrate).
  4. Stop the spindle.
  5. Start the spindle in clockwise direction.
  6. Retract at feedrate to clearance plane (or initial plane for last cycle point).
  7. If speed-feed synch was not on before the cycle started, stop it.
  8. Stop the spindle.
  9. Start the spindle in counterclockwise direction.
  10. Retract at rapid traverse to clearance plane (initial plane for the last cycle point).

right-tapping

Defined properties: clearance, retract, stock, depth, feedrate, dwell

Right-tapping (G84 style). If the feedrate is not specified the feedrate will be set to the tapping feed of the current tool.

  1. Preliminary motion.
  2. Start speed-feed synchronization.
  3. Move to bottom at feedrate (feedrate).
  4. Stop the spindle.
  5. Start the spindle in counterclockwise direction.
  6. Retract at feedrate to clearance plane (or initial plane for last cycle point).
  7. If speed-feed synch was not on before the cycle started, stop it.
  8. Stop the spindle.
  9. Start the spindle in clockwise direction.
  10. Retract at rapid traverse to clearance plane (initial plane for the last cycle point).

tapping

Defined properties: clearance, retract, stock, depth, feedrate, dwell

Left tapping for left tapping tools otherwise right tapping. See left-tapping and right-tapping.

left-tapping-with-chip-breaking

Defined properties: clearance, retract, stock, depth, feedrate, incrementalDepth, incrementalDepthReduction, accumulatedDepth, chipBreakDistance, dwell

Right-tapping with chip breaking. If the feedrate is not specified the feedrate will be set to the tapping feed of the current tool. The property machineParameters.chipBreakingDistance specifies the distance that the machine will retract to break the chips for the cycle. If machineParameters.chipBreakingDistance is undefined the cycle will use full retracts. When expanding the cycle the property machineParameters.drillingSafeDistance specifies the safety distance above the remaining stock for which the machine will rapid down (if undefined the cycle will do feed plunging from the clearance plane).

  1. Preliminary motion.
  2. Start speed-feed synchronization.
  3. Move toward bottom at feedrate (feedrate) by no more than the given plunge depth (incrementalDepth) at a time.
  4. Stop the spindle.
  5. Start the spindle in clockwise direction.
  6. Retract by distance chipBreakDistance is defined and otherwise machineParameters.chipBreakingDistance to break chip (or retract to clearance plane (or initial plane for last cycle point) if accumulatedDepth has been reached).
  7. If speed-feed synch was not on before the cycle started, stop it.
  8. Stop the spindle.
  9. Start the spindle in counterclockwise direction.
  10. Repeat step 2-9 until bottom has been reached.
  11. Retract at rapid traverse to clearance plane (initial plane for the last cycle point).

right-tapping-with-chip-breaking

Defined properties: clearance, retract, stock, depth, feedrate, incrementalDepth, incrementalDepthReduction, accumulatedDepth, chipBreakDistance

Right-tapping with chip breaking. If the feedrate is not specified the feedrate will be set to the tapping feed of the current tool. The property machineParameters.chipBreakingDistance specifies the distance that the machine will retract to break the chips for the cycle. If machineParameters.chipBreakingDistance is undefined the cycle will use full retracts. When expanding the cycle the property machineParameters.drillingSafeDistance specifies the safety distance above the remaining stock for which the machine will rapid down (if undefined the cycle will do feed plunging from the clearance plane).

  1. Preliminary motion.
  2. Start speed-feed synchronization.
  3. Move toward bottom at feedrate (feedrate) by no more than the given plunge depth (incrementalDepth) at a time.
  4. Stop the spindle.
  5. Start the spindle in counterclockwise direction.
  6. Retract by distance chipBreakDistance is defined and otherwise machineParameters.chipBreakingDistance to break chip (or retract to clearance plane (or initial plane for last cycle point) if accumulatedDepth has been reached).
  7. If speed-feed synch was not on before the cycle started, stop it.
  8. Stop the spindle.
  9. Start the spindle in clockwise direction.
  10. Repeat step 2-9 until bottom has been reached.
  11. Retract at rapid traverse to clearance plane (initial plane for the last cycle point).

tapping-with-chip-breaking

Defined properties: clearance, retract, stock, depth, feedrate, incrementalDepth, incrementalDepthReduction, accumulatedDepth, chipBreakDistance

Left tapping for left tapping tools otherwise right tapping. See left-tapping-with-chip-breaking and right-tapping-with-chip-breaking.

reaming

Defined properties: clearance, retract, stock, depth, feedrate, retractFeedrate

This cycle is used to enlarge an existing hole slightly (G85 style).

  1. Preliminary motion.
  2. Move to bottom at feedrate (feedrate).
  3. Retract at feedrate to retract plane (retractFeedrate).
  4. Retract at rapid traverse to clearance plane (initial plane for the last cycle point).

stop-boring

Defined properties: clearance, retract, stock, depth, feedrate, dwell

Boring cycle for tighter holes (G86 style). Counter boring for boring bar. This cycle is used to achieve accurate depths.

  1. Preliminary motion.
  2. Move to bottom at feedrate (feedrate).
  3. Dwell (dwell).
  4. Stop spindle.
  5. Retract at rapid traverse to clearance plane.
  6. Start spindle.
  7. Retract at rapid traverse to initial plane for the last cycle point.

fine-boring

Defined properties: clearance, retract, stock, depth, feedrate, dwell, shift

Cycle for fine boring (G76 style).

  1. Preliminary motion.
  2. Move to bottom at feedrate (feedrate).
  3. Dwell (dwell).
  4. Stop spindle.
  5. Orientate spindle.
  6. Move the tool away from bore wall by given distance (shift).
  7. Retract at rapid traverse.
  8. Start spindle.
  9. Retract at rapid traverse to initial plane for the last cycle point.

back-boring

Defined properties: clearance, retract, stock, depth, feedrate, dwell, shift, shiftOrientation, backBoreDistance

Back boring (G87 style). The machineParameters.spindleOrientation will be used when expanding the cycle if shiftOrientation is undefined. The tool must be compensated to the top of the cutter. You must make sure that there is room for the tool below the given Z-levels.

  1. Preliminary motion.
  2. Stop spindle.
  3. Orientate spindle.
  4. Shift tool position (shift and shiftOrientation).
  5. Move at rapid traverse to bottom along tool axis.
  6. Move at rapid traverse horizontally to center position (x and y).
  7. Start spindle.
  8. Move at feedrate to top of hole (feedrate and backBoreDistance).
  9. Move at feedrate to bottom of hole (feedrate).
  10. Stop spindle.
  11. Orientate spindle.
  12. Shift tool position (shift and shiftOrientation).
  13. Retract at rapid traverse to retract plane (retract).
  14. Move at rapid traverse horizontally to center position (x and y).
  15. Start spindle.
  16. Retract at rapid traverse to clearance plane (clearance).
  17. Retract at rapid traverse to initial plane for the last cycle point.

manual-boring

Defined properties: clearance, retract, stock, depth, feedrate, dwell

Boring cycle with manual retract (G88 style).

  1. Preliminary motion.
  2. Move to bottom at feedrate (feedrate).
  3. Dwell (dwell).
  4. Stop spindle.
  5. Stop program.
  6. Retract at rapid traverse to clearance plane.
  7. Start spindle.
  8. Retract at rapid traverse to initial plane for the last cycle point.

boring

Defined properties: clearance, retract, stock, depth, feedrate, retractFeedrate, dwell

Boring (G89 style).

  1. Preliminary motion.
  2. Move to bottom at feedrate (feedrate).
  3. Dwell (dwell).
  4. Retract at feedrate (retractFeedrate).
  5. Retract at rapid traverse to initial plane for the last cycle point.

bore-milling

Defined properties: clearance, retract, stock, depth, feedrate, pitch, diameter, direction, stepover, numberOfSteps, repeatPass, compensation

Bore milling.

  1. Preliminary motion.
  2. Move to bottom in helical motion at feedrate (feedrate).
  3. Do finishing of bottom at feedrate (feedrate).
  4. Move to center of hole at feedrate (feedrate).
  5. Retract at rapid traverse to initial plane for the last cycle point.

thread-milling

Defined properties: clearance, retract, stock, depth, feedrate, pitch, diameter, dwell, threading, direction, stepover, numberOfSteps, repeatPass, compensation

Thread milling.

  1. Preliminary motion.
  2. Move to bottom at feedrate (feedrate).
  3. Climb mill to the stock plane or conventional mill to the bottom in helical motion at feedrate (feedrate).
  4. Dwell (dwell).
  5. Retract at rapid traverse to initial plane for the last cycle point.

circular-pocket-milling

Defined properties: clearance, retract, stock, depth, feedrate, plungeFeedrate, diameter, stepover, incrementalDepth, direction, repeatPass

Circular pocket milling.

  1. Preliminary motion.
  2. Plunge toward bottom at feedrate (feedrate) by no more than the given plunge depth (incrementalDepth) at a time.
  3. Clear level at feedrate (feedrate).
  4. Move to center at feedrate (feedrate).
  5. Repeat step 2-4 until bottom has been reached.
  6. Retract at rapid traverse to initial plane for the last cycle point.

probe

Defined properties: clearance, retract, stock, depth, feedrate

Cycle for probing.

  1. Preliminary motion.
  2. Move to bottom at feedrate (feedrate).
  3. Retract at rapid traverse to clearance plane (or initial plane for last cycle point).

thread-turning

Defined properties: clearance, pitch, incrementalX, incrementalZ

Thread turning.

  1. Preliminary motion.
  2. Move to starting ZX.
  3. Move to end of thread with feed-spindle synchronization.
  4. Retract at rapid traverse to initial ZX.

probing-x

probing-y

probing-z

probing-x-channel

probing-x-channel-not-symmetric

probing-x-channel-with-island

probing-x-wall

probing-x-wall-not-symmetric

probing-y-channel

probing-y-channel-not-symmetric

probing-y-channel-with-island

probing-y-wall

probing-y-wall-not-symmetric

probing-xy-inner-corner

probing-xy-outer-corner

probing-xy-circular-hole

probing-xy-circular-hole-with-island

probing-xy-circular-boss

probing-xy-circular-partial-hole

probing-xy-circular-partial-boss

probing-xy-circular-partial-hole-with-island

probing-xy-circular-hole-with-z

probing-xy-circular-hole-island-with-z

probing-xy-circular-boss-with-z

probing-xy-pcd-hole

probing-xy-pcd-boss

probing-xy-pcd-hole-with-island

probing-xy-rectangular-hole

probing-xy-rectangular-hole-with-island

probing-xy-rectangular-boss

probing-xy-rectangular-hole-with-z

probing-xy-rectangular-hole-island-with-z

probing-xy-rectangular-boss-with-z

probing-xyz-corner

probing-x-plane-angle

probing-y-plane-angle

secondary-spindle-grab

Defined properties: usePartCatcher, stopSpindle, feedrate, spindleSpeed, dwell, spindleOrientation, feedPosition, chuckPosition, useMachineFrame

secondary-spindle-pull

Defined properties: stopSpindle, spindleSpeed, feedrate, pullingDistance, dwell

secondary-spindle-return

Defined properties: stopSpindle, spindleSpeed, feedrate, dwell, feedPosition, useMachineFrame, unclampMode

Where unclampMode can be keep-clamped, unclamp-primary, or unclamp-secondary.



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