Skip to content

Virtual Modeling Library

Precise solid modeling of detailed geometries in real-time simulations

The Virtual Modeling Library (VML) is a software library, which implements new algorithms for the exact geometric modeling of solids. It supports Constructive Solid Geometry (CSG) like operations and solid sweeping. The VML offers a good scalability of run-time and memory requirements with regard to the number of modeling operations. This makes the library best suited for industrial applications with combined needs in geometric precision and speed of operations. One application field is the real-time simulation of material removal in machining processes with a high number of processing steps. Besides modeling the VML supports algorithms for interactive visualization, collision detection between any geometry and the current geometry, and surface verification of the current geometry against a reference CAD model. In order to guarantee the high run-time efficiency, the VML exploits the parallelization potential of modern hardware architectures, like Multi-Core Central Processing Units (CPUs) and Graphic Processing Units (GPUs). Beside the already mentioned features, the VML offers surface export and the ease of integration.

The development of key parts of the methods implemented in the VML, was funded by the European Regional Development Fund and by the Upper Austria State Government under the Regional Competitiveness Program 2007-2013 Upper Austria.


Solid modeling

The VML supports Constructive Solid Geometry (CSG) like operations. Thereby the involved geometric objects must be in closed boundary representation. By using a hierarchical space decomposition combined with an intelligent elimination strategy, the modeling has a high memory and run-time efficiency.

Solid sweeping

Based on the geometric object and the path, the VML computes the according swept volume. By the use of a generic point-cloud based approach, the computation has a distinctive run-time efficiency. Furthermore it does not put any restrictions on the geometric object and path.

High number of modeling operations

The VML has no limit considering the number of modeling operations. Because of the intelligent elimination strategy during modeling, even performing 100,000 modeling operations has only a minor impact on the memory and run-time efficiency of the VML.

Collision detection

The VML detects collisions between the current geometric model and any geometric object. The collision detection algorithm is also capable of taking a specified minimum separation distance into account. By using a hierarchical space decomposition, collisions are detected within milliseconds.

Surface export

The VML exports the surface of the current geometric model in form of a triangle mesh at any resolution. Thereby geometric features (edges and corners) are preserved.

Interactive photo-realistic visualization

In order to visualize the current geometric model at interactive frame rates, the VML provides a representation in form of a triangle mesh. With established technologies, like OpenGL or DirectX, photo realistic visualizations are possible.

High precision

One of the main features of the VML is its high modeling precision. During modeling the resulting geometric model is not approximated. This is achieved by spatial partitioning of the geometric objects and keeping only those parts, which contribute to the final surface.

Dual geometric representation

The VML supports two different geometric representations for surfaces. Triangle meshes offer a high computation performance at medium geometric precision. In contrast analytic surfaces allow a high geometric precision at a minimal performance drawback.

Surface vertification

The VML compares the surfaces of the current   geometric model and the reference CAD model. Thereby for any point of view for all pixels on the screen the difference values are calculated at interactive frame rates. The difference value is the normal distance of a point on the current surface to the reference surface.

Ease of integration

The VML has a very straightforward programming interface. For example, a CAM system can use the VML for machining simulation. Thereby it utilizes the solid sweeping and modeling module for material removal simulation and the collision detection and surface verification module for CNC verification.

Contact Person

    Dipl.-Ing. (FH) Alexander Leutgeb

    Head of Unit Industrial Software Applications