Thank you for your quick response.
From your explanation, I now understand that if I can select the architectural elements through a CoordinateInput object, I can retrieve the transformation matrix using:
coordinate_input.GetSelectedElementAssocView().GetTransformationMatrix() -> Matrix3D
So, if I understand correctly, with this
Matrix3D, calculating the 2D representation of any 3D point should be straightforward
However, a few points are still unclear:
1. Element selection
So far, I have been using the MultiElementSelectInteractor class to handle element selection:
self.selection_result = MultiElementSelectInteractorResult()
self.script_object_interactor = MultiElementSelectInteractor(
self.selection_result,
[AllplanEleAdapter.WallTier_TypeUUID],
"Select walls"
)
This approach provides the selection behavior I need, but it does not appear to expose its internal
CoordinateInput object (Calling
"self.script_object_interactor.__coord_input" draws an error). I attempted to subclass it; however, the API documentation only lists function names and arguments, making it difficult to understand how the selection is handled internally. More generally, it remains unclear how
CoordinateInput operates within
MultiElementSelectInteractor.
Is the source code for the Python API available by any chance?
2. Multiple associative views
Assuming I can select the desired architectural elements via a CoordinateInput class, how can I control which associative view is used?
For example, if the same wall appears in multiple sections (e.g., four different views), I would like to choose among those views. However, GetSelectedElementAssocView() only returns a single AssocViewElementAdapter, and it is not clear how that specific view is determined or how to influence the selection.
Thank you in advance for your help.