Hallo.
Ich verwende in meinem Python Script die Boolsche Operation MakeSubtraction. Hier wird aus einem beliebigem Polygon ein Loch ausgeschnitten. Das funktioniert so weit so gut. Wenn jedoch die Geometrie des Lochs größer ist als das gesamte Polygon stürzt Allplan ab - was ja auch logisch ist denn die Funktion kann so nicht funktionieren. Nun wollte ich das "abfangen". Mein Ziel ist, dass selbst wenn der User eine ungültige Eingabe trifft, das Skript darauf reagiert und nicht einfach abstürzt. Das hab ich mit dem folgenden Skript probiert:
(head ist das Polygon und hole ist der Cylinder - beide Geometrien wurden als BreP3D definiert)
err, head = AllplanGeo.MakeSubtraction(head, hole) if not err == AllplanGeo.eGeometryErrorCode.eOK: return
Jedoch stürzt Allplan immer noch ab wenn die Geometrie des Lochs zu groß gewählt wird. Was hab ich hier falsch gemacht? Bzw. was kann ich machen, um den Programmabsturz zu verhindern? In C# kann ich auf ungültige Ausgaben mit einem Try-Catch Konstrukt reagieren - wäre so etwas hier auch umsetzbar?
Ich bin über jede Hilfe dankbar!