Skip to content

Release Notes

WIP-5

  • Allep packaging solution for delivering plugins for ALLPLAN has undergone breaking changes. Refer to this article, as it has been completely refactored. Here are just the most important changes:

    • New content types: it is now possible to deliver design assets (e.g. .surf files), report templates or VisualScripting nodes
    • Leaner folder structure: No additional directories (like AllepPlugins/DeeloperName/PluginName) are created during the installation. You, as a developer, decide how the structure look like. Thus, installer does not modify your PYP file anymore.
    • Simple install-config.yml: if you want to install assets in std\Library on end-user's PC, simply include the folder Library in the Allep package. The same applies to all other folders, for which the installation is supported.
  • We introducing Plugin Hub - an easy way to deliver your plugin to all ALLPLAN users around the world. Learn more in this article.

  • The classes DimensionLineElement and ElevationElement representing DimLine Dimension line and ElLine Elevation point respectively have been refactored and now offer all the properties of these native ALLPLAN elements.

  • Furthermore, it is also now possible to modify specific properties of DimLine Dimension line and ElLine Elevation point

  • The methods of ElementsAttributeService for modifying attributes has been extended so that it is now possible to delete an attribute of an existing model element or set its value to <undefined>. Learn more here

  • The class representing a UVS, ViewSectionElement, and all the property classes it composes have been refactored so that it is now possible to access all the properties of a UVS with Python API.

WIP-4

  • The python version delivered with ALLPLAN has been upgraded to 3.13.2

  • With the introduction of dark mode in ALLPLAN you may want to optimize the look of your icons and pictures. Now you can do that. Just simply every time you provide an icon/picture for the value types PictureResourceButtonList, PictureResourceButton, PictureComboBox or Picture, provide a second image with the suffix _dark. This image will then be used only in the dark model.

  • For further optimization related to the dark mode, you can get the current mode (light or dark) using newly exposed function is_dark_mode()

  • A PythonPart can now terminate itself and start another PythonPart. Learn more here.

  • The picture in the palette can now be changed dynamically by changing the value of the picture parameter. Learn more here.

  • The PYP files are now documented in an XML schema document (XSD) hosted with this documentation (here). Here you can learn more on how to use it.

    Warning

    From now on, all the parameters are grouped within one <Parameters> container, like:

    <Parameters>
        <Parameter>
            ...
        <Parameter>
        <Parameter>
            ...
        <Parameter>
    <Parameters>
    

    XML structured without this container tag still work.

  • With the new methods of ReinforcementSettings it is now possible to:

  • Article about hierarchy of model elements was extended and a new example ShowHierarchy ( PYP | PY) is available for you to explore it.

  • The new FaceSelectInteractor class facilitates the implementation of a polyhedron face selection in a script object. Learn more here

  • Your implementation of the method move_handle() in the script object should not return CreateElementResult object

  • Bug fixes:

WIP-3

  • Introduced modification events which allows you to implement a special behavior of your PythonPart every time it is being modified using native ALLPLAN function (moved, copied, change of attributes, etc...)

  • You can now place nested expanders on the property palette. Up to three levels are possible.

  • With the newly exposed class SlabFoundationElement it is now possible to create and modify slab foundation using Python API.

  • It is now possible to get the Python object representing an existing flush pier (FlushPierElement) and joint (JointElement). Learn more about accessing existing objects in general in this article

  • Members of PythonPart group now preserve their labels and attributes added using native ALLPLAN functions after modifying the group. For this to happen, the implementation must include additional steps. Read more in the adapted article about PythonPart groups.

  • PythonParts included in a PythonPart group can now be shown in the information palette

  • The creation of handles is now easier with the helper class HandleCreator. You can allow the user to add/remove a point from a list with handles. Learn more in this article.

  • Bug fixes:

    • A PythonPart with a plane references parameter was causing ALLPLAN to crash each time a drawing file containing this PythonPart was opened after any changes done to the plane model. This has been fixed.

    • A PythonPart with a plane references parameter kept forgetting the plane, the parameter was referring to, when the plane was not the default plane of the drawing file. This has been fixed.

    • Handles connected to parameters, that are initially hidden in the palette, now behave correctly.

    • When a date attribute linked to a PythonPart parameter is modified using native ALLPLAN function (e.g. Modify Attributes), the PythonPart can now be modified by double-click and no exception appears.

    • Modifying s PythonPart, whose attribute was set to <undefined> using ALLPLAN native function Modify attributes, could result in the PythonPart being impossible to modify. This has been fixed.

WIP-2

  • An element modification can now be done on following objects:

    Element Representation in API
    Block foundation BlockFoundationElement
    Polygonal niche/recess GeneralOpeningElement
    Room RoomElement
  • Improvements to ALLPLAN Extension Packages (Allep):

    • Plugin can now be updated by simple drag-and-drop of the new .allep file into ALLPLAN
    • A progress bar is shown during the installation/update/uninstallation
  • Refactored class 'SectionFill' facilitates assigning surface properties to 3D objects. Learn more here.

  • Extensive description on how to implement handles in an interactor PythonPart has been created. You can access it here.
  • When an installation of an Allep package failed because the package was invalid, now a meaningful message is shown to help you understand, what needs to be fixed.
  • Bug fix: Initializing a parameter of type RefPointButton as a list does not result in an error anymore.

WIP-1

  • ALLPLAN Extension Packages (Allep) can now be uninstalled by the user with the Allep Uninstaller located in
    Library -> Default -> AllepPlugins -> AllplanGmbH -> AllepManagement AllepUninstaller
  • It is now possible to modify new kinds of architectural elements using Python API. How this element modification should be implemented, is shown in this article. The table below shows the new element types, that can be modified:

    Element Representation in API
    Beam BeamElement
    Column ColumnElement
    Door opening DoorOpeningElement
    Niche/recess GeneralOpeningElement
    Wall WallElement
    Window opening WindowOpeningElement
  • Strip foundation and block foundation can now be created using Python API. Refer to the documentation of the StripFoundationElement and BlockFoundationElement class.

  • It is now possible to create rebar labels through the API also for those rebars, that already exist in the model (e.g. were created using native functionality). Refer to the documentation of the new BarsRepresentation class and to the example LabelBarPlacementWithDimLine ( PYP | PY). Detailed manual will follow soon.

  • It is now possible to dock your PythonPart to an existing docking point. Learn more in this article.

  • New value type SurfaceElementProperties allows you to place a control for setting up hatching/filling/patterns of architectural components. Learn more here and here.

  • It is now possible to use associative framework to get the element associated with given element. This simplifies the process of associating a PythonPart with another element, which is described in detail in this article

  • It is now possible to create a beam with an assigned profile using the newly exposed property property BeamProperties.ProfileFullName

  • With the new method GetNorms it is now possible to get the IDs and names of available reinforcement norms.

  • Extended description of how to read data from reinforcement elements is now available here.

  • Bug fixes:

    • Assigning a profile to a column using the ColumnProperties.ProfileFullName was causing an error.
    • Creating a SweepBarPlacement or ExtrudeBarPlacement with a straight bar in the list of cross rebars was causing a crash.
    • Creating a niche/recess in an entity-based wall (a wall, in which the axis is different than a line, e.g. a spline or arc) using API call was causing a crash.
Placeholder