Hello,
I am developing a PythonPart for Allplan 2026 that checks reinforcement annotations.
I need to reliably determine whether a reinforcement description is still complete, especially in the following case:
A reinforcement label exists
It was originally created together with a dimension line and pointer
The user deletes the dimension line
When the dimension line is deleted, its pointer is deleted as well
The reinforcement label itself remains
My goal is to detect this situation programmatically.
In Allplan I can identify the following element types:
EngineerLabel
EngineerTextPointer
EngineerDimensionLine
BarsRepresentation
BarsRepresentationLine
However, I have not found a reliable API relationship that tells me which EngineerTextPointer / EngineerDimensionLine belongs to which EngineerLabel.
I have already tested the following:
BarsRepresentation.GetLabel() / native BarLabel
BarLabel.IsShowTextPointer()
BarLabel.GetPointerStartPoint()
BarLabel.GetLabelPoint()
BarLabel.GetLabelOffset()
BarLabel.GetDimensionLineOffset()
BarLabel.GetVisibleBars()
BarsRepresentation.GetLabelElements()
parent relationships using BaseElementAdapterParentElementService.GetParentElement()
Important observation:
The native BarLabel data is identical before and after deleting the dimension line and its pointer. IsShowTextPointer() remains True, even though the actual pointer element no longer exists.
BarsRepresentation.GetLabelElements() also returns an empty list.
I also tested UUID / NOIGUID relations and geometric proximity between label and pointer, but these are not reliable enough because valid reinforcement annotations can have very different structures.
My question is:
Is there an official and reliable Allplan 2026 Python API method to determine the ownership/relationship between EngineerLabel, EngineerTextPointer and EngineerDimensionLine?
Or alternatively:
Is there a way to query whether a reinforcement label still has its actual pointer/dimension-line graphical elements present in the document?
If this relationship is not exposed through the public Python API, is there another supported API or SDK interface that provides it?
Thank you.