Hello,
I have some general questions/observations regarding the useability of PythonParts. In my experience developing with PythonParts, I’ve noticed that they are often far less dynamic than expected. In most of my applications, I modify their representation at the placement stage, but once the PythonPart is finalised, no further modifications are possible. I’ve identified two main issues behind this limitation:
1. ElementResult as a PythonPart vs ArchitecturalElement: If I define the ElementResult as a PythonPart (rather than a subclass of ArchitecturalElement), the resulting object remains parametrised and editable later. However, it loses many key functionalities that normal architectural elements have, such as the addition of recesses, openings, and reporting. Thus, generating a PythonPart object rather than actual architectural elements remain impractical in real workflows, as re-implementing all these functionalities (openings, joints, niches, etc.) feels redundant and it is misaligned with the practices of engineers in our office.
2. Automation limitations: When a PythonPart defines a unique and complex object in the model, manual editing works fine (utilising the parametric nature of the PythonPart). However, in my applications that aim to automate tasks requiring hundreds of actions, it’s unfortunate that PythonParts can only be updated manually, and they cannot automatically respond to changes in associated ArchitecturalElements. For example, if I create a PythonPart that annotates a wall, I would expect it to update automatically when the wall changes. As far as I understand, this is currently unachievable, which significantly limits the useability of PythonParts. Additionally, it seems that only one PythonPart can be defined per ScriptObject, so generating multiple PythonParts is unfeasible.
Because of these two main issues, I find that the practical utility of PythonParts in my applications is much more limited than it ideally should be.
My question is: have others encountered these limitations, and if so, how have you worked around them?
Thanks in advance for your help!