Hallo an die API-Experten.
Ich stehe gerade ein wenig vor einem Rätsel
Dabei dachte ich, dass meine eigentliche Aufgabenstellung recht simpel wäre. Ich möchte per Makro eine neue Skizze anlegen und anschließend da ein Mittelpunktsrechteck einfügen. Das funktioniert auch wenn ich beim Einfügen des Rechtecks mit festen (aufgezeichneten) X-Y-Z-Werten arbeite. Zum Problem wird's wenn ich den Mittelpunkt auf den Nullpunkt eines Koordinatensystems legen und das Rechteck relativ dazu mit einer definierten Größe versehen will. Hier mal mein Code dazu:
Dim swXform As SldWorks.MathTransform = swModelDocExt.GetCoordinateSystemTransformByName("Referenz")
If IsNothing(swXform) Then
swApp.SendMsgToUser("Referenzkoordinatensystem nicht gefunden!")
Exit Sub
End If
Part.SketchManager.InsertSketch(True)
Dim vSkLines As Array = Nothing
X1 = swXform.ArrayData(9) * 1000
Y1 = swXform.ArrayData(10) * 1000
Z1 = 0
X2 = (swXform.ArrayData(9) * 1000) + (7.25)
Y2 = (swXform.ArrayData(10) * 1000) + (7.25)
Z2 = 0
vSkLines = CType(Part.SketchManager.CreateCenterRectangle(X1, Y1, Z1, X2, Y2, Z2), Array)
So passiert da aber beim Einfügen des Rechtecks gar nichts. Kann ich auch irgendwie nachvollziehen, dass die X-Y-Z-Angaben so wahrscheinlich Müll sind. Ich vermute, dass ich diese Werte noch irgendwie transformieren muss aber wie und wohin - da stehe ich gerade mächtig auf dem Schlauch. Die Transformationsmatrix des gewünschten MP (Ursprung des CS "Referenz") habe ich ja, aber wohin muss ich die denn transformieren damit SWX damit in der neu erzeugten Skizze etwas anfangen kann?
Wäre schön, wenn mich da mal jemand auf den Trichter schubsen könnte
Danke und Gruß
Thilo
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP