Support Forum

Allplan 2024 Visual Scripting Changes & Improvements

Schlagworte:
  • 2024

TLDR

UX related improvements:

  • Visual group.
  • Improved node states with disabled state.
  • Multiple branches support.
  • Simplified UI at lower zoom level.
  • Search on the canvas.
  • New .pyp version.
  • Open file dialog.
  • Auto backup
  • Better coding experience.

Add features supported by PythonPart framework:

  • Image on palette.
  • Placement by mouse click.

UX related improvements:

Visual group
Once the script becomes larger and more complex, it can be challenging for users to understand the functionality of certain parts of the script. This becomes especially problematic if users haven't interacted with the script for an extended period of time. However, with the introduction of the new visual group feature, users now have the ability to organize their script, group related nodes together, and assign custom names to these groups. This helps users easily identify and comprehend different parts of the script at a later time.
loading

Improved node states with disabled state
In VS, one frustrating issue users encounter is the difficulty in understanding why a script isn't functioning correctly, as errors may not be immediately noticeable. However, in the v2024, improved node states will offer visual feedback on the evaluation status. There are a total of 5 states:

  • Blue: Not evaluated
  • Green: Successfully evaluated
  • Yellow: Successfully evaluated with warnings
  • Red: Failed to evaluate
  • Grey: Disabled

Users can now initiate a script even if it contains nodes with missing mandatory connections. These nodes will display an error state.

The new disabled state allows users to exclude specific parts from evaluation, enabling them to focus on the rest of the script. This feature makes it easier to test different solutions and aids in script debugging. Disabled nodes will be treated as if they don't exist within the script.
loading

Multiple branches support
In the previous versions, if a script encountered an error, the evaluation of the entire script would come to a halt. Even with the introduction of node states, only the specific node with an error would be highlighted, while the evaluation of other branches in the graph would be skipped entirely. This often led to confusion among users, as it provided incorrect feedback.

In v2024, all branches of the script will be evaluated, regardless of encountering an error. This means that even if there is an error in one branch, the evaluation will continue for the remaining branches. However, the "child" nodes of a failed node will still remain unevaluated.
loading

Simplified UI at lower zoom level
When working with large scripts, users often faced issues with laggy navigation and difficulties in locating nodes that generate objects or previews. However, the new simplified UI addresses these concerns by removing unnecessary information when zoomed out below 25%. Instead, it provides clear indications to users about which nodes generate objects or previews.

Search on the canvas
This feature assists users in locating existing nodes and groups within the current script on the canvas. It considers both the display name and the type of a node, as well as groups, when performing the search.
loading

New .pyp version
A new .pyp version (v2.0.0) has been released, but it can no longer be opened by the VS editor. However, if there are no changes to the API or nodes used in the script, the new script can still run on older Allplan versions like v2023.

Old .pyp files from previous versions (e.g., from Allplan 2023) can still be opened by the editor. Users will need to manually change the file type in the open file dialog to open them.
loading

Open file dialog
We have adopted the Windows-style open file dialog for streamlined user experience. As a result, accessing the PRJ/STD/ETC/USR/Example folders can now be done through the new Allplan 2024 folder.
loading

Auto backup
In the VS editor, a backup of the current script is automatically saved approximately every 5 minutes. This ensures that users have a recent copy of the work in case of any unexpected issues. Additionally, when launching the editor, if a backup file is available, users will be prompted to open it.

Better coding experience
We have made improvements to the ExecPythonScript node. It now enables users to utilize an external editor of their choice to write Python code. The code written in either the VS editor or the external editor will be synchronized with each other, ensuring consistency and ease of use.

Currently, this functionality is compatible with popular editors such as Visual Studio Code, Visual Studio, and Notepad++. To open the code, the ExecPythonScript node will utilize the default editor set for .py files in your Windows settings.
loading

Add features supported by PythonPart framework:

Image on palette
In the Palette Designer, you can now incorporate pictures in formats such as jpg, png, and svg. However, it's important to note that due to the limitations of the PythonPart palette in Allplan, the images will not be automatically resized if they are too large for the palette.
loading

Placement by mouse click
A VS-PythonPart object can now be placed in the script by simply clicking with the mouse, similar to the coded ones. This enhancement makes it more convenient and intuitive to add VS-PythonPart object into Allplan.
loading

Product Owner API, Allplan GmbH

Anhänge (9)

Typ: image/gif
105-mal heruntergeladen
Größe: 1,84 MiB
Typ: image/gif
84-mal heruntergeladen
Größe: 380,39 KiB
Typ: image/gif
99-mal heruntergeladen
Größe: 188,23 KiB
Typ: image/png
59-mal heruntergeladen
Größe: 14,03 KiB
Typ: image/png
114-mal heruntergeladen
Größe: 43,86 KiB
Typ: image/gif
63-mal heruntergeladen
Größe: 150,93 KiB
Typ: image/png
59-mal heruntergeladen
Größe: 5,72 KiB
Typ: image/gif
89-mal heruntergeladen
Größe: 247,94 KiB
Typ: image/gif
68-mal heruntergeladen
Größe: 2,20 MiB

Thank for hard working !

Thanks for all this improvementes! Are you also working on some kind of loop node? Like a "for x in range..." function?

Zitiert von: Daniele_Abramo_Pinto
Thanks for all this improvementes! Are you also working on some kind of loop node? Like a "for x in range..." function?

I used node ExecPythonScript