Vous êtes sur la page 1sur 25

Le langage de programmation

APT
http://learning.dtpm.unipa.it/emc/it/apt_doc/manual/index.html

Caractristiques du langage

Acronyme pour Automatically Programmed Tool.


Paru la fin des annes 50 et raffin dans les
annes 60.
Conu pour faciliter la programmation des
trajectoires des outils, bas sur une philosophie
similaire celle dautres langages de
programmation de lpoque.
Presque abandonn comme langage de
programmation directe des MOCNs utilis encore
comme intermdiaire entre les logiciels plus
performants et les post-processeurs.

Les 5 soussets du langage APT


Systme de contournage multiaxial
Le langage prsente une
structure modulaire avec
moindres superpositions.
Les modules peuvent
tre ajouts seulement si
le cas fera.
un certain moment il y
avait 25 modules
spars.
Le systme minimal est
standardis, les modules
ne le sont pas.

Systme de contournage 3D
Systme de contournage minimal
Systme de dplacement
pointpoint avanc
Systme minimal

Premier sous set


(1) Avance attach aux commandes de
mouvement.
(2) Instructions de copie, pour rpliquer
des squences de programme, avec
ou sans translation et/ou rotation.
(3) Synonymes pour les mots du
vocabulaire APT.

Commandes contenues dans le premier


sous set
(1) Dclaration de lorientation de loutil:
FROM/x coord, y coord, z coord
(2) Commande de dplacement:
GOTO / x coord, y coord, z coord
GODLTA / delta x, delta y, delta z
(3) Limites du programme:
PARTNO (identificateur du nom)
FINI

Deuxime sous set


(1)
(2)
(3)
(4)
(5)
(6)
(7)

Transformations et rotations matricielles


Facilits pour macro-commandes
Capacit de dfinition imbrique
Fonctions de I/O (impression, perforation, et lecture).
Patterns des points
Control du postprocessing multiple.
Boucles de programme et calculs (calculs algbriques,
fonctions pour racine carre, etc.)
(8) Dfinitions pointlignecercle avances.

Dfinition des lments gomtriques


Dfinitions des points
(1) Par des coordonnes x, y, et z.
(2) Par des coordonnes x et y.
(3) Par lintersection de deux lignes.
(4) Par lintersection dune ligne et un
cercle.
(5) Par lintersection de deux cercles.
(6) Sur la circonfrence dun cercle,
localis par mesure angulaire, en
partant de laxe X positive.

Dfinition des lignes


(1) Par deux points dcrits par les
coordonnes.
(2) Par deux points dcrits par des symboles.
(3) Par un point et la tangente un cercle.
(4) Tangente deux cercles.
(5) Par un point et un angle spcifi par
rapport laxe positive X.
(6) Par un point et parallle une autre
ligne.

Dfinitions des cercles


(1) Par les coordonnes du centre et valeur du rayon.
(2) Par point du centre et valeur du rayon.
(3) Par point du centre et une ligne laquelle il est tangent.
(4) Par point du centre et un cercle auquel il est tangent.

Troisime sous set


(1) Contournage des sections coniques, incluant les
coniques vides.
(2) Possibilit de spcifier lpaisseur dune surface.
(3) Contrle de programme pour terminaison
conditionnelle de la coupe.
(4) Enlvement des squences spcifiques de coupe.
(5) Langage pour usinage des poches.
(6) Dsignation et manipulation de noms symboliques
des variables des surfaces.
(7) Surfaces cylindriques tabuls
(8) Langage spcial pour le dmarrage des dcalages

Facilits ajoutes pour le set


de contournage minimal
(1) tablir la surface de la pice.
(2) Spcification de loutil par diamtre et rayon du bout.
(3) Spcification de la tolrance intrieure et extrieure de la
trajectoire de loutil.
(4) tablir un sens de la direction direction pour les prochains
mouvements
(5) Commandes de mouvement gauche, droite, avant et arrire
(6) Procdure de dmarrage pour placer loutil sur une nouvelle
courbe usiner.
(7) Commandes de positionnement de loutil pour orienter loutil
gauche, droite ou sur la courbe.
(8) Dfinitions additionnelles et pour les plans :
(a) Par les coefficients de l quation du plan.
(b) Par trois points non aligns.
(c) Passant par un point et parallle un plan donn.
(d) Parallle et dcal par rapport un plan donn.

Quatrime sous set

(1) Capacit de gnraliser loutil.


(2) Surfaces additionnelles tridimensionnelles
(3) Dfinitions additionnelles des vecteurs
(4) Langage additionnel de contrle de loutil
par rapport la pice.
(5) Surfaces ajustes
(6) Tolrances surfaciques individuelles sur
tous les surfaces.

Facilits ajouts au systme de


contournage 3D
(1) Commandes de dplacement GOUP et GODOWN
(2) Dfinitions des vecteurs :
(a) Par les composantes x, y et z
(b) Par deux points
(3) Dfinition dun cne :
(a) Par les coordonnes de la pointe, composantes du vecteur de
laxe, et le cosinus du demi angle.
(b) Par les coordonnes de la pointe, vecteur de laxe et le cosinus
du demi angle.
(4) Dfinition dun cylindre :
(a) Par les coordonnes du point sur laxe, composantes du vecteur
de laxe et le rayon.
(b) Par point sur axe, vecteur de laxe et rayon.
(5) Procdure de dpart tridimensionnel GO/...
TO
,S1,S2,
ON
PAST

Facilits ajouts au systme de


contournage multiaxial

Le sousset pour contournage multiaxial


ajoute la capacit de contrler laxe de
loutil. Ceci est obtenu par la spcification
explicite des valeurs du vecteur de laxe ou
en spcifiant que laxe va rester en position
normale la surface de la pice ou la
surface guide.

Exemple de programmation en langage APT


(1) PARTNO N/C 360 APT SAMPLE PROGRAM
(2) SP = POINT/ 0, 0, 0
(3) L1 = LINE/ 4, 0, 0, 4, 8, 0
(4) PT = POINT/ 4.0, 8.0, 0
(5) L2 = LINE/ PT, ATANGL, 45
(6) L3 = LINE/ 8, 12, 0, 12, 12, 0
(7) L4 = LINE/ 14, 5, 0, 14, 10, 0
(8) L5 = LINE/ 0, 2, 0, 10, 2, 0
(9) C1 = CIRCLE/ 12, 10, 0, 2.0
(10) C2 = CIRCLE/ 14, 2, 0, 3.0
(11) INTOL/ 0
(12) OUTTOL/ .005
(13) CUTTER/ .25
(14) SPINDL/ 2000, CLW
(15) COOLNT/ ON
(16) FEDRAT/ 20.0
(17) FROM/ SP
(18) GO/ TO, L1
(19) TLLFT, GOLFT/ L1, PAST, L2
(20) GORGT/ L2, PAST, L3
(21) GORGT/ L3, TANTO, C1
(22) GOFWD/ C1, TANTO, L4
(23) GOFWD/ L4, PAST, C2
(24) GORGT/ C2, PAST, L5
(25) GORGT/ L5, PAST, L1
(26) GOTO/ SP
(27) COOLNT/ OFF
(28) SPINDL/ OFF
(29) FINI

Description de loutil
Forme gnrale
CUTTER/ d, r, e, f, , , h
avec:

d = diamtre de loutil
r = rayon de coin
e, f = centre du rayon de coin
= conicit de loutil
= angle du bout de loutil
h = hauteur de la partie active
Il y a une forme rduite, seulement
avec les paramtres d et r spcifis.
Utile pour les outils cylindriques.

Positionnement de loutil
Tolrance de la trajectoire de loutil

Surface de la pice suivie par le bout de loutil (TLONPS)


ou tangente loutil (TLOFPS), gauche ou droite

Arrt de loutil avant (TO), sur (ON) ou aprs (PAST) un


limiteur. Arrt de loutil tangent un cercle.

Commandes de dplacement
Les commandes de base
en mode point point :
FROM/ - point de dpart
GOTO/ - dplacement absolu
GODLTA/ - dplacement relatif
en mode trajectoire :
GO/ - dplacement sur une trajectoire
dfinie par les 3 surfaces :
- PL1 : Surface guide
- PL2 : Surface de la pice
- PL3 : Surface limite
Ex : GO/TO, PL1, TO, PL2, TO, PL3
Il y a 6 commandes de dplacement
selon le changement de direction :
GOFWD, GOBACK, GOLFT, GORGT,
GOUP et GODOWN.

GOUP
GOFWD
GOLFT
Position
courante

GOBACK
Position
antrieure

GORGT
GODOWN

Les primitives gomtriques


Figure gomtrique
Point
Ligne
Plan
Cercle
Cylindre
Ellipse
Hyperbole
Cne
Conique gnrale
Conique vote
Vecteur
Matrice
Sphre
Quadrique
Cylindre tabul
Surface polyconique
Surface rgle

Mot rserv
POINT
LINE
PLANE
CIRCLE
CYLNDR
ELLIPS
HYPERB
CONE
GCONIC
LCONIC
VECTOR
MATRIX
SPHERE
QADRIC
TABCYL
POLCON
RLDSRF

Dfinition des points


Point par coordonnes

PT1
PT2
PT3
PT4

=
=
=
=

POINT/
POINT/
POINT/
POINT/

Point lintersection de 3 plans

2, 4, 3
2, 4, 0
-5, -2, 3
-5, -2, 0
P1 = POINT/ INTOF, PLANE1, PLANE2, PLANE3

Point lintersection de 2 lignes

PT1
PT2
PT3
PT4
PT5

=
=
=
=
=

POINT/
POINT/
POINT/
POINT/
POINT/

INTOF,
INTOF,
INTOF,
INTOF,
INTOF,

LN1,
LN2,
LN1,
LN2,
LN2,

LN4
LN1
LN3
LN3
LN4

Point en coordonnes polaires

PT1 = POINT/ RTHETA, XYPLAN, 5.66, 45


PT2 = POINT/ THETAR, XYPLAN, 150.0, 6

Dfinition des points


Point lintersection dune ligne avec un cercle

P1
P2
P3
P4
P5
P6
P7
P8

=
=
=
=
=
=
=
=

POINT/
POINT/
POINT/
POINT/
POINT/
POINT/
POINT/
POINT/

YSMALL, INTOF, L1, C3


YLARGE, INTOF, L1, C3
YSMALL, INTOF, L1, C1
YLARGE, INTOF, L1, C1
XLARGE, INTOF, L2, C1
XSMALL, INTOF, L2, C1
XLARGE, INTOF, L2, C2
XSMALL, INTOF, L2, C2

Point lintersection de 2 cercles

Point un angle donn, sur un cercle

P1
P2
P3
P1
P2
P3

=
=
=
=
=
=

POINT/
POINT/
POINT/
POINT/
POINT/
POINT/

C1,
C1,
C1,
C1,
C1,
C1,

ATANGL,
ATANGL,
ATANGL,
ATANGL,
ATANGL,
ATANGL,

45.0
90
225 ou
-315
-270
-135

Point comme centre dun cercle


P1
P2
P3
P4

=
=
=
=

POINT/
POINT/
POINT/
POINT/

YLARGE, INTOF, C1, C2


YSMALL, INTOF, C1, C2
XSMALL, INTOF, C3, C4
XLARGE, INTOF, C3, C4

PT1 = POINT/ CENTER, C1

Dfinition des lignes


Ligne par 2 points

LN1 = LINE/ -3, -3.5, 4, 3.5


LN2 = LINE/ 7, 2, 3, 1
ou
PT1 = POINT/ -3, -3.5
PT2 = POINT/ 4, 3.5
PT3 = POINT/ 7, 2
PT4 = POINT/ 3, 1
LN1 = LINE/ PT1, PT2
LN2 = LINE/ PT3, PT4

Ligne par 1 point


et cercle tangent

Ligne tangente 2 cercles

LN1 = LINE/ PT1, LEFT, TANTO, C1

L1 = LINE/ RIGHT, TANTO, C1, RIGHT, TANTO, C2

LN2 = LINE/ PT1, RIGHT, TANTO, C1

L2 = LINE/ LEFT, TANTO, C1, LEFT, TANTO, C2

LN3 = LINE/ PT2, RIGHT, TANTO, C1

L3 = LINE/ RIGHT, TANTO, C1, LEFT, TANTO, C2


L4 = LINE/ LEFT, TANTO, C1, RIGHT, TANTO, C2

Dfinition des lignes


Ligne passant par un point et
inclin par rapport une axe

LN1 = LINE/ PT1, ATANGL, 45, XAXIS


LN2 = LINE/ PT2, ATANGL, 22.5
LN3 = LINE/ PT3, ATANGL, 60, YAXIS
Ou, si on connat la pente :
LN1 = LINE/ PT1, SLOPE, 1, XAXIS
LN2 = LINE/ PT2, SLOPE, .4142
LN3 = LINE/ PT3, SLOPE, 1.7321, YAXIS

Ligne passant par un point et inclin


par rapport une autre ligne

Ligne parallle ou perpendiculaire


une autre ligne :

L1 = LINE/ PT1, PARLEL, LX


L1 = LINE/ PT2, ATANGL, 15, L2
L3 = LINE/ PT3, ATANGL, 135, L1
Ou, si on connat la pente :
LN1 = LINE/ PT2, SLOPE, .26759, L2
LN3 = LINE/ PT3, SLOPE, -1, L1
LN1 = LINE/ PT1, PERPTO, LNX

Dfinition des lignes


Ligne parallle une autre
ligne et situe une distance

L1 = LINE/ PARLEL, LX, XSMALL, 2


ou
L1 = LINE/ PARLEL, LX, YLARGE, 2.0
L2 = LINE/ PARLEL, LX, XLARGE, 2
ou
L2 = LINE/ PARLEL, LX, YSMALL, 2.0

Ligne inclin interceptant une axe

L1 = LINE/ ATANGL, 22, INTERC, 3


L2 = LINE/ ATANGL, -22, INTERC, 3
ou
L1 = LINE/ ATANGL, 22, INTERC, YAXIS, 3
L2 = LINE/ ATANGL, -22, INTERC, XAXIS, 7.425

Ligne parallle ou perpendiculaire


une cylindre tabul :

L3 = LINE/ P3, TANTO, TABC, P4

Ou, si on connat la pente :


L1 = LINE/ SLOPE, .40403, INTERC, 3
L2 = LINE/ SLOPE, -.40403, INTERC, 3
ou
L1 = LINE/ SLOPE, .40403, INTERC, YAXIS, 3
L2 = LINE/ SLOPE, -.40403, INTERC, XAXIS, 7.425

L2 = LINE/ P1, PERPTO, TABC, P2

Dfinition des lignes


Ligne dfinie comme intersection des deux plans

Ligne parallle une axe

XAXIS
L1 = LINE /
YAXIS

L1 = LINE/ INTOF, PLN1, PLN2

Commandes auxiliaires et de post-processeur


Units de mesure
UNITS /MM ou /INCHES

Vitesse de coupe

Entte du programme
PARTNO

Spcification de la machine

SPINDL /1000, CLW ou CCLW MACHIN/


SPINDL /OFF
Temps dattente
DELAY/ 30
Avance
FEDRAT /40, IPM ou IPR
Affichage de la position
RAPID
CLPRNT

Liquide de coupe

Commentaire

COOLNT /FLOOD

REMARK/

change doutil

Fin du programme

LOADTL /01

FINI

de loutil

Oprations arithmtiques et fonctions


Nom

Fonction

Example Usage

ABSF(x)

Valeur absolue de x

X = ABSF(-22.5)

Oprateur

Description

ATANF(x)

Arc tangente de x

X = ATANF(.577350)

Addition

EXPF(x)

ex

X = EXPF(2)

Soustraction

SINF(x)

Sinus de x

X = SINF(45)

Multiplication

COSF(x)

Cosinus de x

X = COSF(45)

Division

DOTF(svector, svector)

Produit scalaire des Vecteurs

DP = DOTF(V1, V2)

**

Exponentiation

LNTHF(svector)

Magnitude dun vecteur

LEN = LNTHF(V)

LOGF(x)

logex

LOG = LOGF(2)

SQRTF(x)

Racine carre de x

SQR = SQRTF(4)

ANGLF(scircle, spoint)

Angle entre laxe positive X


et a ligne unissant le centre dun
cercle et un point.

A = ANGLF(C1, (POINT/ 2, -3))

1 (plus haut)

NUMF(SPAT)

Le nombre des points dun pattern.

N = NUMF(PAT1)

2
3
4 (plus bas)

DISTF(splane, splane)
ou
DISTF(sline, sline)

Distance entre lignes parallles


ou plans parallles . (Mlange
des surfaces nest pas permis.)

D = DISTF(L1, L2)

LOG10F(x)

Log10x

LG = LOG10F(2)

TANF(x)

Tangente de x

T = TANF(30.)

ATAN2F(x, y)

Arc tangente de x/y

A = ATAN2F(2, .5)

Oprateur
valuation
fonctions
**
*/
+-

Prcdence