Vergrößern/Verkleinern von Konturen (#SCALE ON/OFF)

Mit dem Befehl #SCALE können Konturen bzw. Positionen durch die Angabe achsspezifischer Faktoren maßstäblich vergrößert bzw. verkleinert werden. Die Angabe unterschiedlicher Faktoren erlaubt hierbei auch Dehnungen bzw. Stauchungen von Konturen.

Die Skalierung wirkt auf

Verschiebungen werden generell nicht skaliert, unabhängig davon, ob die Anwahl oder Programmierung der Verschiebung vor oder nach #SCALE ON erfolgt.

Die skalierten Werte werden immer auf den Nullpunkt des aktuell aktiven Koordinatensystems bezogen. Insbesondere bei der Beschreibung der Kontur in Absolutkoordinaten wird empfohlen, vor Anwahl der Skalierung den Nullpunkt durch die entsprechenden G-Funktionen G53...G57, G159, G92 oder durch die Funktionen zur Definition von gedrehten Koordinatensystemen #ROTATION und #CS auf den Startpunkt der Kontur zu legen.

Syntax:

#SCALE [ON] <Achsname>.. { <Achsname>.. }

#SCALE OFF

ON

Skalierung aktivieren

OFF

Skalierung deaktivieren

<Achsname>..

Achsspezifische Skalierungsfaktoren. Der Faktor muss > 0 sein.

Bei Faktoren ≤ 0 erfolgt die Ausgabe einer Fehlermeldung.

Hinweis

notice

Die Festlegung der Skalierungsfaktoren und die Anwahl können gemeinsam oder in separaten Schritten angegeben werden. Das heißt, es ist z.B. möglich, zunächst die Skalierungsfaktoren zu definieren und in einem zweiten Befehl dann die Skalierung zu aktivieren.

Die programmierten Skalierungsfaktoren bleiben bis zum Programmende mit M30 gespeichert und können bei mehrfachem #SCALE ON / OFF erneut verwendet werden.

Achtung

attention

Die Skalierungsfaktoren können bei abgewählter Skalierung geändert werden.

Eine Änderung der Skalierungsfaktoren bei aktiver Skalierung führt zur Ausgabe einer Fehlermeldung.

Bei der Kombination von Skalierung und Kreisprogrammierung ist folgendes zu beachten:

Programmierbeispiel

prg_example

Vergrößern und Verkleinern von Konturen

;Skalieren einer absolut programmierten Kontur mit gleichen Faktoren

%L Cont1_abs

N01 G01 G90 F2000

N02 X90 Y0

N03 G301 I20

N04 X90 Y120

N05 G302 I20

N06 X50 Y120

N07 X50 Y100

N08 X40 Y100

N09 G03 X0 Y100 I-20 J0

N10 G01 X0 Y20

N11 G03 X20 Y0 R20

N13 M17

%scale

N015 G53

N020 G00 X0 Y0 Z0

N065 LL Cont1_abs ; Basiskontur

N075 #SCALE X0.5 Y0.5 ;Definition der Skalierungsfaktoren

;Definition des Nullpunktes der skalierten Kontur

N085 V.G.NP[1].V.X = 30

N090 V.G.NP[1].V.Y = 20

N095 G54

N100 G90 G0 X0 Y0 Z0

N105 #SCALE ON

N110 LL Cont1_abs

N115 #SCALE OFF

N140 M30

;Skalieren einer absolut programmierten Kontur mit unterschiedlichen ;Faktoren

%L Cont1_abs

N01 G01 G90 F2000

N02 X90 Y0

N03 G301 I20

N04 X90 Y120

N05 G302 I20

N06 X50 Y120

N07 X50 Y100

N08 X40 Y100

N09 G03 X0 Y100 I-20 J0

N10 G01 X0 Y20

N11 G03 X20 Y0 R20

N13 M17

%scale

N015 G53

N020 G00 X0 Y0 Z0

N065 LL Cont1_abs ; Basiskontur

N075 #SCALE X0.6 Y0.3 ;Definition der Skalierungsfaktoren

;Definition des Nullpunktes der skalierten Kontur

N085 V.G.NP[1].V.X = 30

N090 V.G.NP[1].V.Y = 20

N095 G54

N100 G90 G0 X0 Y0 Z0

N105 #SCALE ON

N110 LL Cont1_abs

N115 #SCALE OFF

N140 M30

;Mehrfaches unterschiedliches Skalieren einer relativ programmierten

;Kontur

%L Cont1_rel

N01 G01 G91 F2000

N02 X90 Y0

N03 G301 I20

N04 X0 Y90

N05 G302 I20

N06 X-40 Y0

N07 X0 Y-20

N08 X-10 Y0

N09 G03 X-40 Y0 I-20 J0

N10 G01 X0 Y-50

N11 G03 X20 Y-20 R20

N13 M17

%scale

N015 G53

N020 G00 X0 Y0 Z0

; Basiskontur

N030 LL Cont1_rel

N040 #SCALE X0.3 Y0.3 ;Definition 1 der Skalierungsfaktoren

;Definition 1 des Startpunktes der skalierten Kontur

N055 G90 G0 X10 Y50

N060 #SCALE ON

N065 LL Cont1_rel

N070 #SCALE OFF

N075 G90 G00 X20 Y0

N085 #SCALE X0.5 Y0.5 ;Definition 2 der Skalierungsfaktoren

;Definition 1 des Startpunktes der skalierten Kontur

N100 G90 G0 X40 Y10

N105 #SCALE ON

N110 LL Cont1_rel

N115 #SCALE OFF

N125 M30

;Skalieren einer Kontur in einem mit #CS verschobenem und gedrehten

;Koordinatensystem

%L Cont1_rel

N01 G01 G91 F2000

N02 X90 Y0

N03 G301 I20

N04 X0 Y90

N05 G302 I20

N06 X-40 Y0

N07 X0 Y-20

N08 X-10 Y0

N09 G03 X-40 Y0 I-20 J0

N10 G01 X0 Y-50

N11 G03 X20 Y-20 R20

N13 M17

%scale

N015 G53

N020 G00 X0 Y0 Z0

; Basiskontur

N030 LL Cont1_rel

N040 #SCALE X0.6 Y0.6 ;Definition der Skalierungsfaktoren

N045 #CS ON [40,5,0,0,0,20]

N055 G90 G0 X0 Y0

N060 #SCALE ON

N065 LL Cont1_rel

N070 #SCALE OFF

N0525 #CS OFF

N125 M30

;Skalieren eines Halbkreises, programmiert mit I, J

%L Circle1

G02 G91 X80 Y80 I40 J40

M17

%scale

N015 G53

N020 G00 X0 Y0 Z0

N025 G01 X10 Y10 F1000

; Basishalbkreis

N030 LL Circle1

N040 #SCALE X0.7 Y0.7 ;Definition der Skalierungsfaktoren

N055 G90 G0 X10 Y10

N060 #SCALE ON

N065 LL Circle1

N070 #SCALE OFF

N075 G90 G0 X0 Y0

M30

;Skalieren eines Halbkreises, programmiert mit R

%L Circle2

G03 R33 X-66 Y0

M17

%scale

N015 G53

N020 G00 X0 Y0 Z0 F1000

; Basishalbkreis

N030 LL Circle2

N040 #SCALE X1.5 Y1.5 ;Definition der Skalierungsfaktoren

N055 G90 G0 X10 Y10

N060 #SCALE ON

N065 LL Circle2

N070 #SCALE OFF

N075 G90 G0 X0 Y0

M30

;Unsymmetrisches Skalieren eines Halbkreises, programmiert mit I, J

%L Circle1

G02 G91 X80 Y80 I40 J40

M17

%scale

N015 G53

N020 G00 X0 Y0 Z0

N025 G01 X10 Y10 F1000

; Basishalbkreis

N030 LL Circle1

N040 #SCALE X0.3 Y0.8 ;Definition der Skalierungsfaktoren

N055 G90 G0 X10 Y10

N060 #SCALE ON

N065 LL Circle1

N070 #SCALE OFF

N075 G90 G0 X10 Y10

M30