Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Option Explicit
- Dim swApp As Object
- Dim Part As Object
- Dim tabx(1000) As Double
- Dim taby(1000) As Double
- Dim tabz(1000) As Double
- Dim length As Double
- Dim rayon As Double
- Dim Rayon2 As Double
- Dim n As Integer
- Dim j As Double
- Dim dist As Double
- Dim bolle As Boolean
- Sub main()
- Set swApp = Application.SldWorks
- Set Part = swApp.ActiveDoc
- Part.SketchManager.Insert3DSketch (True) 'Esquisse 3D
- Part.SketchManager.AddToDB = True
- ''length = l 'Longueur du VER
- 'nombre = n
- n = InputBox("Entrer la valeur de n")
- length = InputBox("Entrer la valeur de l") / 1000
- rayon = InputBox("Entrer la valeur des particules") / 1000
- Rayon2 = rayon * 1.2
- Dim i As Integer
- i = 1
- For i = 0 To n - 1 '10= NB inclusions (à modifier)
- Randomize Timer 'Gener. Aléatoire
- tabx(i) = Rnd * (length - Rayon2 * 2) + Rayon2 'Position x
- taby(i) = Rnd * (length - Rayon2 * 2) + Rayon2 'Position y
- tabz(i) = Rnd * (length - Rayon2 * 2) + Rayon2 'Position z
- bolle = 0
- For j = 1 To i - 1
- dist = Sqrt((tabx(i) - tabx(j) ^ 2 + (taby(i) - taby(j)) ^ 2 + (tabz(i) - tabz(j)) ^ 2))
- If (dist < 2.2 * rayon) Then bolle = 1
- Next j
- If (bolle = 0) Then
- Dim skPoint As Object
- Set skPoint = Part.SketchManager.CreatePoint(tabx(i), taby(i), tabz(i)) 'Creation du point
- ''MsgBox tabx(i) & " " & taby(i) & " " & tabz(i)
- End If
- Next i
- Part.SketchManager.InsertSketch (True)
- Part.SketchManager.AddToDB = False
- End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement