This is just a small sample for ortho mode in CAD:

Select Case dAngle

Case >= 0.00 * PI And < 0.25* PI

dpMove.y = mCirc.cp.y

Case >= 0.25 * PI And < 0.50 * PI

dpMove.x = mCirc.cp.x

Case >= 0.50 * PI And < 0.75 * PI

dpMove.x = mCirc.cp.x

Case >= 0.75 * PI And < 1.00 * PI

dpMove.y = mCirc.cp.y

Case >= 1.00 * PI And < 1.25 * PI

dpMove.y = mCirc.cp.y

Case >= 1.25 * PI And < 1.50 * PI

dpMove.x = mCirc.cp.x

Case >= 1.50 * PI And < 1.75 * PI

dpMove.x = mCirc.cp.x

Case >= 1.75 * PI And < 2.0 * PI

dpMove.y = mCirc.cp.y

End Select

Unfortunately the Select...Case function does not support boolean operations obviously. In many situations like this one, it would make things much more transparent in comparison to other code syntax.

Select Case dAngle

Case >= 0.00 * PI And < 0.25* PI

dpMove.y = mCirc.cp.y

Case >= 0.25 * PI And < 0.50 * PI

dpMove.x = mCirc.cp.x

Case >= 0.50 * PI And < 0.75 * PI

dpMove.x = mCirc.cp.x

Case >= 0.75 * PI And < 1.00 * PI

dpMove.y = mCirc.cp.y

Case >= 1.00 * PI And < 1.25 * PI

dpMove.y = mCirc.cp.y

Case >= 1.25 * PI And < 1.50 * PI

dpMove.x = mCirc.cp.x

Case >= 1.50 * PI And < 1.75 * PI

dpMove.x = mCirc.cp.x

Case >= 1.75 * PI And < 2.0 * PI

dpMove.y = mCirc.cp.y

End Select

Unfortunately the Select...Case function does not support boolean operations obviously. In many situations like this one, it would make things much more transparent in comparison to other code syntax.

## Comment