Plan du cours
Plan du chapitre
Introduction
Le plus utilisé des langages
Normalisé ANSI X3.37-1980
mais dans les faits, il existe de nombreuses variantes
Supporte tous les types de travaux à commande numérique
Point à Point
Contournage
2 axes, 2 1/2 axes ou multiaxe (3,4,5)
Convient pour divers procédés
Usinage
Electro-érosion (machine à fil)
Soudage
Grignotage
Machine à dessiner
…
Puissant mais complexe
École de technologie supérieure
Génie de la production automatisée GPA-664, Fabrication Assistée par Ordinateur 4
Roland Maranzana
Le système A.P.T.
Principe
Totalement indépendant de la MOCN
Utilise son propre repère et non le système d’axe de la MOCN
Caractéristiques principales
Références symboliques (variables nommées)
Variables scalaires, vectorielles, matricielles, géométriques
Entités géométriques (courbes et surfaces)
Description d’outils (forme, orientation, précision de la trajectoire)
Calcul scalaire, matricielle, géométrique
Structuration (saut conditionel, boucle, macro)
Instruction de contrôle (impression, post-processeur, etc.)
Éditeur Interpréteur
de texte Calcul
géométrique
Programme source
Instruction APT
+
Système Références erreurs
FAO
Calcul
déplacements
outils
Cutter location File
Paramètres
CL File (machine i)
Post-
Processeurs
Code G
(machine i)
Exemple de programme LY
X+
Cercle
Exemple:
P1 = POINT/ T(3, THRU, 5) $$ X = T(3), Y = T(4), Z = T(5)
NOTE: Excepté le point, toutes les autres entités sont en fait des surfaces.
Éléments du Langage
Les entités géométriques (suite)
POLCON Polyconique, surface générée par plusieurs surfaces en continuité
appuyées sur des courbes coniques définies dans des sections
parallèles et une génératrice polynomiale
VECTOR Vecteur
MATRIX Matrice
X
RIGHT
XLARGE
YSMALL 1ière entité de la définition
POINT
Coordonnées rectangulaires
PNT1 = POINT/ xcoord, ycoord [,zcoord]
Intersection 2 lignes
PNT2 = POINT/ INTOF, Ligne1, Ligne2
Intersection ligne et cercle
PNT3 = POINT/ Mod*, INTOF, Ligne1, Cerc1
Intersection 2 cercles
PNT4 = POINT/ Mod*, INTOF, Cerc1, Cerc2
Sur un cercle à un angle/x PNT5
PNT5 = POINT/ Cerc1, ATANGL, Degres Degres
Centre d’un cercle
PNT6 = POINT/ CENTER, Cerc1 Cerc1
Intersection ligne et conique
PNT7 = POINT/ Mod*, INTOF, ligne1, Coniq
POINT
Intersection 3 plans
PNT8 = POINT/ Plan1, Plan2, Plan3
Coordonnées polaires
PNT9 = POINT/ RTHETA, Pref*, Rayon, Angle
PNT10=POINT/ THETAR, Pref*, Angle, Rayon
Intersection ligne et TABCYL
PNT11=POINT/ INTOF, Ligne, TabCl1, Point
Nième point d’un pattern
PNT12=POINT/ Patt, N
Point
TabCl1
Y
Ligne
* Mod = XLARGE, YLARGE,
XSMALL, YSMALL
PNT11
Pref = XYPLAN, YZPLAN,
X
ZXPLAN
École de technologie supérieure
Génie de la production automatisée GPA-664, Fabrication Assistée par Ordinateur 19
Roland Maranzana
Définition des entités géométriques
POINT
Exemples
PA = POINT/ 10,10
PB = POINT/ INTOF, L1, L2
PF
PC = POINT/ YSMALL, INTOF, L1, C1
C2 45º
PE = POINT/ XSMALL, INTOF, C1, C2 Z PG
PF = POINT/ C2, ATANGL, 45 L2
PG = POINT/ CENTER, C2 Y
PH = POINT/ YSMALL, INTOF, L2, K1 PE
C1
PI = POINT/ PL1, PL2, PL3
PJ = POINT/ THETAR, ZXPLAN, 45, 20
10 PC L1
PA PB
PL3
PI PL2 10 X
PH
45º
PL1 20
K1
PJ
LINE
Par 2 points
LN1 = LINE/ x1, y1, z1, x2, y2, z2
LN2 = LINE/ x1, y1, x2, y2
LN3 = LINE/ Point1, Point2
Point + cercle tangent
LN4 = LINE/ Point1, RL*, TANTO, Cerc1
Tangent 2 cercles
LN5 = LINE/RL*, TANTO,C1, RL*,TANTO, C2 C1
LN4
RIGHT
Cerc1
LEFT LEFT
Point1
LN5
LN4 ’
RIGHT C2
LINE
Par 1 point et un angle
LN6 = LINE/ Point1, ATANGL, Degres, {[XAXIS], YAXIS}
Par 1 point et une pente
LN7 = LINE/ Point1, SLOPE, Tangte, {[XAXIS], YAXIS}
Axe X ou Axe Y
LN8 = LINE/ {XAXIS, YAXIS}
Par 1 point et une pente par rapport à une ligne
LN9 = LINE/ Point1, SLOPE, Tangte, Ligne1
Par 1 point et un angle par rapport à une ligne
LN10 = LINE/ Point1, ATANGL, Degres, Ligne1
Point1 Point1
Y Degres
LN6 LN10 Ligne1
Degres
X
LINE
Par 1 point et parallèle à une ligne
LN11 = LINE/ Point1, PARLEL, Ligne1
Par 1 point et perpendiculaire à une ligne
LN12 = LINE/ Point1, PERPTO, Ligne1
Parallèle à une ligne à une distance
LN13 = LINE/ PARLEL, Ligne1, Mod*, Dist
Intersection 2 plans
LN14 = LINE/ INTOF, Plan1, Plan2
XSMALL
YLARGE
Ligne1
Y
LN13 LN13 ’
LN13
X YSMALL
XLARGE
* Mod = XLARGE, YLARGE,
XSMALL, YSMALL
École de technologie supérieure
Génie de la production automatisée GPA-664, Fabrication Assistée par Ordinateur 23
Roland Maranzana
Définition des entités géométriques
LINE
Une pente et intersection d’un axe
LN15 = LINE/ SLOPE, Tangte, INTERC, {[YAXIS,] XAXIS}, Val
Un angle et intersection d’un axe
LN16 = LINE/ ATANGL, Degres, INTERC, {[YAXIS,] XAXIS}, Val
Degres
Degres ’
X
Val ’
Val
LN16
LN16 ’
LINE
Par 1 point et tangent à un TABCYL dans le plan XY
LN17 = LINE/ Point1, TANTO, TabCl1, Point2
Par 1 point et perpendiculaire à un TABCYL dans le plan XY
LN18 = LINE/ Point1, PERPTO, TabCy1, Point2
Y Point2
TabCy1
Point1 LN17
LINE LH
LB
Exemples LA
LA = LINE/ PT1, PT2 LD
LB = LINE/ RIGHT, TANTO, CI1, LEFT, TANTO, CI2 PT2
LC = LINE/ PT1, RIGHT, TANTO, CI2 LI
LD = LINE/ PT2, ATANGL, -30
LE = LINE/ XAXIS -30
LF = LINE/ PT2, ATANGL, -60, LD 10
LG = LINE/ PT1, PARLEL, LD
LH = LINE / PT1, PERPTO, LD -60
LI = LINE/ PARLEL, LD, XLARGE, 10 PT1 CI1
LJ =LINE/ ATANGLE, -45, INTERC,XAXIS, 80
LG
LF
LE
80
-45
CI2
LJ
LC
CIRCLE
Par les coordonnées du centre et le rayon
C1 = CIRCLE/ xcoord, ycoord, zcoord, rayon
C2 = CIRCLE/ xcoord, ycoord, rayon
C3 = CIRCLE/ CENTER, Point1, RADIUS, rayon
Par le centre et tangent à une ligne
C4 = CIRCLE/ CENTER, Point1, TANTO, Ligne1
Par le centre et 1 point sur la circonférence
C5 = CIRCLE/ CENTER, Point1, Point2
Par 3 points sur la circonférence
C6 = CIRCLE/ Point1, Point2, Point3
Par le centre et tangent à un cercle
C7 = CIRCLE/ CENTER, Point1, {LARGE,SMALL}, TANTO, Cerc1
Cerc1
Point1
C7 SMALL
C7 LARGE
CIRCLE
Par le rayon et tangent à 2 lignes
C8 = CIRCLE/ Mod*, Ligne1, Mod*, Ligne2, RADIUS, rayon
Ligne1
XSMALL, Ligne1, YLARGE, Ligne2
YSMALL, Ligne1, XLARGE, Ligne2
XLARGE, Ligne1, YLARGE, Ligne2
YLARGE, Ligne1, XLARGE, Ligne2
rayon
Y
Ligne2
CIRCLE
Par un point, le rayon et tangent à 1 ligne
C9 = CIRCLE/ TANTO, Ligne1, Mod*, Point1, RADIUS, rayon
Par le rayon et tangent à une ligne et un cercle
C10 = CIRCLE/ Mod*, Ligne1, Mod*, {IN, OUT,} Cerc1, RADIUS, r
…., XSMALL,…,Cerc1
XSMALL, Ligne1, …. …., YLARGE,…, Cerl1
YSMALL, Ligne1, ….
Cerc1 …., XLARGE,…,Cerc1
…., YSMALL,…, Cerl1
Y
…,IN, Cerc1,...
…,OUT, Cerc1,... Ligne1
X …,OUT, Cerc1,...
C9
XSMALL
YLARGE rayon
C9
XLARGE
YSMALL XLARGE, Ligne1, ….
Ligne1 YLARGE, Ligne1, ….
* Mod = XLARGE, YLARGE, XSMALL, YSMALL
CIRCLE
Par le rayon et tangent à 2 cercles
C11 = CIRCLE/ Mod*, IO*, Cerc1, IO*, Cerc2, RADIUS, rayon
Cerc1
rayon
…, IN, Cerc1, … …, OUT, Cerc1, …
…, OUT, Cerc2, … …, OUT, Cerc2, …
Cerc2
XLARGE, …..
Y YLARGE, …..
…, IN, Cerc1, …
…, IN, Cerc2, …
…, OUT, Cerc1, … XSMALL, …..
…, IN, Cerc2, … YSMALL, …..
X
* Mod = XLARGE, YLARGE, XSMALL, YSMALL
* IO = IN, OUT
École de technologie supérieure
Génie de la production automatisée GPA-664, Fabrication Assistée par Ordinateur 30
Roland Maranzana
Définition des entités géométriques
CIRCLE
Par le rayon et tangent à 1 ligne et un TABCYL
C12 = CIRCLE/ TANTO, Ligne1, Mod*, TabCl1, Mod*, Point1,
RADIUS, rayon
Y Point1
TabC11
Ligne1
rayon X
CIRCLE
CD
Exemple PT5
CA = CIRC / CENTER, PT1, TANTO, L1
CB = CIRC / CENTER, PT2, PT3
CC = CIRC / PT2, PT3, PT4
CD = CIRC / CENTER, PT5, SMALL, TANTO, CA
CE = CIRC / XSMALL, L1, YLARGE, L2, RADIUS, 20 PT1
CF = CIRC / TANTO, L2, YSMALL, PT6, RADIUS, 20
CH = CIRC /XSMALL, L3, YSMALL, OUT, CF, RADIUS, 10 CA
CI = CIRC / XLARGE, OUT, CB, OUT, CC, RADIUS, 10
20
L2
CE
CI
L1
PT6
20 PT2
CC
PT4
Y PT3
CB
CF
10
CH
X L3
École de technologie supérieure
Génie de la production automatisée GPA-664, Fabrication Assistée par Ordinateur 32
Roland Maranzana
Définition des entités géométriques
ELLIPS
Par un centre, la longueur des demi-axes principaux et un angle
EL1 = ELLIPS/ CENTER, Point1, Long1, Long2, Angle1
Long2
Point1
Y Long1
Angle1
HYPERB
Par un centre, les distances par rapport aux asymptotes et un angle
HY1 = HYPERB/ CENTER, Point1, Long1, Long2, Angle1
Long2 Long1
Point1
Y
Angle1
GCONIC
Par les coefficients de l’équation généralisée
GC1 = GCONIC/ a, b, c, d, e, f avec ax2 + bxy + cy2 + dx + ey+ f = 0
Par les coefficents de l’équation y = f(x)
GC2 = GCONIC/ p, q, r, s, t avec y = px + Q ± (rx2 + sx + t)½
Par les coefficents de l’équation x = f(y)
GC2 = GCONIC/ p, q, r, s, t, FUNOFY avec x = py + Q ± (ry2 + sy + t)½
LCONIC
Par 5 points
LC1 = LCONIC/ 5PT, Point1, Point2, Point3, Point4, Point5
LC2 = LCONIC/ x1, y1, x2, y2, x3, y3, x4, y4, x5, y5
Par 4 points et une tangente
LC3 = LCONIC/ 4PT1SL, Point1 , Tangnt, Point2, Point3, Point4
LC4 = LCONIC/ 4PT1SL, x1, y1, Tangnt, x2, y2, x3, y3, x4, y4
Par 3 points et 2 tangentes
LC5 = LCONIC/ 3PT2SL, Point1, Tangt1, Point2, Tangt2 , Point3
LC6 = LCONIC/ 3PT2SL, x1, y1, Tangt1, x2, y2, Tangt2, x3, y3
Tangnt LC3
X Point Point1
École de technologie supérieure
Génie de la production automatisée GPA-664, Fabrication Assistée par Ordinateur 36
Roland Maranzana
Définition des entités géométriques
PLANE
Par les coefficients de l ’équation canonique (ax + by + cz + d = 0)
PL1 = PLANE/ a, b, c, d
Par 3 points
PL2 = PLANE/ Point1, Point2, Point3
Par un point parallèle à un plan
PL3 = PLANE/ Point1, PARLEL, Plan1
Parallèle à un plan à une distance
PL4 = PLANE/ PARLEL, Plan1, Mod*, Dist
Par un point et orthogonal à un vecteur
PL5 = PLANE/Point1, PERPTO, Vect1
Par 2 points et orthogonal à un plan
PL6 = PLANE/ PERPTO, Plan1, Point1, Point2
PL7 = PLANE/ Point1, Point2, PERPTO, Plan1
Par un point et orthogonal à 2 plans
PL8 = PLANE/ Point1, PERPTO, Plan1, Plan2
PLANE PT8
Exemple
PA = PLANE/ PT1, PT2, PT3 PT6 PF
PB = PLANE/ PT4, PARLEL, PA
PC = PLANE/ PARLEL, PA, ZSMALL, 60 VE1
PT5
PE = PLANE/ PT5, PERPTO, VE1
PF = PLANE/ PERPTO, PE, PT6, PT5 PG
PG = PLANE/ PT8, PERPTO, PE, PF
Z
PE
Y
PT2
PT1
PA PT3
60 PB PT4
X
PC
CYLNDR
Par 1 point , 1 axe et un rayon (forme canonique)
CY1 = CYLNDR/ x, y, z, a, b, c, Rayon
CY2 = CYLNDR/ Point1, a, b, c, Rayon
CY3 = CYLNDR/ x, y, z, Vect1, Rayon
CY4 = CYLNDR/ Point1, Vect1, Rayon
CONE
Par 1 point, un axe et le cosinus du demi-angle au sommet
CO1 = CONE/ x, y, z, a, b, c, CosAng
CO2 = CONE/ Point1, Vect1, CosAng Z
Y Point1
Ang
Vect1
SPHERE
par le centre et le rayon
SP1 = SPHERE/ x, y, z, Rayon
SP2 = SPHERE/ Point1, Rayon
SP3 = SPHERE/ CENTER, Point1, RADIUS, Rayon
par le centre et un point sur la surface
SP4 = SPHERE/ CENTER, Point1, Point2
Par le centre et un plan tangent
SP5 = SPHERE/ CENTER, Point1, TANTO, Plan1
Par 4 points sur la surface
SP6 = SPHERE/ Point1, Point2, Point3, Point4
QADRIC
Par les coefficients de la forme canonique
Q1 = QUADRIC/ a, b, c, f, g, h, p, q, r, d
avec ax2+by2+cz2+2fyz+2gxz+2hxy+2px+2qy+2rz+d = 0
TABCYL, POLCON, RLDSRF
Non traités, ni l’instruction TRFORM associé à TABCYL
VECTOR
Par les coordonnées
VE1 = VECTOR/ CoordX, CoordY, CoordZ
Par 2 points
VE2 = VECTOR/ Point1, Point2
Par la normale à un plan
VE3 = VECTOR/ PERPTO, Plan1, ModDir*
Par un vecteur multiplié par un scalaire
VE4 = VECTOR/ Scal1, TIMES, Vect1
Par un produit vectoriel
VE5 = VECTOR/ Vect1, CROSS, Vect2
Par normalisation d’un vecteur, d’un point ou de 3 coordonnées
VE6 = VECTOR/ UNIT, Vect1
VE7 = VECTOR/ UNIT, Point1
VE8 = VECTOR/ UNIT, CoordX, CoordY, CoordZ
VECTOR
Par les coordonnées polaires dans un plan de base
VE9 = VECTOR/LENGTH, Long1, ATANGL, Angle1, ModPlan*
Par l ’intersection de 2 plans
VE10 = VECTOR/ PARLEL, INTOF, Plan1, Plan2, ModPos*
Par addition ou soustraction de 2 vecteurs
VE11 = VECTOR/ Vect1, PLUS, Vect2
VE12 = VECTOR/ Vect1, MINUS, Vect2
Par un angle par rapport à une ligne dans un plan XY
VE13 = VECTOR/ ATANGL, Angle1, Ligne1, Mod*
MATRIX
Définition
Une matrice peut représenter une combinaison de translation, rotation, symétrie, affinité (facteur d’échelle)
d ’où la matrice:
[ ]
Origine du repère local dans lerepère de base
a11 a12 a13 a14
a21 a22 a23 a24
MAT = a31 a32 a33 a34
École de technologie supérieure
Génie de la production automatisée GPA-664, Fabrication Assistée par Ordinateur 43
Roland Maranzana
Définition des entités géométriques
MATRIX Z1
Exemple Z0
X1
2
Y1 O1
Z1 = (0, 0, 1) / R0
O0 1 X0
Y1 = (-1, 0, 0) / R0
X1 = (0, 1, 0) / R0
O1 = (1, 2, 0) / R0
[ ]
0 -1 0 1
1 0 0 2
MAT2 = 0 0 1 0
MATRIX
Par les coefficients
MX1 = MATRIX/ a11, a12, a13, a14, a21, a22, a23, a24, a31, a32, a33, a34
Par une translation
MX2 = MATRIX/ TRANSL, dx, dy, [dz]
Par rotation autour d’un axe
MX3 = MATRIX/ {XYROT, YZROT, ZXROT}, degres
Exemple:
[ ]
MX3A = MATRIX/ XYROT, alpha
Cos (alpha) -sin (alpha) 0 0
sin (alpha) cos (alpha) 0 0
MX3A= 0 0 1 0
[ ]
MX4A = MATRIX/ SCALE, val
val 0 0 0
0 val 0 0
MX4A= 0 0 val 0
MATRIX
Par une symétrie par rapport aux plans du référentiel
MX5 = MATRIX/ REFPLAN* [, REFPLAN* [, REFPLAN*]]
Par une symétrie par rapport à une ligne ou un plan
MX6 = MATRIX/ MIRROR, {Lig1, Plan1}
Par un point origine, 1 vecteur pour l’axe X+ 1 vecteur pour définir le plan XY
MX7 = MATRIX/ Point1, Vect1, Vect2 Z0 Z1
Par 3 plans
MX8 = MATRIX/ Plan1, Plan2, Plan3 Y1 Y0
Vect2
avec Plan i = (a i, b i, c i, d i)
X1
MX8= [ ]
a1 a2 a3 (a1d1+a2d2+a3d3)
b1 b2 b3 (b1d1+b2d2+b3d3)
c1 c2 c3 (c1d1+c2d2+c3d3)
Point1
Vect1
O0 X0
MATRIX
Par inversion d’une matrice
MX9 = MATRIX/ INVERS, Mat1
Mat1= [ ]
a11 a12 a13 a14
a21 a22 a23 a24
a31 a32 a33 a34 MX9= [ a11 a21 a31 -(a11a14+a21a24+a31a34)
a12 a22 a32 -(a12a14+a22a24+a32a34)
a13 a23 a33 -(a13a14+a23a24+a33a34) ]
Par combinaison de 2 matrices
MX10 = MATRIX/ MAT2, MAT1
Note: la combinaison des matrices n ’est pas une opération commutative
Exemple:
MXA = MATRIX/ XYROT, 90, TRANSL, 10, 20 (Translation appliquée en premier)
MXB = MATRIX/ TRANSL, 10, 20, XYROT, 90 (Rotation appliquée en premier)
Repère local
REFSYS/Mat1
Indique que les entités qui suivent sont définies dans ce repère local
REFSYS/NOMORE
Les entités suivantes sont définies de nouveau dans le repère de base
Remarques:
C’est uniquement au moment de son utilisation que l’entité est calculée
Une référence à la matrice est mémorisée avec l ’entité, la matrice peut
donc être modifiée entre deux utilisations de l’entité
E
R
F
A
B
D
INTOL/ Val
Coté matière
PS
Remarque:
En 2D, PS est habituellement un plan parallèle à XY et
DS, CS sont des courbes plutôt que des surfaces. CS
DS
PS
PSIS / Surf1
Surf1 devient la PS courante
AUTOPS
PS est le plan XY à la hauteur actuelle en Z de l'outil (Uniquement si
broche suivant axe Z)
GO/
Définit une trajectoire en relation avec 1, 2 ou 3 surfaces
(Instruction détaillée plus loin)
Position outil / PS
DS DS
DS
TLONPS
Le centre de l'outil est en contact
avec PS
PS PS PS
DS DS
TLOFPS DS
Un autre point de l'outil est en
contact avec PS
PS PS PS
Position outil / DS
TLFT
TLRGT
TLON
TLNDON
DS DS DS
TLON
TLFT TLRGT
TLNDON
Note: TLFT, TLRGT, TLON et TLDNON sont modaux
École de technologie supérieure
Génie de la production automatisée GPA-664, Fabrication Assistée par Ordinateur 54
Roland Maranzana
Trajectoire de Contournage (suite)
Position outil / CS
TO
PS
ON
DS
PAST
TANTO, DSTAN
PSTAN
PSTAN
CS
CS
CS
CS
DS
DS
DS DS
TO
ON PAST TANTO
DSTAN
GOLFT
GOFWD
GOBACK
GORGT
Cette instruction définit un point initial virtuel, utilisé pour les calculs, où
l’outil (plus précisément le "TIP" ) est supposé être.
Attention: L'outil n'est pas forcément à ce point.
Le vecteur définit l'axe de l'outil (multiaxe).
Le dernier paramètre définit la vitesse d'avance
Cette instruction ne génère aucun déplacement
École de technologie supérieure
Génie de la production automatisée GPA-664, Fabrication Assistée par Ordinateur 57
Roland Maranzana
Initialisation d'une trajectoire (suite)
[label] GO / TO , DS , TO , PS , TO , CS
ON ON ON
facultatif PAST PAST PAST
TANTO
Exemples:
C1
FROM/P1
GO/ON,C1
P1
C2
L1
FROM/P1
GO/TO,L1
FROM/P2
P2
GO/PAST,C2
Exemples:
SURF3 SURF4
P4
P3
PL3 PL4
FROM/P3
FROM/P4
GO/TO,SURF3,ON,PL3
GO/PAST,SURF4,ON,PL4
Exemples:
FROM/P5
GO/TO,L5,ON,PL1,PAST,C5 FROM/P5
P5
GO/PAST,L5,ON,PL1,TO,C6
C5
P6
L5
C6 FROM/P6
GO/TO,L5,ON,PL1,TANTO,C6
Exemples:
FROM/P8
L18 INDIRP/P10 P8
FROM/P7 P7 GO/TO,L8
GO/TO,C7
C7 P10
FROM/P7
INDIRV/-1,-1,0 L8
GO/TO,C7
FROM/P8
INDIRP/0,0,0
GO/PAST,L18
FROM/P9 (0,0,0)
INDIRV/1,1,0
GO/PAST,L9,TO,PL1,PAST,C9
C9
P9 L9
FROM/P9
INDIRV/1,-1,0
GO/PAST,L9,TO,PL1,PAST,C9