home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2002 March / PCWMAR02.iso / software / turbocad / v8trial / TurboCADv8ProfessionalNoReg.exe / Data.Cab / F41591_modNuts.bas < prev    next >
Encoding:
BASIC Source File  |  2001-10-16  |  10.4 KB  |  259 lines

  1. Attribute VB_Name = "modNuts"
  2. '******************************************************************'
  3. '*                                                                *'
  4. '*                      TurboCAD for Windows                      *'
  5. '*                   Copyright (c) 1993 - 2001                    *'
  6. '*             International Microcomputer Software, Inc.         *'
  7. '*                            (IMSI)                              *'
  8. '*                      All rights reserved.                      *'
  9. '*                                                                *'
  10. '******************************************************************'
  11.  
  12. ' This sample creates some types of Nuts
  13. 'DBAPI constants
  14. Const gkGraphic = 11
  15. Const gkGroup = 7
  16. Const gkArc = 2
  17. Const gkText = 6
  18. Const gfCosmetic = 128&
  19.  
  20. 'Useful math constants
  21. Const Pi# = 3.14159265
  22. ' Hex Nut  Hex Nut  Hex Nut  Hex Nut  Hex Nut  Hex Nut  Hex Nut
  23. ' Hex Nut  Hex Nut  Hex Nut  Hex Nut  Hex Nut  Hex Nut  Hex Nut
  24.  
  25. Public Sub HEXNUT()
  26.  
  27. Dim App As Application
  28. Dim ActDr As Drawing
  29. Dim Grs As Graphics
  30. Dim Gr As Graphic
  31. Dim grfChild As Graphic
  32.     Set App = IMSIGX.Application
  33.     Set ActDr = App.ActiveDrawing
  34.     Set Grs = ActDr.Graphics
  35.     Set Gr = Grs.Add(gkGroup)
  36.  
  37. Dim X0#, Y0#, X1#, Y1#, t#
  38. Dim D#, L#, E#, F#, s#, del#, dd#
  39. Dim W#, H#
  40.  
  41.     X0# = 2#
  42.     Y0# = 2#
  43.     frmNuts.Image1.Visible = True
  44.     frmNuts.Image2.Visible = False
  45.     frmNuts.Image3.Visible = False
  46.     frmNuts.Show
  47.     dd = CDbl(frmNuts.TextBox1.Text)
  48.     D# = 1.8 * dd#
  49.     L# = 0.875 * dd#
  50.     E# = 0.8 * L#
  51.     F# = D# / 4#
  52.     s# = (L# - E#) / 2#
  53. ' adds child graphics to the graphic - Gr
  54.     Set grfChild = Gr.Graphics.Add(gkGraphic)
  55.             ' add vertices to the child
  56.     With grfChild.Vertices
  57.         .Add X0#, Y0# - D# / 2# + s#, 0
  58.         .Add X0#, Y0# + D# / 2# - s#, 0, True
  59.         .Add X0# + s#, Y0# + D# / 2#, 0, True
  60.         .Add X0# + L# - s#, Y0# + D# / 2#, 0, True
  61.                     
  62.         .Add X0# + L#, Y0# + D# / 2# - s#, 0
  63.         .Add X0# + L#, Y0# - D# / 2# + s#, 0, True
  64.         .Add X0# + L# - s#, Y0# - D# / 2#, 0, True
  65.         .Add X0# + s#, Y0# - D# / 2#, 0, True
  66.         .Add X0#, Y0# - D# / 2# + s#, 0, True
  67.     End With
  68.                 
  69.     Set grfChild = Gr.Graphics.Add(gkGraphic)
  70.             ' add vertices to the child
  71.     With grfChild.Vertices
  72.         .Add X0# + s#, Y0# + F#, 0
  73.         .Add X0# + L# - s#, Y0# + F#, 0, True
  74.     End With
  75.                 
  76.     Set grfChild = Gr.Graphics.Add(gkGraphic)
  77.             ' add vertices to the child
  78.     With grfChild.Vertices
  79.         .Add X0# + s#, Y0# - F#, 0
  80.         .Add X0# + L# - s#, Y0# - F#, 0, True
  81.     End With
  82.     Set grfChild = Gr.Graphics.AddArcTriplePoint(X0# + s#, Y0# - D# / 2#, 0, X0#, Y0# - (D# / 2# + F#) / 2#, 0, X0# + s#, Y0# - F#, 0)
  83.     Set grfChild = Gr.Graphics.AddArcTriplePoint(X0# + s#, Y0# - F#, 0, X0#, Y0#, 0, X0# + s#, Y0# + F#, 0)
  84.     Set grfChild = Gr.Graphics.AddArcTriplePoint(X0# + s#, Y0# + F#, 0, X0#, Y0# + (D# / 2# + F#) / 2#, 0, X0# + s#, Y0# + D# / 2#, 0)
  85.     Set grfChild = Gr.Graphics.AddArcTriplePoint(X0# + L# - s#, Y0# - D# / 2#, 0, X0# + L#, Y0# - (D# / 2# + F#) / 2#, 0, X0# + L# - s#, Y0# - F#, 0)
  86.     Set grfChild = Gr.Graphics.AddArcTriplePoint(X0# + L# - s#, Y0# - F#, 0, X0# + L#, Y0#, 0, X0# + L# - s#, Y0# + F#, 0)
  87.     Set grfChild = Gr.Graphics.AddArcTriplePoint(X0# + L# - s#, Y0# + F#, 0, X0# + L#, Y0# + (D# / 2# + F#) / 2#, 0, X0# + L# - s#, Y0# + D# / 2#, 0)
  88.     ActDr.Views(0).Refresh
  89. End Sub
  90.  
  91.  
  92. ' Low Crown Nut  Low Crown Nut  Low Crown Nut  Low Crown Nut
  93. ' Low Crown Nut  Low Crown Nut  Low Crown Nut  Low Crown Nut
  94.  
  95. Public Sub LOWCROWNNUT()
  96.  
  97. Dim App As Application
  98. Dim ActDr As Drawing
  99. Dim Grs As Graphics
  100. Dim Gr As Graphic
  101. Dim grfChild As Graphic
  102.     Set App = IMSIGX.Application
  103.     Set ActDr = App.ActiveDrawing
  104.     Set Grs = ActDr.Graphics
  105.     Set Gr = Grs.Add(gkGroup)
  106.     
  107.     'Add child Graphics
  108. Dim X0#, Y0#, X1#, Y1#, t#
  109. Dim D#, L#, E#, F#, s#, del#, dd#
  110. Dim W#, H#, a#
  111.     
  112.     X0# = 2#
  113.     Y0# = 2#
  114.     frmNuts.Image1.Visible = False
  115.     frmNuts.Image2.Visible = True
  116.     frmNuts.Image3.Visible = False
  117.     frmNuts.Show
  118.     dd = CDbl(frmNuts.TextBox1.Text)
  119.  
  120.     D# = 1.66 * dd#
  121.     L# = 0.72 * dd#
  122.     E# = 0.8 * L#
  123.     F# = D# / 4#
  124.     s# = (L# - E#) / 2#
  125.     H# = 1.55 * dd#
  126.     a# = 1.41 * dd#
  127.          
  128.     '1
  129.      Set grfChild = Gr.Graphics.AddLineSingle(X0, Y0 - D / 2# + s, 0, X0, Y0 + D / 2# - s, 0)
  130.     '2
  131.      Set grfChild = Gr.Graphics.AddLineSingle(X0, Y0 + D / 2# - s, 0, X0 + s, Y0 + D / 2#, 0)
  132.     '3
  133.      Set grfChild = Gr.Graphics.AddLineSingle(X0 + s, Y0 + D / 2#, 0, X0 + L - s, Y0 + D / 2#, 0)
  134.     '4
  135.      Set grfChild = Gr.Graphics.AddLineSingle(X0 + L - s, Y0 + D / 2#, 0, X0 + L, Y0 + D / 2# - s, 0)
  136.     '5
  137.      'Set grfChild = grfThis.Graphics.AddLineSingle(X0 + L, Y0 + D / 2# - S, 0, X0 + L, Y0 - D / 2# + S, 0)
  138.      Set grfChild = Gr.Graphics.AddArcEllipticalFixedRatio(X0 + L, Y0, 0#, X0 + L, Y0 + a / 2#, 0#, (H - L) / (a / 2#), -Pi / 2#, Pi / 2#)
  139.     '6
  140.      Set grfChild = Gr.Graphics.AddLineSingle(X0 + L, Y0 - D / 2# + s, 0, X0 + L - s, Y0 - D / 2#, 0)
  141.     '7
  142.      Set grfChild = Gr.Graphics.AddLineSingle(X0 + L - s, Y0 - D / 2#, 0, X0 + s, Y0 - D / 2#, 0)
  143.     '8
  144.      Set grfChild = Gr.Graphics.AddLineSingle(X0 + s, Y0 - D / 2#, 0, X0, Y0 - D / 2# + s, 0)
  145.     '9
  146.      Set grfChild = Gr.Graphics.AddLineSingle(X0 + s, Y0 + F, 0, X0 + L - s, Y0 + F, 0)
  147.     '9
  148.      Set grfChild = Gr.Graphics.AddLineSingle(X0 + s, Y0 - F, 0, X0 + L - s, Y0 - F, 0)
  149.                     
  150.                     
  151.      Set grfChild = Gr.Graphics.AddArcTriplePoint(X0 + s, Y0 - D / 2#, 0, X0, Y0 - (D / 2# + F) / 2#, 0, X0 + s, Y0 - F, 0)
  152.      Set grfChild = Gr.Graphics.AddArcTriplePoint(X0 + s, Y0 - F, 0, X0, Y0, 0, X0 + s, Y0 + F, 0)
  153.      Set grfChild = Gr.Graphics.AddArcTriplePoint(X0 + s, Y0 + F, 0, X0, Y0 + (D / 2# + F) / 2#, 0, X0 + s, Y0 + D / 2#, 0)
  154.      Set grfChild = Gr.Graphics.AddArcTriplePoint(X0 + L - s, Y0 - D / 2#, 0, X0 + L, Y0 - (D / 2# + F) / 2#, 0, X0 + L - s, Y0 - F, 0)
  155.      Set grfChild = Gr.Graphics.AddArcTriplePoint(X0 + L - s, Y0 - F, 0, X0 + L, Y0, 0, X0 + L - s, Y0 + F, 0)
  156.      Set grfChild = Gr.Graphics.AddArcTriplePoint(X0 + L - s, Y0 + F, 0, X0 + L, Y0 + (D / 2# + F) / 2#, 0, X0 + L - s, Y0 + D / 2#, 0)
  157.     ActDr.Views(0).Refresh
  158. End Sub
  159.  
  160.  
  161. ' Hex Slotted Nut  Hex Slotted Nut  Hex Slotted Nut  Hex Slotted Nut
  162. ' Hex Slotted Nut  Hex Slotted Nut  Hex Slotted Nut  Hex Slotted Nut
  163.  
  164.  
  165. Public Sub HEXSLOTTEDNUT()
  166. Dim App As Application
  167. Dim ActDr As Drawing
  168. Dim Grs As Graphics
  169. Dim Gr As Graphic
  170. Dim grfChild As Graphic
  171.     Set App = IMSIGX.Application
  172.     Set ActDr = App.ActiveDrawing
  173.     Set Grs = ActDr.Graphics
  174.     Set Gr = Grs.Add(gkGroup)
  175.  
  176.     
  177.     'Add child Graphics
  178. Dim X0#, Y0#, t#
  179. Dim D#, L#, E#, F#, s#, del#, dd#
  180. Dim W#, H#, J#
  181.  
  182.     X0# = 2#
  183.     Y0# = 2#
  184.  
  185.     frmNuts.Image1.Visible = False
  186.     frmNuts.Image2.Visible = False
  187.     frmNuts.Image3.Visible = True
  188.     frmNuts.Show
  189.     dd = CDbl(frmNuts.TextBox1.Text)
  190.     
  191.     D# = 1.8 * dd#
  192.     L# = 0.875 * dd#
  193.     E# = 0.8 * L#
  194.     F# = D# / 4#
  195.     s# = (L# - E#) / 2#
  196.     J# = 0.3 * dd#
  197.     H# = 0.3 * dd#
  198.                 
  199.  
  200. '1
  201.  Set grfChild = Gr.Graphics.AddLineSingle(X0, Y0 - D / 2# + s, 0, X0, Y0 + D / 2# - s, 0)
  202. '2
  203.  Set grfChild = Gr.Graphics.AddLineSingle(X0, Y0 + D / 2# - s, 0, X0 + s, Y0 + D / 2#, 0)
  204. '3
  205.  Set grfChild = Gr.Graphics.AddLineSingle(X0, Y0 - D / 2# + s, 0, X0 + s, Y0 - D / 2#, 0)
  206. '4
  207.  Set grfChild = Gr.Graphics.AddLineSingle(X0 + s, Y0 + D / 2#, 0, X0 + L - s, Y0 + D / 2#, 0)
  208. '5
  209.  Set grfChild = Gr.Graphics.AddLineSingle(X0 + s, Y0 - D / 2#, 0, X0 + L - s, Y0 - D / 2#, 0)
  210. '6
  211.  Set grfChild = Gr.Graphics.AddLineSingle(X0 + L - s, Y0 + D / 2#, 0, X0 + L, Y0 + D / 2# - s, 0)
  212. '7
  213.  Set grfChild = Gr.Graphics.AddLineSingle(X0 + L - s, Y0 - D / 2#, 0, X0 + L, Y0 - D / 2# + s, 0)
  214. '8
  215.  Set grfChild = Gr.Graphics.AddLineSingle(X0 + L, Y0 + D / 2# - s, 0, X0 + L, Y0 + J / 2#, 0)
  216. '9
  217.  Set grfChild = Gr.Graphics.AddLineSingle(X0 + L, Y0 - D / 2# + s, 0, X0 + L, Y0 - J / 2#, 0)
  218. '10
  219.  Set grfChild = Gr.Graphics.AddLineSingle(X0 + s, Y0 + F, 0, X0 + L - s, Y0 + F, 0)
  220. '11
  221.  Set grfChild = Gr.Graphics.AddLineSingle(X0 + s, Y0 - F, 0, X0 + L - s, Y0 - F, 0)
  222. '12
  223.  Set grfChild = Gr.Graphics.AddArcTriplePoint(X0 + s, Y0 + D / 2#, 0, X0, Y0 + (D / 2# + F) / 2#, 0, X0 + s, Y0 + F, 0)
  224. '13
  225.  Set grfChild = Gr.Graphics.AddArcTriplePoint(X0 + s, Y0 - D / 2#, 0, X0, Y0 - (D / 2# + F) / 2#, 0, X0 + s, Y0 - F, 0)
  226. '14
  227.  Set grfChild = Gr.Graphics.AddArcTriplePoint(X0 + s, Y0 + F, 0, X0, Y0, 0, X0 + s, Y0 - F, 0)
  228. '15
  229.  Set grfChild = Gr.Graphics.AddArcTriplePoint(X0 + L - s, Y0 + D / 2#, 0, X0 + L, Y0 + (D / 2 + F) / 2#, 0, X0 + L - s, Y0 + F, 0)
  230. '16
  231.  Set grfChild = Gr.Graphics.AddArcTriplePoint(X0 + L - s, Y0 - D / 2#, 0, X0 + L, Y0 - (D / 2# + F) / 2#, 0, X0 + L - s, Y0 - F, 0)
  232. '17
  233.  Set grfChild = Gr.Graphics.AddArcTriplePoint(X0 + L - s, Y0 + F, 0, X0 + L - 0.3 * s, Y0 + (J / 2# + F) / 2#, 0, X0 + L, Y0 + J / 2#, 0)
  234. '18
  235.  Set grfChild = Gr.Graphics.AddArcTriplePoint(X0 + L - s, Y0 - F, 0, X0 + L - 0.3 * s, Y0 - (J / 2# + F) / 2#, 0, X0 + L, Y0 - J / 2#, 0)
  236. '19
  237.  Set grfChild = Gr.Graphics.AddLineSingle(X0 + L, Y0 + 0.375 * D + J / 4#, 0, X0 + L - H + J / 4#, Y0 + 0.375 * D + J / 4#, 0)
  238. '20
  239.  Set grfChild = Gr.Graphics.AddLineSingle(X0 + L, Y0 + 0.375 * D - J / 4#, 0, X0 + L - H + J / 4#, Y0 + 0.375 * D - J / 4#, 0)
  240. '21
  241.  Set grfChild = Gr.Graphics.AddArcTriplePoint(X0 + L - H + J / 4#, Y0 + 0.375 * D + J / 4#, 0, X0 + L - H, Y0 + 0.375 * D, 0, X0 + L - H + J / 4#, Y0 + 0.375 * D - J / 4#, 0)
  242. '22
  243.  Set grfChild = Gr.Graphics.AddLineSingle(X0 + L, Y0 - 0.375 * D + J / 4#, 0, X0 + L - H + J / 4#, Y0 - 0.375 * D + J / 4#, 0)
  244. '23
  245.  Set grfChild = Gr.Graphics.AddLineSingle(X0 + L, Y0 - 0.375 * D - J / 4#, 0, X0 + L - H + J / 4#, Y0 - 0.375 * D - J / 4#, 0)
  246. '24
  247.  Set grfChild = Gr.Graphics.AddArcTriplePoint(X0 + L - H + J / 4#, Y0 - 0.375 * D + J / 4#, 0, X0 + L - H, Y0 - 0.375 * D, 0, X0 + L - H + J / 4#, Y0 - 0.375 * D - J / 4#, 0)
  248. '25
  249.  Set grfChild = Gr.Graphics.AddLineSingle(X0 + L, Y0 + J / 2#, 0, X0 + L - H + J / 2#, Y0 + J / 2#, 0)
  250. '26
  251.  Set grfChild = Gr.Graphics.AddLineSingle(X0 + L, Y0 - J / 2#, 0, X0 + L - H + J / 2#, Y0 - J / 2#, 0)
  252. '27
  253.  Set grfChild = Gr.Graphics.AddArcTriplePoint(X0 + L - H + J / 2#, Y0 + J / 2#, 0, X0 + L - H, Y0, 0, X0 + L - H + J / 2#, Y0 - J / 2#, 0)
  254.     ActDr.Views(0).Refresh
  255.  
  256.  
  257. End Sub
  258.  
  259.