Hallo zusammen, ich habe schon vor einigen Tagen Fragen zum Delta-Roboter gestellt, in dem die Strebenlängen verändert werden sollten. Jetzt versuche ich es über VBA, da es mit den Bedingungen nicht hinkommt. Ich arbeite nach einer Anleitung, in der beschrieben wird, wie man diese Strebenlängen auch über den VBA-Code ändern kann. Dabei soll sich beim Ausführen des Codes ein Fenster öffnen, in dem ich dann die Strebenlänge ändern kann. Jetzt kommt aber die Fehlermeldung aus dem zweiten Bild. Der Fehler befindet sich anscheinend in der dritten Zeile. Da komme ich leider nicht weiter, habe bis jetzt leider noch nie mit VBA gearbeitet...
Der Code dazu sieht so aus:
Sub CATMain3()
Dim partDocument1 As PartDocument
Set partDocument1 = CATIA.Documents.Item("Rods 4.CATPart")
Dim part1 As Part
Set part1 = partDocument1.Part
Dim body1 As Body
Set body1 = part1.Bodies.Item("Corps principal")
Dim sketch1 As Sketch
Set sketch1 = body1.Sketches.Item("Esquisse.1")
Dim factory2D1 As Factory2D
Set factory2D1 = sketch1.OpenEdition()
Dim geometricElements1 As GeometricElements
Set geometricElements1 = sketch1.GeometricElements
Dim point2D1 As Point2D
Set point2D1 = geometricElements1.Item("Point.1")
Dim Value As String
Dim ValueDbl As Double
Dim Check As Boolean
Check = False
Do
Value = InputBox("Please input the desired value", "Value input")
If Value = vbNullString Then Exit Sub '
If IsNumeric(Value) Then
ValueDbl = CDbl(Value)
Check = True
Else
MsgBox "The value should be numerical", vbCritical, "Error"
End If
Loop Until Check = True
point2D1.SetData ValueDbl, 0#
Dim line2D1 As Line2D
Set line2D1 = geometricElements1.Item("Droite.1")
line2D1.SetData 0#, 0#, 1#, 0#
Dim constraints1 As Constraints
Set constraints1 = sketch1.Constraints
Dim constraint1 As Constraint
Set constraint1 = constraints1.Item("Longueur.2")
Dim length1 As Length
Set length1 = constraint1.Dimension
length1.Value = ValueDbl
sketch1.CloseEdition
part1.InWorkObject = sketch1
part1.UpdateObject sketch1
End Sub
Habe die Bezeichnung "Rods 4.CATPart" durch "Rods2.CATPart" ersetzt, da diese auch im Strukturbaum als "Rods2" bezeichnet sind. Da habe ich trotzdem noch denselben Fehler.
Weiß jemand woran es liegen könnte, oder was man bei dieser Fehlermeldung ändern muss?
MfG Felix
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP