Danke für die Antwort.
Also der Programmcode sieht wie folgt aus:
Private Sub Start_Click()
Dim productDocument1 As Document
Set productDocument1 = CATIA.ActiveDocument
Dim product1 As Product
Set product1 = productDocument1.Product
Set product1 = product1.ReferenceProduct
Dim products1 As Products
Set products1 = product1.Products
Dim parameters1 As Parameters
Set parameters1 = product1.Parameters
Dim product2 As Product
Set product2 = products1.Item("Part3.1")
Dim Pfad As String
Pfad = CATIA.ActiveDocument.Path
parameters1.Item("Breite des Schiebers").Value = TextBox_Breite.Value
parameters1.Item("Höhe des Schiebers").Value = TextBox_Hoehe.Value
parameters1.Item("Schieberlänge").Value = TextBox_Laenge.Value
parameters1.Item("Neigungswinkel Schieber").Value = TextBox_Winkel.Value
parameters1.Item("Durchmesser des Schiebers").Value = TextBox_Durchmesser.Value
parameters1.Item("Untere Grenze").Value = TextBox_Grenze_U.Value
parameters1.Item("Obere Grenze").Value = TextBox_Grenze_O.Value
Dim Grundform As String
Grundform = ComboBox_Grundform_Schieber.Value
Dim Stueck As Integer
Stueck = TextBox_Stueck
Dim Schrittlaenge As Double
Schrittlaenge = ((parameters1.Item("Obere Grenze").Value) - (parameters1.Item("Untere Grenze").Value)) / Stueck
Dim Wert As Double
Dim Check As Boolean
Dim Z_Koordinate As Double
Dim Zahl As Integer
Zahl = 0
Dim Beta As Double
Beta = 0.01
Dim Winkel_Schritt As Double
Winkel_Schritt = (parameters1.Item("Neigungswinkel Schieber").Value / Stueck)
For j = 0 To Stueck Step 1
Beta = (Beta + (j * Winkel_Schritt))
parameters1.Item("Neigungswinkel Schieber").Value = Beta
product1.Update
MsgBox (Beta)
Z_Koordinate = parameters1.Item("Untere Grenze").Value
For i = 0 To Stueck Step 1
Z_Koordinate = ((parameters1.Item("Untere Grenze").Value) + (i * Schrittlaenge))
parameters1.Item("Z Koordinate des Steuerpunktes").Value = Z_Koordinate
product1.Update
'An dieser Stelle sollte nun die Kollision mit dem Namen Kollision.1 Aktualisiert werden.
Wert = parameters1.Item("Ergebniss Kollisionsanalyse").Value
MsgBox (Wert)
If Wert = 0 Then
Check = True
Else
Check = False
End If
Next i
Next j
Ich weiß, das da recht viel bei ist, was mit dem Problem nicht direkt in Verbindung steht.
Der wichtige Teil ist der Bereich mit den For-Schleifen.
Gruß Christoph
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP