n10 ( category ) (name slots) n11 ( template ) (name circular slots) (diagram)

75

Upload: venus

Post on 05-Jan-2016

39 views

Category:

Documents


1 download

DESCRIPTION

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) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)
Page 2: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

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)

CUSTOM VQC TEMPLATES

Page 3: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

PRESS

THREE TIMES TO GET TOTHIS PAGE

(Continued onnext slide)

Note:

SLIDE LEGEND

ACTIONS

INSTRUCTIONS

KEYS

INFORMATION

OTHER INFORMATION

Page 4: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

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.

Page 5: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

Open the

“Template Builder” and go to the “Basic” worksheet.

Page 6: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

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

Page 7: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

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

shown.

Page 8: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

First delete the 3 lines indicated. They will not be

needed.

Page 9: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

Click on one of the Arcs and then

select Format.

Page 10: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

Now Select

“Auto Shape”

Page 11: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

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

Page 12: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

Repeat this procedure with the second arc.

YDist

XDist

Page 13: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

Move the two arcs so they are

centered above and equidistant from the datum.

YDist

XDist

Page 14: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

Move the vertical line so that it

connects the left side of the two

arcs.YDist

XDist

You will need to

shorten it a little to make it fit.

Page 15: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

Copy and paste the vertical line.

(You can use “Ctl C” for copy and

“Ctl V” for paste).YDist

XDist

You may want to zoom in to see

the objects better.

Page 16: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

Move the copied line so that it

connects the right side of the two

arcs. YDist

XDist

Page 17: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

YDist

XDist

Don’t worry if your drawing doesn’t look

perfect.

Copy and paste this arrow line

Move it to the position shown.

The size will need to be shortened.

Page 18: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

YDist

XDist

Copy and paste the small

horizontal line

Move it to the position shown.

Page 19: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

YDist

XDist

Type the word “Radius” in the cell indicated.

Page 20: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

YDist

XDist

Move a small horizontal line to

the position indicated.

Radius

Page 21: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

YDist

XDist

Move the other small horizontal

line to the position indicated.

Radius

Page 22: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

YDist

XDist

Move this arrow line to the

position shown. The size will need to be shortened.

Radius

Page 23: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

YDist

XDist

Now, similarly move the other

arrow line.

Radius

Then move “YDist” to the cell between the two

arrows.

Page 24: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

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.

XDist

YDist

Radius

Page 25: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

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.

XDist

YDist

Radius

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)

Page 26: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

You can make line numbers and NAMES whatever you want (within

some length restrictions).

XDist

YDist

Radius

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)

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.

Page 27: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

Nxxxxx N2000

(CATEGORY)

(NAME----) (NAME Custom)

Nxxxxx N2100

(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.

Page 28: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

XDist

YDist

Radius

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)

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.

Change the orange DATUM code to: [19,17])

Page 29: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

XDist

YDist

Radius

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)

Look at this line. You should see

that it’s end points are: 13,10

and 13,24.

Similarly, you will need to find the end points

for each segment of the

template drawing and create the

code.

Page 30: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

YDist

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.

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)

Page 31: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

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 the X coordinates

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 [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)

Page 32: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

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

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 [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)

Page 33: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

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.

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 [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)

Page 34: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

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.

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 [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)

Page 35: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

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.

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 [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)

[27,16] [27,10]

[19,24] [19,30]

[27,17] [27,24]

Page 36: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

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])

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 [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

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)

Page 37: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

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.

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 [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)

Page 38: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

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.

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 [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)

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)

G54

Page 39: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

(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.

Page 40: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

We won’t need the operator to input

an X or Y position, so you can delete

those lines.

(PARAMETERS)

(#ToolNo) (NO DECIMAL) (#WrkOfset) (NO DECIMAL) (#XPos) (#YPos) (#SpdleRpm ) (NO DECIMAL) (#DpthCut) (#YDist) (POSITION [35,16]) (#Feedrate)

(END PARAMETERS)

Page 41: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

To make the required input

clearer, you should change “DpthCut” to

“Zdepth”.

(PARAMETERS)

(#ToolNo) (NO DECIMAL) (#WrkOfset) (NO DECIMAL)

(#SpdleRpm ) (NO DECIMAL) (#DpthCut) (#YDist) (POSITION [35,16]) (#Feedrate)

(END PARAMETERS)

You will also need to change the coordinates or POSITION of

“YDist”.

Page 42: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

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.

XDist

Radius

YDist

(PARAMETERS)

(#ToolNo) (NO DECIMAL) (#WrkOfset) (NO DECIMAL)

(#SpdleRpm ) (NO DECIMAL) (#Zdepth) (#YDist) (POSITION [35,16]) (#Feedrate)

(END PARAMETERS)

Page 43: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

(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”.

Page 44: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

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])

XDist

Radius

YDist

(PARAMETERS)

(#ToolNo) (NO DECIMAL) (#WrkOfset) (NO DECIMAL) (#Radius)

(#SpdleRpm ) (NO DECIMAL) (#Zdepth) (#YDist) (POSITION [26,17]) (#Feedrate)

(END PARAMETERS)

(POSITION [17,23])

Page 45: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

G17 G40 G49 G64 G80 G98 T1 M06 G90 G54 G00 X0. Y0. S1500 M03 G43 H1 Z1. M08G01 Z0.1 F25.Z-0.5 G41 X1.5 X2. Y0Y2.G03 X-2.0 R2.G01 Y-2. G03 X2. R2.G01 Y0G40 X1.5 Y1. G00 Z1. M09G28 G91 Y0 Z0 M05M30

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.

Page 46: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

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.

G17 G40 G49 G64 G80 G98

T1 M06

G90 G54 G00 X0. 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.

G01 Y0

G40 X1.5 Y1.

G00 Z1. M09

G28 G91 Y0 Z0 M05

M30

Page 47: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

G17 G40 G49 G64 G80 G98

T1 M06

G90 G54 G00 X0. 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.

G01 Y0

G40 X1.5 Y1.

G00 Z1. 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)

Compare the code to your list of

PARAMETERS. We first see that the operator will need to input a

tool number represented by

the variable “#ToolNo”.

Change the code “T1” to

“T#ToolNo”. The statement “NO DECIMAL” indicates that the operator’s input for #ToolNo will be interpreted as a whole integer.

Page 48: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

G17 G40 G49 G64 G80 G98

T#ToolNo M06

G90 G54 G00 X0. 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.

G01 Y0

G40 X1.5 Y1.

G00 Z1. 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”.

Change the code “G54” to

“G#WrkOfset”.

Page 49: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

G17 G40 G49 G64 G80 G98

T#ToolNo M06

G90 G#WrkOfset G00 X0. 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.

G01 Y0

G40 X1.5 Y1.

G00 Z1. 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”.

Change the code “S1500” to

“S#SpdleRpm”.

Page 50: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

G17 G40 G49 G64 G80 G98

T#ToolNo M06

G90 G#WrkOfset G00 X0. Y0.

S#SpdleRpm 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.

G01 Y0

G40 X1.5 Y1.

G00 Z1. 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. Change the code “H1” to

“H#ToolNo”.

Page 51: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

G17 G40 G49 G64 G80 G98

T#ToolNo M06

G90 G#WrkOfset G00 X0. Y0.

S#SpdleRpm M03

G43 H#ToolNo 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.

G01 Y0.

G40 X1.5 Y1.

G00 Z1. 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)

There is also a feed rate and a

depth of cut that the operator will

input, represented by the variables “#Feedrate” and

“Zdepth”.

Change the code “Z-0.5” to

“Z#Zdepth” and

“F25.” to “F#Feedrate”.

Page 52: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

G17 G40 G49 G64 G80 G98

T#ToolNo M06

G90 G#WrkOfset G00 X0. Y0.

S#SpdleRpm M03

G43 H#ToolNo Z1. M08

Z0.1

G01 Z#Zdepth F#Feedrate

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

Positioning commands may be a

little more complicated. Let’s

say for the first move in X, for Cutter Compensation, we want to feed to a

distance of the tool nose radius plus 0.1 from the side of the part. This could be

represented by X(#Radius-#TNR-0.1). However, we

have not yet defined #TNR.

TNR+0.1

Page 53: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

G17 G40 G49 G64 G80 G98

T#ToolNo M06

G90 G#WrkOfset G00 X0. Y0.

S#SpdleRpm M03

G43 H#ToolNo Z1. M08

Z0.1

G01 Z#Zdepth F#Feedrate

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

Add “#TNR” to the PARAMETER

section.

(PARAMETERS)

(#ToolNo) (NO DECIMAL) (#TNR)(#WrkOfset) (NO DECIMAL) (#Radius)(POSITION[18,23]) (#SpdleRpm ) (NO DECIMAL) (#Zdepth) (#YDist) (POSITION [26,17]) (#Feedrate)

(END PARAMETERS)

Change “X1.5” in the code section

to “X(#Radius-#TNR-0.1)”.

Page 54: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

G17 G40 G49 G64 G80 G98

T#ToolNo M06

G90 G#WrkOfset G00 X0. Y0.

S#SpdleRpm M03

G43 H#ToolNo Z1. M08

Z0.1

G01 Z#Zdepth F#Feedrate

G41 X[#Radius-#TNR-0.1]

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

In the next line, we want to move over to a distance of the arc radius

(#Radius) from the origin.

Change “X2.” in the code section to “X#Radius”.

Page 55: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

G17 G40 G49 G64 G80 G98

T#ToolNo M06

G90 G#WrkOfset G00 X0. Y0.

S#SpdleRpm M03

G43 H#ToolNo Z1. M08

Z0.1

G01 Z#Zdepth F#Feedrate

G41 X[#Radius-#TNR-0.1]

X#Radius 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

In the next line, we want to move

up in Y to the start point of the arc.

We are having the operator input the distance between

the two arcs as “YDist” so this position can be

represented as Y(#YDist/2).

Change “Y2.” in the code section to “Y(#YDist/2)”.

Page 56: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

G17 G40 G49 G64 G80 G98

T#ToolNo M06

G90 G#WrkOfset G00 X0. Y0.

S#SpdleRpm M03

G43 H#ToolNo Z1. M08

Z0.1

G01 Z#Zdepth F#Feedrate

G41 X[#Radius-#TNR-0.1]

X#Radius Y0.

Y[#YDist/2]

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

In the next line, we want to move

over in X the radius value from

the origin. The radius (R value) of the arc is #Radius.

Change “X-2.0.” to “X-#Radius” and

the “R2.” to “R#Radius”.

Page 57: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

G17 G40 G49 G64 G80 G98

T#ToolNo M06

G90 G#WrkOfset G00 X0. Y0.

S#SpdleRpm M03

G43 H#ToolNo Z1. M08

Z0.1

G01 Z#Zdepth F#Feedrate

G41 X[#Radius-#TNR-0.1]

X#Radius Y0.

Y[#YDist/2]

G03 X-#Radius R#Radius

G01 Y-2.

G03 X2. R2.

G01 Y0.

G40 X1.5 Y1.

G00 Z1. M09

G28 G91 Y0 Z0 M05.

M30

The next move is down the “YDist”.

Change “Y-2.” to “Y(-#YDist/2)”.

Page 58: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

G17 G40 G49 G64 G80 G98

T#ToolNo M06

G90 G#WrkOfset G00 X0. Y0.

S#SpdleRpm M03

G43 H#ToolNo Z1. M08

Z0.1

G01 Z#Zdepth F#Feedrate

G41 X[#Radius-#TNR-0.1]

X#Radius Y0.

Y[#YDist/2]

G03 X-#Radius R#Radius

G01 Y[-#YDist/2]

G03 X2. R2.

G01 Y0.

G40 X1.5 Y1.

G00 Z1. M09

G28 G91 Y0 Z0 M05.

M30

For the next G03 move change the

“X2.” to “X#Radius” and

the “R2.” to “R#Radius”.

Page 59: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

G17 G40 G49 G64 G80 G98

T#ToolNo M06

G90 G#WrkOfset G00 X0. Y0.

S#SpdleRpm M03

G43 H#ToolNo Z1. M08

Z0.1

G01 Z#Zdepth F#Feedrate

G41 X[#Radius-#TNR-0.1]

X#Radius Y0.

Y[#YDist/2]

G03 X-#Radius R#Radius

G01 Y[-#YDist/2]

G03 X#Radius R#Radius

G01 Y0.

G40 X1.5 Y1.

G00 Z1. M09

G28 G91 Y0 Z0 M05.

M30

On the next line the tool moves

back to Y0. Then we turn Cutter Comp off. To

define this move, Change the “X1.5”

to “X#Radius-#TNR-0.1)” and

the “Y1.” to “Y(#YDist/2)”.

Page 60: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

G17 G40 G49 G64 G80 G98

T#ToolNo M06

G90 G#WrkOfset G00 X0. Y0.

S#SpdleRpm M03

G43 H#ToolNo Z1. M08

Z0.1

G01 Z#Zdepth F#Feedrate

G41 X[#Radius-#TNR-0.1]

X#Radius Y0.

Y[#YDist/2]

G03 X-#Radius R#Radius

G01 Y[-#YDist/2]

G03 X#Radius R#Radius

G01 Y0.

G40 X[#Radius-#TNR-0.1] Y[#YDist/2]

G00 Z1. M09

G28 G91 Y0 Z0 M05.

M30

This completes the CODE section.

Copy the code into the created

Template Builder section you have been working on. You will need to make sure that

every line is enclosed in

parentheses.

Page 61: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

%O09997N2000(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] 6) (CW [25,10] [13,10] 6) (ARROW [19,24] [19,29]) (ARROW [27,19] [27,24]) (ARROW [27,16] [27,10]) (LINE [18,24][20,24]) (LINE [26,24] [28,24]) (LINE [26,12] [28,12]) (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) (GCODE) (G17 G40 G49 G64 G80 G98)(T#ToolNo M06)(G90 G#WrkOfset G00 X0. Y0.)(S#SpdleRpm M03)(G43 H#ToolNo Z1. M08) (Z0.1)(G01 Z#Zdepth F#Feedrate)(G41 X[#Radius-#TNR-0.1]) (X#Radius Y0.)(Y[#YDist/2])(G03 X-#Radius R#Radius)(G01 Y[-#YDist/2])(G03 X#Radius R#Radius)(G01 Y0.)(G40 X[#Radius-#TNR-0.1] Y[#YDist/2])(G00 Z1. M09)(G28 G91 Y0 Z0 M05)(M30)(END GCODE) (END TEMPLATE) (END CATEGORY) %

Add percent signs at the top and

bottom of the file and add a program

number.

Page 62: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

VQC for PC

Test your program using the Template Checker in VQC for

PC.

Page 63: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

Select the Program dropdown and then

select VQC Template Checker.

Page 64: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

You can enter the name of your file

in the “TEMPLATE

NAME” block or press F3 for a

directory.

Press <F3>.

Template Checker

Page 65: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

Scroll through the directory and

find your file name.

Press <Enter> to select the file.

Page 66: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

The file will now appear in the

block for “TEMPLATE

NAME”. Press <Enter> to run the Checker.

N2000.TXT

Page 67: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

If there is an error, it will show what the error is

and the line number where it is located. It will not show all the errors at once.

Make corrections with a text editor (there is a menu selection for one

in the VQC for PC) and run the checker again.

Before you run the checker again on an edited file, make sure you have closed the file in the text editor.

Page 68: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

If everything is O.K. you will

get this message. Close the

window by pressing

<ESC> and return to the

basic program.

Page 69: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

Press <F2> to select your new template. Arrow down until you

find it and press <Enter>.

N2000.txt

Page 70: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

You should see your template name on the

right.

Press <Enter>

Page 71: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

You should see the template

diagram in the left corner and the name at the

bottom right.

Press <Enter>

Page 72: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

Look at the template diagram

and make sure everything looks right. If you need

to make adjustments (like the length of the arrow) make the corrections in a text editor and

run the template again.

Page 73: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

Once you are satisfied with

how the template looks, enter some

data and check the program

output. Then try it out on a Control in

Graphics Mode.

Page 74: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

Instead of using the “Template Builder”, you could just draw a sketch on some graph paper, or use a drawing or CAD

program. Making the drawing on a graph will help you to plot the points. You could

then use the sample program in this presentation or the Manual to help you

construct the necessary code.

Page 75: N10 ( CATEGORY )  (NAME SLOTS) N11 ( TEMPLATE )  (NAME CIRCULAR SLOTS)  (DIAGRAM)

Prepared by Haas AutomationTraining DepartmentOxnard, CA 93030