Continue to Site

Welcome to MCAD Central

Join our MCAD Central community forums, the largest resource for MCAD (Mechanical Computer-Aided Design) professionals, including files, forums, jobs, articles, calendar, and more.

postprocessor for THERMWOOD 91000 5 axis

here is anexample of a post of ALPHACAM for a


Control : FANUC OM
Machine : EMCO PCMILL 50/55
i needthe equivalent file for Thermwood 91000 supercontrol 5 axis machine.





---------------------------- INTRODUCTION ----------------------------------
For help in configuring a post processor, open a second (horizontal) window
and load POST HELP FILE into it so that you can look at the notes as you go.


Remember to select Machine Type (Mill or Lathe) from F4-Format before saving
the completed Post - to be sure, check top right of screen NOW !


Also, set the default Post from F4-Format. Make the default the one you most
often want to use - your NC code will be produced to suit the default auto-
matically - but you can choose another Post when you program a part in APS.


Remarks:
That are to appear in the NC code (but NOT be sent to the machine)
should be preceded by ' (a single apostrophe)
That are local to the Post for your information only should be
preceded by '' (TWO single apostrophes)


$----------------------------------------------------------- ------ 20 AUG 92
Control : FANUC OM
Machine : EMCO PCMILL 50/55
Customer : EMCO
Database Name: EMCO PCMILL 50 Fanuc WIN 5-99
Units : MM
No of Axis : XYZ
Coord.System : ABS
Z-Plane : VERTICAL
Ver 1 Date : 1994
Notes : MANUAL TOOL CHANGE
Last Edit : 26th May 1999


This post is : FANUC 0M (PC MILL)


$------------------------- PROGRAM LEADING/TRAILING LINES -------------------
$10 File LEADING lines
$12 Main Program LEADING lines
&HE:%
:[PROGNUM]
N[N] G54
$15 Main Program TRAILING lines
N[N] M30
$17 File TRAILING Lines
%
$----------------------- RAPID MOVES ----------------------------------------
$20 Rapid Move in XY (MILL/ROUTER/FLAME/LASER) or XZ (LATHE) only
N[N] G0 X[AX] Y[AY]
$----------------------------------------------------------- -----------------
$21 Rapid Move in XYZ (MILL/ROUTER ONLY)
N[N] G0 X[AX] Y[AY] Z[AZ]
$----------------------------------------------------------- -----------------
$25 Rapid Move in Z only (MILL etc)
N[N] G0 Z[AZ]
$----------------------------------------------------------- -----------------
$30 Lines BEFORE a rapid move if Z levels are not used eg Laser or Geometry
UP
$----------------------------------------------------------- -----------------
$35 Lines AFTER a rapid move if Z levels are not used eg Laser or Geometry
DN
$----------------------- MACHINING FEED MOVES -------------------------------
$40 Machining FEED lines
$IF MC + IN = 2 ''M/C comp applies, and this is LEAD-IN Line
N[N] G1 [TC] H[T+10] X[AX] Y[AY] Z[AZ] F[F] S
$ELSEIF MC + OUT = 2 '' M/C comp applies, and this is LEAD-OUT Line
N[N] G1 [TC] X[AX] Y[AY] Z[AZ] F[F]
$ELSE& nbsp; '' Applies to all other lines (with APS or M/C comp).
N[N] G1 X[AX] Y[AY] Z[AZ] F[F]
$ENDIF
$----------------------------------------------------------- -----------------
$50 Feed CW arc (APS will automatically limit arcs to 180 degrees maximum)
N[N] G2 X[AX] Y[AY] R[R] F[F]
$----------------------------------------------------------- -----------------
$60 Feed CCW arc
N[N] G3 X[AX] Y[AY] R[R] F[F]
$------------------------ TOOL CHANGES --------------------------------------
$70 Cancel current tool. Use [T] for current tool number if required.
N[N] G0 Z80 M5
N[N] G49
$IF NT= 0
$ELSEIF
N[N] M0
$ENDIF
$75 Code for CLOCKWISE spindle rotation - entered into variable RT
M3
$76 Code for COUNTER-CLOCKWISE spindle rotation - entered into variable RT
M4
$80 Select new tool. Use [T] for new tool number, for spindle speed.
N[N] T[T] G43 H[OFS] 'Select tool and offset
N[N] S [RT] ' Next tool is [NT]
$-------------------------- SUBROUTINES ------------------------------------
$90 CALL subroutine. Use [SN] for subroutine number.
N[N] M98 P[SN] 'CALL SUB [SN]
$----------------------------------------------------------- -----------------
$100 BEGIN subroutine. Use [SN] for subroutine number.
:[SN] 'BEGIN SUB [SN]
$----------------------------------------------------------- -----------------
$110 END subroutine
N[N] M99 'END SUB [SN]
$------------------- REFERENCE ZERO or ORIGIN SHIFT -------------------------
$120 Origin shift. Use [OX] and [OY] for values to shift by)
N[N] G52 X[OX] Y[OY] 'ORIGIN SHIFT
$----------------------------------------------------------- -----------------
$130 Cancel Origin shift. [OX] and [OY] are values by which origin was shifted)
N[N] G52 X0.0 Y0.0 'CANCEL ORIGIN SHIFT
$----------------------- MACHINE TOOL COMPENSATION --------------------------
NOTE: Codes given in $140 to $142 are assigned to TC as required for each path
$140 Code to CANCEL Machine Tool Compensation
G40
$141 Code for LEFT Machine Tool Compensation
G41
$142 Code for RIGHT Machine Tool Compensation
G42
$145 Percentage increase in blend radius for sharp internal corners
0
$------------------------ DRILLING/TAPPING CYCLES ---------------------------
[ZR] = Retract level, the Z level to rapid down to before feed down begins.
[ZB] = Z value of the bottom of the hole, [ZP] = peck DISTANCE.
[ZS] = Safe Rapid level, [ZM] = Material top. All values are ABSOLUTE.


$200 CANCEL drill/tapping cycle
N[N] G80
$----------------------------------------------------------- -----------------
DRILL cycle - traverse to next hole at SAFE RAPID level [ZS]
$210 First Hole
N[N] G98 G81 X[AX] Y[AY] Z[ZB] P[ZR] F[F]
$211 Next holes
N[N] G98 G81 X[AX] Y[AY]
$----------------------------------------------------------- -----------------
DRILL cycle - traverse to next hole at RETRACT level [ZR]
$214 First Hole
N[N] G99 G81 X[AX] Y[AY] Z[ZB] P[ZR] F[F]
$215 Next holes
N[N] G99 G81 X[AX] Y[AY]
$----------------------------------------------------------- -----------------
PECKING cycle - traverse to next hole at SAFE RAPID level [ZS]
$220 First hole
N[N] G98 G83 X[AX] Y[AY] Z[ZB] P[ZR] Q[ZP] F[F]
$221 Next holes
N[N] G98 G83 X[AX] Y[AY]
$----------------------------------------------------------- -----------------
PECKING cycle - traverse to next hole at RETRACT level [ZR]
$224 First hole
N[N] G99 G83 X[AX] Y[AY] Z[ZB] P[ZR] Q[ZP] F[F]
$225 Next holes
N[N] G99 G83 X[AX] Y[AY]
$----------------------------------------------------------- -----------------
TAPPING cycle - traverse to next hole at SAFE RAPID level [ZS]
$230 First hole
N[N] G98 G84 X[AX] Y[AY] Z[ZB] P[ZR] F[THP]
$231 Next holes
N[N] G98 G84 X[AX] Y[AY]
$----------------------------------------------------------- -----------------
TAPPING cycle - traverse to next hole at RETRACT level [ZR]
$234 First hole
N[N] G99 G84 X[AX] Y[AY] Z[ZB] R[ZR] F[THP]
$235 Next holes
N[N] G99 G84 X[AX] Y[AY]
$----------------------------------------------------------- -----------------
BORING/REAMING/SPOT FACE etc - traverse to next hole at SAFE RAPID level [ZS]
$240 First Hole
N[N] G98 G85 X[AX] Y[AY] Z[ZB] P[ZR] P[DW] F[F]
$241 Next holes
N[N] G98 G85 X[AX] Y[AY]
$----------------------------------------------------------- -----------------
BORING/REAMING/SPOT FACE etc - traverse to next hole at RETRACT level [ZS]
$244 First Hole
N[N] G99 G85 X[AX] Y[AY] Z[ZB] P[ZR] P[DW] F[F]
$245 Next holes
N[N] G99 G85 X[AX] Y[AY]
$-------------------------- GENERAL FORMATS ---------------------------------
Separate modal values with spaces. More than one letter is OK eg X VX VY
$500 Modal Text (Will not be repeated in following lines)
G0 G1 G2 G3
$502 Modal ABSOLUTE Values (Will not be repeated if the VALUE is the same)
X Y Z F
$504 Modal INCREMENTAL Values (Will not be put into NC code if VALUE is ZERO)
I J
$510 X Y Z I J K values must have + as well as - signs (1 = yes, 0 = no)
0
$515 Use point <.> as decimal separator (1 = yes, 0 = use comma <,>)
1
$520 Put sub-routines at end of main program (1 = yes, 0 = put at start)
1
$525 Quadrant Limit arcs (1 = yes, 0 = Standard APS 180 degree limit)
0
$530 Output arcs as straight line segments (1 = yes, 0 = no)
0
$532 If arcs are straight line segments, give chord error (mm or inches)
.1
$540 Suppress Operations List, START and Comments in NC code (1 = yes, 0 = No)
0
$-------------------------- NUMBER FORMATS ----------------------------------
$700 SUBROUTINE Number format
6
$701 Leading figures
0
$702 Figures after point
0
$705 Subroutine start number
1
$----------------------------------------------------------- -----------------
$710 LINE NUMBER format
6
$711 Leading figures
0
$712 Figures after point
0
$715 Line start number
10
$716 Line number increment
10
$----------------------------------------------------------- -----------------
$720 X Y Z values format
3
$721 Leading figures
0
$722 Figures after point
3
$----------------------------------------------------------- -----------------
$730 ARC centre/radius format
3
$731 Leading figures
0
$732 Figures after point
3
$----------------------------------------------------------- -----------------
$740 SPINDLE SPEED format
6
$741 Leading figures
0
$742 Figures after point
0
$743 Maximum Spindle Speed
2400
$744 Fixed Speeds (eg 100, 200, 1000, 2000 ... 0 = speed is variable)
0
$NOTE: Fixed speeds can use more than one line. 80 chars per line maximum
APS will select the nearest lower value to the calculated value.
$745 below only applies if $744 is 0 - ie variable speed range.
$745 Round Speed Up/Down to Nearest: (.1 or 1 or 10 ... 0 = don't round)
0
$----------------------------------------------------------- -----------------
$750 MACHINING FEED format
6
$751 Leading figures
0
$752 Figures after point
0
$753 Maximum Feed Rate (Use mm/min or in/min as appropriate for this Post)
750 mm/min
$755 Round Feed Up/Down to Nearest: (.1 or 1 or 10 ... 0 = don't round)
0
$----------------------------------------------------------- -----------------
$760 TOOL NUMBER format
0
$761 Leading figures
2
$762 Figures after point
0
$------------------------ RAPIDS and TOOL CHANGE TIMES ----------------------
Use mm/min or in/min as appropriate for this Post.
$900 XY Rapid Speed
750 mm/min
$901 Z Rapid Speed
750 mm/min
$902 Time to change tool (seconds)
8
$--------------------------- USER VARIABLES ---------------------------------
ALL user variables must be declared. Variable names can be up to 20 chars.
Prompts can be up to 50 chars max and can include a default inside < >.
Put (" ") as format for a text variable. Put ( ) as the format of any numeric
variable which is to have the same format as X Y (Z) moves. If a different
format is required, put (Format, Lead figs, Trail figs) eg (6,0,0) = Integer.


$1000 VARIABLE (format) "Prompt <default>" '' Remark for your info.
PROGNUM (7,4,0) "Enter Program Number" ''Integer with up to 4 lead zeros
MY_NAME (" ") "Programmer <J Smith>"
SAFE_Z ( ) "Safe Z Level <5>" ''Output with same format as X Y moves
HEAD (6,0,0) "New Head Number"
WEIGHT ( ) ''Only used in calculations
DENSITY ( ) "Density Kg/cu M <7800>"
THICKNESS ( ) "Material Thickness"
OPMSG (" ") "Operator Message"


$-------------------------- USER DEFINED CODE -------------------------------
Prompts up to 50 chars max. Variable names up to 20 chars. Any $number in the
range $1100 - $1119 can be used for each definition. First line after $number
appears in the first dialog box. Lines up to first $ line appear in second
dialog box. Lines up to next $ line will be added/inserted in NC program.


$1100
Operator Message
OPMSG
$ ------------------------- NC lines to be entered into program follow
N[N] ([OPMSG])
$ ------------------------- ends $1100 user defined code
$1102 Calculate Parts Weight
Weight of Parts
DENSITY
THICKNESS
$ ------------------------- NC lines to be entered into program follow
$LET WEIGHT = THICKNESS * AR * DENSITY / 1e9
N[N] ( Parts Weight is [WEIGHT] kg)
$ ---------------------- End of Post
 
I am curently working on making a postpreocessor in G-postfor Thermwood 91000 supercontrol 5 axis. It will take me a week to finish it and test it,I already spent 2 days on it and haven't got too far. Is your C axis limited to 0-360 and needs repositioning when is reaches the limit? Manual tool change? Use G92 or G53.1 for fixture offset?


[email protected]
 
It doesn't appear as though Alphacam reads Apt 100 Cldata files. So a third party post will probably not work for you. Which means you will have to contact Alphacam for support.
 
Hello Guys:

What is to look up with machine controller once you have the .tap file generated? What do you compare at this stage to make sure you postprocessor will work with the specific controller?.Any guru that can elaborate this stage of continuity needs to be so that everything will jive together!

Thank you


Edited by: proone
 
thanks to all for the interest. Below are the most recent 5axis posts for alphacam that i found maybe will help you to understand better. Im searching also a mastercam 9 post for Thermwood 91000 supercontrol 5 axis machine if anyone has it or any post available about this machine.





Database Name: Alpha Standard 5 ax Mill or Router
Control : CNC 787 L
Machine : MAKA LPF
Units : MM
Axes Used : XYZAB
Coord.System : Absolute
X Axis : Normal
Y Axis : Normal
Z-Axis : Normal
Customer :
Contact :
Tel :
Fax :
Dealer Name :
Post Author : D.WILLIAMS
Ver 1 Date : 29/10/96
Notes : Example Post only, for use in training sessions.
Edit History :


$----------------------------------------------------------- -----------------


Notes and remarks that are to appear in the NC code (but NOT be sent to the machine)
should be preceded by ' (a single apostrophe)
Notes and remarks that are local to the Post for your information only should be
preceded by '' (TWO single apostrophes)


$------------------------- PROGRAM LEADING/TRAILING LINES -------------------
$10 File LEADING lines
$LET FIRST_FEED = 1
%
$LET FIRST_TOOL = 1
$12 Main Program LEADING lines
P[PROGNUM]
N[N] ([FNM])
N[N] G0 G47 G53 F3000 S1300 T1 M6 P948:163.5;P949:0;Z-10
N[N] M81 M11 X200. Y1300. A0. B0.
N[N] M0 M81 M5
N[N] M81 M10
$15 Program TRAILING lines
N[N] M29
$17 File TRAILING Lines
#
$----------------------- RAPID MOVES ----------------------------------------
$20 Rapid Move in XY (MILL/ROUTER/FLAME/LASER) or XZ (LATHE) only
$IF ABS(TAX) + ABS(TAY) = 0
$LET ANGLE_A = 0
$LET ANGLE_B = 0
$ELSE
$LET ANGLE_A = (ATAN2(TAY,TAX)) + 90
$LET ANGLE_B = ATAN2(SQR(TAX**2+TAY**2),TAZ)
$ENDIF
$IF ANGLE_A > 270
$LET ANGLE_A = ANGLE_A - 360
$ENDIF
N[N] G0 X[AX] Y[AY] Z[AZ] A[ANGLE_A] B[ANGLE_B]
$LET FIRST_FEED = 1
$----------------------------------------------------------- -----------------
$21 3D Rapid Move in XYZ (MILL/ROUTER ONLY)
$IF ABS(TAX) + ABS(TAY) = 0
$LET ANGLE_A = 0
$LET ANGLE_B = 0
$ELSE
$LET ANGLE_A = (ATAN2(TAY,TAX)) + 90
$LET ANGLE_B = ATAN2(SQR(TAX**2+TAY**2),TAZ)
$ENDIF
$IF ANGLE_A > 270
$LET ANGLE_A = ANGLE_A - 360
$ENDIF
N[N] G0 X[AX] Y[AY] A[ANGLE_A] B[ANGLE_B]
N[N] Z[AZ]
$LET FIRST_FEED = 1
$----------------------------------------------------------- -----------------
$25 Rapid Move in Z only (MILL etc)
$IF FIRST_RAPID = 1
$LET FIRST_RAPID = 0
$ELSE
N[N] G0 Z[AZ]
$ENDIF
$LET FIRST_FEED = 1
$----------------------------------------------------------- -----------------
$30 Lines BEFORE a rapid move if Z levels are not used eg Laser or Geometry
$----------------------------------------------------------- -----------------
$35 Lines AFTER a rapid move if Z levels are not used eg Laser or Geometry
$----------------------- MACHINING FEED MOVES -------------------------------
$40 Machining FEED lines
$IF ABS(TAX) + ABS(TAY) = 0
$LET ANGLE_A = 0
$LET ANGLE_B = 0
$ELSE
$LET ANGLE_A = (ATAN2(TAY,TAX)) + 90
'' ****** ANGLE A = [ANGLE_A] [(ATAN2(-TAX,TAY))+180]
$LET ANGLE_B = ATAN2(SQR(TAX**2+TAY**2),TAZ)
$ENDIF
$IF ANGLE_A > 270
$LET ANGLE_A = ANGLE_A - 360
$ENDIF
$IF FIRST_FEED = 1 GOTO 10
$IF ABS(ANGLE_A) < 45 GOTO 10
$IF ANGLE_A < 0
$LET NEW_SIGN = -1
$ELSE
$LET NEW_SIGN = 1
$ENDIF
$IF NEW_SIGN > OLD_SIGN
$LET ANGLE_A = ANGLE_A - 360
$ELSEIF NEW_SIGN < OLD_SIGN
N[N] M00
N[N] (WARNING A AXIS NEEDS TO UNWIND)
N[N] (DRIVE CUTTER CLEAR OF JOB)
N[N] G91 X0. Y0. Z150.(EDIT THIS LINE)
N[N] G90 A[ANGLE_A] B[ANGLE_B] F[F]
N[N] G91 X0. Y0. Z-150.M81 [ROT]
N[N] G90 G1 X[AX] Y[AY] Z[AZ] A[ANGLE_A] B[ANGLE_B] F[F]
$GOTO 20
$ENDIF
''
$LL10
''
N[N] G1 X[AX] Y[AY] Z[AZ] A[ANGLE_A] B[ANGLE_B] F[F]
$LL 20
$IF ANGLE_A < 0
$LET OLD_SIGN = -1
$ELSE
$LET OLD_SIGN = 1
$ENDIF
$LET FIRST_FEED = 0
$----------------------------------------------------------- -----------------
$50 Feed CW arc (APS will automatically limit arcs to 180 degrees maximum)
N[N] G2 X[AX] Y[AY] R[R] F[F]
$----------------------------------------------------------- -----------------
$60 Feed CCW arc
N[N] G3 X[AX] Y[AY] R[R] F[F]
$------------------------ TOOL CHANGES --------------------------------------
$70 Cancel current tool. Use [T] for current tool number if required.
$MODAL OFF
$75 Code for CLOCKWISE spindle rotation - entered into variable RT
M3
$76 Code for COUNTER-CLOCKWISE spindle rotation - entered into variable RT
M4
$80 Select new tool. Use [T] for new tool number, for spindle speed.
$IF FIRST_TOOL = 1
$LET FIRST_TOOL = 0
N[N] G49 S[T] M81[ROT]
N[N] G54 T[T] M6 P1313;P1314;P1315;P1316;P1317;P685:1;
$ELSE
N[N] G49 S[T] M81[ROT]
N[N] T[T] M6
$ENDIF
$LET FIRST_RAPID = 1
$----------------------------------------------------------- -----------------
$88
''WORK PLANE
$----------------------------------------------------------- -----------------
$89 Used when Tool and Work Plane are changed at the same time (and $582=2)
' Change Tool and Work Plane at same time
$-------------------------- SUBROUTINES ------------------------------------
$90 CALL subroutine. Use [SN] for subroutine number.
N[N] M98 P[SN] 'CALL SUB [SN]
$----------------------------------------------------------- -----------------
$100 BEGIN subroutine. Use [SN] for subroutine number.
:[SN] 'BEGIN SUB [SN]
$----------------------------------------------------------- -----------------
$110 END subroutine
N[N] M99 'END SUB [SN]
$------------------- REFERENCE ZERO or ORIGIN SHIFT -------------------------
$120 Origin shift. Use [OX] and [OY] for values to shift by)
N[N] G52 X[OX] Y[OY] 'ORIGIN SHIFT
$----------------------------------------------------------- -----------------
$130 Cancel Origin shift. [OX] and [OY] are values by which origin was shifted)
N[N] G52 X0.0 Y0.0 'CANCEL ORIGIN SHIFT
$----------------------- MACHINE TOOL COMPENSATION --------------------------
$140 Code to CANCEL Machine Tool Compensation
G40
$141 Code for LEFT Machine Tool Compensation
G41
$142 Code for RIGHT Machine Tool Compensation
G42
' Codes above will be assigned to TC for each path.
$145 Percentage increase in blend radius for sharp internal corners
0
$146 Adjust G41/42 code at internal corners for tool radius (1 = Yes 0 = No)
1
$147 Comp can be applied on Rapid Approach (1 = Yes 0 = No)
0
' $147=1 is only a flag to indicate that the code in $20 and $25 is correct if comp
' is asked for on the rapid approach. It does NOT force this to happen. For
' comp to be applied on rapid approach, the Apply Comp on Rapid Approach check
' box must be set to YES for each operation. If set, MC=1 in $20 & $25 and
' MC = 0 in $40, 50 and 60, so code for $40, 50 and 60 does not have to be changed.
'
$148 G41/42 is possible in 5-axis machining along spline or polyline (1=Yes 0=No).
0
' Note that the Post has to have the correct code in $40. Post variable TCF = 1
' if G41/42 is selected when AlphaCAM is used, TCX, TCY, TCZ give the tool displacement
' vector. CPX, CPY, CPZ give the contact point on the polyline. See Help File.
$----------------------- COOLANT OFF/MIST/FLOOD/TOOL CODES ------------------


Codes given in $150 to $153 are assigned to CLT by APS at start of each path.
$150 Code for Coolant OFF


$151 Code for MIST Coolant
M8
$152 Code for FLOOD Coolant
M8
$153 Code for Coolant THROUGH TOOL
M8
$------------------------ DRILLING/TAPPING CYCLES ---------------------------
[ZR] = Retract level, the Z level to rapid down to before feed down begins.
[ZB] = Z value of the bottom of the hole, [ZP] = peck DISTANCE.
[ZS] = Safe Rapid level, [ZM] = Material top. All values are ABSOLUTE.


For LINEAR code use $210/211, $214/215 etc. For SUBROUTINES use $205/206 for
X/Y values and $212/216 etc to set Z levels etc before calling the subroutine.


$200 CANCEL drill/tapping cycle
N[N] M09 ''Turn coolant OFF
N[N] G80
$----------------------------------------------------------- -----------------
$205 First Hole in SUBROUTINE. NOTE $205/206 apply to ALL drill/peck etc cycles
N[N] X[AX] Y[AY]
$206 Next holes in Subroutine
N[N] X[AX] Y[AY]
$----------------------------------------------------------- -----------------
DRILL cycle - traverse to next hole at SAFE RAPID level [ZS]
$210 First Hole
N[N] G98 G81 X[AX] Y[AY] Z[ZB] R[ZR] F[F] [CLT] ''CLT = Coolant Code
$211 Next holes
N[N] X[AX] Y[AY]
$212 Set PARAMETERS before Subroutine call (APS will insert Subroutine call)
N[N] G98 G81 Z[ZB] R[ZR] F[F] [CLT]
$----------------------------------------------------------- -----------------
DRILL cycle - traverse to next hole at RETRACT level [ZR]
$214 First Hole
N[N] G99 G81 X[AX] Y[AY] Z[ZB] R[ZR] F[F] [CLT] ''CLT = Coolant Code
$215 Next holes
N[N] X[AX] Y[AY]
$216 Set PARAMETERS before Subroutine call (APS will insert Subroutine call)
N[N] G99 G81 Z[ZB] R[ZR] F[F] [CLT]
$----------------------------------------------------------- -----------------
PECKING cycle - traverse to next hole at SAFE RAPID level [ZS]
$220 First hole
N[N] G98 G83 X[AX] Y[AY] Z[ZB] R[ZR] Q[ZP] F[F] [CLT] ''CLT = Coolant Code
$221 Next holes
N[N] X[AX] Y[AY]
$222 Set PARAMETERS before Subroutine call (APS will insert Subroutine call)
N[N] G98 G83 Z[ZB] R[ZR] Q[ZP] F[F] [CLT]
$----------------------------------------------------------- -----------------
PECKING cycle - traverse to next hole at RETRACT level [ZR]
$224 First hole
N[N] G99 G83 X[AX] Y[AY] Z[ZB] R[ZR] Q[ZP] F[F] [CLT] ''CLT = Coolant Code
$225 Next holes
N[N] X[AX] Y[AY]
$226 Set PARAMETERS before Subroutine call (APS will insert Subroutine call)
N[N] G99 G83 Z[ZB] R[ZR] Q[ZP] F[F] [CLT]
$----------------------------------------------------------- -----------------
TAPPING cycle - traverse to next hole at SAFE RAPID level [ZS]
$230 First hole
N[N] G98 G84 X[AX] Y[AY] Z[ZB] R[ZR] F[F] [CLT] ''CLT = Coolant Code
$231 Next holes
N[N] X[AX] Y[AY]
$232 Set PARAMETERS before Subroutine call (APS will insert Subroutine call)
N[N] G98 G84 Z[ZB] R[ZR] F[F] [CLT]
$----------------------------------------------------------- -----------------
TAPPING cycle - traverse to next hole at RETRACT level [ZR]
$234 First hole
N[N] G99 G84 X[AX] Y[AY] Z[ZB] R[ZR] F[F] [CLT] ''CLT = Coolant Code
$235 Next holes
N[N] X[AX] Y[AY]
$236 Set PARAMETERS before Subroutine call (APS will insert Subroutine call)
N[N] G99 G84 Z[ZB] R[ZR] F[F] [CLT]
$----------------------------------------------------------- -----------------
BORING/REAMING/SPOT FACE etc - traverse to next hole at SAFE RAPID level [ZS]
$240 First Hole
N[N] G98 G82 X[AX] Y[AY] Z[ZB] R[ZR] P[DW] F[F] [CLT] ''CLT = Coolant Code
$241 Next holes
N[N] X[AX] Y[AY]
$242 Set PARAMETERS before Subroutine call (APS will insert Subroutine call)
N[N] G98 G82 Z[ZB] R[ZR] P[DW] F[F] [CLT]
$----------------------------------------------------------- -----------------
BORING/REAMING/SPOT FACE etc - traverse to next hole at RETRACT level [ZS]
$244 First Hole
N[N] G99 G82 X[AX] Y[AY] Z[ZB] R[ZR] P[DW] F[F] [CLT] ''CLT = Coolant Code
$245 Next holes
N[N] X[AX] Y[AY]
$246 Set PARAMETERS before Subroutine call (APS will insert Subroutine call)
N[N] G99 G82 Z[ZB] R[ZR] P[DW] F[F] [CLT]
$-------------------------- GENERAL FORMATS ---------------------------------
Separate modal values with spaces. More than one letter is OK eg X VX VY
$500 Modal Text (Will not be repeated in following lines)
G0 G1 G2 G3
$502 Modal ABSOLUTE Values (Will not be repeated if the VALUE is the same)
X Y Z A C F
$504 Modal INCREMENTAL Values (Will not be put into NC code if VALUE is ZERO)
I J
$510 X Y Z I J K values must have + as well as - signs (1 = yes, 0 = no)
0
$515 Use point <.> as decimal separator (1 = yes, 0 = use comma <,>)
1
$520 Put sub-routines at end of main program (1 = yes, 0 = put at start)
1
$525 Quadrant Limit arcs (1 = yes, 0 = Standard APS 180 degree limit)
0
$526 Output arcs as one move (1 = Yes, 0 = No - split arcs >= 180)
0
$527 Output HELICAL (XYZ) arcs as straight line segments (1 = Yes, 0 = No)
0
' 530 Determines which PLANAR arcs are output as straight line segments.
$530 0=None, 1=All, 2=All Except Horizontal (XY), 3=Except Horizontal and Vertical (YZ or XZ)
0
$532 If arcs are straight line segments, give chord error (mm or inches)
.1
$540 Suppress Operations List, START and Comments in NC code (1 = yes, 0 = No)
0
'Set $560 - $580 all to 0 if machine is 3-axis.
$560 4/5 axis Programming point: (1 = pivot, 0 = tool tip)
0
$562 4/5 axis Tool C/L offset from pivot point in X
0
$563 4/5 axis Tool C/L offset from pivot point in Y
0
$565 4/5 axis Tool Holder length
100
$570 4/5 axis Max angle (degrees). Set to 0 to indicate 3 - axis machine.
90
$580 Use Multi-Planes or Multi-Datums (1 = Yes, 0 = No)
1
$582 Multi-Plane or Datums: Select Work Plane BEFORE/AFTER Tool Change
0
'582 is for when Work Plane and Tool are changed AT SAME TIME
' 0 = Select Tool before Work Plane (Use $80 then $88)
' 1 = Select Work Plane before Tool Change (Use $88 then $80)
' 2 = Change both at same time (Use $89 only)
$584 Orientation of Local X or Y axis. 0=Don't care, 1=X Horizontal, 2=Y Horizontal
0
$-------------------------- NUMBER FORMATS ----------------------------------
$700 SUBROUTINE Number format
6
$701 Leading figures
0
$702 Figures after point
0
$705 Subroutine start number
1
$----------------------------------------------------------- -----------------
$710 LINE NUMBER format
6
$711 Leading figures
0
$712 Figures after point
0
$715 Line start number
10
$716 Line number increment
10
$----------------------------------------------------------- -----------------
$720 X Y Z values format
2
$721 Leading figures
0
$722 Figures after point
3
$----------------------------------------------------------- -----------------
$730 ARC centre/radius format
2
$731 Leading figures
0
$732 Figures after point
3
$----------------------------------------------------------- -----------------
$740 SPINDLE SPEED format
6
$741 Leading figures
0
$742 Figures after point
0
$743 Maximum Spindle Speed
999
$----------------------------------------------------------- -----------------
$750 MACHINING FEED format
6
$751 Leading figures
0
$752 Figures after point
0
$753 Maximum Feed Rate (Use mm/min or in/min as appropriate for this Post)
1000 mm/min
$755 Round Feed Up/Down to Nearest: (.1 or 1 or 10 ... 0 = don't round)
10
$----------------------------------------------------------- -----------------
$760 TOOL NUMBER format
6
$761 Leading figures
1
$762 Figures after point
0
$------------------------ RAPIDS and TOOL CHANGE TIMES ----------------------
Use mm/min or in/min as appropriate for this Post.
$900 XY Rapid Speed
15000 mm/min
$901 Z Rapid Speed
6000 mm/min
$902 Time to change tool (seconds)
15
$--------------------------- USER VARIABLES ---------------------------------
ALL user variables must be declared. Variable names can be up to 20 chars.
Prompts can be up to 50 chars max and can include a default inside < >.
Put (" ") as format for a text variable. Put ( ) as the format of any numeric
variable which is to have the same format as X Y (Z) moves. If a different
format is required, put (Format, Lead figs, Trail figs) eg (6,0,0) = Integer.


$1000 VARIABLE (format) "Prompt <default>" '' Remark for your info.
PROGNUM (7,6,0) "Enter Program Number <1>" ''Integer with up to 4 lead zeros
X_START ( ) "Enter X (G92/G54) Start Value <-600>"
YV_START ( ) "Enter Y/V (G92/G54) Start Value <600>"
TABLE ( ) "Table Combination : 1=M10 / 2=M20 / 3=M40 <2>"
FIRST_RAPID ( )
FIRST_TOOL ( )
LAST_TOOL (6,0,0)
ANGLE_A ( )
ANGLE_B ( )
FIRST_FEED ( )
OLD_SIGN ( )
NEW_SIGN( )
$-------------------------- USER DEFINED CODE -------------------------------
Prompts up to 50 chars max. Variable names up to 20 chars. Any $number in the
range $1100 - $1119 can be used for each definition. First line after $number
appears in the first dialog box. Lines up to first $ line appear in second
dialog box. Lines up to next $ line will be added/inserted in NC program.


$1100
$ ---------------------- End of Post












Database Name: Alpha Standard 5-Axis Laser
Control : This is a model post only for test purposes.
Machine :
Units : MM
Axes Used : XYZBC
Coord System : Absolute
X Axis : Normal
Y Axis : Normal
Z-Axis : Normal
Customer :
Contact :
Tel :
Fax :
Dealer Name :
Post Author : SM Livingstone
Ver 1 Date : 15 Dec 96
Notes :
Beam can be rotated through angle B relative to the main beam
holder which can be rotated through angle C around the Z axis
up to a maximum angle which is asked for.
Edit History : July 2000 -
New $numbers (400 - ) added for Pierce / Cut Hole canned cycles.
Canned cycles are NOT correct. They use Mill code to show variables available


$----------------------------------------------------------- -----------------


Notes and remarks that are to appear in the NC code (but NOT be sent to the machine)
should be preceded by ' (a single apostrophe)
Notes and remarks that are local to the Post for your information only should be
preceded by '' (TWO single apostrophes)


$------------------------- PROGRAM LEADING/TRAILING LINES -------------------
$5 $STORE, $RUN and $RECALL - See manual Appendix A for details
$10 File LEADING lines
$LET MAX_ANGLE_C = "?"
$12
$15
$17
$----------------------- RAPID MOVES ----------------------------------------
$20 Rapid Move in XY (MILL/ROUTER/FLAME/LASER) or XZ (LATHE) only
N[N] G0 X[AX] Y[AY]
$----------------------------------------------------------- -----------------
$21 3D Rapid Move in XYZ (MILL/ROUTER ONLY)
N[N] G0 X[AX] Y[AY] Z[AZ]
$----------------------------------------------------------- -----------------
$25 Rapid Move in Z only (MILL etc)
N[N] G0 Z[AZ]
$----------------------------------------------------------- -----------------
$30 Lines BEFORE a rapid move if Z levels are not used eg Laser or Geometry
M09 'Laser OFF
$----------------------------------------------------------- -----------------
$35 Lines AFTER a rapid move if Z levels are not used eg Laser or Geometry
M08 'Laser ON
$----------------------- MACHINING FEED MOVES -------------------------------
$40 Machining FEED lines
$IF TAY + TAX > 0 goto 1
N[N] G1 X[AX] Y[AY] F[F]
$GOTO 99


$LL 1
$LET ANGLE_C = ATAN2(TAY,TAX)
$IF ANGLE_C - OLD_A > 180
$LET ANGLE_C = ANGLE_C - 360
$ELSEIF ANGLE_C - OLD_A < -180
$LET ANGLE_C = ANGLE_C + 360
$ENDIF
$IF ANGLE_C > MAX_ANGLE_C ''Maximum Angle C has been reached.
N[N] (************* WARNING - MAXIMUM C ANGLE EXCEEDED ****************)
$LET ANGLE_C = ANGLE_C - 360
$ENDIF
$IF ANGLE_C < -MAX_ANGLE_C ''Maximum Angle C has been reached.
N[N] (************* WARNING - MAXIMUM C ANGLE EXCEEDED ****************)
$LET ANGLE_C = ANGLE_C + 360
$ENDIF
$LET OLD_A = ANGLE_C
''
$LET ANGLE_B = -ACOS(TAZ)
$IF ANGLE_B - OLD_B > 180
$LET ANGLE_B = ANGLE_B - 360
$ELSEIF ANGLE_B - OLD_B < -180
$LET ANGLE_B = ANGLE_B + 360
$ENDIF
$IF ANGLE_B > MAX_ANGLE_C
$LET ANGLE_B = ANGLE_B - 360
$ENDIF
$IF ANGLE_B < -MAX_ANGLE_C
$LET ANGLE_B = ANGLE_B + 360
$ENDIF
$LET OLD_B = ANGLE_B
''
N[N] G1 X[AX] Y[AY] C[ANGLE_C] B[ANGLE_B] F[F]
$LL 99
$----------------------------------------------------------- -----------------
$50 Feed CW arc (APS will automatically limit arcs to 180 degrees maximum)
N[N] G2 X[AX] Y[AY] R[R] F[F]
$----------------------------------------------------------- -----------------
$60 Feed CCW arc (APS will automatically limit arcs to 180 degrees maximum)
N[N] G3 X[AX] Y[AY] R[R] F[F]
$------------------------ TOOL CHANGES --------------------------------------
$70 Cancel Tool
$----------------------------------------------------------- -----------------
$75 Code for CLOCKWISE spindle rotation - entered into variable ROT (or RT)
M3
$76 Code for COUNTER-CLOCKWISE spindle rotation - entered into variable ROT (or RT)
M4
$----------------------------------------------------------- -----------------
$80 Select new tool. Use [T] for new tool number, for spindle speed.
$-------------------------- SUBROUTINES ------------------------------------
$90 CALL subroutine. Use [SN] for subroutine number.
N[N] G22 P[SN]
$----------------------------------------------------------- -----------------
$100 BEGIN subroutine. Use [SN] for subroutine number.
N[N] $[SN]
N[N] G0 X[AX] Y[AY]
$----------------------------------------------------------- -----------------
$110 END subroutine
N[N] G0 Z[AZ]
N[N] G99
$------------------- REFERENCE ZERO or ORIGIN SHIFT -------------------------
$120 Origin shift. Use [OX] and [OY] for values to shift by)
N[N] G60 X[OX] Y[OY] 'ORIGIN SHIFT
$----------------------------------------------------------- -----------------
$130 Cancel Origin shift. [OX] and [OY] are values by which origin was shifted)
N[N] G67 'CANCEL ORIGIN SHIFT
$----------------------- MACHINE TOOL COMPENSATION --------------------------
NOTE: Codes given in $140 to $142 are assigned to TC as required for each path
$140 Code to CANCEL Machine Tool Compensation
G40
$141 Code for LEFT Machine Tool Compensation
G41
$142 Code for RIGHT Machine Tool Compensation
G42
$NOTE: Codes above will be automatically assigned to TC.
$------------------------ PIERCE / CUT CYCLES ---------------------------
$400 CANCEL pierce / cut hole cycle
N[N] G80
$----------------------------------------------------------- -----------------
PIERCE cycle - traverse to next hole at SAFE RAPID level [ZS]
$410 First Hole
N[N] G98 G81 X[AX] Y[AY] R[ZR] F[F] ' Hole Diam = [HD]
$411 Next holes
N[N] X[AX] Y[AY]
$----------------------------------------------------------- -----------------
PIERCE cycle - traverse to next hole at RETRACT level [ZR]
$414 First Hole
N[N] G99 G81 X[AX] Y[AY] R[ZR] F[F] ' Hole Diam = [HD]
$415 Next holes
N[N] X[AX] Y[AY]
$----------------------------------------------------------- -----------------
CUT HOLE cycle - traverse to next hole at SAFE RAPID level [ZS]
$420 First Hole
N[N] G98 G82 X[AX] Y[AY] R[ZR] F[F] ' Hole Diam = [HD], Number of Cuts = [NCT]
$421 Next holes
N[N] X[AX] Y[AY]
$----------------------------------------------------------- -----------------
CUT HOLE cycle - traverse to next hole at RETRACT level [ZR]
$424 First Hole
N[N] G99 G82 X[AX] Y[AY] R[ZR] F[F] ' Hole Diam = [HD], Number of Cuts = [NCT]
$425 Next holes
N[N] X[AX] Y[AY]
$----------------------------------------------------------- -----------------
SPIRAL cycle - traverse to next hole at SAFE RAPID level [ZS]
$430 First Hole
SPIRAL CANNED CYCLE NOT AVAILABLE ' Hole Diam = [HD], Width of Cut = [WDC]
$431 Next holes
SPIRAL CANNED CYCLE NOT AVAILABLE
$----------------------------------------------------------- -----------------
SPIRAL cycle - traverse to next hole at RETRACT level [ZR]
$434 First Hole
SPIRAL CANNED CYCLE NOT AVAILABLE ' Hole Diam = [HD], Width of Cut = [WDC]
$435 Next holes
SPIRAL CANNED CYCLE NOT AVAILABLE
$-------------------------- GENERAL FORMATS ---------------------------------
Separate modal values with spaces. More than one letter is OK eg X VX VY
$500 Modal Text (Will not be repeated in following lines)
G0 G1 G2 G3
$502 Modal ABSOLUTE Values (Will not be repeated if the VALUE is the same)
X Y Z A B C F S
$504 Modal INCREMENTAL Values (Will not be put into NC code if VALUE is ZERO)


$510 X Y Z I J K values must have + as well as - signs (1 = yes, 0 = no)
0
$515 Use point <.> as decimal separator (1 = yes, 0 = use comma <,>)
1
$520 Put sub-routines at end of main program (1 = yes, 0 = put at start)
1
$525 Quadrant Limit arcs (1 = yes, 0 = Standard APS 180 degree limit)
0
$526 Output arcs as one move (1 = Yes, 0 = No - split arcs >= 180)
0
$530 Output arcs as straight line segments (1 = yes, 0 = no)
0
$532 If arcs are straight line segments, give chord error (mm or inches)
.1
$540 Suppress Operations List, START and Comments in NC code (1 = yes, 0 = No)
0
$560 4/5 axis Programming point: (1 = pivot, 0 = tool tip)
0
$565 4/5 axis Tool holder length
0
$570 4/5 axis Maximum angle (degrees)
90
$-------------------------- NUMBER FORMATS ----------------------------------
$700 SUBROUTINE Number format
6
$701 Leading figures
0
$702 Figures after point
0
$705 Subroutine start number
1
$----------------------------------------------------------- -----------------
$710 LINE NUMBER format
6
$711 Leading figures
0
$712 Figures after point
0
$715 Line start number
10
$716 Line number increment
10
$----------------------------------------------------------- -----------------
$720 X Y Z values format
2
$721 Leading figures
0
$722 Figures after point
3
$----------------------------------------------------------- -----------------
$730 ARC centre/radius format
2
$731 Leading figures
0
$732 Figures after point
3
$----------------------------------------------------------- -----------------
$740 SPINDLE SPEED format
6
$741 Leading figures
0
$742 Figures after point
0
$743 Maximum Spindle Speed
20000
$----------------------------------------------------------- -----------------
$750 MACHINING FEED format
6
$751 Leading figures
0
$752 Figures after point
0
$753 Maximum Feed Rate (Use mm/min or in/min as appropriate for this Post)
10000
$----------------------------------------------------------- -----------------
$760 TOOL NUMBER format
6
$761 Leading figures
4
$762 Figures after point
0
$---------------------- RAPIDS and TOOL CHANGE TIMES ------------------------
Put MM/min or IN/min after each Rapid Speed
$900 XY Rapid Speed
25000 MM/min
$901 Z Rapid Speed
15000 MM/min
$902 Time to change tool (seconds)
30
$--------------------------- USER VARIABLES ---------------------------------
ALL user variables must be declared. Variable names can be up to 20 chars.
Prompts can be up to 50 chars max and can include a default inside < >.
Put (" ") as format for a text variable. Put ( ) as the format of any numeric
variable which is to have the same format as X Y (Z) moves. If a different
format is required, put (Format, Lead figs, Trail figs) eg (6,0,0) = Integer.


$1000
MAX_ANGLE_C ( ) "Enter Maximum C Angle <450>"
OLD_A ( )
OLD_B ( )
ANGLE_C ( )
ANGLE_B ( )


$------------------------- End of Post (No User Code) ---------------------
 

Sponsor

Articles From 3DCAD World

Back
Top