Makro für Lochfelder
Hallo,
die Beobachter der Woodworker werden dieses Makro schon kennen, will es aber für diejenigen unter uns, die eine Morbidelli oder SCM bedienen nochmals einstellen. Ich werde das fertige Programm auch noch im Downloadbereich zur Verfügung stellen.
H DX=0 DY=0 DZ=0 *MM /"7e,XYZIJxyTsE,0,Lochplatte vari"
;Hilfetexte für die Parameter festlegen
PAR pX "Start X '50"
PAR pY "Start Y '50"
PAR pZ "Tiefe 'DZ+1"
PAR pI "Ende X v.Rechts '50"
PAR pJ "Ende Y von vorn '50"
PAR px "Sprungweite '50"
PAR py =10 "Ausschnittgröße '10"
PAR ps "Raster 0=fest 1=nach X quadratisch vermittelt 2=nach Y quadratisch vermittelt 3=rechteckig vermittelt"
PAR pE "Haube"
;
;Lochplatte erstellt H. Wols
;
;Prüfen der Variablen und schreiben der Standardwerte in nicht belegte Variablen
IF NDEF pX THEN
L pX=50
FI
IF NDEF pY THEN
L pY =50
FI
IF NDEF pI THEN
L pI =50
FI
IF NDEF pJ THEN
L pJ =50
FI
IF NDEF pZ THEN
L pZ =DZ+1
FI
IF NDEF px THEN
L px =50
FI
IF NDEF py THEN
L py =10
FI
IF NDEF ps THEN
L ps =0
FI
;
;programmierte Sprungwerte übernehmen. Nomalfall ps=0
L spx=px
L spy=px
;
IF ps=1 THEN ;Wenn ps=1 Sprungwerte in X nochmal vermitteln
L zwx =RD((DX-pX-pI)/px+0.5) ;Anzahl Zwischenräume gerundet (Dezimalbrüche >0,5 werden aufgerundet)
L spx =(DX-pX-pI)/zwx
L spy =spx ;Quadratische Sprünge
FI
IF ps=2 THEN ;Wenn ps=2 Sprungwerte in Y nochmal vermitteln
L zwy =RD((DY-pY-pJ)/px+0.5) ;Anzahl Zwischenräume gerundet (Dezimalbrüche >0,5 werden aufgerundet)
L spy =(DY-pY-pJ)/zwy
L spx=spy ;Quadratische Sprünge
FI
IF ps=3 THEN ;Wenn ps=3 Sprungwerte in X und Y nochmal vermitteln ergibt gegebenenfalls Rechteckige Abstände
L zwx =RD((DX-pX-pI)/px+0.5) ;Anzahl Zwischenräume gerundet (Dezimalbrüche >0,5 werden aufgerundet)
L spx =(DX-pX-pI)/zwx
L zwy =RD((DY-pY-pJ)/px+0.5) ;Anzahl Zwischenräume gerundet (Dezimalbrüche >0,5 werden aufgerundet)
L spy =(DY-pY-pJ)/zwy
FI
;
;Kontrollwerte abspeichern
TRACE "Sprungmaß in X ?f" spx
TRACE "Sprungmaß in Y ?f" spy
;
;Anfangswerte festlegen
L ax =pX
L ay =pY
;
;Beginn äußere Schleife
DO
;Beginn innere Schleife
DO
;Bearbeitung
TRACE "Position X=?f Position Y=?f Göße=?f" ax ay py
RT X=py Y=py Z=pZ E=pE I=ax J=ay T=pT ;im Makro kann pT verwendet werden (Sondervariable)
;
L ax=ax+spx
;
IF ax>DX-pI EXIT
OD
L ax=pX ;Startwert X wieder auf Anfang
L ay =ay+spy
IF ay>DY-pJ EXIT
OD
___________________________________
Grüße vom Bodensee
Jono