Hallo,
den folgenden Text unter den Programmkopf kopiern sollte funktionieren
Die Parameter benutzen Kürzel, die Makrotauglich sind. Allerdings müsste noch der Programmkopf angeglichen werden und für jeden Parameter wo es wichtig ist ein IF Anweisung eingebaut werden wo der Standard hinterlegt wird wenn der Parameter unbelegt bleibt damit daraus auch ein lauffähiges Makro wird.
Der Parameter pT wird noch nicht verwendet (da vom SCM-eigenen Makro RAU1 nicht akzeptiert daher habe ich das Werkzeug der Einfachheit halber direkt eingetragen. Abhilfe schafft hier nur RAU1 korregieren dass es das laufende Werkzeug verwendet und über XT programmiert oder die Rechteckkontur direkt in die Schleife programmieren.
PS hab 104 verwendet, da mein 102 20mm Durchmesser hat und daher nicht in Deinen Ausschnitt passt
Bei Fragen gerne nochmal nachfragen
PAR pX =50 "Start X"
PAR pY =50 "Start Y"
PAR pZ =10 "Tiefe"
PAR pI =50 "Ende X v.Rechts"
PAR pJ =50 "Ende Y von vorn"
PAR px =50 "Sprungweite"
PAR py =10 "Ausschnittgröße"
PAR pT =104 "Werkzeug"
PAR ps =0 "Raster 0=fest 1=nach X quadratisch vermittelt 2=nach Y quadratisch vermittelt 3=rechteckig vermittelt"
PAR pE =1 "Haube"
;
;Lochplatte erstellt H. Wols
;
rogrammierte Sprungwerte übernehmen
L spx=px
L spy=px
;
IF ps=1 THEN ;Wenn ps=1 Sprungwerte 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
FI
IF ps=2 THEN ;Wenn ps=2 Sprungwerte 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
FI
IF ps=3 THEN ;Wenn ps=3 Sprungwerte 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 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
RAU1 X=ax Y=ay Z=pZ E=pE B=py L=py T=104 ;Werkzeug noch fest programmiert, da das SCM-Makro keine laufenden Werkzeuge akzeptiert und pT in einem normalen Programm keinen Sonderstatus hat
;
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