COMPUTER AIDED PART PROGRAMMING (APT LANGUAGE) BY S.R.CHAUHAN MED NIT HAMIRPUR
COMPUTER AIDED PART PROGRAMMING
Computer aided part programming computer is used to generate the part program to machine the components. The process of generating part program is partially done by the programmer and partially by the computer
COMPUTER AIDED PART PROGRAMMING
Part programmer’s job in the computer aided part programming is to first define part geometry of the component from the component drawing. Geometry of shape is split into simple elements like points, lines, arcs, full circles, distances, directions and these elements are assigned specific numbers to identify there positions. Programmer can see the geometric construction on the VDU depending on the system capability
COMPUTER AIDED PART PROGRAMMING
Second function of the programmer is to give additional information regarding the machining sequence, type of operation, tool sizes etc. From the geometry system generate the data for machining called cutter location (CL). The data generated upto the point is independent of the machine and can be used on any machine capable of doing the required operations.Data does not contain G and M codes. CL data is post processed in the computer to translate into a form which a particular machine control system can understand. Post processing involves addition of G codes and other machine dependent information. Part programming at this stage is machine dependent and used by the specific machine only.
Advantages of computer Aided Part Program
Part programming is simplified
Part program generated are accurate and efficient
All the arithmetic calculations are done by the computer,resulting in saving time and elimination of error The part program for different machines can be done by a single person which can then be post processed for specific machines.Such system can deal with many axis for simultaneous movement. If new machines are added, only a post processor may be needed to integrate the new machines to the existing systems.
Computer Aided part programming languages
Large no.of part programming languages have been developed to meet particular needs.
Most widely used languages are:
APT
COMPACT-II
Automatically Programmed Tools(APT)
Most widely used and comprehensive language APT is 3-D system and can be used for controlling five axis. In APT programming it is assumed that work piece remain stationary and tool moves
APT Statements
Geometry Statements:these are also called definition statements and are used to define geomtric elements like point,line,arc,circle and plane. Motion statements:The motion statements are used to define the cutter path. Post Processor statements:These statements are machine tool specific and are used todefining machining parameters like feed,speed,coolant on/off etc. Auxilliary statements:These are miscellaneous statements
Geometry statements
General form of APT Geometry statement is: Symbol=geometry type/descriptive data
p=POINT/x,y,z - a cartesian point
p=POINT/l1,l2 - intersection of two lines
p=POINT/c - the center of a circle
p=POINT/YLARGE, INTOF,l,c - the largest y intersection of a line and a circle *Note: we can use YSMALL,XLARGE,XSMALL in place of YLARGE
Lines
L1=LINE/x1,y1,z1,x2,y2,z2 - endpoint cartesian components L1=LINE/p1,p2 - endpoints L2=LINE/p,PARLEL,Ll - a line through a point and parallel to another line L3=LINE/p,PERPTO,Ll - a line through a point and perpendicular to a line L4=LINE/p,LEFT,TANTO,c - a line from a point, to a left tangency point on a circle L5=LINE/p,RIGHT,TANTO,c - a line from a point, to a right tangency point on a circle L6=LINE/LEFT,TANTO,c1,LEFT,TANTO,c2 - defined by tangents to two circles L7=LINE/LEFT,TANTO,c1,RIGHT,TANTO,c2 - defined by tangents to two circles L8=LINE/RIGHT,TANTO,c1,LEFT,TANTO,c2 - defined by tangents to two circles L9=LINE/RIGHT,TANTO,c1,RIGHT,TANTO,c2 - defined by tangents to two circles
Circle
C1=CIRCLE/x,y,z,r - a center and radius C2=CIRCLE/CENTER,p,RADIUS,r - a center point and a radius C3=CIRCLE/CENTER,p,TANTO,l - a center and a tangency to an outside line C4=CIRCLE/p1,p2,p3 - defined by three points on the circumference C5=CIRCLE/YLARGE,l1,YLARGE,l2,RADIUS,r tangency to two lines and radius *Note: we can use YSMALL,XLARGE,XSMALL in place of YLARGE
More complex geometric constructions are possible
PLANE/ - defines a plane QUADRIC/a,b,c,d,e,f,g,h,i,j - define a polynomial using values GCONIC/a,b,c,d,e,f - define a conic by equation coefficients LCONIC/p1,p2,... - defines a conic by lofting (splining) points RLDSRF/ - a ruled surface made of two splines POLCON/ - define a surface using cross sections PATERN/ - will repeat a motion in a linear or circular array
Motion Statements
FROM/p - specify a start point FROM/x,y,z - specify a start point GOTO/p - move to a final point GOTO/x,y,z - move to a final point GOTO/TO,p - move until the tool touches a point GOTO/TO,l - move until the tool touches a line GOTO/TO,c - move until the tool touches a circle GOLFT/l1,TO,l2 - go on the left of l1 until the tool touches l2
Motion Statements
GORGT/l1,TO,l2 - go on the right of l1 until the tool touches l2 GOBACK/l1,TO,l2 - reverses direction along l1 to l2 GOBACK/l1,TO,c1 - reverses direction along l1 to c1 GOUP/l1,TO,l2 - goes up along l1 to l2 GODOWN/1l,TO,l2 - goes down along l1 to l2 GODLTA/x,y,z - does a relative move Note: TO can be replaced with PAST, ON to change whether the tool goes past the structure, or the center stops on the structure.
Motion Statements
The following commands will create complex motion of the tool
POCKET/ - will cut a pocket
PSIS/ - will call for the part surface
POST PROCESS STATEMENTS
CUTTER/n1,n2 - defines diameter n1 and radius n2 of cutter MACHIN/n, m - uses a post processor for machine `n', and version `m' COOL/ANT/n - either MIST, FLOOD or OFF TURRET/n - sets tool turret to new position TOLER/n - sets a tolerance band for cutting FEDRAT/n - sets a feed rate n SPINDL/n, CW - specifies n rpm and direction of spindle
AUXILIARY STATEMENT
REMARK - starts a comment line that is not interpreted $$ - also allows comments, but after other statements NOPOST - turns off the post processor that would generate cutter paths CLPRNT - prints a sequential history of the cutter center location SQRTF(n) - calculates the floating point square root FINI - stop program PARTNO/n - allows the user to specify the part name LOOPST and LOOPND - loop instructions RESERV/n,m - defines an array of size `n' by `m' JUMPTO/n - jump to line number
EXAMPLE