Skip to content

Release Notes

WIP-5

  • The Allplan Extension Package (Allep) allows to pack multiple PythonParts into one plugin and ship it to the end-user more easily.
  • Newly exposed PolyhedronUtil offers new useful methods for processing a polyhedron geometry, for example repairing an invalid geometry.
  • New API functionality for creating joints. See documentation of the JointElement.
  • It is now possible to modify the display name of a PythonPart. Learn more here.
  • New service in the NemAll_Python_BaseElements, the ZoomService, allows you to zoom to a specific element(s) inside the viewport(s). The example can be found under:

    • ...\etc\Examples\PythonParts\ServiceExamples\ZoomService
  • The new progress bar is accessible via the class ProgressBar in the NemAll_Python_Utility module.

    Warning

    Methods referring to the old progress bar has been deprecated. Refer to the API reference, to see what methods to use to access the new progress bar.

  • The creation of PythonPart groups has been simplified and documented. Learn more in this article

  • The handling of slab openings with API has been improved:

    • The read access is granted
    • Placing opening symbols inside the opening is possible

    The examples are available under:

    • ...\etc\Examples\PythonParts\ArchitectureExamples\Objects\SlabOpening
    • ...\etc\Examples\PythonParts\ArchitectureExamples\ModifyObjects\ModifySlabOpening
  • The polyhedron geometry validation when calling the DrawElementPreview is now disabled by default, which increases the performance during preview draw of complex geometries. In case of unexpected results, this validation can be turned back on by calling SetValidateGeometry

  • Articles about the key components of the PythonParts framework: the palette and the script has been completely refactored.

  • New type of contract is available in the PythonParts framework: beside a standard PythonPart and an interactor you can now create a script object PythonPart

WIP-4

  • New API functionality for creating polygonal niche or recess. See documentation of the GeneralOpeningElement
  • New extensive articles about accessing and modifying elements inside Allplan model.
  • It is now possible to provide a library dialog for selecting a smart symbol or a SmartPart. Learn more here.
  • It is now possible to specify maximum and minimum values for point and vector parameters. Learn more here.
  • It is now possible to show some controls from a row on the left side of the palette. Learn more here.
  • It is now easier to provide an info box with a more extensive description for a parameter in the palette. Learn more here.
  • The UX when using list parameters can now be improved by using a new parameter type, the MultiIndex. Learn more here.
  • New parameter type DynamicList enables the user to append and delete items from the list. Learn more here
  • The alignment of the text parameter can now be controlled with the new tag <Orientation>. Learn more here
  • It is now possible to place pictures in the palette with picture parameter not only a path to a .png file, but also Allplan internal resource ID or an option of a dedicated enumeration classes. Learn more here
  • A picture from Allplan's image resources can now be shown on a button by accessing an option of a dedicated enumeration class. Learn more here
  • There are some new options of a reference point button. Learn more here

WIP-3

  • New class DoorOpeningElement in the NemAll_Python_ArchElements module allows you to create door openings. The example is available under:

    • ...\etc\Examples\PythonParts\ArchitectureExamples\Objects\DoorOpening
  • The article about element selection has been completely rewritten.

  • New extensive article about coordinate input.
  • It is now possible (and even recommended) to delete model elements with the PythonPartTransaction. See new argument elements_to_delete in the execute method.
  • New tags <ValueTextList> and <ValueTextIdList>, relevant for the definition of a picture combo box and for a picture button list
  • You can now control the visibility/enable state of multiple directly consecutive parameters with a condition group
  • You can now create a list of tuples in the palette, that stretch over the entire width of the palette. This allows you to create controls layout similar to a table. Learn more here

Warning

Module level attributes representing values of enumeration classes have been deprecated in 2025-WIP-3. Instead of using:

NemAll_Python_Geometry.eOK

Use the full name:

NemAll_Python_Geometry.eGeometryErrorCode.eOK

WIP-2

  • New extensive article: geometry operations including tips and how-to´s for e.g.:

    • Quantity take-offs
    • Boolean operations
    • Brep tessellation
    • and more...

    Examples for the above mentioned article are available under:

    • ...\etc\Examples\PythonParts\GeometryExamples\Operations
  • New extensive articles about reinforcement covering topics, such as:

    Examples for the above mentioned article are available under:

    • ...\etc\Examples\PythonParts\ReinforcementExamples\BarShapes
    • ...\etc\Examples\PythonParts\ReinforcementExamples\BarPlacement
    • ...\etc\Examples\PythonParts\ReinforcementExamples\Labels
  • New article about creating a PythonPart

  • New classes in the NemAll_Python_ArchElements module:

    Implementation examples are located in:

    • ...\etc\Examples\PythonParts\ArchitectureExamples\Objects\
    • ...\etc\PythonPartsExampleScripts\ArchitectureExamples\Objects\
  • With the new tag <EnumList> it is now possible to point out to an option of any enumeration class e.g., in a PictureButtonList or a PictureResourceComboBox

  • It is now possible to refer to a picture resource through dedicated enumeration classes. They are available in the NemAll_Python_AllplanSettings module and their names begins with PictRes. E.g., PictResRevealType. The can also be used in a PictureButtonList or a PictureResourceComboBox

WIP-1