Visualization Element: Path3D
Note
The element does not work with the CODESYS HMI display variant.
Symbol:

Category: Special Controls
The Path3D visualization element graphically displays the curves of two independent records as a 3D path. It is specially designed for use with CNC in order to display the trajectory of a machine tool or a robot. The programmed path (path) and the path actually traveled (track) is displayed.
Although the visualization element is designed for use with CODESYS SoftMotion in CNC, it can also be used to display any other record. In this case the application has to provide the path data.
If the element is used together with CODESYS SoftMotion CNC, then function blocks from the library SM3_CNC_Visu
help to generate the data from the path and track. These function blocks are used by the sample project CNC_File_3DPath
, which is stored in the installation directory of CODESYS.
SMC_PathCopier
SMC_PathCopierCompleteQueue
SMC_PathCopierFile
SMC_PositionTracker
A description of the function blocks can be found in the Library Manager in the library SM3_CNC_Visu
.
Note
Sample project: "3D Path Generator"
project
CNC_File_3DPath
(included in the CODESYSinstallation directory)
Element properties
Are all element properties available?
All properties are available only after you select the Advanced option or the All categories filter in Properties.
Element name | Example: TipAssign individual names for elements so that they are found faster in the element list. |
Element Type | Path3D |
Position
The position defines the location and size of the element in the visualization window. This is based on the Cartesian coordinate system. The origin is located in the upper left corner of the window. The positive horizontal X-axis runs to the right. The positive vertical Y-axis runs downwards.
X | The X-coordinate (in pixels) of the upper left corner of the element Example: |
Y | The Y-coordinate (in pixels) of the upper left corner of the element Example: |
Width | Specified in pixels Example: |
Height | Specified in pixels Example: |
Tip
You can change the values by dragging the box symbols to other positions in the editor.
Path description
Path data (VisuStruct3DTrack) | Variable of type Example: A description of the structure can be found in the Library Manager in the The data structure describes a path or track by a specific number of points. The points are determined and buffered by the application. The track typically displays the last n positions so that only a specific part of them is displayed at one time.
|
Path color | Color of the drawn path |
Path line width | Path line width (in pixels) Example: |
Edge point marking | . Display of the points between two consecutive objects in the path
|
Track description
The track data is structured in the same way as the path data: VisuStruct3DTrack
Track data (VisuStruct3DTrack) | Variable of type Example: A description of the structure can be found in the Library Manager in the |
Track color | Color of the drawn track |
Track line thickness | Track line thickness (in pixels) Example: 2 |
Camera control
The camera position for 3D mode is controlled with a reference to an external data structure.
This structure allows the following operations:
Move left/right/up/down
Rotate around X/Y/Z axis
Reset the view to X/Y, Y/Z, or Z/X plane so that the web and the path are fully visible
Control data structure (VisuStruct3DControl) | Variable of type Example: The values can be set via the application itself or via the ControlPanel visualization element. The A description of the structure can be found in the Library Manager in the |
Input Configuration
The properties contain the configurations for the user input when using the mouse or keyboard. A user input defines an event and one or more actions that are executed when an event occurs.
TipThe Configure button opens the Input Configuration dialog. There you can create or edit user inputs. Configured user inputs are listed below the events. They each include the action that is triggered and the setting in short form. Example: Execute ST Code: | |
OnDialogClosed | Input event: The user closes the dialog. |
OnMouseClick | Input event: The user clicks the mouse button completely in the element area. The mouse button is clicked and released. |
OnMouseDown | Input event: The user clicks down on the mouse button. |
OnMouseEnter | Input event: The user drags the mouse pointer to the element. |
OnMouseLeave | Input event: The user drags the mouse pointer away from the element. |
OnMouseMove | Input event: The user moves the mouse pointer over the element area. |
OnMouseUp | . Input events:
NoteThis CODESYS-specific triggering behavior guarantees that actions for key elements are completed. A key element starts an action for OnMouseDown and ends the action for OnMouseUp. Example: A visualization user presses the mouse button within the element area of the key element and then moves the cursor position so that it is located outside of the element area. The action is ended anyway because OnMouseUp is triggered. |
OnValueChanged | Event which triggers follow-up actions due to a change in value Which follow-up actions are triggered is configured in the Input Configuration dialog. The defined follow-up actions and the corresponding configuration are displayed below the element property. The OnValueChanged event can be disabled by the VISU_NO_VALUECHANGED compiler define in the properties dialog of the application. |
Tap | When a mouse click event occurs, the variable defined in Variable is described in the application. The coding depends on the Tap FALSE and Tap on enter if captured options. |
Variable | Requirement: The Tap FALSE option is not activated. Variable (
Example: |
Tap FALSE |
|
Tap on enter if captured |
The value is |
Switch over | With the onset of a mouse click event, the variable is set; when the mouse click event is completed, the variable is reset. |
Variable | Variable ( This is when the user releases the mouse button while the mouse pointer is over the element area. If the user releases the mouse button while the mouse pointer is outside of the element area, then the mouse click event is not ended and the value is not toggled. TipThe user can cancel a started toggle input by dragging the mouse pointer out of the element area. |
Toggle on up if captured |
|
Hotkey | Shortcut on the element for triggering specific input actions When the hotkey event occurs, the input actions in the Events property are triggered. In this way, it is not the input action itself that leads to this input action, but the mouse input action. |
Key | Key pressed for input action. Example: T The following properties appear when a key is selected. |
Events |
|
Switch over |
Example: Shift+T. |
Control |
Example: Ctrl+T. |
Alt |
Example: Alt+T. |
Tip
All keyboard shortcuts and their actions that are configured in the visualization are listed on the Keyboard Configuration tab.
Additional aspects
Coordinate system |
|
Grid |
|
Grid color | Color of grid lines |
Highlight
Individual parts of the path can be highlighted visually. Typically, this is used to mark the already finished part of a track with a different color. Each point on the path is given a unique ID, which in the case of a CNC editor is linked to the object ID on which the point is located. This ID ("highlight ID") can be specified via the application so that elements/parts of the path can be highlighted dynamically.
Highlight type | . Select one of the following highlighting types:
|
Variable | Project variable that specifies the ID of an element Example: This "highlight ID" is taken into account for the setting of the Highlight type. The variables can be used in the application. |
Highlight color | Example: Red |
Appearance
Border line width | Thickness of the frame around the element (in pixels) Example: |
Border line style | . Select one of these style types for the frame line:
|
Background transparent |
|
Background color | Style color or color |
Center
The properties contain fixed values for the coordinates of the point of rotation. The rotation point is displayed in the editor as the TipYou can also change the values by dragging the | |
X | X-coordinate of the point of rotation |
Y | Y-coordinate of the point of rotation |
Absolute movement
The properties contain IEC variables for controlling the position of the element dynamically. The reference point is the upper left corner of the element. At runtime, the entire element is moved.
Movement | ||
X |
Increasing this value at runtime moves the element to the right. | |
Y |
Increasing this value at runtime moves the element downwards. | |
Rotation | Variable (numeric data type) for the angle of rotation (in degrees) Example: The midpoint of the element rotates at the Center point. This rotation point is shown as the At runtime, the alignment of the element remains the same with respect to the coordinate system of the visualization. Increasing the value rotates the element to the right. | ![]() |
Scaling | Variable (integer data type) to trigger a centric stretching Example: The reference point is the Center property. The value | |
Interior rotation | Variable (numeric data type) for the angle of rotation (in degrees) Example: At runtime, the element rotates about the point of rotation specified in Center according to the value of the variable. In addition, the alignment of the element rotates according to the coordinate system of the visualization. Increasing the value in the code rotates clockwise. The rotation point is shown as the NoteIf a static angle of rotation is specified in the property, then the static angle of rotation is added to the variable angle of rotation (offset) when the visualization is executed. | ![]() |
Tip
You can combine the variables to a Unit conversion.
Tip
The X, Y, Rotation, and Interior rotation properties are supported by the "Client Animation" functionality.
State variables
The variables control the element behavior dynamically.
Invisible | Variable (
|
Tip
The Invisible property is supported by the "Client Animation" functionality.
Animation
Tip
These properties are available only when you have selected the Support client animations and overlay of native elements option in the Visualization Manager.
Animation duration | Variable for the duration (in milliseconds) in which the element runs an animation
. Animatable properties
The animated movement is executed when at least one value of an animatable property has changed. The movement then executed is not jerky, but is smooth within the specified animation duration. The visualization element travels to the specified position while rotating dynamically. The transitions are smooth. |
Move to foreground | Variable (
Example: |
Permissions
Note
Available only when a user management is set up for visualization.
Access Rights button | Opens the Access Rights dialog. There you can edit the access privileges for the element. . Status messages:
|