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