0 BEGIN PGM 2030_NL MM 1 ;Regelmatige veelhoek. 2 ;Bepalen van de coördinaten met sinus- en cosinus 3 BLK FORM 0.1 Z X+0 Y+0 Z-20 4 BLK FORM 0.2 X+100 Y+100 Z+0 5 ; 6 ;Gereedschapsoproep frees 7 TOOL CALL 51 Z S3000 8 ; 9 ;Invoer parameters 10 FN 0: Q1 =+50 ;MIDDELPUNT VAN DE X-AS 11 FN 0: Q2 =+50 ;MIDDELPUNT VAN DE Y-AS 12 FN 0: Q3 =-10 ;DIEPTE 13 FN 0: Q4 =-1 ;ROTATIERICHTING 14 ; ;-1= RECHTSOM 15 ; ;+1= LINKSOM 16 FN 0: Q5 =+6 ;AANTAL HOEKEN 17 FN 0: Q6 =+45 ;CIRKELRADIUS 18 FN 0: Q7 =+0 ;HOEKPOSITIE EERSTE HOEK 19 FN 0: Q10 =+2 ;VEILIGHEIDSAFSTAND 20 FN 0: Q11 =+150 ;AANZET DIEPTEVERPLAATSING 21 FN 0: Q12 =+300 ;AANZET FREZEN 22 FN 0: Q14 =+0 ;ZIJDELINGSE OVERMAAT 23 FN 0: Q15 =+1 ;Radiuscorrectie (O=RO,1=RL,2=RR) 24 ;Einde invoer! 25 ; 26 L Z+100 R0 FMAX M3 27 ; 28 LBL 1 29 CC X+Q1 Y+Q2 ;CC naar middelpunt X en Y 30 ; 31 ;Berekeningen 32 FN 0: Q27 =+0 ;Actuele hoek op nul instellen 33 FN 0: Q35 =+1 ;Hoekteller instellen 34 FN 1: Q26 =+Q6 + +Q14 ;Te maken radius (cirkelradius+overmaat) 35 FN 4: Q28 =+Q108 DIV +2 ;Naderingsradius (1/2*gereedschapsradius) 36 FN 3: Q29 =+Q108 * +2 ;Gereedschapsdiameter (2*gereedschapsradius) 37 FN 1: Q29 =+Q26 + +Q29 ;Afstand voor voorpositionering (radius 38 ; ;+gereedschapsdiameter) 39 FN 4: Q37 =+360 DIV +Q5 ;Hoekstap 40 FN 3: Q37 =+Q37 * +Q4 ;Rotatierichting 41 FN 0: Q27 =+Q7 ;Actuele hoek = hoek van eerste hoek 42 LP PR+Q29 PA+Q7 R0 FMAX ;Voorpositioneren 43 L Z+Q10 FMAX 44 L Z+Q3 FQ11 ;Diepteverplaatsing 45 ; 46 FN 9: IF +Q15 EQU +1 GOTO LBL 11 ;Indien radiuscorrectie RL sprong naar LBL11 47 FN 9: IF +Q15 EQU +2 GOTO LBL 12 ;Indien radiuscorrectie RR sprong naar LBL12 48 ; 49 ;Nadering van de eerste hoek met R0 50 LP PR+Q26 PA+Q7 R0 FQ12 51 RND RQ28 52 FN 9: IF +0 EQU +0 GOTO LBL 2 ;Sprong naar LBL2 53 ; 54 ;Nadering van de eerste hoek met RL 55 LBL 11 56 LP PR+Q26 PA+Q7 RL FQ12 57 RND RQ28 58 FN 9: IF +0 EQU +0 GOTO LBL 2 ;Sprong naar LBL2 59 ; 60 ;Nadering van de eerste hoek met RR 61 LBL 12 62 LP PR+Q26 PA+Q7 RR FQ12 63 RND RQ28 64 FN 9: IF +0 EQU +0 GOTO LBL 2 ;Sprong naar LBL2 65 ; 66 ; 67 LBL 2 68 FN 1: Q35 =+Q35 + +1 ;Hoekenteller 69 FN 1: Q27 =+Q27 + +Q37 ;Nieuwe hoek (actuele hoek+hoekstap) 70 ; 71 ;Berekenen nieuwe X- en Y-positie 72 FN 6: Q22 = SIN +Q27 ;Sinus vanaf de actuele hoek 73 FN 3: Q22 =+Q22 * +Q26 ;Sinus * radius 74 FN 1: Q22 =+Q22 + +Q2 ;Y-positie = resultaat+middelpunt Y-as 75 FN 7: Q21 = COS +Q27 ;Cosinus vanaf de actuele hoek 76 FN 3: Q21 =+Q21 * +Q26 ;Cosinus * radius 77 FN 1: Q21 =+Q21 + +Q1 ;X-positie = resultaat+middelpunt X-as 78 ; 79 ;Verplaatsen naar nieuwe positie 80 L X+Q21 Y+Q22 FQ12 81 ; 82 FN 12: IF +Q35 LT +Q5 GOTO LBL 2 ;Indien waarde hoekenteller kleiner aantal hoeken, terugsprong naar LBL2 83 ; 84 LP PR+Q26 PA+Q7 ;Terug naar eerste hoek 85 RND RQ28 86 LP PR+Q29 PA+Q7 R0 ;Vrijzetten 87 L Z+Q10 R0 FMAX ;Naar veilige hoogte verplaatsen 88 LBL 0 89 L Z+100 R0 FMAX M2 90 ;Einde programma 91 END PGM 2030_NL MM