To --> program code (complete) Data snippet from the user editing area for z wrap: (program code is below the data snippet.) --------------------------------------------------------------- Rotation for light source: 0 = 0 1 = 90 2 = 180 3 = 270 ------------------------------------------------- steps end min xyz max xyz spacing cube rot,col ------- ------- ------- ---- ------- AUTOCUBE000: -3 -4 0 3 4 1 0 71 0,42 ------------------------------------------------- Transformations snippets for steps ---------------------------------------- first last x y z TRAN TRANSLATE: 1 718 0 50 0 999,999 999,999,999 ---------------------------------------- ---------------------------------------- start start angle how first last per cube many lift TRAN ZWRAP: 1 8 10 71 1 999,999 999 999,999 ---------------------------------------- program code snippet for reading the above data snippet: TRANSLATE: FOR RD = 1 TO 1000 INPUT #2, FIRST, LAST, TRANX, TRANY, TRANZ IF FIRST = 999 THEN EXIT FOR FOR TRAN = FIRST TO LAST X(TRAN) = XR(TRAN) + TRANX: XR(TRAN) = X(TRAN) Y(TRAN) = YR(TRAN) + TRANY: YR(TRAN) = Y(TRAN) Z(TRAN) = ZR(TRAN) + TRANZ: ZR(TRAN) = Z(TRAN) NEXT TRAN NEXT RD GOTO TRANSFORMATIONS ZWRAPIT: For RD = 1 To 800 Input #2, First, Last, wrapangle, wrapnum, liftinc If First = 999 Then Exit For wrapfirst = First - 10: wraplast = Last - 10 ZANGLE = 0: zlift = 0: wrapangle = (wrapangle * 3.14159) / 180 For zwrap = 1 To wrapnum zlift = zlift + liftinc ZANGLE = ZANGLE + wrapangle wrapfirst = wrapfirst + 10: wraplast = wraplast + 10 For ROTA = wrapfirst To wraplast X(ROTA) = (XR(ROTA) * Cos(ZANGLE)) - (YR(ROTA) * Sin(ZANGLE)) Y(ROTA) = (XR(ROTA) * Sin(ZANGLE)) + (YR(ROTA) * Cos(ZANGLE)) Z(ROTA) = ZR(ROTA) + zlift XR(ROTA) = X(ROTA): YR(ROTA) = Y(ROTA): ZR(ROTA) = Z(ROTA) Next ROTA Next zwrap Next RD GoTo TRANSFORMATIONS To --> program code (complete) |