sind geometrische Routinen in Makro für Draw aufrufbar?

Ich programmiere innerhalb von DRAW Makros.
Der Makrorecorder ist für Draw nicht verfügbar.
Es gibt Standardroutinen, die innerhalb DRAW verfügbar sein müssen. Beispiel: Schneiden von Linien mit Linien oder Beziercurves, oder … (Zum Beispiel bei “combine shapes” ) usw. Sonst würde Draw ja nicht funktionieren.

Kann man diese Subroutinen/Funktionen in einem Makro verwenden?
Wo gibt es eine Liste verfügbarer Subroutinen mit Aufruf-Parametern?

Alle Foren, die ich kenne, zeigen, wie man auf die Objekte zugreift (Beispiel: shape) und welche Eigenschaften ein Objekt hat. Aber mit welchen mathematischen Routinen ein Objekt “bearbeitet” werden kann, ist nicht veröffentlich (zumindest mir bisher nicht bekannt).
Einfachstes Beispiel ist:

Schneiden von 2 Linien ODER

Selektiere ein Object und das Makro erhält Adresse / Name des selektierten Objekts

Wenn die Operation durch ein .uno Kommando durchgeführt wird, dann kannst du sie durch den dispatcher aufrufen. Den Rahmen dafür siehst du in den aufgezeigneten Makros im Writer. Ein Problem ist allerdings, herauszufinden, welche Parameter benötigt werden.

Ansonsten sind alle Operationen letztendlich Methoden von irgendwelchen Objekten. Um solche zu erkunden, kannst du xray benutzen.

Um auf ein einzelnes selektiertes Objekt zuzugreifen benutze ich beispielsweise

sub getSelectedShape(oShape as variant)
rem returns a single, selected shape, might be empty
dim oDocument as variant: oDocument = ThisComponent
dim oCurrentController as variant: oCurrentController = oDocument.getCurrentController()
dim oShapeCollection as variant: oShapeCollection = oCurrentController.Selection
if isempty(oShapeCollection) then exit sub
if oShapeCollection.Count <> 1 then exit sub
oShape = oShapeCollection.getByIndex(0)
end sub