home *** CD-ROM | disk | FTP | other *** search
/ Piper's Pit BBS/FTP: ibm 0010 - 0019 / ibm0010-0019 / ibm0010.tar / ibm0010 / CADKEY_C.ZIP / CADKEY14.ZIP / CDL / SPLFLIP.CDL < prev    next >
Encoding:
Text File  |  1987-12-29  |  1.4 KB  |  68 lines

  1. rem     name:     splflip.cdl
  2.  
  3. rem     date:     121087 simon izraelevitz
  4.  
  5. rem     task:     reverses direction of a selected spline.
  6.  
  7. rem     -----------------------------------------------
  8.  
  9. clear
  10. array  pt[75][3]
  11. array  p[75][3]
  12.  
  13. :indspl
  14. rem     *** get spline to reverse
  15. set mask,5
  16. getent  "Indicate spline", etype
  17.         on (@key + 3) goto exit,exit,indspl,
  18. numseg  = @intdat[11]
  19.  
  20. i       =-1
  21. :loop1
  22.         i=i+1
  23. pt[i][0]= @fltdat[i*12 + 3]
  24. pt[i][1]= @fltdat[i*12 + 7]
  25. pt[i][2]= @fltdat[i*12 + 11]
  26.    
  27.         if (i == (numseg -1))
  28.         goto lastpt
  29.         goto loop1
  30.  
  31. :lastpt
  32.  
  33. a = @fltdat[(numseg -1)*12 + 0]
  34. b = @fltdat[(numseg -1)*12 + 1]
  35. c = @fltdat[(numseg -1)*12 + 2]
  36. d = @fltdat[(numseg -1)*12 + 3]
  37. pt[numseg][0] = a + b + c + d
  38. a = @fltdat[(numseg -1)*12 + 4]
  39. b = @fltdat[(numseg -1)*12 + 5]
  40. c = @fltdat[(numseg -1)*12 + 6]
  41. d = @fltdat[(numseg -1)*12 + 7]
  42. pt[numseg][1] = a + b + c + d
  43. a = @fltdat[(numseg -1)*12 + 8]
  44. b = @fltdat[(numseg -1)*12 + 9]
  45. c = @fltdat[(numseg -1)*12 + 10]
  46. d = @fltdat[(numseg -1)*12 + 11]
  47. pt[numseg][2] = a + b + c + d
  48.  
  49. i       =-1
  50. :loop2
  51.         i=i+1
  52. p[numseg - i][0]= pt[i][0]
  53. p[numseg - i][1]= pt[i][1]
  54. p[numseg - i][2]= pt[i][2]
  55.         if (i == numseg)
  56.         goto delspl
  57.         goto loop2
  58.  
  59. :delspl
  60.         delent
  61.  
  62.         spline P3NN,p,(numseg + 1),
  63.         goto indspl
  64.  
  65. :exit
  66. set mask
  67. exit
  68.