home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1996 December / PCWKCD1296.iso / demo / wgelectr / cameval / cam31 / misc.z / AUTO_DRL.SCR < prev    next >
Text File  |  1995-12-08  |  3KB  |  108 lines

  1. ;
  2. ; Automatic Drill Script
  3. ; Created by: Jeff Miller
  4. ; Date: 7-13-95
  5. ; Ver: 3.0
  6. ; Corrected Drill Sort crash due to
  7. ; sort_set parameters not being set.
  8. ;
  9.  
  10. view_toolbar@
  11.  
  12. ; Variables
  13. db$ = dbname!
  14.  
  15. ; Find the TOP layer
  16. print_msg "Finding the TOP layer  --  Please wait..."
  17. toplayer = 0
  18. for a = 0 to 32
  19.     setlayer@ a
  20.     if layertype! > 0 then goto 10
  21.     toplayer = a
  22.     a = 32
  23. 10 next
  24. setlayer@ toplayer
  25.  
  26. ; Load drill table
  27. gosub 120
  28.  
  29. if padstacks! = 0 then util_pads2via@
  30.  
  31. input "Enter the minimum drill-to-pad annular ring (using mils)?", min_ar
  32.  
  33. print_msg "Assigning drills to padstacks   --   Please wait..."
  34. for b = 0 to highestpstk!
  35.     setpadstack@ b
  36.     if padstacksizex! > padstacksizey! then goto 15
  37.     if padstacksizex! < padstacksizey! then goto 15
  38.     if padstacksizex! = padstacksizey! then gosub 130
  39. 15 next
  40.  
  41. print_msg "Creating drill layer   --   Please wait..."
  42. drill_create@ blanklayer!,"drill.dpt"
  43.  
  44. ok_cancel "Would you like to sort your drill data?",drl_srt
  45. if drl_srt = 0 then goto 25
  46. drill_firstlast@ 0
  47. drill_sort_set@ 0,10,500,35
  48. drill_sort@ 0,0,0,0
  49.  
  50. 25
  51. view_toolbar@
  52. print "Drill Complete"
  53. end
  54.  
  55. 120
  56. ; Manually create drill tools
  57. ok_cancel "Do you wish to Auto-Create your drill data?",mdrl_ok
  58. if mdrl_ok = 1 then goto 121
  59. if mdrl_ok = 0 then goto 999
  60.  
  61. 121
  62. ; Check for existing drill information
  63. if drilllayer! > 0 then gosub 150
  64.  
  65. input "How many drill tools do you wish to use?", max_tool
  66. for e = 1 to max_tool
  67.     if blankdcode! < 19 then drl_apr = blankdcode!-10
  68.     if blankdcode! = 19 then drl_apr = blankdcode!-10
  69.     if blankdcode! = 20 then drl_apr = (blankdcode!-10)+2
  70.     if blankdcode! > 20 then drl_apr = (blankdcode!-10)+2
  71.     if blankdcode! = 30 then drl_apr = (blankdcode!-10)+4
  72.     if blankdcode! > 30 then drl_apr = (blankdcode!-10)+4
  73.     if blankdcode! = 70 then drl_apr = 10
  74.     if blankdcode! = 71 then drl_apr = 11
  75.     if blankdcode! = 72 then drl_apr = 22
  76.     if blankdcode! = 73 then drl_apr = 23
  77.     tool$ = e
  78.     input "Enter drill size for tool # "+tool$+" (using mils)?", tool_size#
  79.     drill_setup@ e,tool_size#,drl_apr
  80.     edit_aperture@ blankdcode!,1,tool_size#,tool_size#,blankdcode!,""
  81. next
  82. return
  83.  
  84. 130
  85. ; Assign drills to padstacks
  86. for f = 1 to max_tool
  87.     set_drill_tool@ f
  88.     ar = (padstacksizex!-drillsize!)/2
  89.     if ar = min_ar then goto 131
  90.     if ar < min_ar then goto 135
  91. 131
  92.     drill_assign@ activepadstack!,f,0
  93. 135 next
  94. return
  95.  
  96. 150
  97. ; Drill data already present
  98. ok_cancel "Drill data exists -- do you wish to overwrite it?", drl_ok
  99. if drl_ok = 0 then goto 999
  100. edit_removelyr@ drilllayer!
  101. return
  102.  
  103. 999
  104. print "User aborted drill script!"
  105. view_toolbar@
  106. end
  107.  
  108.