N10 ( CATEGORY ) (NAME SLOTS) N11 ( TEMPLATE ) (NAME CIRCULAR SLOTS) (DIAGRAM) - PowerPoint PPT Presentation

slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
N10 ( CATEGORY ) (NAME SLOTS) N11 ( TEMPLATE ) (NAME CIRCULAR SLOTS) (DIAGRAM) PowerPoint Presentation
Download Presentation
N10 ( CATEGORY ) (NAME SLOTS) N11 ( TEMPLATE ) (NAME CIRCULAR SLOTS) (DIAGRAM)

play fullscreen
1 / 75
N10 ( CATEGORY ) (NAME SLOTS) N11 ( TEMPLATE ) (NAME CIRCULAR SLOTS) (DIAGRAM)
114 Views
Download Presentation
garrison-munoz
Download Presentation

N10 ( CATEGORY ) (NAME SLOTS) N11 ( TEMPLATE ) (NAME CIRCULAR SLOTS) (DIAGRAM)

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. CUSTOM VQC TEMPLATES N10 (CATEGORY) (NAME SLOTS) N11 (TEMPLATE) (NAME CIRCULAR SLOTS) (DIAGRAM) (DATUM [19,14]) (CIRCLE [19,14] 13) (CIRCLE [19,14] 9) (CCW [17,25][9,20]10) (CW [21,25][29,20]10) (LINE [17,26][17,24]) (LINE [21,26] [21,24]) (CCW [7,16] [8,9]10) (CCW [14,4] [24,4]10) (CW [31,16] [30,9]10) (ARROW [19,20] [19,23]) (ARROW [19,18] [19,15]) (LINE [5,31] [5,24]) (LINE [19,31] [19,28]) (ARROW [11,30] [5,30]) (ARROW [15,30] [19,30]) (END DIAGRAM) (PARAMETERS) (#ToolNo) (NO DECIMAL) (#WrkOfset) (NO DECIMAL) (#IR) (LABEL Inner Radius) (POSITION [15,19]) (#OR) (POSITION [8,30]) (LABEL Outer Radius) (#Slots) (LABEL # of Slots)

  2. SLIDE LEGEND PRESS THREE TIMES TO GET TO THIS PAGE (Continued on next slide) Note: ACTIONS KEYS INSTRUCTIONS INFORMATION OTHERINFORMATION

  3. This presentation will show you how to create a completely new VQC Template. You should review the VQC Templates presentation prior to this one to get a basic understanding of customizing templates. This presentation will use an aid called the “Template Builder”. It is simply a spreadsheet with some grids and code samples to make it a little easier to see how templates are created.

  4. Openthe “Template Builder” andgo tothe“Basic”worksheet.

  5. You will notice that there are some basic shapes and sample code that you can alter when creating a custom template.

  6. Let’s say you want to create a template for finishing the ID of a part like that shown.

  7. First delete the 3linesindicated.They will not be needed.

  8. Click on one ofthe ArcsandthenselectFormat.

  9. Now Select “Auto Shape”

  10. From the menu, Select “Size” Change the“Height and Width” to 200%. You may also have to adjust the height and width to get a arc with a radius of 6 blocks

  11. XDist Repeat this procedure withthe second arc. YDist

  12. XDist Move the two arcs so they are centered above and equidistant from the datum. YDist

  13. XDist Move the vertical line so that it connects the left side of the two arcs. YDist You will need to shorten it a littleto make it fit.

  14. XDist Copy and paste the vertical line. (You can use “Ctl C” for copy and “Ctl V” for paste). YDist You may want to zoom in to see the objects better.

  15. XDist Move the copiedline so that it connects the right side of the two arcs. YDist

  16. XDist Copy and paste this arrow line Move it to the position shown. The size will need to be shortened. YDist Don’t worry if your drawing doesn’t look perfect.

  17. XDist Copy and paste the small horizontal line YDist Move it to the position shown.

  18. XDist Type the word “Radius” in the cell indicated. YDist

  19. XDist Move a small horizontal line to the position indicated. Radius YDist

  20. XDist Move the other small horizontal line to the position indicated. Radius YDist

  21. XDist Move this arrow line to the position shown. The size will need to be shortened. Radius YDist

  22. XDist Now, similarly move the otherarrow line. Radius YDist Then move “YDist” to the cell between the two arrows.

  23. XDist This will probably be enough of a drawing for our part. When we get to the G-code, however, we may discover that we need to add something, so we won’t delete the unused lines just yet. Radius YDist

  24. Nxxxx( CATEGORY) (NAME ---------) Nxxxxx (TEMPLATE) (NAME ----------) (DIAGRAM) (LINE [0,0] [40,0]) (CENTER LINES) (LINE [0,0] [0,37]) (DATUM [16,16]) (LINE [8,31] [30,31]) (CW [30,31] [34,25] 4) (ARROW [36,13] [36,3]) (END DIAGRAM) (PARAMETERS) (#ToolNo) (NO DECIMAL) (#TNR) (#WrkOfset) (NO DECIMAL) (#Radius) (POSITION [17,23]) (#SpdleRpm ) (NO DECIMAL) (#Zdepth) (#YDist) (POSITION [26,17]) (#Feedrate) (END PARAMETERS) XDist In this view, the colors of the segments in the drawing have been matched to the code that applies to each segment. Your next task will be to determine the end points for each segment and create the code. Radius YDist

  25. Nxxxxx (CATEGORY) (NAME ---------) Nxxxxx (TEMPLATE) (NAME ----------) (DIAGRAM) (LINE [0,0] [40,0]) (CENTER LINES) (LINE [0,0] [0,37]) (DATUM [16,16]) (LINE [8,31] [30,31]) (CW [30,31] [34,25] 4) (ARROW [36,13] [36,3]) (END DIAGRAM) (PARAMETERS) (#ToolNo) (NO DECIMAL) (#TNR) (#WrkOfset) (NO DECIMAL) (#Radius) (POSITION [17,23]) (#SpdleRpm ) (NO DECIMAL) (#Zdepth) (#YDist) (POSITION [26,17]) (#Feedrate) (END PARAMETERS) XDist Let’s take a look at the first eight lines of code. These have more to do with format than the picture we will create. Radius YDist You can make line numbers and NAMES whatever you want (within some length restrictions).

  26. NxxxxxN2000 (CATEGORY) (NAME----)(NAME Custom) NxxxxxN2100 (TEMPLATE) (NAME----)(NAME ID w Radius) (DIAGRAM) (LINE [0,0] [40,0]) (CENTER LINES) (LINE[0,0] [0,37]) Change the underlined text to that shown in red, to the right. The text in blue is required and the lines in orange are optional, but help separate templates.

  27. N2000 (CATEGORY) (NAME Custom) N2100 (TEMPLATE) (NAME ID w Radius) (DIAGRAM) (LINE [0,0] [40,0]) (CENTER LINES) (LINE [0,0] [0,37]) (DATUM [16,16]) (LINE [8,31] [30,31]) (CW [30,31] [34,25] 4) (ARROW [36,13] [36,3]) (END DIAGRAM) (PARAMETERS) (#ToolNo) (NO DECIMAL) (#TNR) (#WrkOfset) (NO DECIMAL) (#Radius) (POSITION [17,23]) (#SpdleRpm ) (NO DECIMAL) (#Zdepth) (#YDist) (POSITION [26,17]) (#Feedrate) (END PARAMETERS) XDist Next, look at the location of the datum. Using the numbers along the bottom and right side of the graph, you can see that it’s center is at: 19,17. Radius YDist Change the orangeDATUM code to: [19,17])

  28. N2000 (CATEGORY) (NAME Custom) N2100 (TEMPLATE) (NAME ID w Radius) (DIAGRAM) (LINE [0,0] [40,0]) (CENTER LINES) (LINE [0,0] [0,37]) (DATUM [19,17]) (LINE [8,31] [30,31]) (CW [30,31] [34,25] 4) (ARROW [36,13] [36,3]) (END DIAGRAM) (PARAMETERS) (#ToolNo) (NO DECIMAL) (#TNR) (#WrkOfset) (NO DECIMAL) (#Radius) (POSITION [17,23]) (#SpdleRpm ) (NO DECIMAL) (#Zdepth) (#YDist) (POSITION [26,17]) (#Feedrate) (END PARAMETERS) XDist Similarly, you will need to find the end points for each segment of the template drawing and create the code. Radius YDist Look at this line. You should see that it’s end points are: 13,10 and 13,24.

  29. XDist Radius YDist N2000 (CATEGORY) (NAME Custom) N2100 (TEMPLATE) (NAME ID w Radius) (DIAGRAM) (LINE [0,0] [40,0]) (CENTER LINES) (LINE [0,0] [0,37]) (DATUM [19,17]) (LINE [8,31] [30,31]) (CW [30,31] [34,25] 4) (ARROW [36,13] [36,3]) (END DIAGRAM) (PARAMETERS) (#ToolNo) (NO DECIMAL) (#TNR) (#WrkOfset) (NO DECIMAL) (#Radius) (POSITION [17,23]) (#SpdleRpm ) (NO DECIMAL) (#Zdepth) (#YDist) (POSITION [26,17]) (#Feedrate) (END PARAMETERS) Using these points (13,10 & 13,24) change the blue code for LINE The code should read: (LINE[13,10][13,24]). The parentheses and brackets are important. Each line of code must be enclosed in parentheses. Coordinates are placed within brackets. YDist

  30. N2000 (CATEGORY) (NAME Custom) N2100 (TEMPLATE) (NAME ID w Radius) (DIAGRAM) (LINE [0,0] [40,0]) (CENTER LINES) (LINE [0,0] [0,37]) (DATUM [19,17]) (LINE [13,10] [13,24]) (CW [30,31] [34,25] 4) (ARROW [36,13] [36,3]) (END DIAGRAM) (PARAMETERS) (#ToolNo) (NO DECIMAL) (#TNR) (#WrkOfset) (NO DECIMAL) (#Radius) (POSITION [17,23]) (#SpdleRpm ) (NO DECIMAL) (#Zdepth) (#YDist) (POSITION [26,17]) (#Feedrate) (END PARAMETERS) XDist Radius YDist Now create the code for the second line. You should have found that it’s end points are:25,10 and 25,24. Notice that the Y coordinates are the same as the previous line. Copy the code for the first line but change theX coordinates

  31. N2000 (CATEGORY) (NAME Custom) N2100 (TEMPLATE) (NAME ID w Radius) (DIAGRAM) (LINE [0,0] [40,0]) (CENTER LINES) (LINE [0,0] [0,37]) (DATUM [19,17]) (LINE [13,10] [13,24]) (LINE [25,10] [25,24]) (CW [30,31] [34,25] 4) (ARROW [36,13] [36,3]) (END DIAGRAM) (PARAMETERS) (#ToolNo) (NO DECIMAL) (#TNR) (#WrkOfset) (NO DECIMAL) (#Radius) (POSITION [17,23]) (#SpdleRpm ) (NO DECIMAL) (#Zdepth) (#YDist) (POSITION [26,17]) (#Feedrate) (END PARAMETERS) XDist Radius YDist Now let’s do the arcs. For an arc you need to define a radius as well as end points. What is the radius and end points for the top arc? End Points: 13,24 and 25,24 You should note that theses are the same as the endpoints of the two lines. Radius: 6

  32. N2000 (CATEGORY) (NAME Custom) N2100 (TEMPLATE) (NAME ID w Radius) (DIAGRAM) (LINE [0,0] [40,0]) (CENTER LINES) (LINE [0,0] [0,37]) (DATUM [19,17]) (LINE [13,10] [13,24]) (LINE [25,10] [25,24]) (CW [30,31] [34,25] 4) (ARROW [36,13] [36,3]) (END DIAGRAM) (PARAMETERS) (#ToolNo) (NO DECIMAL) (#TNR) (#WrkOfset) (NO DECIMAL) (#Radius) (POSITION [17,23]) (#SpdleRpm ) (NO DECIMAL) (#Zdepth) (#YDist) (POSITION [26,17]) (#Feedrate) (END PARAMETERS) XDist Radius YDist Change the green code for arc (CW) to match the coordinates and radius. You should have (CW[13,24] [25,24]). This direction (CW) has nothing to do with the actual tool movement. It is simply the direction from the first point to the second point.

  33. N2000 (CATEGORY) (NAME Custom) N2100 (TEMPLATE) (NAME ID w Radius) (DIAGRAM) (LINE [0,0] [40,0]) (CENTER LINES) (LINE [0,0] [0,37]) (DATUM [19,17]) (LINE [13,10] [13,24]) (LINE [25,10] [25,24]) (CW [13,24][25,24) (ARROW [36,13] [36,3]) (END DIAGRAM) (PARAMETERS) (#ToolNo) (NO DECIMAL) (#TNR) (#WrkOfset) (NO DECIMAL) (#Radius) (POSITION [17,23]) (#SpdleRpm ) (NO DECIMAL) (#Zdepth) (#YDist) (POSITION [26,17]) (#Feedrate) (END PARAMETERS) XDist Radius YDist Looking at the other arc we see that it’s end points are: 13,10 and 25,10 (the beginning points of the two lines). Therefore we need the following line of code: (CW[25,10][13,10]). Or (CCW[13,10][25,10]). Enter the code (CW[25,10][13,10]) after the other arc.

  34. N2000 (CATEGORY) (NAME Custom) N2100 (TEMPLATE) (NAME ID w Radius) (DIAGRAM) (LINE [0,0] [40,0]) (CENTER LINES) (LINE [0,0] [0,37]) (DATUM [19,17]) (LINE [13,10] [13,24]) (LINE [25,10] [25,24]) (CW [13,24][25,24) (CW [13,10][25,10) (ARROW [36,13] [36,3]) (END DIAGRAM) (PARAMETERS) (#ToolNo) (NO DECIMAL) (#TNR) (#WrkOfset) (NO DECIMAL) (#Radius) (POSITION [17,23]) (#SpdleRpm ) (NO DECIMAL) (#Zdepth) (#YDist) (POSITION [26,17]) (#Feedrate) (END PARAMETERS) XDist Radius YDist Next let’s work on the arrows. They are similar to lines in that you need a start and end point, however it is more important which point you list first. The arrowhead will be at the second point. The coordinates for each of the three arrows are shown at the right. [19,24] [19,30] [27,17] [27,24] [27,16] [27,10]

  35. N2000 (CATEGORY) (NAME Custom) N2100 (TEMPLATE) (NAME ID w Radius) (DIAGRAM) (LINE [0,0] [40,0]) (CENTER LINES) (LINE [0,0] [0,37]) (DATUM [19,17]) (LINE [13,10] [13,24]) (LINE [25,10] [25,24]) (CW [13,24][25,24) (CW [13,10][25,10) (ARROW [36,13] [36,3]) (END DIAGRAM) (PARAMETERS) (#ToolNo) (NO DECIMAL) (#TNR) (#WrkOfset) (NO DECIMAL) (#Radius) (POSITION [17,23]) (#SpdleRpm ) (NO DECIMAL) (#Zdepth) (#YDist) (POSITION [26,17]) (#Feedrate) (END PARAMETERS) N2000 (CATEGORY) (NAME Custom) N2100 (TEMPLATE) (NAME ID w Radius) (DIAGRAM) (LINE [0,0] [40,0]) (CENTER LINES) (LINE [0,0] [0,37]) (DATUM [19,17]) (LINE [13,10] [13,24]) (LINE [25,10] [25,24]) (CW [13,24][25,24) (CW [13,10][25,10) (ARROW [36,13] [36,3]) (END DIAGRAM) (PARAMETERS) (#ToolNo) (NO DECIMAL) (#TNR) (#WrkOfset) (NO DECIMAL) (#Radius) (POSITION [17,23]) (#SpdleRpm ) (NO DECIMAL) (#Zdepth) (#YDist) (POSITION [26,17]) (#Feedrate) (END PARAMETERS) XDist XDist Radius Radius YDist YDist Create three lines of code similar to the red code for the three arrows. (ARROW[19,24][19,30]) (ARROW[27,17][27,24]) (ARROW[27,16][27,10])

  36. N2000 (CATEGORY) (NAME Custom) N2100 (TEMPLATE) (NAME ID w Radius) (DIAGRAM) (LINE [0,0] [40,0]) (CENTER LINES) (LINE [0,0] [0,37]) (DATUM [19,17]) (LINE [13,10] [13,24]) (LINE [25,10] [25,24]) (CW [13,24][25,24) (CW [13,10][25,10) (ARROW [19,24] [19,30]) (ARROW [27,17] [27,24]) (ARROW [27,16] [27,10]) (END DIAGRAM) (PARAMETERS) (#ToolNo) (NO DECIMAL) (#TNR) (#WrkOfset) (NO DECIMAL) (#Radius) (POSITION [17,23]) (#SpdleRpm ) (NO DECIMAL) (#Zdepth) (#YDist) (POSITION [26,17]) (#Feedrate) XDist Radius YDist Now add the code for the small lines at the end of the arrows. Their end points are: 18,24/20,24 26,24 / 28,24 and 26,10 / 28,10. The code is shown on the next slide.

  37. N2000 (CATEGORY) (NAME Custom) N2100 (TEMPLATE) (NAME ID w Radius) (DIAGRAM) (LINE [0,0] [40,0]) (CENTER LINES) (LINE [0,0] [0,37]) (DATUM [19,17]) (LINE [13,10] [13,24]) (LINE [25,10] [25,24]) (CW [13,24][25,24) (CW [13,10][25,10) (ARROW [19,24] [19,30]) (ARROW [27,17] [27,24]) (ARROW [27,16] [27,10]) (END DIAGRAM) (PARAMETERS) (#ToolNo) (NO DECIMAL) (#TNR) (#WrkOfset) (NO DECIMAL) (#Radius) (POSITION [17,23]) (#SpdleRpm ) (NO DECIMAL) (#Zdepth) (#YDist) (POSITION [26,17]) (#Feedrate) XDist Radius YDist This completes the code for the DIAGRAM section. The text (Radius, and Ydist) in this diagram will be placed in the PARAMETER section, which we will cover next. G54 If you wanted to enter some other text in the diagram, you would use a PRINT statement and give the coordinates for where you want the text to begin. For example: (PRINT[18,15] G54)

  38. (PARAMETERS) (#ToolNo) (NO DECIMAL) (#WrkOfset) (NO DECIMAL) (#XPos) (#YPos) (#SpdleRpm ) (NO DECIMAL) (#DpthCut) (#YDist) (POSITION [35,16]) (#Feedrate) (END PARAMETERS) Here is the sample code for the PARAMETER section. The lines indicated are pretty standard and will not need to be modified for this example. You could however, have some standard numbers for Tool Number, Work Offset, Rpm, or Feedrate instead of requiring the operator to input these.

  39. (PARAMETERS) (#ToolNo) (NO DECIMAL) (#WrkOfset) (NO DECIMAL) (#XPos) (#YPos) (#SpdleRpm ) (NO DECIMAL) (#DpthCut) (#YDist) (POSITION [35,16]) (#Feedrate) (END PARAMETERS) We won’t need the operator to input an X or Y position, so you can deletethose lines.

  40. (PARAMETERS) (#ToolNo) (NO DECIMAL) (#WrkOfset) (NO DECIMAL) (#SpdleRpm ) (NO DECIMAL) (#DpthCut) (#YDist) (POSITION [35,16]) (#Feedrate) (END PARAMETERS) To make the required input clearer, you should change “DpthCut” to“Zdepth”. You will also need to change thecoordinatesorPOSITION of “YDist”.

  41. XDist Radius YDist (PARAMETERS) (#ToolNo) (NO DECIMAL) (#WrkOfset) (NO DECIMAL) (#SpdleRpm ) (NO DECIMAL) (#Zdepth) (#YDist) (POSITION [35,16]) (#Feedrate) (END PARAMETERS) On the graph, you can see that “YDist” starts at location 26,17. This is what you will need to put in the POSITION line. Note: There must be a space between “POSITION” and the bracket.

  42. (PARAMETERS) (#ToolNo) (NO DECIMAL) (#WrkOfset) (NO DECIMAL) (#SpdleRpm ) (NO DECIMAL) (#DpthCut) (#YDist) (POSITION [26,17]) (#Feedrate) (END PARAMETERS) Another piece of information we need the operator to input is the radius of the arcs. So, you will need to add a PARAMETER for “Radius”.

  43. XDist Radius YDist (PARAMETERS) (#ToolNo) (NO DECIMAL) (#WrkOfset) (NO DECIMAL) (#Radius) (#SpdleRpm ) (NO DECIMAL) (#Zdepth) (#YDist) (POSITION [26,17]) (#Feedrate) (END PARAMETERS) Also, since “Radius” shows on the template, you also will need to add a “POSITION” statement. The coordinates for “Radius” are 17,23. (#Radius) (POSITION[18,23]) (POSITION [17,23])

  44. G17 G40 G49 G64 G80 G98 T1 M06 G90 G54 G00 X0. Y0. S1500 M03 G43 H1 Z1. M08 G01 Z0.1 F25. Z-0.5 G41 X1.5 X2. Y0 Y2. G03 X-2.0 R2. G01 Y-2. G03 X2. R2. G01 Y0 G40 X1.5 Y1. G00 Z1. M09 G28 G91 Y0 Z0 M05 M30 At this point, you may want to create a program to make the cut for the part (if you don’t already have one). Here is an example of how we might write the code for this part.

  45. G17 G40 G49 G64 G80 G98 T1 M06 G90 G54 G00X0. Y0. S1500 M03 G43 H1 Z1.M08 Z0.1 G01 Z-0.5 F25. G41 X1.5 X2. Y0 Y2. G03 X-2.0 R2. G01 Y-2. G03 X2. R2. G01Y0 G40 X1.5 Y1. G00Z1. M09 G28 G91 Y0 Z0 M05 M30 You now have to determine what information the operator will provide and what you will need to calculate. The underlined codes at the right will not vary so we will not need variables for these.

  46. G17 G40 G49 G64 G80 G98 T1M06 G90 G54 G00X0. Y0. S1500 M03 G43 H1 Z1.M08 Z0.1 G01 Z-0.5 F25. G41 X1.5 X2. Y0 Y2. G03 X-2.0 R2. G01 Y-2. G03 X2. R2. G01Y0 G40 X1.5 Y1. G00Z1. M09 G28 G91 Y0 Z0 M05 M30 (PARAMETERS) (#ToolNo) (NO DECIMAL) (#WrkOfset) (NO DECIMAL) (#Radius) (POSITION[18,23]) (#SpdleRpm ) (NO DECIMAL) (#Zdepth) (#YDist) (POSITION [26,17]) (#Feedrate) (END PARAMETERS) Comparethe codeto your list of PARAMETERS. We first see that the operator will need to input a tool number represented by the variable “#ToolNo”. Changethe code“T1” to “T#ToolNo”. The statement “NO DECIMAL” indicates that the operator’s input for #ToolNo will be interpreted as a whole integer.

  47. G17 G40 G49 G64 G80 G98 T#ToolNoM06 G90G54G00X0. Y0. S1500 M03 G43 H1 Z1.M08 Z0.1 G01 Z-0.5 F25. G41 X1.5 X2. Y0 Y2. G03 X-2.0 R2. G01 Y-2. G03 X2. R2. G01Y0 G40 X1.5 Y1. G00Z1. M09 G28 G91 Y0 Z0 M05 M30 (PARAMETERS) (#ToolNo) (NO DECIMAL) (#WrkOfset) (NO DECIMAL) (#Radius) (POSITION[18,23]) (#SpdleRpm ) (NO DECIMAL) (#Zdepth) (#YDist) (POSITION [26,17]) (#Feedrate) (END PARAMETERS) Next, we see the operator will input a work offset. represented by the variable “#WrkOfset”. Changethe code“G54” to “G#WrkOfset”.

  48. G17 G40 G49 G64 G80 G98 T#ToolNoM06 G90G#WrkOfsetG00X0. Y0. S1500M03 G43 H1 Z1.M08 Z0.1 G01 Z-0.5 F25. G41 X1.5 X2. Y0 Y2. G03 X-2.0 R2. G01 Y-2. G03 X2. R2. G01Y0 G40 X1.5 Y1. G00Z1. M09 G28 G91 Y0 Z0 M05 M30 (PARAMETERS) (#ToolNo) (NO DECIMAL) (#WrkOfset) (NO DECIMAL) (#Radius) (POSITION[18,23]) (#SpdleRpm ) (NO DECIMAL) (#Zdepth) (#YDist) (POSITION [26,17]) (#Feedrate) (END PARAMETERS) The next line of code shows a Spindle Speed. This is also input by the operator as “#SpdleRpm”. Changethe code“S1500” to “S#SpdleRpm”.

  49. G17 G40 G49 G64 G80 G98 T#ToolNoM06 G90G#WrkOfsetG00X0. Y0. S#SpdleRpmM03 G43H1Z1.M08 Z0.1 G01 Z-0.5 F25. G41 X1.5 X2. Y0 Y2. G03 X-2.0 R2. G01 Y-2. G03 X2. R2. G01Y0 G40 X1.5 Y1. G00Z1. M09 G28 G91 Y0 Z0 M05 M30 (PARAMETERS) (#ToolNo) (NO DECIMAL) (#WrkOfset) (NO DECIMAL) (#Radius) (POSITION[18,23]) (#SpdleRpm ) (NO DECIMAL) (#Zdepth) (#YDist) (POSITION [26,17]) (#Feedrate) (END PARAMETERS) Tool Length Compensation(H1) can be represented by the same variable as the tool number. Changethe code“H1” to “H#ToolNo”.