Release Notes 5.0

What's new?

Visual Components (VC) 5.0 introduces a host of powerful features that gives users more tools and control over their simulations than ever before.

Important to note

  • KUKA.Sim AddOn will not be available with the initial VC 5.0 release, it will be made available in a subsequent version release.
  • VC 5.0 products licensed via floating keys need to utilize the new License Server Manager 3.0 which released alongside VC 5.0.

New Features

Python 3 API

VC 5.0 features a new Python API based on Python 3. The API is based on Python version is 3.12.2, bringing a host of enhancements and benefits to elevate your development experience.

 Key Benefits of our new Python API:

  • Easier to navigate and use APIs with improved syntax and structure to simplify coding and improve readability
  • Asynchronous programming with Async/Await, that allows you to write non-blocking code that can handle multiple tasks concurrently
  • Access to popular libraries such as NumPy, Pandas, and SciPy.

 

The new API can be used by selecting Python 3 as the script language in PythonScript, Python Kinematics or Python feature properties language selector.

Documentation

  • Documentation for the Python 3 API can be found here in the Python 3 section of VC 5.0 online help.
  • Built-in documentation can also be accessed using the help() method, which prints the documentation to application output panel.
    Usage example:
    from vcCore import *
    help(vcApplication)

     

External library support

External libraries such as Numpy can now be installed through pip.

Python Commands

Python 3 API features improved support for commands. A command is now initialized and represented by a single file, removing the need for the separate __init__.py file required by the Python 2 API.

At application startup the following folders are searched for Python 3 commands

  • App installation folder: Program Files\Visual Components\<VARIANT_NAME>\Python 3

  • My Commands folder: Documents\Visual Components\<VERSION>\My Commands\Python 3

Files that comply with the following naming convention are automatically loaded during start up:

  • File has a “.py” extension.
  • File starts with “cmd” prefix (e.g., cmdSimpleCommand.py)

Prefix ‘cmd’ is only required for commands to be loaded automatically. Commands that are loaded manually by a user’s drag and drop operation or programmatically through the API do not require the prefix.

Additionally the Python Command panel has been improved. Multiple equal customizable buttons can now be created instead of two hardcoded ones. Each button can be customized by its text, visibility and whether it closes the panel or not. Buttons are located directly under the content, instead of at the very bottom. 

Note that Python 2 is now an optional feature and can be left out of the installation by deselecting the option in the Visual Components installer.

Python Statements

We have introduced a new Process Statement Type called Python Statement, which allows users to execute Python 3 scripts during simulation time. You can include it in your Processes by adding it through the Statement Gallery.

Custom Python Statement

We have also provided an API that enables users to create their own Custom Python Statements. Refer to the How to use - Python Statement for Process Modeling help topic for a more comprehensive example of how to implement your own Custom Statements

New Motion Controller (BETA)

The new Motion Pipeline revamps the current robot motion system, giving users greater flexibility and the ability to create more efficient paths and statements. Note that this feature is still in development and is subject to change.

New Motion Controller offers:

  • Faster execution times and better performance.
  • More control over robot configuration.
  • Behavior more closely resembling real-world robots.
  • Smoother motion interpolation. 
  • Greatly improved kinematics.

New Path Solver

The new Solver available in Visual Components OLP products, improves robotic path planning by generating collision-free, executable paths. It replaces the older “Check Path” tool with faster more reliable performance, especially for complex paths.

Improved output panel

The application features a new and improved output panel. The panel now has a new and improved user interface and supports displaying and filtering messages by categories such as Info, Warning and Error. Messages can be selected, copied and pasted. More settings are now available to configure the behavior directly in the panel UI. Python 3 and .NET APIs to use and extend the panel are also provided.

Colliders

Colliders allows you to create simplified collision geometries separate from visualization. Simplified collision geometries make collision detection much faster. A new collider container behavior is introduced and it can store multiple collider objects. The collider objects represent collision shapes: Box, Sphere or Convex. The visibility and opacity of collider objects can be controlled. Collision detectors have a toggle to either use or ignore colliders.

Additionally there's a Create Collision Geometry tool available in the Modeling tab Tools menu. This allows you to easily make colliders for complex shapes. It uses convex decomposition to split node's geometries into multiple colliders and can create convex or box shapes depending on user choice. There's an option to adjust the collider quality.

Connectors

VC 5.0 includes built-in connectivity plugins for several major robot brands, allowing you to connect virtual or real robot controllers to your simulation. This means you can exchange data during simulation such as sending joint movements from a controller, reading sensor inputs or setting output signals to simulate tasks like picking and placing.

The following new connectors are included.

Denso Robot

Connect to a Denso robot controller during simulation and exchange data. Drive joint movements, read sensor values, and set outputs using a real or virtual controller.

Techman Robot

Connect to a Techman robot controller during simulation and exchange data. Drive joint movements, read sensor values, and set outputs using a real or virtual controller.

MELFA Robot

MELFA Robot plugin allows you to connect to a MELFA VRC and exchange robot data using RT ToolBox3. PLC connections are not supported.

Yamaha Robot

Connect to a Yamaha RCX 3 series controller during simulation and exchange data. Drive joint movements, read sensor values and set outputs using a real or virtual controller.

MQTT Client

The MQTT connector allows you to run an MQTT client locally--one per active session of Visual Components. The client can connect to any number of MQTT brokers (servers) during simulation and exchange data by subscribing (SUB) and publishing (PUB) to topics on the broker which act as channels for filtering messages. Data includes the values of properties and signals in a layout. Connections can be encrypted such as using port 8883, support username and password authentication and handle quality of service checks with messaging. It is possible to use message templates or schemas for topic messages. In addition, you can modify received messages (ingress) using a built-in expression and formula editor as well as outgoing messages (egress).

LS Electric PLC

Connect to a LS Electric PLC and directly exchange data, joint values, read/write, I/O signals with various data types. Data types like WORD, STRING and TIME are not supported at this time.

Fronius Connector

The Fronius Connector enables users to connect to and integrate with a Fronius Welding Power Source. The user is able to read jobs from the power source as well as show, edit and create new jobs in Visual Components OLP products and save them back to the power source. Typically, jobs include all the parameters needed for welding.

VC Python Tools Extension

VC Python Tools is an extension that works alongside Python in Visual Studio Code to provide code editing support for the Visual Components API, making it easier to develop component scripts, custom commands and other functionalities. Gain access to VC type information, documentation and code snippets directly through IntelliSense. The extension is available on the Visual Studio Marketplace.

Credential-based licensing

In addition to using a standalone or a floating license, the user now has the option to login to the application using credentials. The licenses are managed using our new license management system VC Accounts, where entitlements grant users rights to use the products. With VC Accounts, customers can activate and transfer usage rights of products without the need to contact customer support. Furthermore partners can access, view and activate entitlements on behalf of end-customers. Credential-based licensing supports all VC 5.0 product variants and add-ons. Note that standalone or floating licenses cannot be managed using VC Accounts.

Network License Server Manager 3

Alongside VC 5.0, we have updated and released a new version of the Network License Server Manager. For more information, please visit the Downloads page of the Visual Components website.

Changes to Connectivity

For the VC 5.0 version, the connectivity offering for each of the products in the Visual Components product line-up has changed.

  • Visual Components Essentials, Robotics and Robotics OLP will no longer offer any connectivity plugins.
  • Visual Components Professional and Professional OLP will offer connections to OPC UA and MQTT.
  • Visual Components Premium, Premium OLP and Digital Twin offer all connectivity options.

Updates to supported Windows Versions

The current supported Windows versions for the VC 5.0 product line-up are as follows:

  • Windows 11, version 21h2.
  • Windows 10, version 1507.

 

Telemetry

This functionality has been introduced to collect data from within the VC application. Data collected may consist of certain mandatory information that is essential to ensure legal compliance, security and integrity of the software. Other data may be collected to improve user experience and enhance product development. There is an "Analytics Settings" in the backstage menu that can be turned on or off. If turned off, certain user specific/sensitive data is either filtered out or anonymized before being collected.

Other improvements

  • UI performance when switching tabs has been improved
  • .STPX file type is now supported as an import type

Known Issues

  • The Motosim plugin does not currently support Version 2025 SP1
  • eCatalog components with expression properties are loaded incorrectly when user language is set to Japanese.
    • Users can enable the Windows beta feature "Use Unicode UTF-8 for world-wide language support", which can be found under Time & Language > Language & region.

Library Updates

38633

FFMPEG 7.1.1 update

39472

gRPC.Tools 2.72.0 update

39554

HOOPS Exchange 2025.6 update

39556

RealDWG 2024.1.7 Update

34094

Update System.Text.Json to 8.0.0.5

General Improvements

37626

Add message that application need restart after an add on is enabled/disabled

38703

eCat sync can be triggered from the Refresh button

35903

ICustomizationService.PublicModelsFolder can be used to set default eCatalog path

39554

Update to import and export types

37518

Remove references to Infragistics types from IDockAwareWindowManager

27680

Create new frames / delete existing frames from Jog Panel

33606

Removed Product Type OriginFrame

33627

Implement world manager and its .NET API

34292

Saving: "Include Components" true by default

36669

Change default value of "Enable Independence" backstage option to false

36700

Installer - Show Python 2 option from installer feature tree

36135

Remove "clear Output on simulation start" setting from backstage

41745

VC Application can use different resolutions in its splash screen

40997

Improve Py2 script loading times

43024

Enable .stpx support

40767

No longer require manual registration of LSElectric connectivity libraries

39785

Installer marks Visual Components as trusted for Controlled Folder Access

Bug Fixes

38491

Crash: Exchange Robots causing app to crash

37395

Regression: Interact does not work with physics components

38666

Regression: "Snap & Align" Frame snap type not working

28304

Parasolid X_T file import does not recognize feature names due special character

39619

.JT geometry export does not support 2D elements

34636

CAD containing Japanese characters lose material(color) after being saved as component and loaded

22276

"Toggle statement" feature in robot program statements goes gray/unusable

39774

IComponentContainer.ComponentLeaving event gives you ComponentArriving instead

38520

Robot shows "Robot World" internal node in API

9921

eCatalog: Pressing right/left arrow keys makes the cursor move two spaces

10250

Changing constraint type in Real component property moves it last in the list

25025

vcReserveProductStatement does not support access to the new filters

26115

Geometry import fails when Feature Tree setting is set to Optimized

27568

Positions based to moving frame do not revert to initial position when reset

29997

Statistics export to Excel fails if max row limit is exceeded

30321

Orthographic view mode doesn't zoom towards cursor

31220

Import CAD fails sometimes when using optimized feature tree setting

31554

Assembly Editor 3D toolbar initial location is incorrect

32018

Installer: NO_SHORTCUTS=1 still creates Manufacturer folder

32019

Exception is thrown while manipulating a link with physics joint

32391

TransportIn statement creates unnamed variables, causing UI exception

32561

Fix python script copying access violation

33102

Freeze when trying to open backstage

33370

.NET API: IProperty<T>.AllowedValues returns a broken collection if constraints are not used

33372

.NET API: Calling ILayoutPackFolder.ChangeBatchLevel getter causes an internal exception

33422

.NET API: ISimInterfaceSection.FramePrimitive getter throws an internal exception

33425

.NET API: Calling NullDofWrapper.ChangeBatchLevel getter causes an internal exception

33520

Crash: Python 2 API: OnRoutineAdded/Removed in robots causes hard exception and crash.

33605

Clicking on empty Collection Group creates Exception

33611

Offset when creating a linear pattern of component in sublayout

33660

Delta robot is collapsed after loading the component

33686

Python 2: Saving Bitmap using TGA writer returns wrong value

33937

ABB Connectivity: Joint Values Update with reset button

33951

Search '4.10' in help field causes crash because search service returns Excel file content as result

33988

Locked components do not keep their location when moved to a different sublayout

34043

Toggle statement command not working properly

34068

Focus mode: dynamic component opacity doesn't change

34552

Data loss: Can't save layout that creates vcmx file over ~2.15GB (2^31 bytes) in size

34582

Using pattern for attached component creates pattern from world origin

34609

SolidWorks -  Markups import location is wrong

34646

Regression: Large primitive physics result in uncontrolled bouncing

34667

Using component with servo controller behavior in PM assembly causes crash

34925

Py2 Application crashes when generating an incomplete sphere using triangles

34944

Incorrect Japanese translations in connectivity

34952

Material editor texture URL  color bug

35213

VC 4.10-Error code 2525

35257

Unhandled exception with Break and Continue statements outside While scope

35904

Ruler not shown when translating a rotated component in local coordinate Z direction

36495

Unexpected eCat search result sorting when searching for "To Conveyor Process"

36529

eCat database path resolving error

36645

Texture from an imported component is automatically set as assembly editor floor texture

36811

Exception when creating variable pairs with double-byte numbers and single-byte numbers exceeding UInt64

36252

Loading certan .dwg file fails

42083

Cadenas not showing any products in folders

OLP

Improvements

Added fill pass weave references on root layer level for standard multipass.

Added helix path creation tool.

Added Circ-Out Search variant.

Added WPS Rule Manager & WPS Rule Selector.

Added warning message when mixing sublayouts in OLP layouts.

Added Search statement link option for Weld statements.

Added multimode editing for Search statements.

Improved external axis recalculation trigger logic.

Improved surface picking for AutoSearch.

Improved German translations.

Improved TCP Calibration performance.

Improved Path to Process Path converter to work in more cases.

Improved XML import with new options and manual multipass support.

Optimized how images are saved in Components and zip files for Guided Workflow.

Removed Simplify Geometry command.

ABB: Added uploader and downloader support for OmniCore controller.

COMAU: Added WEAVE weld parameter post-processing in motion statements.

OMRON: Added uploader support.

Fronius: Added localized strings for all languages.

Fixes

Zigzag Pattern: Fixed unhandled exception when trimming.

Zigzag Pattern: Fixed exception when closing panel.

Zigzag Pattern: Fixed height offset adjustment over gaps.

Guided Workflow: Fixed Workflow URI not updating when opening a layout.

Guided Workflow: Fixed Add Link being available on Workflow items without Configurator.

Guided Workflow: Fixed images not being deleted from folder.

Guided Workflow: Fixed image popup not working as expected.

Guided Workflow: Fixed Configurator not opening correctly.

Assembly operations: Fixed previously released assembly piece reappearing during smart grab.

Cadenas: Removed unused files from project.

Fixed OLP exception when exporting Program from Templates.

Fixed Start/End offset not working correctly with Max point distance.

Fixed Wire Offsets and Distance Offsets not working together correctly.

Fixed inability to move Path between robots without 'Start/End' point types.

Fixed duplicate points due to sharp corner mode.

Fixed assembly operations grab move with non-zero wire roll.

Fixed assembly operations call routine selection.

Fixed application crash when gantry link min > max.

Fixed AutoSearch not generating paths under group statements.

Fixed missing ImportCSV property.

Fixed mirror cloning paths.

Fixed error message when selecting Via path statement.

Fixed error when post-processing robot program with path statements inside IF-ELSE or SWITCH.

Fixed editing for WireSense searches.

Fixed Weld statement corner rebuild.

Fixed gantry calculation for TR setup.

Fixed Search nozzle offset calculation for Middle and Shoulder modes.

ABB: Added upload support for wobjdata, tooldata and speeddata.

COMAU: Fixed $ARM_SPD_OVR with integer in move command.

COMAU: Fixed angle E (Ry) in point data to be positive.

Denso: Fixed upload when no Python kinematics and no config properties.

Denso: Fixed upload for configurations and speed values.

Kawasaki: Fixed Python kinematics for upload.

Yamaha: Fixed upload and point variable support.

Yaskawa: Added upload/download support for SVSPOTMOVE.

Yaskawa: Fixed post-processor crash with invalid process.

Yaskawa: Fixed base-track position offset calculation.

Yaskawa: Fixed pulsesetter for robots with less than 6 axes.

Fanuc: Fixed downloading tool_offset from point level WPS.

Fanuc: Fixed base and wall normal calculation in base coordinates.