en:software:mdurosettacncsoftware:virtual_machines

9. Virtual Machines

An important added value to Control Software is the Virtual Machine.

A Virtual Machine is a graphical representation of a real CNC machine managed by Control Software which permits to:

  • Simplify the operations of Toolpath analysis with Simulator.
  • Help to avoid Toolpath collisions visually evaluating any axis movement post-CAM and pre-execution of G-Code in CNC machine.
  • Give to end-user a better awareness of what CNC is doing and what the CNC will do.

Follow an example of a 5-Axis Virtual Machine available after Control Software installation:

Through the Virtual Machine Editor, it is possible to edit and modify the Virtual Machine of the current machine.
To show the Virtual Machine Editor use the main menu View → Show Virtual Machine Editor:

A Virtual Machine is composed of the following elements:

Part
A Part represents a physical part of machine Kinematics:
  • Fixed
The fixed branch will collect all fixed Geometries, AKA elements, of CNC as basement, structure, doors, barriers, etc.
  • Axis X..Z
The Axis X to Axis Z will collect all Geometries related to an axis as the spindle, bridge, etc.
  • Master
The Master will collect all Geometries related to the Master axis and dependent by Kinematics chosen.
  • Slave
The Slave will collect all Geometries related to the Slave axis and dependent by Kinematics chosen.
Geometry
A Geometry represents a 3D graphical element of a Part in the form of an STL (“STereoLithography”) file.

To simplify the Virtual Machine creation we have used a fixed structure of parts that can represent any Kinematics.
The Virtual Machine automatically adapts its graphical representation depending on CNC Board Kinematics Model parameter, without the need to change the structure of its parts.
For example, in the case of a Trivial Kinematics, the parts Master and Slave should be left empty because are useless for it following this rules:

Kinematics Model Part Meaning
Trivial
Independent Rotational Axes
Fixed
Place here fixed geometries of the machine.
Axis X to Axis Z
Place here axis X to Z related geometries of the machine if the axis is enabled.
Master/Slave
Left empty this branch.
Rotary Table A/C
Fixed
Place here fixed geometries of the machine.
Axis X to Axis Z
Place here axis X to Z related geometries of the machine if the axis is enabled.
Master
Place here the geometries related to Axis A (master).
Slave
Place here the geometries related to Axis C (slave).
Rotary Table B/C
Fixed
Place here fixed geometries of the machine.
Axis X to Axis Z
Place here axis X to Z related geometries of the machine if the axis is enabled.
Master
Place here the geometries related to Axis B (master).
Slave
Place here the geometries related to Axis C (slave).
Tilting Spindle A/C
Fixed
Place here fixed geometries of the machine.
Axis X to Axis Z
Place here axis X to Z related geometries of the machine if the axis is enabled.
Master
Place here the geometries related to Axis A (master).
Slave
Place here the geometries related to Axis C (slave).

Part types have custom properties that permit them to tailor the Virtual Machine behavior and interaction with the machine kinematics.
Follow the description of properties for each Part type.

Offset X/Y/Z
Defines the main offsets X/Y/Z applied to all Geometries of the Fixed branch moving them in tridimensional space.
If the CAD project is available all Geometries positions can be changed before to export STL files.
When an STL is exported it maintains the origin offsets of owner component which can be also different by project origin.
In case that only STL files are available and they are wrong placed in space, these fields permit to fix it.
A typical case of wrong positions is that often STL 0/0/0 is the same as CAD component origin but not aligned to machine MCS zero.
In the following sample the CNC customer sent us only STL files with a wrong MCS zero far from cutting head and then fixed with Part Offsets:
IMPORTANT RULE
An important rule to follow, to do fastly and simply a Virtual Machine, is to have all STLs below a unique origin and place this origin as machine MCS zero.
To get this read carefully the chapter “Virtual Machine from CAD”.

Each CNC machine can have a virtual machine that represents it physically.
In the machine folder, where are also available customize, macros, media, etc folders there is the vm folder.
All files required by a Virtual machine are in the VM folder.

The vm folder of current machine, eg: Quaser-MF630 of installation package, is reachable at: %appdata%\RosettaCNC-1\machines\Quaser-MF630\vm:

A Virtual Machine is composed of a machine description file (VM.XML) plus an arbitrary number of mesh files (.STL) which define 3D parts of it.
The VM.XML file will contain the machine description and is in encrypted form.
The .STL files could be either in ASCII or BINARY format, but BINARY is the right choice for performances and compatibility.

  • Last modified: 2023/03/22 09:07
  • by 127.0.0.1