Siemens¶
Home / External Tools & Partners / Siemens
Siemens shows up across Anvil's stack at three layers: the Sinumerik ONE controller that runs our DVF 5000 machines, the MyVirtualMachine digital-twin tooling we use to simulate that controller, and the Parasolid geometric-modeling kernel we link against for solid-modeling operations. This page covers the two software products we depend on — Parasolid and MyVirtualMachine (incl. CMVM) — plus the controller context.
Overview¶
| Website | siemens.com |
| Type | Commercial software/hardware vendor (controller OEM, geometry kernel, CAM/PLM) |
| Relevance | Sinumerik ONE controller (our machines), Run/Create MyVirtualMachine (simulation), Parasolid (geometry kernel) |
| Status | In use (controller, Parasolid SDK vendored); evaluating (MyVirtualMachine) |
References¶
- Siemens Parasolid — Geometric modeling kernel
- Sinumerik ONE — Digital-native CNC
- Run MyVirtualMachine / Create MyVirtualMachine — Sinumerik ONE digital twin
- Internal:
anvil-co/parasolid— vendored Parasolid SDK (kernel, Bodyshop, IGES/STEP translators)
Parasolid¶
Parasolid is Siemens' 3D geometric-modeling kernel — the industry-standard solid modeler embedded in many commercial CAD applications. It represents solids, sheets, and wires as boundary-representation (B-rep) bodies and provides operations for building, editing, interrogating, and exchanging them (booleans, blends, sweeps, offsets, healing, faceting, IGES/STEP import/export).
We maintain a vendored copy of the Parasolid SDK in anvil-co/parasolid; other repos in the org link against it. It is third-party SDK content (prebuilt binaries), not source we build.
| Component | What it is | Public API | Version |
|---|---|---|---|
Kernel (base/) |
Geometry & topology modeling | PK_* C API (~1,200 functions) |
v38.1 (v381_rv1000) |
Bodyshop (bodyshop/) |
Import, heal, clean, optimize & inspect imperfect B-rep / mesh data | PSB_* C API |
38.1.125 |
Translators (translators/) |
IGES & STEP file translators | PsIgesApi / PsStepApi (C++) |
29.1.264 |
Working with the vendored SDK
- Binaries are stored with git-LFS — run
git lfs pullafter cloning or you'll only have pointer stubs. - Linux x86-64 only (kernel/bodyshop built with GCC 14, translators with GCC 11).
- A Python wheel (
38.1.151,cp37-abi3) is included. - The HTML docs are ~31k files — don't browse them blind.
Parasolid is only needed where we require true solid-modeling operations. For pure import, B-Rep access, and PMI extraction, HOOPS Exchange covers our needs without it.
MyVirtualMachine (Sinumerik ONE Digital Twin)¶
The only simulation approach that runs the actual Sinumerik ONE controller firmware rather than emulating it — so G-code is interpreted exactly as the physical machine would, including the real interpolator, look-ahead, and block processing. Because the DVF 5000 runs Sinumerik ONE, this is the relevant Siemens simulation product for us.
Create MyVirtualMachine (CMVM)¶
The engineering tool for building the digital twin — used to create a virtual Sinumerik ONE instance:
- Virtual PLC (S7-1500 based)
- Simulated drives with Safety Integrated
- Full controller configuration (machine data, PLC logic, HMI)
- Used by machine builders to commission machines virtually
CMVM is for creating the virtual machine model, not for day-to-day NC program verification.
Run MyVirtualMachine (RMVM)¶
The runtime digital twin for NC program validation — runs the actual Sinumerik Operate software on a PC:
- /Operate — base product with the full CNC operation panel for offline programming and program validation
- /3D — adds 3D visualization with material-removal simulation and collision detection
- /Open — API for third-party simulation integration (the hook for the AutoCAM pipeline)
- Executes NC programs through the real NC kernel — identical G-code interpretation to the physical controller, no emulation gap (>90% cycle-time accuracy)
Why this matters for AutoCAM
RMVM is the architecturally correct foundation for controller-level simulation: validate G-code against real Sinumerik ONE behavior first, then layer physics-based cutting optimization on top later. The /Open API is what lets us drive it from the pipeline. Geometric/physics simulators (e.g. ModuleWorks) complement it but don't replace controller fidelity.
MyVirtualMachine vs. VNCK
VNCK (Virtual NC Kernel) is the legacy virtual controller for the older Sinumerik 840D sl (discontinued Oct 2024). MyVirtualMachine is its successor for Sinumerik ONE and adds the integrated PLC (S7-1500F), simulated drives, and TIA Portal integration. New work targeting our machines uses MyVirtualMachine.