Je ne connais pas topsolide.
Mais "when", c'est plutôt pour les boucles "tant que"
Pour les tests de condition, c'est plutôt "if"
En G-code ça donne:
IF[#1<404]AND[#1>423] GOTO 20
10 ce qu'il faut faire si la condition n'est pas remplie GOTO 30
20 ce qu'il faut faire si la condition est remplie
30 suite commune du programme