Pirate 4x4 banner

1 - 20 of 29 Posts

·
I build stuff
Joined
·
24,247 Posts
Discussion Starter #1 (Edited)
I did some searching. Kinda hard since CNC is too short. Tried machine shop software, milling. Stuff like that.

Anyway lets talk CNC Software.
What have you used.
How hard/easy is it to use.
What would you not recomend.
Does any operating system work better then any other.
Is it possible to practice using the software without actually making a part.
Does it make any difference what type of hardware/machinetool you use for the type of software.
Whats G Code.
What are DXF files.
Or for what I want do I need to use CAD software to draw the part and then get that converted to code?
Help :D
 

·
Nose to grindstone
Joined
·
8,178 Posts
What have you used. autocad, virtual gibbs, mastercam, pro engineering, surfcam, bobcad
How hard/easy is it to use. bobcad is the easiest to use and the fastest to learn
What would you not recomend. any program out of your means and finances.
Does any operating system work better then any other. yes autocad, gibbs, pro E and surfcam all have very nice features like part modeling and pre-machining. Bobcad is the fastest program for 2d parts ive ever seen or used
Is it possible to practice using the software without actually making a part. yes some programs will simulate a endill cutting out parts
Does it make any difference what type of hardware/machinetool you use for the type of software. depending on what codes it take for tool changes, coolant on/off and general cycle coding
Whats G Code. G-code is a slang for fanuc, (fanuc is a japanese code invented years ago for machine language)
What are DXF files. DXF is a file that contains drawing info and exact co-ordinates for lines, arc ect
Or for what I want do I need to use CAD software to draw the part and then get that converted to code.. you need a CAM with the software. cad (computer aided drawing) cam (computer aided machining)
 

·
Nose to grindstone
Joined
·
8,178 Posts
Fanuc by Fujitsu

BACKGROUND OF THE INVENTION
This invention relates to a numerical control system, and more
particularly, to a numerical control system that permits the execution
of a variety of special processes suited to the user's needs without
requiring modifications in the software for the numerical control
device.
A numerical control device is adapted to execute numerical control
processing on the basis of a command program acquired from a paper
tape or the like, a machine tool being actuated in accordance with the
processing results so as to machine a workpiece in the manner
specified by the program.
The conventional command program is composed of move commands, speed
commands, miscellaneous function instructions that constrain a machine
tool to perform prescribed operations, S-function instructions
instructive of spindle speed, T-function instructions that command a
tool change, preparatory function instructions and the like.
Instructions for the execution of prescribed processes based on the
status of the machine tool or numerical control device (hereinafter
called NC) cannot be inserted into the command program with the
conventional systems. Until now this inability to perform such
processing has not caused any major inconvenience in the execution of
ordinary numerical control but, as the demand for NC's of improved
performance grows, so will the requirement for functions that allow
processing in accordance with machine tool and NC conditions to be
achieved by means of a command from the command program.
A numerical control device is a computer that includes a central
processing unit (CPU), a control program memory and a data memory, and
is adapted to control a machine tool on the basis of both a control
program and a command program which the CPU obeys in executing the
predetermined numerical control processing. The software for the
computer numerical control device (hereinafter called CNC) of this
type is created so as to make possible standardized control of machine
tools. There are occasions, however, where specialized machine tool
control is required for certain machines or in order to meet certain
customer requirements even when identical machines are employed. In
such instances it is conventional practice to modify the CNC software
for the particular case to enable the execution of control in
accordance with the specific specifications. In other words, it has
been necessary for the NC manufacturer to modify the NC software in
order to satisfy the particular machine tool control requirements.
This has necessitated an exorbitant amount of time and labor and an
increase in labor costs.
SUMMARY OF THE INVENTION
Accordingly, it is an object of the present invention to provide a
low-cost CNC that does not require any modification of the CNC
software even ifing from the machine tool and clock times, control for
the transmission of output signals to the machine tool and control for
the suppression of single block stop, as well as the control of
operator message displays, the execution of these control operations
conforming to the processing desired by the user without necessitating
any modification of the CNC software.
Still another object of the present invention is to provide a
numerical control system that makes it possible to improve CNC
performance.
Other features and advantages of the invention will be apparent from
the following description taken in connection with the accompanying
drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of a numerical control device according to
the prior art;
FIG. 2 is a block diagram of a numerical control device according to
the present invention;
FIG. 3 is a block diagram which is useful in describing a command
program;
FIG. 4 is a block diagram which is useful in describing storage areas
in a variable memory;
FIG. 5 is a diagram showing input/output data bit configuration;
FIG. 6 is a block diagram which is useful in describing the inventive
circuitry for reading remote dial settings;
FIG. 7 is a block diagram for describing a case in which the present
invention is applied to a drilling operation;
FIG. 8 is a block diagram for describing a case in which the present
invention is applied to a tapping operation;
FIG. 9 is a block diagram for describing a "skip" operation;
FIG. 10 is a block diagram for describing the control of a read
operation for positional information along the Z-axis; and
FIG. 11 is a block diagram for a case in which the present invention
is applied to internal grinding.
DESCRIPTION OF THE PRIOR ART
Before proceeding with a detailed description of the present
invention, reference will first be had to FIG. 1 for a brief
discussion of the conventional numerical control device.
A command program, read in block-by-block by means of a tape reader
11, is input to a control unit 12 that incorporates such hardware as a
central processing unit and a control program memory. The control unit
12 executes numerical control processing in accordance with the
command program and either actuates the servo motor (not shown) of a
machine tool 14 so as to transport a table or cutting tool in the
manner specified by a move command, or acts through a power sequence
control unit 13 to control such operations as coolant flow and spindle
rotation (forward/reverse/stop) on the machine tool side. A control
panel 15 includes switches and buttons for instructing zero-point
return and jog operations. A manual data input unit (referred to as an
MDI hereafter) 16 is employed to input single blocks of command data
manually. Numeral 17 denotes a display unit for displaying such
information as the current position of the machine tool. The units 11
through 17, exclusive of the machine tool 14, constitute a computer
numerical control device, or CNC. The control unit 12 of the CNC, as
already mentioned, is a computer which has a central processor,
control program memory and data memory, the processor executing
prescribed numerical control process steps in accordance with the
control and command programs in order to control the machine tool.
DESCRIPTION OF THE PREFERRED EMBODIMENT
The block diagram of a CNC in accordance with the present invention is
illustrated in FIG. 2. The system includes a paper tape reader 23 for
reading the instructions that have been punched into paper tapes 21
and 22. The paper tape 21 is a command tape that carries the command
program, and the paper tape 22 is a user macro command tape that
carries a plurality of user macros. Each user macro is composed of at
least (1) a macro identification (such as 0 9001) and (2) an
instruction which employs system variables that will be described
later, and is programmed with an indication such as M99* following the
instruction (where the symbol "*" represents "end of block", and where
"M99" represents "end of macro". An example of such a user macro is as
follows:
0 9oo1 *
#3oo1=o *
WHILE [#3oo1 LE #2o] D01
END1 *
M99 *
In the above, #i (i=3oo1, 2o) represents the system variable number.
The program punched in the command tape 21 includes, in addition to
the ordinary commands, a user macro call instruction UMC that allows a
prescribed user macro to be called to enable processing in accordance
with the user macro. The user macro call instruction includes, by way
of example, at least the function instruction G65 (G-function
instruction for calling the user macro), and P-- -- -- . . . -- (where
P is a word address indicating that -- -- -- . . . -- is the macro
identification).
Numeral 24 denotes a user macro registration memory for storing a
plurality of macro instructions that have been read from the user
macro command tape, Numeral 25 denotes a discrimination circuit that
monitors the kind of information read in by the tape reader 23. If the
information is a user macro (identified by the word address 0), it is
transferred to the user macro registration memory 24 for storage
there; if it is an ordinary instruction, it is transmitted to the next
stage for ordinary processing, and if it is a user macro call
instruction, the corresponding user macro is called from the user
macro registration memory and transmitted to the next stage for user
macro processing. It should be noted that the ordinary instructions
and user macros are not mixed together and included on the same tape
but enter from separate tapes.
Numeral 26 denotes an ordinary processing section for processing the
ordinary instructions, numeral 27 denotes a user macro processing
section for processing the user macros and, the ordinary processing
sections 26 and 27 are shown, for example, in "The Technical Ins and
Outs of Computerized Numerical Control", P. G. Mesniaeff, Control
Eng., March 1971. Each section includes a processing unit, control
unit and memory of its own. It is possible to construct the processing
sections 26 and 27 so that parts are shared in common. Numeral 28
denotes a variable memory for storing the values of system variables
when preparing a plurality of such variables in which the values are
to represent a variety of machine or NC operative states. A system
variable is represented by #i. Furthermore, i is the variable number
by which a variety of system variables can be identified.
FIG. 4 shows the storage areas of the variable memory 28. It includes
an input signal storage area DIA for storing, in the form of
variables, 16-bit input signals from among the interface signals
exchanged with the machine tool, an output signal storage area DOA for
storing as variables 16-bit output signals from among the interface
signals, a tool offset storage area TOF for storing as variables 99
types of offset quantities, a storage area TSF for storing as
variables elapsed time measured from a standard time, single block
suppression status and the like, a storage area GCA for storing modal
information as variables, a storage area MST for storing M-function,
S-function and T-function instructions and the like, a position
storage area POS for storing as variables various machine positions,
and a storage area RNA which is used in the processing of user macros.
Information can be written into and read out from both the ordinary
processing section 26 and user macro processing section 27, and each
of the variables can be changed as desired.
The arrangement of FIG. 2 further includes an interface circuit 29 for
supervising the input/output interface of the machine tool, display
unit, tape puncher and the like. Numeral 30 denotes the machine tool,
31 an MDI, 32 the display unit, and 33 the control panel. Numeral 34
denotes an address conversion unit for converting the variable number
i into an address of the variable memory 28.
It will be assumed that a plurality of user macros from the user macro
command tape 22 have been stored beforehand in the user macro
registration memory 24, followed by the input of the command program
from the command tape 21. If the input command is an ordinary NC
command, the NC command enters the ordinary processing section 26, and
processing is executed in the conventional manner. If the command is a
user macro call instruction, the discrimination circuit 25 calls the
corresponding user macro from the user macro registration memory 24
and applies it as an input to the user macro processing section 27 to
execute user macro processing as will be described below.
In the foregoing description, only the user macro has been stored in
the memory 24, though it should be noted that both the user macro and
command program can be stored there. In recent years, however, a
method has been adopted in which the data on the command tape is
stored beforehand in the memory, with numerical control processing
being executed by reading out the stored NC commands sequentially.
When NC processing is executed in accordance with this method, it is
advantageous to store both the user macro and command program in the
memory 24. Storing the user macro and command program in the memory 24
is accomplished by setting a selection switch, located on the control
panel 33 of the NC, to the tape edit mode. For NC processing, the mode
selection switch is set to the automatic mode.
The present invention will now be described in terms of its operation.
(A) USER MACRO REGISTRATION
(a) User macros in connection with read-out and transmission of
interface signals (output signals to, and input signals from, the
machine side)
It will be assumed that ten dials are provided on the machine tool
side for the instructing of certain quantities such as the amount of
tool movement, and that the amount of tool movement is to be
controlled on the basis of a prescribed dial setting (a decimal
3-digit number in Binary Coded Decimal hereinafter BCD) which is to be
read out, the value of the dial setting depending upon the particular
conditions. Assume that the value to be read out has been set by the
third dial. Under such conditions, the following user macro would be
prepared and registered in the user macro registration memory:
______________________________________
091oo* (1)
#1132=#1132 AND 496 OR #1 (2)
G65 P91o1 T60* (3)
#1oo=BIN[#1o32 AND 4o95]* (4)
IF[#1o12 EQ o] GO TO 91oo* (5)
#1oo=-#1oo (6)
N91oo M99* (7)
______________________________________
In the above user macro, (1) denotes the block that indicates the user
macro identification, 091oo being the user macro identification for
reading out three digits of BCD data. (2) denotes the block for
transmitting the address data of the third dial. In accordance with
the invention, data output to the machine side has a 16-bit structure
as shown in FIG. 5A. The address data output to the machine side is
written in the first through fourth bits ([email protected] through [email protected]). Here the
fifth through ninth bits ([email protected] through [email protected]) are employed for other
purposes, and no use is made of the 10th through 16th bits ([email protected]
through [email protected]). It will be assumed that the address data indicating the
third dial has been written as a variable in a variable register
corresponding to the system variable #1. Moreover, it will be assumed
that the 16-bit data of FIG. 5A, delivered as an output by earlier
processing, has been stored as a variable in a variable register
corresponding to the system variable #1132.
In connection with the 3-digit decimal number 496, the fifth through
ninth bits are at logical "1" and the other bits at logical "0".
Therefore the data in the fifth through ninth bits of the system
variable #1132 is preserved by the AND operation contained in (2), and
the address data of the third dial which is now to be read out is
written in the first through fourth bits of the system variable #1132
by the OR operation.
The line (3) is a user macro (which instruction will be described
later) having a time duration (60 msec) to allow the output of the
value set in the dial on the machine side after the address data in
the line (2) has been sent to the machine side.
The line (4) is an instruction for reading out the value of the
three-digit BCD, set by the dial, and for converting it into a binary
number.
After a time lapse of 60 msec, the 16-bit data shown in FIG. 5B will
have been delivered from the machine side and written in the register
of the system variable #1032. In other words, #1032 is a system
variable in which the output data serves as the value of the variable.
In FIG. 5B, a BCD of three digits (the dial setting) is written in the
1st through 12th bits ([email protected] through [email protected]), the sign thereof is written
in the 13th bit ([email protected]), and the 14th through 16th bits are used for
other purposes. Accordingly, when the AND is taken between 4095 (all
"1"s) and the data in the variable register corresponding to #1032,
the BCD of three digits which has been written in the 1st through 12th
bits of the variable register is extracted, subjected to a binary
conversion and then written in the register of the system variable
#100. In (5), whether the sign is positive or negative is
discriminated. If negative, the sign is reversed in (6). M99 in (7)
ends the user macro. In (5), #1012 is the system variable in which the
sign of the output data is the value of the variable. If the sign is
positive, the value of the variable is logical "0"; if negative, the
value is logical "1". EQ represents the sign of equality.
FIG. 6 is a circuit diagram useful in describing the control operation
for reading out the 3-digit BCD set by the third dial. In FIG. 6,
#1032R, #1132R denote the variable registers corresponding to the
system variables #1032 and #1132, these registers storing 16-bit input
and 16-bit output data as variables, respectively. RI1 through RI16
denote input data relays, and ri1 through ri16 denote the contacts
thereof. RO1 through RO16 denote output data relays, and ro1 through
ro16 denote the contacts thereof. Tr1 through Tr16 are transistors,
and DL1 through DL10 are dials for setting signed BCD's of three
digits. SWC denotes a selection circuit. Since BCD's are used, four
lines from each of the digits are connected to the input side of the
selection switch SWC.
When the operations in the second block (2) of the user macro are
executed, the address of the third dial DL3 is set in the first
through the fourth bits ([email protected] through [email protected]) of the variable register
#1132R. If we let the address of the third dial DL3 be 0011,
transistors Tr1 and Tr2 will conduct, and relays RO1 and RO2 will be
actuated. Relays RO3 and RO4 will remain open. As a result, the
selection circuit SWC delivers the signed BCD of three digits, which
has been set by dial DL3, to the lines l11 through l38 and to the line
ls. A high or low level signal will appear on lines l11 through l18 in
accordance with the numerical value of the first digit of the BCD, on
lines l21 through l28 in accordance with the numerical value of the
second digit of the BCD, and on lines l31 through l38 in accordance
with the numerical value of the third digit of the BCD. In
consequence, the input data relays RI1 through RI 13 will be turned on
or off in accordance with the numerical values set by the dial DL3 to
store the value in the variable register #1032R. Later the numerical
value stored in the variable register #1032R is acquired by the
processing section through a data bus DBUS. This is followed by
performing the operations (3) onward. Here ABUS is an address bus.
(b) User macro for obtaining clock time
The CNC possesses clocks of two kinds. The first clock counts time in
one millisecond units and is used to count the time from the moment
the power supply is turned on (the counted time is a variable). The
second clock counts time in 0.1-hour (six-minute) units and is used to
count the total time that the CNC has been in use (the total time is
also a variable). Let us assume that there is a requirement for a
special specification in which the user wishes the next machining
process to be executed after a time lapse of 20 msec from a certain
point in time. In such a case the user would prepare the user macro
shown below. It should be noted that the variable representing the
time that has passed since power supply turn-on is stored in the
variable register corresponding to the system variable #3001, and that
the variable representing the total time the CNC has been in use is
stored in the variable register corresponding to the system variable
#3002.
______________________________________
09101 (1)
#1= #3oo1 (2)
WHILE [#3oo1 - #1 LE #2o]D01*
(3)
END1* (4)
M99* (5)
______________________________________
In the above user macro, (1) is the user macro identification, (2) is
an instruction (initial setting) for setting the present time (the
data in the register corresponding to the system variable #3001) in
the variable register for the system variable #1, and (5) is an
instruction indicating the end of the user macro. Furthermore, in (3)
and (4),
WHILE [conditional expression] DOm (m=1, 2 . . . )
ENDm
are instructions for repeating the execution from the DOm block to the
ENDm block while the conditional expression is satisfied. If the
conditional expression is no longer satisfied, the block following the
ENDm block is executed. LE (LESS or EQUAL) is equivalent to the symbol
".ltoreq.", and (#3001--#1) represents substraction of the data in the
variable register corresponding to the system variable #3001. It
should be noted that 20 is stored in the variable register
corresponding to the system variable #20. Accordingly, following a
20-millisecond time lapse, there is a shift to the instruction M99* to
end the user macro processing if the conditional expression is no
longer satisfied.
When the user macro (1) through (5) has been prepared it is then
punched in the paper tape 22 and then read from the tape by the tape
reader 23. The discrimination circuit 25 discriminates the word
address 0 and then transfers the corresponding user macro to the macro
registration memory 24 where it is stored. This completes the
registration of the user macro for obtaining clock time.
It can be seen from the above that the user macro for obtaining the
clock time resembles an ordinary DWELL function. A DWELL function,
however, stops machine tool operation for a predetermined time period
and then restores machine operation following the lapse of said time
period. The user macro, on the other hand, enables clocking of a
predetermined time period without stopping machine operation. In other
words, it functions to enable clocking even during machine tool
operation.
(c) Macro for single block stop suppression
In testing a command tape for correctness, so-called single block
control ordinarily is carried out. According to such a control
operation, the tape is stopped after each block and a shift to the
next block does not take place until a cycle start button is pressed.
The test for tape correctness requires time, however, and users may
wish to suppress the single block control operation for certain blocks
in order to save time. For example, this may be the case for blocks
that are considered to be large in size, such as a drill block
following positioning in a drill cycle, or a tool withdrawal block
following the completion of drilling. When executing drilling as shown
in FIG. 7, let us assume that the user wishes to suppress single block
control in connection with the drill command block. To do so, the user
would prepare the user macro shown below and register it in the macro
registration memory 24. When the value of the system variable #3003 is
a "1" in this example, the single block stop is suppressed; when a
"0", the single block stop is cancelled.
______________________________________
09o81* macro identification
#3oo3=1* single block suppression
GooZ-#18* cutter positioned at point P .circle.1
Go1Z-#26* drilling .circle.2
GooZ[#18+#26]*
tool withdrawal .circle.3
#3oo3=o* suppression cancellation
M99* end of macro
______________________________________
In the above, Goo is a G-function instruction for rapid traverse, and
Gol is a G-function instruction for linear cutting.
(d) Nullification of feed hold and feed rate override
When programming thread cutting and tapping, some users may wish to
nullify feed hold or to maintain override fully. If such is the case,
the user adopts #3004 as the system variable for the nullification of
feed hold and override and decides in advance that a value of "1" for
the system variable #3004 shall mean nullification and that a value of
"0" shall mean cancellation of the nullification operation. By doing
so, the user macro can be prepared and registered in the same manner
as the single block stop suppression as described above. Shown below
is one example of the user macro wherein the nullification of feed
hold and override is applied to a tapping cycle G84 for executing the
tapping operation shown in FIG. 8.
______________________________________
09o84 macro identification
#3oo1=1* single block stop suppression
GooZ-#18* cutter positioned at point P .circle.1
#3oo4=1* nullification of feed hold, etc.
Go1Z-#26* tapping .circle.2
Mo5* spindle rotation stop
Mo4* reverse spindle rotation
Z#26* spindle withdrawal .circle.3
#3oo4=o* cancellation of nullified feed
hold, etc.
Mo5* spindle rotation stop
Mo3* forward spindle rotation
GooZ#18 .circle.4
#3oo3=o cancellation of single block
suppression
M99*
______________________________________
(e) Modal information read-out
Modal information is information that, once previously defined,
remains unchanged until the next definition. Examples are feed rate
commands, several G function instructions such as G function
instructions for incremental/absolute instructions, etc.
A command tape is programmed for incremental/absolute instructions,
and a macro call instruction block is located between the first and
second blocks of the absolute instructions. The user macro called by
the macro call instruction comprising of incremental instructions. In
this case, it is indicated at the beginning of the user macro by using
a G function instruction (modal information) that the following move
command is an incremental one. Until the following absolute
instruction, therefore, the NC processes the move instructions as
incrementals. If the absolute instruction of the first block is not
restored at the end of the user macro, the move command of the second
block will also be regarded as incremental and processed, giving rise
to an erroneous operation. Accordingly, it is necessary to read out
and preserve the modal information at the very beginning of the user
macro, and to restore the modal information at the end of the user
macro.
Shown below is an example of a user macro for a boring cycle (G86)
illustrated in FIG. 7, in which the modal information
(incremental/absolute G function instruction) is preserved and
restored. It will be assumed that the above absolute G function
instruction has been stored as a variable in the register
corresponding to the system variable #4003.
______________________________________
09o86*
#1= #4oo3* modal information preservation
#3oo3=1* single block stop suppression
GooG91Z-#18* G91 is a G function instruction
indicating an incremental
movement
Go1Z-#26*
Mo5*
GooZ[#18+#26]*
Mo3*
#3oo3=o* cancellation of single block stop
suppression
G#1M99* modal information restoration
______________________________________
(f) Present position read-out
The user may wish to read out and then display or print out the
present position of the machine tool, the instructed present position,
etc. In such case the correspondance between system variables and
their content is determined as shown in the following table.
______________________________________
System variable Positional information
______________________________________
#5001 X axis block end coordinate
#5002 Y axis block end coordinate
#5003 Z axis block end coordinate
.
.
.
#5021 X axis present coordinate
#5022 Y axis present coordinate
#5023 Z axis present coordinate
.
.
.
#5061 X axis skip signal position
#5062 Y axis skip signal position
#5063 Z axis skip signal position
______________________________________
First, "skip machining" is defined as a function wherein machine
movement is stopped by an externally applied skip signal to by-pass
the amount of movement remaining in the block, and to advance to the
next block. The tool will move as shown in FIG. 9A when the next block
is an absolute instruction, and as shown in FIG. 9B when the next
block is an incremental instruction. The point P is where the skip
signal is generated. The skip machining function can be used in
various measurements and in the control of grinder dimensions.
When measuring depth in the direction of the Z-axis, the amount of
movement instructed in the direction of the Z-axis is made larger than
the actual depth, and a contact element such as a pressure sensing
element is moved in the direction of the Z axis until it contacts the
floor of the workpiece. At this time the skip signal is generated to
immediately stop the machine. The depth in the Z direction can then be
measured by reading out and then displaying or printing the present
position on the Z axis at this time.
When effecting such a measurement, the user macro should be programmed
in such a manner that the system variable #5063 is read out and either
displayed or printed when the skip signal is generated.
FIG. 10 is an illustrative view useful in describing read-out control
of positional information in the direction of the Z axis. PDC denotes
a pulse distribution circuit which performs a pulse distribution
operation based on a commanded movement amount Zc in the Z-axis
direction and generates distributed pulse Pz, SVC is a motor control
circuit to drive a motor. MT is a Z axis drive motor, PC is a pulse
coder connected to the shaft of the motor MT and adapted to generate a
single pulse each time the motor rotates by a predetermined amount,
DET is a detecting element for generating a skip signal MCS, AG1 and
AG2 are AND gates, and #5023R and #5003R, #5063R are variable
registers corresponding to the system variables #5023, #5003 and
#5063, respectively, these registers storing, as variables, the Z axis
block end coordinate, the Z axis present coordinate, and the Z axis
position when the skip signal is generated.
When the distributed pulses Pz are delivered to the motor control
circuit SVC to drive the motor MT, they are also given to the variable
register #5023R. The variable register #5023R has its content
up-counted or down-counted by the pulse Pz, depending upon the
direction of motor rotation, thereby to store the present position of
the machine at all times. Meanwhile, since a positioning end signal
PEN is generated for each positioning operation at a commanded
position, the content of the variable register #5023R is stored in the
variable register #5003 each time the positioning is completed. In
other words, the variable register #5003 stores the Z axis block end
coordinate. Furthermore, when the skip signal MCS is generated during
movement in the direction of the Z-axis, the content of the variable
register #5023R at this time is stored in the variable register
#5063R, so that the Z axis position at the time the signal MCS is
generated, is stored in the register #5063R. The data in these
variable registers is read out by commanding #5003, #5023, and #5063
in the user macro. More specifically, the variable numerals are
converted into addresses by the address conversion section 34 in the
FIG. 2, the addresses obtained by the address conversion are output
over the address bus ABUS, and the content of the prescribed variable
register is output over the data bus DBUS and received by the
processing section. Herein, if a table or tool moves 5 .mu.m for every
one distributed pulse Pz, the processing section will perform a unit
conversion operation in which the content of the prescribed variable
register is multiplied by 5.
(g) Read-out and modification of tool offset amount
Though the amount of tool offset could previously be set solely by the
operator, there are cases where the user may wish to set or to modify
this quantity in the program. There are cases also where the user may
want to know the amount of tool offset. In such cases, by matching the
tool offset numbers 1, 2, . . . , 99 with the system variables #2001,
#2002, . . . , #2099 and by using the expression #30=#2005 in the user
macro, the offset quantity of offset number 5 can be stored in the
variable register of the system variable #30. Further, by using the
expression #2010=#8, the offset quantity of the offset number 10 can
be modified in the content of the variable register of the system
variable #8.
FIG. 11 is an illustrative view useful in describing internal grinding
by reading in tool offset quantities. To perform internal grinding in
accordance with conventional practice, a tool TL was ordinarily
positioned at the center Pc of a cylindrical portion VC formed in a
workpiece WK, and was then moved along a path consisting of the
straight line L1, arc C1, circle segment C2, arc C3, and straight line
L2, as illustrated in FIG. 11. Lately, however, a special method has
replaced the internal grinding method of the type described, so that a
standardized NC cannot perform internal grinding in the manner shown
in FIG. 11. Nevertheless, there are cases where a user may wish to
execute internal grinding in just such a manner. In accordance with
the present invention, such a user would prepare the user macro shown
below and would register it in the user macro registration memory 24.
Then, by reading out the user macro call instruction from the command
tape 21, the user macro would be called from the user macro
registration memory 24 to execute internal grinding of the type shown
in FIG. 11.
______________________________________
09o1o* (1)
#1=ABS[#4]-#[2ooo+#7]* (2)
IF[#1 LE O] GOTO 1* (3)
#2=#1/2* (4)
#3oo3=1* (5)
Go1x[#1-ROUND(#2)]Y#2* (6)
G17Go2x#2 Y-#2 R=#2* (7)
I-#1* (8)
X-#2 Y-#2 R#2* (9)
Go1x[#1-ROUND(#2)]Y#2* (10)
#3oo3=o* (11)
N1M99* (12)
______________________________________
The radius of the cylindrical portion VC (FIG. 11) is stored in the
storage area corresponding to the system variable #4. Likewise, the
offset number is stored in the storage area corresponding to the
system variable #7, the offset quantity is stored in the storage area
corresponding to the system variable #[2000+#7], the value (offset
radius) obtained by subtracting the offset quantity from the value of
the radius of the cylindrical portion VC is stored in the storage area
corresponding to the system variable #1, and the value of the radius
of the arc C1 is stored in the storage area corresponding to the
system variable #2. Furthermore, "1" or "0" is stored in the storage
area of the system variable #3003. If "1" has been stored, a single
block stop is suppressed, and if "0" has been stored, the single block
stop suppression is cancelled.
In the above, ABS means the absolute value, ROUND means to round to
the nearest whole number, Go1 stands for linear interpolation, Go2
stands for circular interpolation in the clockwise direction, G17
stands for a G function instruction for designating the X-Y plane, and
M99 stands for the end of the user macro. Accordingly, the
identification number of the user macro is declared by (1), and the
value (the value of the offset radius), resulting from the
substraction of the offset quantity from the value of the radius of
the cylindrical portion VC, is derived by (2). This value of the
offset radius is stored in the storage area corresponding to the
system variable #1. In (3) the value of the offset radius is compared
with zero. If the value is negative, no action is taken and processing
jumps to N1 to end the user macro; if the value is positive,
processing shifts to (4). In (4) the value of the offset radius is
halved, and in (5) the single block stop is suppressed. Then, in (6),
linear interpolation is carried out to move the tool TL to the point
P1 along the straight line L1. In (7) the tool TL is moved to the
point P2 along the arc C1 to bring it into contact with the inner
surface of the cylindrical portion VC. In (8), the tool is moved along
the circle segment C2 while grinding the inner surface and is returned
to the point P2. In (9), the tool is moved to the point P3 along the
arc C3. In (10), the tool is returned to the center Pc along the
straight line L2 to complete tool movement. Finally, in (11),
suppression of single block stop is cancelled, and in (12), the user
macro ends.
(h) Miscellaneous
It is possible to prepare and register a user macro for providing an
alarm function, a function that allows a message to be displayed on a
CRT, a function that enables a print out, and the like.
As one example, a user macro can be employed to measure a machining
error following the completion of machining according to a certain
program. This is accomplished by reading the output from an error
measuring device provided on the machine tool, with the messages shown
below being displayed on the CRT to give an indication of the
magnitude of the error. For a small error which is within tolerance
the following message would be displayed:
GO
ERROR=.DELTA. .DELTA. . . . .DELTA.,
whereas the following message would be displayed for a large error
exceeding tolerance:
NO GO
ERROR=.DELTA. .DELTA. . . . .DELTA..
The operator permits machining to be applied to the next workpiece if
the message reads GO, but discards the just completed workpiece if the
message reads NO GO. He then adjusts such values as the tool offset
quantity so that succeeding machining operations will produce finished
works whose machining errors are within tolerance.
B. USER MACRO CALL INSTRUCTION
The user macro call instruction, by being programmed into the command
tape beforehand, calls a prescribed user macro from the macro
registration memory 24 to permit the execution of numerical control
processing by means of the user macro processing section 27. At the
very least, G65P (macro identification) is commanded.
When the tape reader 23 reads in instructions from the command tape
21, the discrimination circuit 25 determines whether the instruction
is a user macro call instruction. If it is not, the ordinary
processing section 26 executes ordinary processing in controlling the
machine tool. If the instruction specifies a user macro call, however,
a user macro, having a user macro identification indicated after the
word address P of the call instruction, is called from the macro
registration memory 24 and sent to the user macro processing section
27 so that macro processing may be executed. Thus, the machine tool is
controlled in accordance with the user macro.
In accordance with the present invention as described above, CNC
software is prepared in such a manner that a plurality of user macros
are registered in advance, with a predetermined one of them being
called by a user macro call instruction to permit the execution of
macro processing in accordance with the called user macro. This allows
a user to carry out specialized machining control operations, if the
need should arise, without modifying the CNC software. The user need
only prepare the user macro for the specialized machining operation,
store it in the macro registration memory, and then program the user
macro call instruction into the command tape 21. This makes it
possible to eliminate the time and labor heretofore required for
software modification, and to provide a low-cost CNC that can be
tailored to the user's demands. Moreover, employing a user macro makes
it possible to realize specialized specifications that match the
particular machine and system, as well as canned cycles and automatic
programming tailored to the user's needs.
Although the present invention has been described in its preferred
form with a certain degree of particularity, it is obvious that many
modifications and variations are possible in the light of the above
teachings. It is therefore to be understood that within the scope of
the appended claims, the invention may be practiced otherwise than as
specifically described.
_________________________________________________________________

Data supplied from the [email protected] database - l2



Claims


Claims

What we claim is:
1. A numerical control method for executing, in a numerical control
device, numerical control processing on the basis of a command program
and for actuating a machine in accordance with the results of said
processing steps to machine a workpiece in the manner specified by the
instructions in the command program, comprising the following steps:
(a) preparing a plurality of instructions representative of first
system variables, each of which is distinguished by a first variable
number, the values of which represent a variety of operational
conditions of the machine or of a numerical control device; (b)
computing addresses of storage areas for storing the values of said
first system variables by converting said first variable numbers into
addresses; (c) storing said first system variables in said storage
areas in dependence upon the converted addresses; (d) storing, in
advance, a user macro in a memory, said user macro having at least an
identification and an instruction that employs said system variables;
(e) programming a user macro call instruction into the command
program; (f) reading out a prescribed user macro from the memory by
means of said user macro call instruction; and (g) executing numerical
control processing for actuating the machine in dependence upon said
user macro.
2. A numerical control method according to claim 1, further comprising
a preparing step of: preparing second system variables, the values of
which represent the states of signals transmitted from the machine to
the numerical control device, each second system variable having a
second variable number; and wherein said executing step (e) further
comprises storing said second system variables in storage areas in
dependence upon the second system variable numbers by executing said
user macro.
3. A numerical control method according to claim 1, further comprising
a preparing step of: preparing second system variables, the values of
which represent the states of signals output from the numerical
control device to the machine, each second system variable having a
second system variable number; and wherein said executing step (e)
further comprises storing said output signals in storage areas in
dependence upon said second system variable numbers and transmitting
said output signals to the machine by executing said user macro.
4. A numerical control method according to claim 1, further comprising
a preparing step of: preparing a second system variable, the value of
which represents the machine position, the second system variable
having a second system variable number; and wherein said executing
step (e) further comprises storing said second system variable which
represents the machine position in a storage area in dependence upon
the second system variable number, reading out the machine position
using said second system variable number by said user macro, and
executing prescribed numerical control processing on the basis of said
machine position.
5. A numerical control method according to claim 1, further comprising
a preparing step of: preparing a second system variable the value of
which represents elapsed time, having a second variable number,
wherein said executing step (e) further comprises storing the second
system variable representing the elapsed time in a storage area in a
dependence upon the second system variable number, reading out the
second system variable representing the elapsed time using said second
system variable number by said user macro, and executing prescribed
numerical control processing on the basis of said elapsed time.
6. A numerical control method according to claim 1, further comprising
a preparing step of: preparing a second system variable in the command
program, the value of which represents the state of the numerical
control device based on modal information, the second system variable
having a second system variable number; and wherein said executing
step (e) further comprises storing the said second system variable
representing the modal information read out from the command program
in a storage area in dependence upon said second system variable
number, reading out the modal information using said second system
variable number by said user macro, and executing prescribed numerical
control processing on the basis of said modal information.
7. A numerical control method according to claim 1, further comprising
a preparing step of: preparing a second system variable, the value of
which represents information for rendering effective or ineffective
functions such as a single block stop function and feed hold function,
for the second system variable having a second system variable number;
and wherein said executing step (e) further comprises storing said
second system variable representing said information by means of said
user macro in a storage area in dependence upon said second system
variable number, and suppressing the functions such as the single
block stop function and feedhold function as required.
8. A numerical control method according to claim 1, further comprising
a preparing step of: preparing a second system variable, the value of
which represents each of a variety of set values, the second system
variable having a second system variable number; and wherein said
executing step (e) further comprises storing said second system
variable representing each set value in a storage area in dependence
upon said second system variable number, reading out each set value
using said second system variable number of said user macro, and
executing prescribed numerical control processing on the basis of said
variety of set values.
9. A numerical control method according to claim 1, further comprising
the step of displaying messages on a CRT on the basis of the values of
said first system variables.
10. A numerical control method for executing numerical processing with
a numerical control device in dependence upon a command program, for
actuating a machine and for executing special numerical control
processing for actuating the machine, said numerical control device
contains a clock counting elapsed time, said method comprising the
steps of: (a) inserting in the command program a user macro call
instruction; (b) storing a user macro program; (c) executing the
command program for actuating the machine including said user macro
call instruction; (d) retrieving said user macro program by means of
the user macro call instruction; (e) numerical control processing for
actuating the machine under the control of said user macro program,
said user macro program comprising the steps of: (i) retrieving the
elapsed time from said numerical control device; numerical control
processing for actuating the machine can be easily introduced and
performed by means of said user macro program without making extensive
modifications of the command program.
11. A numerical control method for executing numerical processing with
anumerical control device in dependence upon a command program where
the command program contains modal information representing the state
of the numerical control device, and for actuating a machine and for
executing special numerical control processing for actuating the
machine, said method comprising the steps of: (a) inserting in the
command program a user macro call instruction; (b) storing a user
macro program; (c) executing the command program for actuating the
machine including said user macro call instruction; (d) retrieving
said user macro program by means of the user macro call instruction;
(e) numerical control processing for actuating the machine under the
control of said user macro program, said user macro program comprising
the steps of: (i) storing the modal information; (ii) executing
numerical control processing for actuating the machine; and (iii)
restoring the modal information to the control program; and (f)
continuing execution of the command program, so that specialized
numerical control processing for actuating the machine can be easily
introduced and performed by means of said user macro program without
making extensive modifications of the command program.
12. A numerical control method for executing numerical processing with
a numerical control device in dependence upon a command program where
the command program contains blocks for actuating a machine and for
executing special numerical control processing for actuating the
machine, and having an interface which contain a signal that
represents that single block stop suppression is desired, that a
feedhold command is to be nullified or that a feedrate command is to
be overridden and contains an override feedrate, said method
comprising the steps of: (a) inserting in the command program a user
macro call instruction; (b) storing a user macro program; (c)
executing the command program for actuating the machine including said
user macro call instruction; (d) retrieving said user macro program by
means of the user macro call instruction; (e) numerical control
processing for actuating the machine under the control of said user
macro program, said user macro program comprising the steps of: (i)
retrieving the signal and the override feedrate; and (ii) returning
control to the command program at a next block, after the feedhold
command or with the override feedrate as the feedrate command in
dependence upon the signal; and (f) continuing execution of the
command program, so that specialized numerical control processing for
actuating the machine can be easily introduced and performed by means
of said macro program without making extensive modifications of the
command program.
13. A numerical control method for executing numerical processing with
a numerical control device in dependence upon a command program, for
actuating a machine and for executing special numerical control
processing for actuating the machine, said numerical control device
includes offset storage and an interface which contains offset values,
said method comprising the steps of: (a) inserting in the command
program a user macro call instruction; (b) storing a user macro
program; (c) executing the command program for actuating the machine
including said user macro call instruction; (d) retrieving said user
macro program by means of the user macro call instruction; (e)
numerical control processing for actuating the machine under the
control of said user macro program, said user macro program comprising
the steps of:ng execution of the command program, so that specialized
numerical control processing for actuating the machine can be easily
introduced and performed by means of said user macro program without
making extensive modifications of the command program.
14. A numerical control method according to claims 10, 11, 12 or 13,
wherein said numerical control device includes a CRT display and
wherein said user macro program further comprises the following steps:
(a) retrieving values, signals, or information in storage in
dependence upon what is stored as retrieved data; and (b) transmitting
the retrieved data to said CRT display for display thereon.
_________________________________________________________________

Data supplied from the [email protected] database - l2
 

·
Premium Member
Joined
·
3,030 Posts
M/G code is pretty easy to learn. We used a program called Maxnc here at school. I drew my parts in cad, then got the coordinates from there.

Is M/G code still used in industry? Since where on the subject, is V++ still used, we are currently learning that.
 

·
Registered
Joined
·
6,558 Posts
Damn MC, couldn't you just post a link? You didn't type all that did you?
I've used SmartCam but only because a wire EDM is too damn hard to program MDI......XYZ and QRS, it'll make your head explode.
I maily program 42mm Slantbed and GT lathes in several different FANUC series and it's all basically the same. Once you have prepetory saftey codes in place the meat of the programming is simple.

MC, do you know of a cheap handy dandy data transfer proggy. I'm using a really old Hardinge demo for program transfer and it's starting to become corrupt as well as the computer.
 

·
Premium Member
Joined
·
313 Posts
To actually cut parts I have personally used Unigraphics NX. Love it. VERY expsensive for personal use let alone small companys. SolidWorks may be more up your alley. Ive never used the manufacuring module but have done some modeling and its fairly userfriendly. A mold making shop I use to work at used it for all their Non-EDM maching processes. Id check into getting a Student version for MUCH cheaper.

heres some definitions:
G40 cancel cutter diameter compensation
G17 xy plane selection
G90 absolute distance mode
G20 inch system selection
G43 tool length offset (plus)
G01 linear interpolation
G02 circular/helical interpolation (clockwise)
G3 circular/helical interpolation (c-clockwise)

also, writing g-code by hand CAN be done in NotePad if you like.
heres some sample G-code
the program will Post all the G-code automatically after your done progamming all the tool paths, speed rates, feed rates, tool changes, ect.........................
:flipoff2:
%
N0010 G40 G17 G90 G20
N0020 G43 T02 H02 M06
N0030 G01 X.0037 Y.1633 Z.1 F20. S0 M03
N0040 G01 X0.0 Y.1696 Z.0981 F10.
N0050 G01 X-.0241 Y.128 Z.0852 F10.
N0060 G01 X-.0888 Y.0366 Z.0552 F10.
N0070 G01 X-.12 Y0.0 Z.0423 F10.
N0080 G01 X-.0888 Y-.0366 Z.0294 F10.
N0090 G01 X-.0241 Y-.128 Z-.0006 F10.
N0100 G01 X0.0 Y-.1696 Z-.0135 F10.
N0110 G01 X.0241 Y-.128 Z-.0264 F10.
N0120 G01 X.0888 Y-.0366 Z-.0563 F10.
N0130 G01 X.12 Y0.0 Z-.0692 F10.
N0140 G01 X.0888 Y.0366 Z-.0821 F10.
N0150 G01 X.0241 Y.128 Z-.1121 F10.
N0160 G01 X0.0 Y.1696 Z-.125 F10.
N0170 G17 G02 X-.12 Y0.0 Z-.125 I-1. J.5804 K0.0 F10.
N0180 G17 G02 X0.0 Y-.1696 Z-.125 I-.88 J-.75 K0.0 F10.
N0190 G17 G02 X.12 Y0.0 Z-.125 I1. J-.5804 K0.0 F10.
N0200 G17 G02 X0.0 Y.1696 Z-.125 I.88 J.75 K0.0 F10.
N0210 G01 X.0811 Y.2166 Z-.125 F10.
N0220 G17 G02 X0.0 Y.391 Z-.125 I.9189 J.5334 K0.0 F10.
N0230 G17 G02 X-.2474 Y0.0 Z-.125 I-1. J.359 K0.0 F10.
N0240 G17 G02 X0.0 Y-.391 Z-.125 I-.7526 J-.75 K0.0 F10.
N0250 G17 G02 X.2474 Y0.0 Z-.125 I1. J-.359 K0.0 F10.
N0260 G17 G02 X.0811 Y.2166 Z-.125 I.7526 J.75 K0.0 F10.
N0270 G01 X.1622 Y.2637 Z-.125 F10.
N0280 G17 G02 X.0563 Y.5312 Z-.125 I.8378 J.4863 K0.0 F10.
N0290 G01 X-.0563 Y.5312 Z-.125 F10.
N0300 G17 G02 X-.3868 Y0.0 Z-.125 I-.9437 J.2188 K0.0 F10.
N0310 G17 G02 X-.0882 Y-.4226 Z-.125 I-.6132 J-.75 K0.0 F10.
N0320 G17 G02 X-.0563 Y-.5312 Z-.125 I-.9118 J-.3274 K0.0 F10.
N0330 G01 X.0563 Y-.5312 Z-.125 F10.
N0340 G17 G02 X.0882 Y-.4226 Z-.125 I.9437 J-.2188 K0.0 F10.
N0350 G17 G02 X.3868 Y0.0 Z-.125 I.9118 J-.3274 K0.0 F10.
N0360 G17 G02 X.1622 Y.2637 Z-.125 I.6132 J.75 K0.0 F10.
N0370 G01 X.2432 Y.3107 Z-.125 F10.
N0380 G17 G02 X.134 Y.625 Z-.125 I.7568 J.4393 K0.0 F10.
N0390 G01 X-.134 Y.625 Z-.125 F10.
N0400 G17 G02 X-.5493 Y0.0 Z-.125 I-.866 J.125 K0.0 F10.
N0410 G17 G02 X-.134 Y-.625 Z-.125 I-.4507 J-.75 K0.0 F10.
N0420 G01 X.134 Y-.625 Z-.125 F10.
N0430 G17 G02 X.5493 Y0.0 Z-.125 I.866 J-.125 K0.0 F10.
N0440 G17 G02 X.2432 Y.3107 Z-.125 I.4507 J.75 K0.0 F10.
N0450 G01 X.3243 Y.3578 Z-.125 F10.
N0460 G17 G02 X.2194 Y.7187 Z-.125 I.6757 J.3922 K0.0 F10.
N0470 G01 X-.2194 Y.7187 Z-.125 F10.
N0480 G17 G02 X-.7187 Y.0211 Z-.125 I-.7806 J.0313 K0.0 F10.
N0490 G01 X-.7187 Y-.0211 Z-.125 F10.
N0500 G17 G02 X-.2194 Y-.7187 Z-.125 I-.2813 J-.7289 K0.0 F10.
N0510 G01 X.2194 Y-.7187 Z-.125 F10.
N0520 G17 G02 X.7187 Y-.0211 Z-.125 I.7806 J-.0313 K0.0 F10.
N0530 G01 X.7187 Y.0211 Z-.125 F10.
N0540 G17 G02 X.3243 Y.3578 Z-.125 I.2813 J.7289 K0.0 F10.
N0550 G01 X.4054 Y.4049 Z-.125 F10.
N0560 G17 G02 X.3125 Y.75 Z-.125 I.5946 J.3451 K0.0 F10.
N0570 G01 X.3125 Y.8125 Z-.125 F10.
N0580 G01 X-.3125 Y.8125 Z-.125 F10.
N0590 G01 X-.3125 Y.75 Z-.125 F10.
N0600 G17 G02 X-.8125 Y.0886 Z-.125 I-.6875 J0.0 K0.0 F10.
N0610 G01 X-.8125 Y-.0886 Z-.125 F10.
N0620 G17 G02 X-.3125 Y-.75 Z-.125 I-.1875 J-.6614 K0.0 F10.
N0630 G01 X-.3125 Y-.8125 Z-.125 F10.
N0640 G01 X.3125 Y-.8125 Z-.125 F10.
N0650 G01 X.3125 Y-.75 Z-.125 F10.
N0660 G17 G02 X.8125 Y-.0886 Z-.125 I.6875 J0.0 K0.0 F10.
N0670 G01 X.8125 Y.0886 Z-.125 F10.
N0680 G17 G02 X.4054 Y.4049 Z-.125 I.1875 J.6614 K0.0 F10.
N0690 G01 X.4865 Y.4519 Z-.125 F10.
N0700 G17 G02 X.4062 Y.75 Z-.125 I.5135 J.2981 K0.0 F10.
N0710 G01 X.4062 Y.9062 Z-.125 F10.
N0720 G01 X-.4062 Y.9062 Z-.125 F10.
N0730 G01 X-.4062 Y.75 Z-.125 F10.
N0740 G17 G02 X-.9062 Y.1637 Z-.125 I-.5938 J0.0 K0.0 F10.
N0750 G01 X-.9062 Y-.1637 Z-.125 F10.
N0760 G17 G02 X-.4062 Y-.75 Z-.125 I-.0938 J-.5863 K0.0 F10.
N0770 G01 X-.4062 Y-.9062 Z-.125 F10.
N0780 G01 X.4062 Y-.9062 Z-.125 F10.
N0790 G01 X.4062 Y-.75 Z-.125 F10.
N0800 G17 G02 X.9062 Y-.1637 Z-.125 I.5938 J0.0 K0.0 F10.
N0810 G01 X.9062 Y.1637 Z-.125 F10.
N0820 G17 G02 X.4865 Y.4519 Z-.125 I.0938 J.5863 K0.0 F10.
N0830 G01 X.5676 Y.499 Z-.125 F10.
N0840 G17 G02 X.5 Y.75 Z-.125 I.4324 J.251 K0.0 F10.
N0850 G01 X.5 Y1. Z-.125 F10.
N0860 G01 X-.5 Y1. Z-.125 F10.
N0870 G01 X-.5 Y.75 Z-.125 F10.
N0880 G17 G02 X-1. Y.25 Z-.125 I-.5 J0.0 K0.0 F10.
N0890 G01 X-1. Y-.25 Z-.125 F10.
N0900 G17 G02 X-.5 Y-.75 Z-.125 I0.0 J-.5 K0.0 F10.
N0910 G01 X-.5 Y-1. Z-.125 F10.
N0920 G01 X.5 Y-1. Z-.125 F10.
N0930 G01 X.5 Y-.75 Z-.125 F10.
N0940 G17 G02 X1. Y-.25 Z-.125 I.5 J0.0 K0.0 F10.
N0950 G01 X1. Y.25 Z-.125 F10.
N0960 G17 G02 X.5676 Y.499 Z-.125 I0.0 J.5 K0.0 F10.
N0970 G01 X.6486 Y.5461 Z-.125 F10.
N0980 G17 G02 X.5937 Y.75 Z-.125 I.3514 J.2039 K0.0 F10.
N0990 G01 X.5937 Y1.0937 Z-.125 F10.
N1000 G01 X-.5937 Y1.0937 Z-.125 F10.
N1010 G01 X-.5937 Y.75 Z-.125 F10.
N1020 G17 G02 X-1. Y.3437 Z-.125 I-.4063 J0.0 K0.0 F10.
N1030 G01 X-1.0937 Y.3437 Z-.125 F10.
N1040 G01 X-1.0937 Y-.3437 Z-.125 F10.
N1050 G01 X-1. Y-.3437 Z-.125 F10.
N1060 G17 G02 X-.5937 Y-.75 Z-.125 I0.0 J-.4063 K0.0 F10.
N1070 G01 X-.5937 Y-1.0937 Z-.125 F10.
N1080 G01 X.5937 Y-1.0937 Z-.125 F10.
N1090 G01 X.5937 Y-.75 Z-.125 F10.
N1100 G17 G02 X1. Y-.3437 Z-.125 I.4063 J0.0 K0.0 F10.
N1110 G01 X1.0937 Y-.3437 Z-.125 F10.
N1120 G01 X1.0937 Y.3437 Z-.125 F10.
N1130 G01 X1. Y.3437 Z-.125 F10.
N1140 G17 G02 X.6486 Y.5461 Z-.125 I0.0 J.4063 K0.0 F10.
N1150 G01 X.7297 Y.5931 Z-.125 F10.
N1160 G17 G02 X.6875 Y.75 Z-.125 I.2703 J.1569 K0.0 F10.
N1170 G01 X.6875 Y1.1875 Z-.125 F10.
N1180 G01 X-.6875 Y1.1875 Z-.125 F10.
N1190 G01 X-.6875 Y.75 Z-.125 F10.
N1200 G17 G02 X-1. Y.4375 Z-.125 I-.3125 J0.0 K0.0 F10.
N1210 G01 X-1.1875 Y.4375 Z-.125 F10.
N1220 G01 X-1.1875 Y-.4375 Z-.125 F10.
N1230 G01 X-1. Y-.4375 Z-.125 F10.
N1240 G17 G02 X-.6875 Y-.75 Z-.125 I0.0 J-.3125 K0.0 F10.
N1250 G01 X-.6875 Y-1.1875 Z-.125 F10.
N1260 G01 X.6875 Y-1.1875 Z-.125 F10.
N1270 G01 X.6875 Y-.75 Z-.125 F10.
N1280 G17 G02 X1. Y-.4375 Z-.125 I.3125 J0.0 K0.0 F10.
N1290 G01 X1.1875 Y-.4375 Z-.125 F10.
N1300 G01 X1.1875 Y.4375 Z-.125 F10.
N1310 G01 X1. Y.4375 Z-.125 F10.
N1320 G17 G02 X.7297 Y.5931 Z-.125 I0.0 J.3125 K0.0 F10.
N1330 G01 X.9196 Y.2777 Z-.125 F10.
N1340 G17 G03 X.8587 Y.583 Z-.125 I-.2223 J.1144 K0.0 F10.
N1350 G17 G02 X.8108 Y.6402 Z-.125 I.1413 J.167 K0.0 F10.
N1360 G17 G02 X.7812 Y.75 Z-.125 I.1892 J.1098 K0.0 F10.
N1370 G01 X.7812 Y1.2812 Z-.125 F10.
N1380 G01 X-.7812 Y1.2812 Z-.125 F10.
N1390 G01 X-.7812 Y.75 Z-.125 F10.
N1400 G17 G02 X-1. Y.5312 Z-.125 I-.2188 J0.0 K0.0 F10.
N1410 G01 X-1.2812 Y.5312 Z-.125 F10.
N1420 G01 X-1.2812 Y-.5312 Z-.125 F10.
N1430 G01 X-1. Y-.5312 Z-.125 F10.
N1440 G17 G02 X-.7812 Y-.75 Z-.125 I0.0 J-.2188 K0.0 F10.
N1450 G01 X-.7812 Y-1.2812 Z-.125 F10.
N1460 G01 X.7812 Y-1.2812 Z-.125 F10.
N1470 G01 X.7812 Y-.75 Z-.125 F10.
N1480 G17 G02 X1. Y-.5312 Z-.125 I.2188 J0.0 K0.0 F10.
N1490 G01 X1.2812 Y-.5312 Z-.125 F10.
N1500 G01 X1.2812 Y.5312 Z-.125 F10.
N1510 G01 X1. Y.5312 Z-.125 F10.
N1520 G17 G02 X.7849 Y.7102 Z-.125 I0.0 J.2188 K0.0 F10.
N1530 G17 G03 X.6502 Y.8886 Z-.125 I-.2458 J-.0455 K0.0 F10.
N1540 G01 X1.0827 Y.3574 Z-.125 F10.
N1550 G17 G03 X.9462 Y.6372 Z-.125 I-.2441 J.0541 K0.0 F10.
N1560 G17 G02 X.8919 Y.6872 Z-.125 I.0538 J.1128 K0.0 F10.
N1570 G17 G02 X.875 Y.75 Z-.125 I.1081 J.0628 K0.0 F10.
N1580 G01 X.875 Y1.375 Z-.125 F10.
N1590 G01 X-.875 Y1.375 Z-.125 F10.
N1600 G01 X-.875 Y.75 Z-.125 F10.
N1610 G17 G02 X-1. Y.625 Z-.125 I-.125 J0.0 K0.0 F10.
N1620 G01 X-1.375 Y.625 Z-.125 F10.
N1630 G01 X-1.375 Y-.625 Z-.125 F10.
N1640 G01 X-1. Y-.625 Z-.125 F10.
N1650 G17 G02 X-.875 Y-.75 Z-.125 I0.0 J-.125 K0.0 F10.
N1660 G01 X-.875 Y-1.375 Z-.125 F10.
N1670 G01 X.875 Y-1.375 Z-.125 F10.
N1680 G01 X.875 Y-.75 Z-.125 F10.
N1690 G17 G02 X1. Y-.625 Z-.125 I.125 J0.0 K0.0 F10.
N1700 G01 X1.375 Y-.625 Z-.125 F10.
N1710 G01 X1.375 Y.625 Z-.125 F10.
N1720 G01 X1. Y.625 Z-.125 F10.
N1730 G17 G02 X.875 Y.75 Z-.125 I0.0 J.125 K0.0 F10.
N1740 G01 X.875 Y.7593 Z-.125 F10.
N1750 G17 G03 X.775 Y.9593 Z-.125 I-.25 J0.0 K0.0 F10.
N1760 G01 X.775 Y.9593 Z-.025 F20.
N1770 G01 X.775 Y.9593 Z.2 F20.
N1780 G01 X.0037 Y.1633 Z.2 F20.
N1790 G01 X.0037 Y.1633 Z-.025 F20.
N1800 G01 X0.0 Y.1696 Z-.0269 F10.
N1810 G01 X-.0241 Y.128 Z-.0398 F10.
N1820 G01 X-.0888 Y.0366 Z-.0698 F10.
N1830 G01 X-.12 Y0.0 Z-.0827 F10.
N1840 G01 X-.0888 Y-.0366 Z-.0956 F10.
N1850 G01 X-.0241 Y-.128 Z-.1256 F10.
N1860 G01 X0.0 Y-.1696 Z-.1385 F10.
N1870 G01 X.0241 Y-.128 Z-.1514 F10.
N1880 G01 X.0888 Y-.0366 Z-.1813 F10.
N1890 G01 X.12 Y0.0 Z-.1942 F10.
N1900 G01 X.0888 Y.0366 Z-.2071 F10.
N1910 G01 X.0241 Y.128 Z-.2371 F10.
N1920 G01 X0.0 Y.1696 Z-.25 F10.
N1930 G17 G02 X-.12 Y0.0 Z-.25 I-1. J.5804 K0.0 F10.
N1940 G17 G02 X0.0 Y-.1696 Z-.25 I-.88 J-.75 K0.0 F10.
N1950 G17 G02 X.12 Y0.0 Z-.25 I1. J-.5804 K0.0 F10.
N1960 G17 G02 X0.0 Y.1696 Z-.25 I.88 J.75 K0.0 F10.
N1970 G01 X.0811 Y.2166 Z-.25 F10.
N1980 G17 G02 X0.0 Y.391 Z-.25 I.9189 J.5334 K0.0 F10.
N1990 G17 G02 X-.2474 Y0.0 Z-.25 I-1. J.359 K0.0 F10.
N2000 G17 G02 X0.0 Y-.391 Z-.25 I-.7526 J-.75 K0.0 F10.
N2010 G17 G02 X.2474 Y0.0 Z-.25 I1. J-.359 K0.0 F10.
N2020 G17 G02 X.0811 Y.2166 Z-.25 I.7526 J.75 K0.0 F10.
N2030 G01 X.1622 Y.2637 Z-.25 F10.
N2040 G17 G02 X.0563 Y.5312 Z-.25 I.8378 J.4863 K0.0 F10.
N2050 G01 X-.0563 Y.5312 Z-.25 F10.
N2060 G17 G02 X-.3868 Y0.0 Z-.25 I-.9437 J.2188 K0.0 F10.
N2070 G17 G02 X-.0882 Y-.4226 Z-.25 I-.6132 J-.75 K0.0 F10.
N2080 G17 G02 X-.0563 Y-.5312 Z-.25 I-.9118 J-.3274 K0.0 F10.
N2090 G01 X.0563 Y-.5312 Z-.25 F10.
N2100 G17 G02 X.0882 Y-.4226 Z-.25 I.9437 J-.2188 K0.0 F10.
N2110 G17 G02 X.3868 Y0.0 Z-.25 I.9118 J-.3274 K0.0 F10.
N2120 G17 G02 X.1622 Y.2637 Z-.25 I.6132 J.75 K0.0 F10.
N2130 G01 X.2432 Y.3107 Z-.25 F10.
N2140 G17 G02 X.134 Y.625 Z-.25 I.7568 J.4393 K0.0 F10.
N2150 G01 X-.134 Y.625 Z-.25 F10.
N2160 G17 G02 X-.5493 Y0.0 Z-.25 I-.866 J.125 K0.0 F10.
N2170 G17 G02 X-.134 Y-.625 Z-.25 I-.4507 J-.75 K0.0 F10.
N2180 G01 X.134 Y-.625 Z-.25 F10.
N2190 G17 G02 X.5493 Y0.0 Z-.25 I.866 J-.125 K0.0 F10.
N2200 G17 G02 X.2432 Y.3107 Z-.25 I.4507 J.75 K0.0 F10.
N2210 G01 X.3243 Y.3578 Z-.25 F10.
N2220 G17 G02 X.2194 Y.7187 Z-.25 I.6757 J.3922 K0.0 F10.
N2230 G01 X-.2194 Y.7187 Z-.25 F10.
N2240 G17 G02 X-.7187 Y.0211 Z-.25 I-.7806 J.0313 K0.0 F10.
N2250 G01 X-.7187 Y-.0211 Z-.25 F10.
N2260 G17 G02 X-.2194 Y-.7187 Z-.25 I-.2813 J-.7289 K0.0 F10.
N2270 G01 X.2194 Y-.7187 Z-.25 F10.
N2280 G17 G02 X.7187 Y-.0211 Z-.25 I.7806 J-.0313 K0.0 F10.
N2290 G01 X.7187 Y.0211 Z-.25 F10.
N2300 G17 G02 X.3243 Y.3578 Z-.25 I.2813 J.7289 K0.0 F10.
N2310 G01 X.4054 Y.4049 Z-.25 F10.
N2320 G17 G02 X.3125 Y.75 Z-.25 I.5946 J.3451 K0.0 F10.
N2330 G01 X.3125 Y.8125 Z-.25 F10.
N2340 G01 X-.3125 Y.8125 Z-.25 F10.
N2350 G01 X-.3125 Y.75 Z-.25 F10.
N2360 G17 G02 X-.8125 Y.0886 Z-.25 I-.6875 J0.0 K0.0 F10.
N2370 G01 X-.8125 Y-.0886 Z-.25 F10.
N2380 G17 G02 X-.3125 Y-.75 Z-.25 I-.1875 J-.6614 K0.0 F10.
N2390 G01 X-.3125 Y-.8125 Z-.25 F10.
N2400 G01 X.3125 Y-.8125 Z-.25 F10.
N2410 G01 X.3125 Y-.75 Z-.25 F10.
N2420 G17 G02 X.8125 Y-.0886 Z-.25 I.6875 J0.0 K0.0 F10.
N2430 G01 X.8125 Y.0886 Z-.25 F10.
N2440 G17 G02 X.4054 Y.4049 Z-.25 I.1875 J.6614 K0.0 F10.
N2450 G01 X.4865 Y.4519 Z-.25 F10.
N2460 G17 G02 X.4062 Y.75 Z-.25 I.5135 J.2981 K0.0 F10.
N2470 G01 X.4062 Y.9062 Z-.25 F10.
N2480 G01 X-.4062 Y.9062 Z-.25 F10.
N2490 G01 X-.4062 Y.75 Z-.25 F10.
N2500 G17 G02 X-.9062 Y.1637 Z-.25 I-.5938 J0.0 K0.0 F10.
N2510 G01 X-.9062 Y-.1637 Z-.25 F10.
N2520 G17 G02 X-.4062 Y-.75 Z-.25 I-.0938 J-.5863 K0.0 F10.
N2530 G01 X-.4062 Y-.9062 Z-.25 F10.
N2540 G01 X.4062 Y-.9062 Z-.25 F10.
N2550 G01 X.4062 Y-.75 Z-.25 F10.
N2560 G17 G02 X.9062 Y-.1637 Z-.25 I.5938 J0.0 K0.0 F10.
N2570 G01 X.9062 Y.1637 Z-.25 F10.
N2580 G17 G02 X.4865 Y.4519 Z-.25 I.0938 J.5863 K0.0 F10.
N2590 G01 X.5676 Y.499 Z-.25 F10.
N2600 G17 G02 X.5 Y.75 Z-.25 I.4324 J.251 K0.0 F10.
N2610 G01 X.5 Y1. Z-.25 F10.
N2620 G01 X-.5 Y1. Z-.25 F10.
N2630 G01 X-.5 Y.75 Z-.25 F10.
N2640 G17 G02 X-1. Y.25 Z-.25 I-.5 J0.0 K0.0 F10.
N2650 G01 X-1. Y-.25 Z-.25 F10.
N2660 G17 G02 X-.5 Y-.75 Z-.25 I0.0 J-.5 K0.0 F10.
N2670 G01 X-.5 Y-1. Z-.25 F10.
N2680 G01 X.5 Y-1. Z-.25 F10.
N2690 G01 X.5 Y-.75 Z-.25 F10.
N2700 G17 G02 X1. Y-.25 Z-.25 I.5 J0.0 K0.0 F10.
N2710 G01 X1. Y.25 Z-.25 F10.
N2720 G17 G02 X.5676 Y.499 Z-.25 I0.0 J.5 K0.0 F10.
N2730 G01 X.6486 Y.5461 Z-.25 F10.
N2740 G17 G02 X.5937 Y.75 Z-.25 I.3514 J.2039 K0.0 F10.
N2750 G01 X.5937 Y1.0937 Z-.25 F10.
N2760 G01 X-.5937 Y1.0937 Z-.25 F10.
N2770 G01 X-.5937 Y.75 Z-.25 F10.
N2780 G17 G02 X-1. Y.3437 Z-.25 I-.4063 J0.0 K0.0 F10.
N2790 G01 X-1.0937 Y.3437 Z-.25 F10.
N2800 G01 X-1.0937 Y-.3437 Z-.25 F10.
N2810 G01 X-1. Y-.3437 Z-.25 F10.
N2820 G17 G02 X-.5937 Y-.75 Z-.25 I0.0 J-.4063 K0.0 F10.
N2830 G01 X-.5937 Y-1.0937 Z-.25 F10.
N2840 G01 X.5937 Y-1.0937 Z-.25 F10.
N2850 G01 X.5937 Y-.75 Z-.25 F10.
N2860 G17 G02 X1. Y-.3437 Z-.25 I.4063 J0.0 K0.0 F10.
N2870 G01 X1.0937 Y-.3437 Z-.25 F10.
N2880 G01 X1.0937 Y.3437 Z-.25 F10.
N2890 G01 X1. Y.3437 Z-.25 F10.
N2900 G17 G02 X.6486 Y.5461 Z-.25 I0.0 J.4063 K0.0 F10.
N2910 G01 X.7297 Y.5931 Z-.25 F10.
N2920 G17 G02 X.6875 Y.75 Z-.25 I.2703 J.1569 K0.0 F10.
N2930 G01 X.6875 Y1.1875 Z-.25 F10.
N2940 G01 X-.6875 Y1.1875 Z-.25 F10.
N2950 G01 X-.6875 Y.75 Z-.25 F10.
N2960 G17 G02 X-1. Y.4375 Z-.25 I-.3125 J0.0 K0.0 F10.
N2970 G01 X-1.1875 Y.4375 Z-.25 F10.
N2980 G01 X-1.1875 Y-.4375 Z-.25 F10.
N2990 G01 X-1. Y-.4375 Z-.25 F10.
N3000 G17 G02 X-.6875 Y-.75 Z-.25 I0.0 J-.3125 K0.0 F10.
N3010 G01 X-.6875 Y-1.1875 Z-.25 F10.
N3020 G01 X.6875 Y-1.1875 Z-.25 F10.
N3030 G01 X.6875 Y-.75 Z-.25 F10.
N3040 G17 G02 X1. Y-.4375 Z-.25 I.3125 J0.0 K0.0 F10.
N3050 G01 X1.1875 Y-.4375 Z-.25 F10.
N3060 G01 X1.1875 Y.4375 Z-.25 F10.
N3070 G01 X1. Y.4375 Z-.25 F10.
N3080 G17 G02 X.7297 Y.5931 Z-.25 I0.0 J.3125 K0.0 F10.
N3090 G01 X.9196 Y.2777 Z-.25 F10.
N3100 G17 G03 X.8587 Y.583 Z-.25 I-.2223 J.1144 K0.0 F10.
N3110 G17 G02 X.8108 Y.6402 Z-.25 I.1413 J.167 K0.0 F10.
N3120 G17 G02 X.7812 Y.75 Z-.25 I.1892 J.1098 K0.0 F10.
N3130 G01 X.7812 Y1.2812 Z-.25 F10.
N3140 G01 X-.7812 Y1.2812 Z-.25 F10.
N3150 G01 X-.7812 Y.75 Z-.25 F10.
N3160 G17 G02 X-1. Y.5312 Z-.25 I-.2188 J0.0 K0.0 F10.
N3170 G01 X-1.2812 Y.5312 Z-.25 F10.
N3180 G01 X-1.2812 Y-.5312 Z-.25 F10.
N3190 G01 X-1. Y-.5312 Z-.25 F10.
N3200 G17 G02 X-.7812 Y-.75 Z-.25 I0.0 J-.2188 K0.0 F10.
N3210 G01 X-.7812 Y-1.2812 Z-.25 F10.
N3220 G01 X.7812 Y-1.2812 Z-.25 F10.
N3230 G01 X.7812 Y-.75 Z-.25 F10.
N3240 G17 G02 X1. Y-.5312 Z-.25 I.2188 J0.0 K0.0 F10.
N3250 G01 X1.2812 Y-.5312 Z-.25 F10.
N3260 G01 X1.2812 Y.5312 Z-.25 F10.
N3270 G01 X1. Y.5312 Z-.25 F10.
N3280 G17 G02 X.7849 Y.7102 Z-.25 I0.0 J.2188 K0.0 F10.
N3290 G17 G03 X.6502 Y.8886 Z-.25 I-.2458 J-.0455 K0.0 F10.
N3300 G01 X1.0827 Y.3574 Z-.25 F10.
N3310 G17 G03 X.9462 Y.6372 Z-.25 I-.2441 J.0541 K0.0 F10.
N3320 G17 G02 X.8919 Y.6872 Z-.25 I.0538 J.1128 K0.0 F10.
N3330 G17 G02 X.875 Y.75 Z-.25 I.1081 J.0628 K0.0 F10.
N3340 G01 X.875 Y1.375 Z-.25 F10.
N3350 G01 X-.875 Y1.375 Z-.25 F10.
N3360 G01 X-.875 Y.75 Z-.25 F10.
N3370 G17 G02 X-1. Y.625 Z-.25 I-.125 J0.0 K0.0 F10.
N3380 G01 X-1.375 Y.625 Z-.25 F10.
N3390 G01 X-1.375 Y-.625 Z-.25 F10.
N3400 G01 X-1. Y-.625 Z-.25 F10.
N3410 G17 G02 X-.875 Y-.75 Z-.25 I0.0 J-.125 K0.0 F10.
N3420 G01 X-.875 Y-1.375 Z-.25 F10.
N3430 G01 X.875 Y-1.375 Z-.25 F10.
N3440 G01 X.875 Y-.75 Z-.25 F10.
N3450 G17 G02 X1. Y-.625 Z-.25 I.125 J0.0 K0.0 F10.
N3460 G01 X1.375 Y-.625 Z-.25 F10.
N3470 G01 X1.375 Y.625 Z-.25 F10.
N3480 G01 X1. Y.625 Z-.25 F10.
N3490 G17 G02 X.875 Y.75 Z-.25 I0.0 J.125 K0.0 F10.
N3500 G01 X.875 Y.7593 Z-.25 F10.
N3510 G17 G03 X.775 Y.9593 Z-.25 I-.25 J0.0 K0.0 F10.
N3520 G01 X.775 Y.9593 Z-.15 F20.
N3530 G01 X.775 Y.9593 Z.2 F20.
N3540 G01 X.0037 Y.1633 Z.2 F20.
N3550 G01 X.0037 Y.1633 Z-.15 F20.
N3560 G01 X0.0 Y.1696 Z-.1519 F10.
N3570 G01 X-.0241 Y.128 Z-.1648 F10.
N3580 G01 X-.0888 Y.0366 Z-.1948 F10.
N3590 G01 X-.12 Y0.0 Z-.2077 F10.
N3600 G01 X-.0888 Y-.0366 Z-.2206 F10.
N3610 G01 X-.0241 Y-.128 Z-.2506 F10.
N3620 G01 X0.0 Y-.1696 Z-.2635 F10.
N3630 G01 X.0241 Y-.128 Z-.2764 F10.
N3640 G01 X.0888 Y-.0366 Z-.3063 F10.
N3650 G01 X.12 Y0.0 Z-.3192 F10.
N3660 G01 X.0888 Y.0366 Z-.3321 F10.
N3670 G01 X.0241 Y.128 Z-.3621 F10.
N3680 G01 X0.0 Y.1696 Z-.375 F10.
N3690 G17 G02 X-.12 Y0.0 Z-.375 I-1. J.5804 K0.0 F10.
N3700 G17 G02 X0.0 Y-.1696 Z-.375 I-.88 J-.75 K0.0 F10.
N3710 G17 G02 X.12 Y0.0 Z-.375 I1. J-.5804 K0.0 F10.
N3720 G17 G02 X0.0 Y.1696 Z-.375 I.88 J.75 K0.0 F10.
N3730 G01 X.0811 Y.2166 Z-.375 F10.
N3740 G17 G02 X0.0 Y.391 Z-.375 I.9189 J.5334 K0.0 F10.
N3750 G17 G02 X-.2474 Y0.0 Z-.375 I-1. J.359 K0.0 F10.
N3760 G17 G02 X0.0 Y-.391 Z-.375 I-.7526 J-.75 K0.0 F10.
N3770 G17 G02 X.2474 Y0.0 Z-.375 I1. J-.359 K0.0 F10.
N3780 G17 G02 X.0811 Y.2166 Z-.375 I.7526 J.75 K0.0 F10.
N3790 G01 X.1622 Y.2637 Z-.375 F10.
N3800 G17 G02 X.0563 Y.5312 Z-.375 I.8378 J.4863 K0.0 F10.
N3810 G01 X-.0563 Y.5312 Z-.375 F10.
N3820 G17 G02 X-.3868 Y0.0 Z-.375 I-.9437 J.2188 K0.0 F10.
N3830 G17 G02 X-.0882 Y-.4226 Z-.375 I-.6132 J-.75 K0.0 F10.
N3840 G17 G02 X-.0563 Y-.5312 Z-.375 I-.9118 J-.3274 K0.0 F10.
N3850 G01 X.0563 Y-.5312 Z-.375 F10.
N3860 G17 G02 X.0882 Y-.4226 Z-.375 I.9437 J-.2188 K0.0 F10.
N3870 G17 G02 X.3868 Y0.0 Z-.375 I.9118 J-.3274 K0.0 F10.
N3880 G17 G02 X.1622 Y.2637 Z-.375 I.6132 J.75 K0.0 F10.
N3890 G01 X.2432 Y.3107 Z-.375 F10.
N3900 G17 G02 X.134 Y.625 Z-.375 I.7568 J.4393 K0.0 F10.
N3910 G01 X-.134 Y.625 Z-.375 F10.
N3920 G17 G02 X-.5493 Y0.0 Z-.375 I-.866 J.125 K0.0 F10.
N3930 G17 G02 X-.134 Y-.625 Z-.375 I-.4507 J-.75 K0.0 F10.
N3940 G01 X.134 Y-.625 Z-.375 F10.
N3950 G17 G02 X.5493 Y0.0 Z-.375 I.866 J-.125 K0.0 F10.
N3960 G17 G02 X.2432 Y.3107 Z-.375 I.4507 J.75 K0.0 F10.
N3970 G01 X.3243 Y.3578 Z-.375 F10.
N3980 G17 G02 X.2194 Y.7187 Z-.375 I.6757 J.3922 K0.0 F10.
N3990 G01 X-.2194 Y.7187 Z-.375 F10.
N4000 G17 G02 X-.7187 Y.0211 Z-.375 I-.7806 J.0313 K0.0 F10.
N4010 G01 X-.7187 Y-.0211 Z-.375 F10.
N4020 G17 G02 X-.2194 Y-.7187 Z-.375 I-.2813 J-.7289 K0.0 F10.
N4030 G01 X.2194 Y-.7187 Z-.375 F10.
N4040 G17 G02 X.7187 Y-.0211 Z-.375 I.7806 J-.0313 K0.0 F10.
N4050 G01 X.7187 Y.0211 Z-.375 F10.
N4060 G17 G02 X.3243 Y.3578 Z-.375 I.2813 J.7289 K0.0 F10.
N4070 G01 X.4054 Y.4049 Z-.375 F10.
N4080 G17 G02 X.3125 Y.75 Z-.375 I.5946 J.3451 K0.0 F10.
N4090 G01 X.3125 Y.8125 Z-.375 F10.
N4100 G01 X-.3125 Y.8125 Z-.375 F10.
N4110 G01 X-.3125 Y.75 Z-.375 F10.
N4120 G17 G02 X-.8125 Y.0886 Z-.375 I-.6875 J0.0 K0.0 F10.
N4130 G01 X-.8125 Y-.0886 Z-.375 F10.
N4140 G17 G02 X-.3125 Y-.75 Z-.375 I-.1875 J-.6614 K0.0 F10.
N4150 G01 X-.3125 Y-.8125 Z-.375 F10.
N4160 G01 X.3125 Y-.8125 Z-.375 F10.
N4170 G01 X.3125 Y-.75 Z-.375 F10.
N4180 G17 G02 X.8125 Y-.0886 Z-.375 I.6875 J0.0 K0.0 F10.
N4190 G01 X.8125 Y.0886 Z-.375 F10.
N4200 G17 G02 X.4054 Y.4049 Z-.375 I.1875 J.6614 K0.0 F10.
N4210 G01 X.4865 Y.4519 Z-.375 F10.
N4220 G17 G02 X.4062 Y.75 Z-.375 I.5135 J.2981 K0.0 F10.
N4230 G01 X.4062 Y.9062 Z-.375 F10.
N4240 G01 X-.4062 Y.9062 Z-.375 F10.
N4250 G01 X-.4062 Y.75 Z-.375 F10.
N4260 G17 G02 X-.9062 Y.1637 Z-.375 I-.5938 J0.0 K0.0 F10.
N4270 G01 X-.9062 Y-.1637 Z-.375 F10.
N4280 G17 G02 X-.4062 Y-.75 Z-.375 I-.0938 J-.5863 K0.0 F10.
N4290 G01 X-.4062 Y-.9062 Z-.375 F10.
N4300 G01 X.4062 Y-.9062 Z-.375 F10.
N4310 G01 X.4062 Y-.75 Z-.375 F10.
N4320 G17 G02 X.9062 Y-.1637 Z-.375 I.5938 J0.0 K0.0 F10.
N4330 G01 X.9062 Y.1637 Z-.375 F10.
N4340 G17 G02 X.4865 Y.4519 Z-.375 I.0938 J.5863 K0.0 F10.
N4350 G01 X.5676 Y.499 Z-.375 F10.
N4360 G17 G02 X.5 Y.75 Z-.375 I.4324 J.251 K0.0 F10.
N4370 G01 X.5 Y1. Z-.375 F10.
N4380 G01 X-.5 Y1. Z-.375 F10.
N4390 G01 X-.5 Y.75 Z-.375 F10.
N4400 G17 G02 X-1. Y.25 Z-.375 I-.5 J0.0 K0.0 F10.
N4410 G01 X-1. Y-.25 Z-.375 F10.
N4420 G17 G02 X-.5 Y-.75 Z-.375 I0.0 J-.5 K0.0 F10.
N4430 G01 X-.5 Y-1. Z-.375 F10.
N4440 G01 X.5 Y-1. Z-.375 F10.
N4450 G01 X.5 Y-.75 Z-.375 F10.
N4460 G17 G02 X1. Y-.25 Z-.375 I.5 J0.0 K0.0 F10.
N4470 G01 X1. Y.25 Z-.375 F10.
N4480 G17 G02 X.5676 Y.499 Z-.375 I0.0 J.5 K0.0 F10.
N4490 G01 X.6486 Y.5461 Z-.375 F10.
N4500 G17 G02 X.5937 Y.75 Z-.375 I.3514 J.2039 K0.0 F10.
N4510 G01 X.5937 Y1.0937 Z-.375 F10.
N4520 G01 X-.5937 Y1.0937 Z-.375 F10.
N4530 G01 X-.5937 Y.75 Z-.375 F10.
N4540 G17 G02 X-1. Y.3437 Z-.375 I-.4063 J0.0 K0.0 F10.
N4550 G01 X-1.0937 Y.3437 Z-.375 F10.
N4560 G01 X-1.0937 Y-.3437 Z-.375 F10.
N4570 G01 X-1. Y-.3437 Z-.375 F10.
N4580 G17 G02 X-.5937 Y-.75 Z-.375 I0.0 J-.4063 K0.0 F10.
N4590 G01 X-.5937 Y-1.0937 Z-.375 F10.
N4600 G01 X.5937 Y-1.0937 Z-.375 F10.
N4610 G01 X.5937 Y-.75 Z-.375 F10.
N4620 G17 G02 X1. Y-.3437 Z-.375 I.4063 J0.0 K0.0 F10.
N4630 G01 X1.0937 Y-.3437 Z-.375 F10.
N4640 G01 X1.0937 Y.3437 Z-.375 F10.
N4650 G01 X1. Y.3437 Z-.375 F10.
N4660 G17 G02 X.6486 Y.5461 Z-.375 I0.0 J.4063 K0.0 F10.
N4670 G01 X.7297 Y.5931 Z-.375 F10.
N4680 G17 G02 X.6875 Y.75 Z-.375 I.2703 J.1569 K0.0 F10.
N4690 G01 X.6875 Y1.1875 Z-.375 F10.
N4700 G01 X-.6875 Y1.1875 Z-.375 F10.
N4710 G01 X-.6875 Y.75 Z-.375 F10.
N4720 G17 G02 X-1. Y.4375 Z-.375 I-.3125 J0.0 K0.0 F10.
N4730 G01 X-1.1875 Y.4375 Z-.375 F10.
N4740 G01 X-1.1875 Y-.4375 Z-.375 F10.
N4750 G01 X-1. Y-.4375 Z-.375 F10.
N4760 G17 G02 X-.6875 Y-.75 Z-.375 I0.0 J-.3125 K0.0 F10.
N4770 G01 X-.6875 Y-1.1875 Z-.375 F10.
N4780 G01 X.6875 Y-1.1875 Z-.375 F10.
N4790 G01 X.6875 Y-.75 Z-.375 F10.
N4800 G17 G02 X1. Y-.4375 Z-.375 I.3125 J0.0 K0.0 F10.
N4810 G01 X1.1875 Y-.4375 Z-.375 F10.
N4820 G01 X1.1875 Y.4375 Z-.375 F10.
N4830 G01 X1. Y.4375 Z-.375 F10.
N4840 G17 G02 X.7297 Y.5931 Z-.375 I0.0 J.3125 K0.0 F10.
N4850 G01 X.9196 Y.2777 Z-.375 F10.
N4860 G17 G03 X.8587 Y.583 Z-.375 I-.2223 J.1144 K0.0 F10.
N4870 G17 G02 X.8108 Y.6402 Z-.375 I.1413 J.167 K0.0 F10.
N4880 G17 G02 X.7812 Y.75 Z-.375 I.1892 J.1098 K0.0 F10.
N4890 G01 X.7812 Y1.2812 Z-.375 F10.
N4900 G01 X-.7812 Y1.2812 Z-.375 F10.
N4910 G01 X-.7812 Y.75 Z-.375 F10.
N4920 G17 G02 X-1. Y.5312 Z-.375 I-.2188 J0.0 K0.0 F10.
N4930 G01 X-1.2812 Y.5312 Z-.375 F10.
N4940 G01 X-1.2812 Y-.5312 Z-.375 F10.
N4950 G01 X-1. Y-.5312 Z-.375 F10.
N4960 G17 G02 X-.7812 Y-.75 Z-.375 I0.0 J-.2188 K0.0 F10.
N4970 G01 X-.7812 Y-1.2812 Z-.375 F10.
N4980 G01 X.7812 Y-1.2812 Z-.375 F10.
N4990 G01 X.7812 Y-.75 Z-.375 F10.
N5000 G17 G02 X1. Y-.5312 Z-.375 I.2188 J0.0 K0.0 F10.
N5010 G01 X1.2812 Y-.5312 Z-.375 F10.
N5020 G01 X1.2812 Y.5312 Z-.375 F10.
N5030 G01 X1. Y.5312 Z-.375 F10.
N5040 G17 G02 X.7849 Y.7102 Z-.375 I0.0 J.2188 K0.0 F10.
N5050 G17 G03 X.6502 Y.8886 Z-.375 I-.2458 J-.0455 K0.0 F10.
N5060 G01 X1.0827 Y.3574 Z-.375 F10.
N5070 G17 G03 X.9462 Y.6372 Z-.375 I-.2441 J.0541 K0.0 F10.
N5080 G17 G02 X.8919 Y.6872 Z-.375 I.0538 J.1128 K0.0 F10.
N5090 G17 G02 X.875 Y.75 Z-.375 I.1081 J.0628 K0.0 F10.
N5100 G01 X.875 Y1.375 Z-.375 F10.
N5110 G01 X-.875 Y1.375 Z-.375 F10.
N5120 G01 X-.875 Y.75 Z-.375 F10.
N5130 G17 G02 X-1. Y.625 Z-.375 I-.125 J0.0 K0.0 F10.
N5140 G01 X-1.375 Y.625 Z-.375 F10.
N5150 G01 X-1.375 Y-.625 Z-.375 F10.
N5160 G01 X-1. Y-.625 Z-.375 F10.
N5170 G17 G02 X-.875 Y-.75 Z-.375 I0.0 J-.125 K0.0 F10.
N5180 G01 X-.875 Y-1.375 Z-.375 F10.
N5190 G01 X.875 Y-1.375 Z-.375 F10.
N5200 G01 X.875 Y-.75 Z-.375 F10.
N5210 G17 G02 X1. Y-.625 Z-.375 I.125 J0.0 K0.0 F10.
N5220 G01 X1.375 Y-.625 Z-.375 F10.
N5230 G01 X1.375 Y.625 Z-.375 F10.
N5240 G01 X1. Y.625 Z-.375 F10.
N5250 G17 G02 X.875 Y.75 Z-.375 I0.0 J.125 K0.0 F10.
N5260 G01 X.875 Y.7593 Z-.375 F10.
N5270 G17 G03 X.775 Y.9593 Z-.375 I-.25 J0.0 K0.0 F10.
N5280 G43 T01 H01 M06
N5290 G01 X.3422 Y-3.8348 Z.25 F20. S0 M03
N5300 G01 X.3422 Y-3.8348 Z.1 F20.
N5310 G01 X.3422 Y-3.8348 Z-.025 F20.
N5320 G01 X.3422 Y-3.8348 Z-.125 F10.
N5330 G17 G03 X.1426 Y-3.7473 Z-.125 I-.1901 J-.1623 K0.0 F10.
N5340 G17 G02 X.0676 Y-3.7494 Z-.125 I-.1426 J3.7473 K0.0 F10.
N5350 G17 G02 X-3.2143 Y-1.9315 Z-.125 I-.0676 J3.7494 K0.0 F10.
N5360 G17 G02 X-3.25 Y-1.8028 Z-.125 I.2143 J.1287 K0.0 F10.
N5370 G01 X-3.25 Y1.8028 Z-.125 F10.
N5380 G17 G02 X-3.2143 Y1.9315 Z-.125 I.25 J0.0 K0.0 F10.
N5390 G17 G02 X3.2143 Y1.9315 Z-.125 I3.2143 J-1.9315 K0.0 F10.
N5400 G17 G02 X3.25 Y1.8028 Z-.125 I-.2143 J-.1287 K0.0 F10.
N5410 G01 X3.25 Y-1.8028 Z-.125 F10.
N5420 G17 G02 X3.2143 Y-1.9315 Z-.125 I-.25 J0.0 K0.0 F10.
N5430 G17 G02 X-.0074 Y-3.75 Z-.125 I-3.2143 J1.9315 K0.0 F10.
N5440 G17 G03 X-.2076 Y-3.8496 Z-.125 I-.0005 J-.25 K0.0 F10.
N5450 G01 X-.2076 Y-3.8496 Z-.025 F20.
N5460 G01 X-.2076 Y-3.8496 Z.25 F20.
N5470 G01 X.3422 Y-3.8348 Z.25 F20.
N5480 G01 X.3422 Y-3.8348 Z-.025 F20.
N5490 G01 X.3422 Y-3.8348 Z-.15 F20.
N5500 G01 X.3422 Y-3.8348 Z-.25 F10.
N5510 G17 G03 X.1426 Y-3.7473 Z-.25 I-.1901 J-.1623 K0.0 F10.
N5520 G17 G02 X.0676 Y-3.7494 Z-.25 I-.1426 J3.7473 K0.0 F10.
N5530 G17 G02 X-3.2143 Y-1.9315 Z-.25 I-.0676 J3.7494 K0.0 F10.
N5540 G17 G02 X-3.25 Y-1.8028 Z-.25 I.2143 J.1287 K0.0 F10.
N5550 G01 X-3.25 Y1.8028 Z-.25 F10.
N5560 G17 G02 X-3.2143 Y1.9315 Z-.25 I.25 J0.0 K0.0 F10.
N5570 G17 G02 X3.2143 Y1.9315 Z-.25 I3.2143 J-1.9315 K0.0 F10.
N5580 G17 G02 X3.25 Y1.8028 Z-.25 I-.2143 J-.1287 K0.0 F10.
N5590 G01 X3.25 Y-1.8028 Z-.25 F10.
N5600 G17 G02 X3.2143 Y-1.9315 Z-.25 I-.25 J0.0 K0.0 F10.
N5610 G17 G02 X-.0074 Y-3.75 Z-.25 I-3.2143 J1.9315 K0.0 F10.
N5620 G17 G03 X-.2076 Y-3.8496 Z-.25 I-.0005 J-.25 K0.0 F10.
N5630 G01 X-.2076 Y-3.8496 Z-.15 F20.
N5640 G01 X-.2076 Y-3.8496 Z.25 F20.
N5650 G01 X.3422 Y-3.8348 Z.25 F20.
N5660 G01 X.3422 Y-3.8348 Z-.15 F20.
N5670 G01 X.3422 Y-3.8348 Z-.275 F20.
N5680 G01 X.3422 Y-3.8348 Z-.375 F10.
N5690 G17 G03 X.1426 Y-3.7473 Z-.375 I-.1901 J-.1623 K0.0 F10.
N5700 G17 G02 X.0676 Y-3.7494 Z-.375 I-.1426 J3.7473 K0.0 F10.
N5710 G17 G02 X-3.2143 Y-1.9315 Z-.375 I-.0676 J3.7494 K0.0 F10.
N5720 G17 G02 X-3.25 Y-1.8028 Z-.375 I.2143 J.1287 K0.0 F10.
N5730 G01 X-3.25 Y1.8028 Z-.375 F10.
N5740 G17 G02 X-3.2143 Y1.9315 Z-.375 I.25 J0.0 K0.0 F10.
N5750 G17 G02 X3.2143 Y1.9315 Z-.375 I3.2143 J-1.9315 K0.0 F10.
N5760 G17 G02 X3.25 Y1.8028 Z-.375 I-.2143 J-.1287 K0.0 F10.
N5770 G01 X3.25 Y-1.8028 Z-.375 F10.
N5780 G17 G02 X3.2143 Y-1.9315 Z-.375 I-.25 J0.0 K0.0 F10.
N5790 G17 G02 X-.0074 Y-3.75 Z-.375 I-3.2143 J1.9315 K0.0 F10.
N5800 G17 G03 X-.2076 Y-3.8496 Z-.375 I-.0005 J-.25 K0.0 F10.
N5810 G01 X-.2076 Y-3.8496 Z-.275 F20.
N5820 G01 X-.2076 Y-3.8496 Z.25 F20.
N5830 G01 X.3422 Y-3.8348 Z.25 F20.
N5840 G01 X.3422 Y-3.8348 Z-.275 F20.
N5850 G01 X.3422 Y-3.8348 Z-.4 F20.
N5860 G01 X.3422 Y-3.8348 Z-.5 F10.
N5870 G17 G03 X.1426 Y-3.7473 Z-.5 I-.1901 J-.1623 K0.0 F10.
N5880 G17 G02 X.0676 Y-3.7494 Z-.5 I-.1426 J3.7473 K0.0 F10.
N5890 G17 G02 X-3.2143 Y-1.9315 Z-.5 I-.0676 J3.7494 K0.0 F10.
N5900 G17 G02 X-3.25 Y-1.8028 Z-.5 I.2143 J.1287 K0.0 F10.
N5910 G01 X-3.25 Y1.8028 Z-.5 F10.
N5920 G17 G02 X-3.2143 Y1.9315 Z-.5 I.25 J0.0 K0.0 F10.
N5930 G17 G02 X3.2143 Y1.9315 Z-.5 I3.2143 J-1.9315 K0.0 F10.
N5940 G17 G02 X3.25 Y1.8028 Z-.5 I-.2143 J-.1287 K0.0 F10.
N5950 G01 X3.25 Y-1.8028 Z-.5 F10.
N5960 G17 G02 X3.2143 Y-1.9315 Z-.5 I-.25 J0.0 K0.0 F10.
N5970 G17 G02 X-.0074 Y-3.75 Z-.5 I-3.2143 J1.9315 K0.0 F10.
N5980 G17 G03 X-.2076 Y-3.8496 Z-.5 I-.0005 J-.25 K0.0 F10.
N5990 G01 X-.2076 Y-3.8496 Z-.4 F20.
N6000 G01 X-.2076 Y-3.8496 Z.25 F20.
N6010 G01 X.3422 Y-3.8348 Z.25 F20.
N6020 G01 X.3422 Y-3.8348 Z-.4 F20.
N6030 G01 X.3422 Y-3.8348 Z-.525 F20.
N6040 G01 X.3422 Y-3.8348 Z-.625 F10.
N6050 G17 G03 X.1426 Y-3.7473 Z-.625 I-.1901 J-.1623 K0.0 F10.
N6060 G17 G02 X.0676 Y-3.7494 Z-.625 I-.1426 J3.7473 K0.0 F10.
N6070 G17 G02 X-3.2143 Y-1.9315 Z-.625 I-.0676 J3.7494 K0.0 F10.
N6080 G17 G02 X-3.25 Y-1.8028 Z-.625 I.2143 J.1287 K0.0 F10.
N6090 G01 X-3.25 Y1.8028 Z-.625 F10.
N6100 G17 G02 X-3.2143 Y1.9315 Z-.625 I.25 J0.0 K0.0 F10.
N6110 G17 G02 X3.2143 Y1.9315 Z-.625 I3.2143 J-1.9315 K0.0 F10.
N6120 G17 G02 X3.25 Y1.8028 Z-.625 I-.2143 J-.1287 K0.0 F10.
N6130 G01 X3.25 Y-1.8028 Z-.625 F10.
N6140 G17 G02 X3.2143 Y-1.9315 Z-.625 I-.25 J0.0 K0.0 F10.
N6150 G17 G02 X-.0074 Y-3.75 Z-.625 I-3.2143 J1.9315 K0.0 F10.
N6160 G17 G03 X-.2076 Y-3.8496 Z-.625 I-.0005 J-.25 K0.0 F10.
N6170 G01 X-.2076 Y-3.8496 Z-.525 F20.
N6180 G01 X-.2076 Y-3.8496 Z.25 F20.
N6190 G01 X.3422 Y-3.8348 Z.25 F20.
N6200 G01 X.3422 Y-3.8348 Z-.525 F20.
N6210 G01 X.3422 Y-3.8348 Z-.65 F20.
N6220 G01 X.3422 Y-3.8348 Z-.75 F10.
N6230 G17 G03 X.1426 Y-3.7473 Z-.75 I-.1901 J-.1623 K0.0 F10.
N6240 G17 G02 X.0676 Y-3.7494 Z-.75 I-.1426 J3.7473 K0.0 F10.
N6250 G17 G02 X-3.2143 Y-1.9315 Z-.75 I-.0676 J3.7494 K0.0 F10.
N6260 G17 G02 X-3.25 Y-1.8028 Z-.75 I.2143 J.1287 K0.0 F10.
N6270 G01 X-3.25 Y1.8028 Z-.75 F10.
N6280 G17 G02 X-3.2143 Y1.9315 Z-.75 I.25 J0.0 K0.0 F10.
N6290 G17 G02 X3.2143 Y1.9315 Z-.75 I3.2143 J-1.9315 K0.0 F10.
N6300 G17 G02 X3.25 Y1.8028 Z-.75 I-.2143 J-.1287 K0.0 F10.
N6310 G01 X3.25 Y-1.8028 Z-.75 F10.
N6320 G17 G02 X3.2143 Y-1.9315 Z-.75 I-.25 J0.0 K0.0 F10.
N6330 G17 G02 X-.0074 Y-3.75 Z-.75 I-3.2143 J1.9315 K0.0 F10.
N6340 G17 G03 X-.2076 Y-3.8496 Z-.75 I-.0005 J-.25 K0.0 F10.
N6350 G01 X-.2076 Y-3.8496 Z.25 F20.
N6360 M02
%
:flipoff2:
 

·
Nose to grindstone
Joined
·
8,178 Posts
edited
 

·
Registered
Joined
·
6,558 Posts
Poolville02, MC is teaching you a valuable lesson here. All the redundant and unnessecary charactors eat up memory and cost more time to program.
N0001 - number lines are a waste of space for every line of program.
G1 or G01 is not nessecary for every line of info with a linear move, that's why it modal.

o0010;
g20;
n1 g97 s1000 m13;
m98 p1;
t1;
x1.0 z.03;
g1 g99 z0.0 f.002;
x-.01;
m98 p1;
m1;
This is just an example of a simple facing tool sequence for a FANUC 18 series lathe. The first line is the program number and second is inch programming.
The third is as, n1 (tool sequence), I can't remember what g97 is off the top of my head, s1000 is rpm and m13 is spindle CW with coolant.
The forth line is m98 (subprogram call) and p1 is the program being called. For us the p1 is a saftey index, the turret moves away from the spindle for indexing.
t1 is tool turret index.
Next is rapid position, then feed motions.
The next m98p1 is the same, just added precaution, even though the next tool sequence will have one before the turret index.
m1 is optional stop.


MC, It's been a while since I've programmed CNC mills but I believe "K" is an incremental circular interpolatation for the "Z" axis, such "I" is for "X" and "J" is for "Y". When I use "K" with lathe work it's usually a "Z" axiis call out being used in a canned cycle like peck drilling or threading.

Yes, it's the upload/download software I need for transfering saved machine programs from the comp to the machine and visa-versa.
Let me know if it's too big for a zipped email attachment and I'll give you my addy, I'll put you on the shops x-mas list some good candy, lol.
Thanks
 

·
Nose to grindstone
Joined
·
8,178 Posts
Doug pm me your address and I will send you a couple of disks. This little program predator is perfect for easy download and uploads from almost any machine tool.

K that must be a series one fanuc controller or a 3. 2 is common in this shop. He was probly using a cam and forgot to take out the K's, or they could be in there for safety reason.

Funnest crash I ever did was a 1" drill 6000rpm's rapiding 700ipm into 3"s of aluminum.....the drill melted so did the aluminum. Steve from Off Road Only has one piece from a classic crash. It was a endmill we ran the wrong mix of coolant it loaded up and was used like a huge compression die turning at 7000rpms 1" into aluminum....leaves a really shiney hole :D
 

·
Registered
Joined
·
6,558 Posts
Done.
The last place I worked for had a few machine fires due to crashes, that and the fact that all the machines including the CNCs were running oil for coolant. The oil was fine but walking away from a machine that's cutting 200 series nickle, monel, kovar, ect is not the best idea. I'm running 1" nickle right now and I'm going through coated carbide part off inserts like crazy.
I'm lucky I've only had very few minor crashes in my shop now. Now I have a new DaeWoo, all the rest are Hardinge. There is deffinately a small learning curve to the new machine. Just the DaeWoo translated manual is a job in itself.
Thanks again on the software.
 

·
Registered
Joined
·
25,560 Posts
Diesel40 said:
What a waste of time! :barf:
Exactly why I use pen/paper and manual machinery. I don't even have digital readouts on any of my stuff. Hell, I don't have any power feeds.

Don't do real close tolerance stuff either, but I can make a part in less time than it takes to fire up the computer.

I've tried to learn autocad and can see the benefit, but I can still burn a sketch quicker by hand. If I ever get Shopgrrl out of the shop office and into the business office, I can set up my big table and use the brand new drafting machine I got at an auction two years ago for $10!
 

·
Registered
Joined
·
300 Posts
I personally like Surfcam .

This could have been a good thread , but because of a couple fawkers it's fawked .


I don't have a MONKEY ! :flipoff2:
 

·
Registered
'73 Scout
Joined
·
10,458 Posts
PTSchram said:
Exactly why I use pen/paper and manual machinery. I don't even have digital readouts on any of my stuff. Hell, I don't have any power feeds.

Don't do real close tolerance stuff either, but I can make a part in less time than it takes to fire up the computer.

I've tried to learn autocad and can see the benefit, but I can still burn a sketch quicker by hand. If I ever get Shopgrrl out of the shop office and into the business office, I can set up my big table and use the brand new drafting machine I got at an auction two years ago for $10!
Id agree with your cut on this as it really depends on what yer up to. Iffen its one to ten offs that are +/-.01 or broader toleranced, not much point in even considering CNC (or a DRO). More than ten needed in a hurry and tight tolerances is altogether another matter.

Ditto with CAD, you want an accurate verifiable representation of an assembly and the fit ups solid modelling is the way to verify things and port to all the current (and past) CNC machines with a little massage. Again iffen its something 1 off, no point in doing it in CAD unless your a CAD whore and can whip out a sketch in 10 min or less.

I do all my drafting on CAD because Im fast and the machinist types like the lack of ambiguity of a decent sketch thats both legible and not filled with a bunch of hand waving trying to explain the details to them... ;)

D.
 

·
Nose to grindstone
Joined
·
8,178 Posts
I edited my post to get rid of that code. This topic is too much fun to waste it on loading times.

I learned manually from my father who was a machinist for 25 years. I remember stories he told me of the tolerances they had to hold and how they did them. I learned machining as a art form and not as a production job. I have had friends go to school only to come out arrogant and walk away from the trade. I really enjoy making a quality part and it feels great going home at the end of the day (usually at 12:00 :barf: ) feeling a sense of acheivement
 

·
Registered
Joined
·
5,687 Posts
I've setup with Vector CAD. Decent program, but with 4th axis it ran about $1000. Vector to G code, damn... Yeager something or another, but was about $250. Originally writer decided to bail and not support anyone after selling a 500 copies of it. [He probably had anbout 4000 people pirate the software and bug the hell out of him in getting help for something the didn't pay for, not have the manual for.] :(

Linuxcnc.org is a freeware program. Yep, free. This is the EMC project that is public domain from NIST. Haven't used it, but understand it is a decent program for the price. :) It does have limitations, but heck for the price learn to live with them.

CAD_CAM_EDM_DRO is a yahoo group that is worth checking. It was set up for home machinist doing CNC work. Lots of traffic on that list, haven't been active on in a couple of years.

There is a lot you can learn on manual lathe and mills. Just turning the cranks gives you a good respect for feed rates, and what does and doesn't work. Don't rush into buying CNC machines, lots of good work has been produced on manual machines for years. You have to think about what you are doing, and when and why a four flute cutter is better than a two flute, etc.

It has been over two years since I moved and mothballed everything. I can not think of G-code at the moment. I was in the midst of converting the mill to CNC using large stepper motors & Gecko drive units when I moved.

Tom :usa:
 

·
Registered
Joined
·
1,377 Posts
I run BoB Cad/Cam. I use Autocad for all my drawing since I've been using it for 10-12 years or so... I just import the .dxf into BobCam and it outputs the code for me. I just make a few small changes to the tool change operations since my mill is a little different.

I also run Predator Virtual CNC to do the crash tests. I run all my programs through it to make sure i get the desired part. BobCAM does not have a simulator built in. FeatureCAM however does and it is a really nice CAM program, but rather expensive.

On parts that are relatively simple I hand program them. But parts that include 3d milling and such I let BOB do it all :D
 

·
Nose to grindstone
Joined
·
8,178 Posts
what version of BOB are you using. We are using 17 and always have trouble importing .dxf's from autocad even when they are saved as a 13 or ver 14.
 

·
that guy
Joined
·
2,609 Posts
PTSchram said:
Exactly why I use pen/paper and manual machinery. I don't even have digital readouts on any of my stuff. Hell, I don't have any power feeds.

Don't do real close tolerance stuff either, but I can make a part in less time than it takes to fire up the computer.

I've tried to learn autocad and can see the benefit, but I can still burn a sketch quicker by hand. If I ever get Shopgrrl out of the shop office and into the business office, I can set up my big table and use the brand new drafting machine I got at an auction two years ago for $10!
damn man its the year 2004 no 1964 shit get with the cad/cam :flipoff2:

I run mastercam version 9.1 right now its got to be the best out there as far as i am concerned. I have used cadkey and others but mastercam by far is the best out there if you get the chance to try it out do it you'll love it. programming on a mill is down to about 5 mintes program time for say 6 operations.
 
1 - 20 of 29 Posts
Top