icon

[Frage] Bezugspunkt liegt am Nullpunkt und nicht am PythonPart

Schlagworte:
  • Visual scripting

Hallo,
ich habe ein Script für ein PhytonPart erstellt mit dem Problem, dass der Bezugspunkt (roter Griff) immer am NUllpunkt ist und nicht wie bei 3D objekten direkt am Objekt dran.
Gibt es da eine Möglichkeit das noch zu scripten? Ich kann nichts finden.

Danke!

Anhänge (1)

Typ: image/png
89-mal heruntergeladen
Größe: 2,73 KiB

Hallo,
gibt's dazu schon eine Lösung? lch habe gerade genau das gleiche Problem.

Antwort der KI :

Lösung:
Bezugspunkt im PythonPart-Script setzen

im PythonPart-Script den Bezugspunkt explizit festlegen, mit der Methode SetInsertionPoint . Das funktioniert so:
Im Konstruktor der Klasse (meist Element oder ähnlich) kannst du den Bezugspunkt setzen, z.B.:
self.insertion_point = AllplanGeo.Point3D(x, y, z)

Im Create()-Methode (oder wo du die Objekte erzeugst), kannst du dann:
pythonpart = PythonPart(
...,
insertion_point=self.insertion_point,
...
)

Alternativ:
Falls du direkt mit der PythonPart-Klasse arbeitest, kannst du die Methode SetInsertionPoint verwenden:
pythonpart.SetInsertionPoint(AllplanGeo.Point3D(x, y, z))

Best Practice:
Setze den Bezugspunkt möglichst an eine logische Stelle deines Objekts, z.B. an eine Ecke, den Mittelpunkt oder einen anderen charakteristischen Punkt.
Dokumentiere im Script, wo der Bezugspunkt liegt, damit andere Nutzer das PythonPart intuitiv verwenden können.

Beispiel:

import NemAll_Python_Geometry as AllplanGeo
import NemAll_Python_BaseElements as AllplanBaseElements

class MyPythonPart:
    def __init__(self):
        self.insertion_point = AllplanGeo.Point3D(1000, 0, 0)  # Beispielkoordinaten

    def Create(self, ...):
        # Erzeuge Geometrie
        ...
        # Setze Bezugspunkt
        pythonpart = AllplanBaseElements.PythonPart(
            ...,
            insertion_point=self.insertion_point,
            ...
        )
        return [pythonpart]

Hinweis:
Seit Allplan 2024 ist die explizite Angabe des Bezugspunkts im PythonPart-Objekt möglich und wird empfohlen.

Allplan Webentwicklung

Private messages must be private. No support request via Private message.