Pour info quelques sous programmes pour les différente mesures auto des zéro pièce en X, Y et Z.
***********************************************************************************************************
***********************************************************************************************************
S/P recherche du centre d'une piece cylindrique selon l'axe X et Y
o100 sub
(MSG,jauge diam. 5mm - Centre carre/rectangle exter .)
(#1=Diam,#2=Longeur X,#3=Longueur Y,#4=Descente z)
#<Diam> = #1
#<Lgx> = #2
#<Lgy> = #3
#<Lgz> = #4
#<1/2Lgx> = [#<Lgx>/2]
#<1/2Lgy> = [#<Lgy>/2]
G17 G21 G40 G49 G54 G64 G80 G90
G10 L2 P1 X[0] Y[0]
G91 G1 F1000 X[#<1/2Lgx>+10]
G91 Z-[#<Lgz>]
G91 G38.4 F200 X-20
G91 G1 F1000 X0.2
G91 G38.4 F100 X-0.3
#2 = [#5061]
G91 G1 F1000 X0.2
G91 Z[#<Lgz>]
G91 X-[10+#<Lgx>]
G91 Z-[#<Lgz>]
G91 G38.4 F200 X20
G91 G1 F1000 X-0.2
G91 G38.4 F100 X0.3
#3 = [#5061]
G91 G1 F1000 X-0.2
G91 Z[#<Lgz>]
G10 L2 P1 X[[#2+#3]/2]
G90 G1 F1000 X0
G91 Y[#<1/2Lgy>+10]
G91 Z-[#<Lgz>]
G91 G38.4 F200 Y-20
G91 G1 F1000 Y0.2
G91 G38.4 F100 Y-0.3
#2 = [#5062]
G91 G1 F1000 Y0.2
G91 Z[#<Lgz>]
G91 Y-[10+#<Lgy>]
G91 Z-[#<Lgz>]
G91 G38.4 F200 Y20
G91 G1 F1000 Y-0.2
G91 G38.4 F100 Y0.3
#3 = [#5062]
G91 G1 F1000 Y-0.2
G91 Z[#<Lgz>]
G10 L2 P1 Y[[#2+#3]/2]
G90 G0 X0 Y0
o100 endsub
**********************************************************************
**********************************************************************
S/P recherche du centre d'une piece carre selon l'axe X et Y
o101 sub
(MSG,jauge diam. 5mm - Centre carre/rectangle inter .)
(#1=Diam,#2=Longeur inter en X,#3=Longueur inter en Y,#4=Descente z)
#<Diam> = #1
#<Lgx> = #2
#<Lgy> = #3
#<Lgz> = #4
#<1/2Lgx> = [#<Lgx>/2]
#<1/2Lgy> = [#<Lgy>/2]
G17 G21 G40 G49 G54 G64 G80 G90
G10 L2 P1 X[0] Y[0]
G91 G1 F1000 X[#<1/2Lgx>-10]
G91 Z-[#<Lgz>]
G91 G38.4 F200 X20
G91 G1 F1000 X-0.2
G91 G38.4 F100 X0.3
#2 = [#5061]
G91 G1 F1000 X-0.2
G91 Z[#<Lgz>]
G91 X-[#<Lgx>-10]
G91 Z-[#<Lgz>]
G91 G38.4 F200 X-20
G91 G1 F1000 X0.2
G91 G38.4 F100 X-0.3
#3 = [#5061]
G91 G1 F1000 X0.2
G91 Z[#<Lgz>]
G10 L2 P1 X[[#2+#3]/2]
G90 G1 F1000 X0
G91 Y[#<1/2Lgy>-10]
G91 Z-[#<Lgz>]
G91 G38.4 F200 Y20
G91 G1 F1000 Y-0.2
G91 G38.4 F100 Y0.3
#2 = [#5062]
G91 G1 F1000 Y-0.2
G91 Z[#<Lgz>]
G91 Y-[#<Lgy>-10]
G91 Z-[#<Lgz>]
G91 G38.4 F200 Y-20
G91 G1 F1000 Y0.2
G91 G38.4 F100 Y-0.3
#3 = [#5062]
G91 G1 F1000 Y0.2
G91 Z[#<Lgz>]
G10 L2 P1 Y[[#2+#3]/2]
G90 G0 X0 Y0
o101 endsub
**********************************************************************
**********************************************************************
S/P recherche du coin x/y exter d'une piece en L selon l'axe X et Y
o102 sub
(MSG,jauge diam. 5mm - zero angle exter L .)
(#1=Diam,#2=Longeur X,#3=Longueur Y,#4=Descente z)
#<Diam> = #1
#<Lgx> = #2
#<Lgy> = #3
#<Lgz> = #4
G17 G21 G40 G49 G54 G64 G80 G90
G10 L2 P1 X[0] Y[0]
G91 G1 F1000 X-10 Y5
G91 Z-[#<Lgz>]
G91 G38.4 F200 X20
G91 G1 F1000 X-0.2
G91 G38.4 F100 X0.3
#2 = [#5061]
G91 G1 F1000 X-0.2
G91 Z[#<Lgz>]
G10 L2 P1 X[#2+2.5]
G91 G1 F1000 X4.8 Y-10
G91 Z-[#<Lgz>]
G91 G38.4 F200 Y20
G91 G1 F1000 Y-0.2
G91 G38.4 F100 Y0.3
#2 = [#5062]
G91 G1 F1000 Y-0.2
G91 Z[#<Lgz>]
G10 L2 P1 Y[#2+2.5]
G90 G0 X0 Y0
o102 endsub
**********************************************************************
**********************************************************************
S/P recherche du coin x/y inter d'une piece en L selon l'axe X et Y
o103 sub
(MSG,jauge diam. 5mm - zero angle inter L .)
(#1=Diam,#2=Longeur X,#3=Longueur Y,#4=Descente z)
#<Diam> = #1
#<Lgx> = #2
#<Lgy> = #3
#<Lgz> = #4
G17 G21 G40 G49 G54 G64 G80 G90
G10 L2 P1 X[0] Y[0]
G91 G1 F1000 X5 Y5
G91 Z-[#<Lgz>]
G91 G38.4 F200 X-20
G91 G1 F1000 X0.2
G91 G38.4 F100 X-0.3
#2 = [#5061]
G91 G1 F1000 X0.2
G91 Z[#<Lgz>]
G10 L2 P1 X[#2-2.5]
G91 G1 F1000 X4.8 Y5
G91 Z-[#<Lgz>]
G91 G38.4 F200 Y-20
G91 G1 F1000 Y0.2
G91 G38.4 F100 Y-0.3
#2 = [#5062]
G91 G1 F1000 Y0.2
G91 Z[#<Lgz>]
G10 L2 P1 Y[#2-2.5]
G90 G0 X0 Y0
o103 endsub
**********************************************************************
**********************************************************************
S/P recherche du centre x/y exter d'un cylindre selon l'axe X et Y
o110 sub
(MSG,jauge diam. 5mm - zero cylindre exter .)
(#1=Diam,#2=Longeur X,#3=Longueur Y,#4=Descente z)
#<Diam> = #1
#<Lgx> = #2
#<Lgy> = #3
#<Lgz> = #4
#<Rayon> = [#<Diam>/2]
G17 G21 G40 G49 G54 G64 G80 G90
G10 L2 P1 X[0] Y[0]
G91 G1 F1000 X[#<Rayon>+10]
G91 Z-[#<Lgz>]
G91 G38.4 F200 X-20
G91 G1 F1000 X0.2
G91 G38.4 F100 X-0.3
#2 = [#5061]
G91 G1 F1000 X0.2
G91 Z[#<Lgz>]
G91 X-[10+#<Diam>]
G91 Z-[#<Lgz>]
G91 G38.4 F200 X20
G91 G1 F1000 X-0.2
G91 G38.4 F100 X0.3
#3 = [#5061]
G91 G1 F1000 X-0.2
G91 Z[#<Lgz>]
G10 L2 P1 X[[#2+#3]/2]
G90 G1 F1000 X0
G91 Y[#<Rayon>+10]
G91 Z-[#<Lgz>]
G91 G38.4 F200 Y-20
G91 G1 F1000 Y0.2
G91 G38.4 F100 Y-0.3
#2 = [#5062]
G91 G1 F1000 Y0.2
G91 Z[#<Lgz>]
G91 Y-[10+#<Diam>]
G91 Z-[#<Lgz>]
G91 G38.4 F200 Y20
G91 G1 F1000 Y-0.2
G91 G38.4 F100 Y0.3
#3 = [#5062]
G91 G1 F1000 Y-0.2
G91 Z[#<Lgz>]
G10 L2 P1 Y[[#2+#3]/2]
G90 G0 X0 Y0
o110 endsub
**********************************************************************
**********************************************************************
S/P recherche du centre x/y inter d'un alesagee selon l'axe X et Y
o110 sub
(MSG,jauge diam. 5mm - zero cylindre exter .)
(#1=Diam,#2=Longeur X,#3=Longueur Y,#4=Descente z)
#<Diam> = #1
#<Lgx> = #2
#<Lgy> = #3
#<Lgz> = #4
#<Rayon> = [#<Diam>/2]
G17 G21 G40 G49 G54 G64 G80 G90
G10 L2 P1 X[0] Y[0]
G91 G1 F1000 X[#<Rayon>+10]
G91 Z-[#<Lgz>]
G91 G38.4 F200 X-20
G91 G1 F1000 X0.2
G91 G38.4 F100 X-0.3
#2 = [#5061]
G91 G1 F1000 X0.2
G91 Z[#<Lgz>]
G91 X-[10+#<Diam>]
G91 Z-[#<Lgz>]
G91 G38.4 F200 X20
G91 G1 F1000 X-0.2
G91 G38.4 F100 X0.3
#3 = [#5061]
G91 G1 F1000 X-0.2
G91 Z[#<Lgz>]
G10 L2 P1 X[[#2+#3]/2]
G90 G1 F1000 X0
G91 Y[#<Rayon>+10]
G91 Z-[#<Lgz>]
G91 G38.4 F200 Y-20
G91 G1 F1000 Y0.2
G91 G38.4 F100 Y-0.3
#2 = [#5062]
G91 G1 F1000 Y0.2
G91 Z[#<Lgz>]
G91 Y-[10+#<Diam>]
G91 Z-[#<Lgz>]
G91 G38.4 F200 Y20
G91 G1 F1000 Y-0.2
G91 G38.4 F100 Y0.3
#3 = [#5062]
G91 G1 F1000 Y-0.2
G91 Z[#<Lgz>]
G10 L2 P1 Y[[#2+#3]/2]
G90 G0 X0 Y0
o110 endsub
**********************************************************************
**********************************************************************
S/P mesure longueur outil automatique
o999 sub
(MSG,MESURE LONGUEUR OUTIL .)
G21 G49(PROG EN MM ET LONGUEUR OUTIL ZERO)
G90 G53 G0 Z0(RETOUR Z ORIGINE HAUTE)
G10 L2 P1 Z0(MISE A ZERO G54 Z)
G53 X-3.4 Y244.8(POSITION CAPTEUR)
G91 G38.4 F200 Z-100(DESCENTE 1 SUR CAPTEUR)
G91 G0 Z1(REMONTE Z DE 1MM)
G91 G38.4 F10 Z-2(DESCENTE 2 SUR CAPTEUR)
G10 L2 P1 Z[#5063+20](MEMORISATION G54 Z avec decalage hauteur sonde)
G90 G53 G0 Z0(RETOUR Z SUR ORIGINE HAUTE)
(FIN MESURE LONGUEUR OUTIL .)
o999 endsub
***************************************************************
****************************************************************
Pour les utiliser il suffit de faire un appel du genre
o100(#1=10,#2=5 X,#3=5 Y,#4=5) call (appel sous-programme mesure)
Pour votre info esperant vous avoir un peut eclairé.