As we begin 2021, we have found ourselves in a situation where our lead-times have substantially increased due to COVID-19 pandemic-related issues.
Those issues combined with high demand and heavy shipping volume is resulting in a longer than normal delivery timeframes for many Tormach machines and accessories.
We are working diligently to resolve these issues and look forward to bringing our lead-times back to normal. Unfortunately, this is going to take some time.
As of now, we anticipate that these lead times will continue into the second quarter. We appreciate your patience during this time.

LOOPING SUBROUTINES REFERENCE

Subroutines can be looped using the do/while or while/endwhile keyword constructs.

DO/WHILE

The do/while loop executes a block of code once and continues to execute the code block until the while argument evaluates to true.

Do/while loop example:

#1 = 0 (assign parameter #1 the value of 0)

o100 do

(debug, parameter 1 = #1)

o110 if [#1 EQ 2]

#1 = 3 (assign the value of 3 to parameter #1)

(msg, #1 has been assigned the value of 3)

o100 continue (skip to start of loop)

o110 endif

(some code here)

#1 = [#1 + 1] (increment the test counter)

o100 while [#1 LT 3]

M02

WHILE/ENDWHILE

The while/endwhile repeats a set of statements an indefinite number of times, as long as the while argument evaluates to true.

While/endwhile example:

(draw a sawtooth shape)

G00 X1 Y0 (move to start position)

#1 = 1 (assign parameter #1 the value of 0)

F25 (set a feed rate)

o101 while [#1 LT 10]

G01 X0

G01 Y[#1/10] X1

#1 = [#1+1] (increment the test counter)

o101 endwhile

M02 (end program)

The following statements cause an error message and abort the interpreter:

  • A return or endsub not within a sub definition
  • A label on repeat which is defined elsewhere
  • A label on while which is defined elsewhere and not referring to a do
  • A label on if defined elsewhere
  • A undefined label on else or elseif
  • A label on else, elseif or endif not pointing to a matching if
  • A label on break or continue which does not point to a matching while or do
  • A label on endrepeat or endwhile no referring to a corresponding while or repeat