Advertisement
Guest User

Untitled

a guest
Nov 13th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Option Explicit
  2.  
  3. Dim swApp As Object
  4. Dim Part As Object
  5.  
  6. Dim tabx(1000) As Double
  7. Dim taby(1000) As Double
  8. Dim tabz(1000) As Double
  9.  
  10. Dim length As Double
  11. Dim rayon As Double
  12. Dim Rayon2 As Double
  13. Dim n As Integer
  14. Dim j As Double
  15. Dim dist As Double
  16.  
  17. Dim bolle As Boolean
  18.  
  19. Sub main()
  20.  
  21. Set swApp = Application.SldWorks
  22. Set Part = swApp.ActiveDoc
  23. Part.SketchManager.Insert3DSketch (True) 'Esquisse 3D
  24. Part.SketchManager.AddToDB = True
  25.  
  26. ''length = l 'Longueur du VER
  27. 'nombre = n
  28.  
  29. n = InputBox("Entrer la valeur de n")
  30. length = InputBox("Entrer la valeur de l") / 1000
  31. rayon = InputBox("Entrer la valeur des particules") / 1000
  32. Rayon2 = rayon * 1.2
  33.  
  34. Dim i As Integer
  35. i = 1
  36. For i = 0 To n - 1 '10= NB inclusions (à modifier)
  37. Randomize Timer 'Gener. Aléatoire
  38. tabx(i) = Rnd * (length - Rayon2 * 2) + Rayon2  'Position x
  39. taby(i) = Rnd * (length - Rayon2 * 2) + Rayon2  'Position y
  40. tabz(i) = Rnd * (length - Rayon2 * 2) + Rayon2  'Position z
  41.  
  42. bolle = 0
  43. For j = 1 To i - 1
  44. dist = Sqrt((tabx(i) - tabx(j) ^ 2 + (taby(i) - taby(j)) ^ 2 + (tabz(i) - tabz(j)) ^ 2))
  45. If (dist < 2.2 * rayon) Then bolle = 1
  46. Next j
  47. If (bolle = 0) Then
  48.  
  49.  
  50. Dim skPoint As Object
  51. Set skPoint = Part.SketchManager.CreatePoint(tabx(i), taby(i), tabz(i)) 'Creation du point
  52. ''MsgBox tabx(i) & " " & taby(i) & " " & tabz(i)
  53.  
  54. End If
  55.  
  56. Next i
  57.  
  58.  
  59. Part.SketchManager.InsertSketch (True)
  60. Part.SketchManager.AddToDB = False
  61.  
  62. End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement