Guten Abend zusammen!
Ich hoffe, dass ihr mir dieses mal auch wieder helfen könnt. (Bin schon lange als stiller Mitleser begeistert!)
Es geht um folgende Problemstellung:
Mit Hilfe eines Makros, welches ich in Catvba geschrieben habe, berechne ich eine Variable Anzahl von Punkten auf einer Kurve.
Dies könnten folgende Punkte sein:
Code:
A = TextBox1.Value
s = 2 / A
Pi = 3.14159265359
Set partDocument1 = CATIA.ActiveDocument
Dim part1 As Part
Set part1 = partDocument1.Part
For i = 0 To 2 Step s
Dim hybridShapeFactory1 As HybridShapeFactory
Set hybridShapeFactory1 = part1.HybridShapeFactory
Dim hybridShapePointCoord1 As HybridShapePointCoord
X = 100 * Sin(Pi * i)
Y = 100 * Cos(Pi * i)
Dim bodies1 As Bodies
Set bodies1 = part1.Bodies
Dim body1 As Body
Set body1 = bodies1.Item("Hauptkörper")
Set hybridShapePointCoord1 = hybridShapeFactory1.AddNewPointCoord(X, Y, 0#)
body1.InsertHybridShape hybridShapePointCoord1
part1.InWorkObject = hybridShapePointCoord1
Next
Hier werden die Punkte erzeugt.
Jetzt möchte ich diese zu einem Spline zusammenfassen:
Code:
Dim hybridShapeSpline1 As HybridShapeSpline
Set hybridShapeSpline1 = hybridShapeFactory1.AddNewSpline()hybridShapeSpline1.SetSplineType 0
hybridShapeSpline1.SetClosing 1
Dim reference1 As Reference
Set reference1 = part1.CreateReferenceFromObject(hybridShapePointCoord1)
hybridShapeSpline1.AddPointWithConstraintExplicit reference1, Nothing, -1#, 1, Nothing, 0#
Mein großes Problem ist, dass ich mit Hilfe einer Schleife den Eintrag hybridShapePointCoord1 nicht parametrisieren kann. An liebsten würde ich so etwas schreiben wie (Pseudocode)
Code:
For i=1 to a step 1
...
hybridShapePointCoord&i
...
Next
Kann das irgendwie realisiert werden? Habe es schon mit zahlreichen, erfinderischen Methoden versucht, die leider alle nicht hingehauen haben. (Selection.Search o.ä., Punkt direkt eintragen, Punktename eintragen...)
Würde das gerne komplett innerhalb von Catia reallisieren.
Vielen, vielen Dank schon einmal!
LG
PeterPan1
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP