Het While Commando is het tweede voorwaardelijke commando, waar IF kijkt of iets aan de voorwaarde voldoet, is een WHILE actief ZOLANG er aan de voorwaarde wordt voldaan.
dit is erg handig als je bijvoorbeeld een macrootje wilt maken om iets in meerdere sneden uit te frezen. (er zit er ook één in Erik's voorbeeldje:
Code: Alles selecteren
while [#60 >= #64]
G01 X[#59] Y[#51] F[#56]
G01 Z[#60] F20
msg "Frezen van cirkel"
G2 X[#61] Y[#51] I[#63] F[#56]
G2 X[#59] Y[#51] I[#65] F[#56]
#60 = [#60 - #55]
endwhile
hier staat in normaal nederlands: "Zolang #60 Groter of gelijk is aan #64 ( je z-hoogte ) ga je het stukje tot ENDWHILE uitvoeren..
Vlak voor de Endwhile zien we dat er iets gebeurd met #60, daar wordt #55 van afgetrokken ( de dieptestap ), deze "lus" blijft actief tot niet meer aan de voorwaarde wordt voldaan, dus als #60 kleiner is dan #64
Het moge duidelijk zijn dat WHILE 't grote broertje is van IF, 't grote verschil is dat IF "Expliciet" controleert op een voorwaarde, en dat die voorwaarde de enige vereiste is voor het uitvoeren van de code tussen IF en ENDIF.
WHILE daarentegen is veel minder Star, je stelt een Grens aan, en zolang er niet voldaan is aan die grensvoorwaarde wordt de lus uitgevoerd tussen WHILE en ENDWHILE, daardoor is WHILE veelzijdiger, de voorwaarde beslaat een "bereik", en zolang de parameters binnen dit bereik vallen, wordt de functie uitgevoerd.