Envision 3.2
Apr 30, 2025 - SHA: 5a46dff9
CEETRON Envision for Web
CEETRON Envision for Desktop
Note
Starting with this release, CEETRON Envision no longer supports macOS on Intel-based systems. Support for macOS on ARM64 (Apple Silicon) continues to be available.
New Features
CAE-1410 New component: Visualization Streamer
The Visualization Streamer is a cutting-edge addition to the CEETRON Envision Web toolkit. It enables seamless streaming of ready-to-render display models from server-side services, such as legacy desktop applications, directly to web applications. Additionally, it supports advanced workflows, including microservices that perform machine learning tasks on CAD or CAE models and deliver modified display models to web applications.
It consists of several parts:
- VizStreamer Service - A server application with a gRPC interface capable of receiving CAE display data and streaming it to the Stream Model client model.
- VizStreamer Proxy - A C++ proxy (header files + static lib) to make it easy to send data from a C++ application to the VizStreamer Service.
- Stream Model - A CEETRON Envision Web client-side model capable of rendering the 3D models sent from the VizStreamer Service.
Read more about the Visualization Streamer in the documentation: https://docs.techsoft3d.com/ceetron/latest/envision-web/viz-streamer/index.html

CAE-1237 Enable filling of cutting planes on surfacic objects
This feature introduces the ability to triangulate and fill cross-sectional geometry for surfacic objects.
It employs a callback-based design pattern, enabling users to define custom triangulation algorithms without altering the core codebase.
To implement this feature, users can derive a class from the ug::CuttingPlaneTriangulationCallback
base class and
override the generateTriangles()
method. The custom callback is then passed to the underlying toolkit, where it is
adapted for use.
The central component of this feature is the generateTriangles()
virtual method in the
CuttingPlaneTriangulationCallback
class.
Input: CuttingPlaneContourData
contourVertices
: A list of 3D points defining the contour boundary.contourEdges
: Edge connectivity, represented as indices intocontourVertices
.planeNormal
: The normal vector of the cutting plane.
Output: CuttingPlaneTriangulationData
triangleIndices
: Indices defining the generated triangles (groups of 3).triangleVertices
: The vertices used in the triangulation process.

Below is an example of a basic implementation that generates a single triangle:
class SimpleTriangulationCallback : public cee::ug::CuttingPlaneTriangulationCallback
{
public:
bool generateTriangles(const cee::ug::CuttingPlaneContourData& contourData, cee::ug::CuttingPlaneTriangulationData* result) override
{
if (contourData.contourVertices.size() < 3)
{
return false;
}
// pick a node from the start, 1/3, and 2/3 of the contour
result->triangleIndices.push_back(0);
result->triangleIndices.push_back(1);
result->triangleIndices.push_back(2);
result->triangleVertices.push_back(contourData.contourVertices[0]);
result->triangleVertices.push_back(contourData.contourVertices[contourData.contourVertices.size() / 3]);
result->triangleVertices.push_back(contourData.contourVertices[2 * contourData.contourVertices.size() / 3]);
return true;
}
};
CAE-1333 Add Acknowledgement pages to Envision
This feature introduces a new Acknowledgements page in the Envision documentation. This page provides a comprehensive overview of the open-source software and third-party components used in CEETRON Envision, along with their respective licenses.
CAE-1494 Updated to newer RapidJSON
This update integrates a newer version of RapidJSON (25.03.2025), ensuring compatibility with modern C++ standards and improving performance and stability. The upgrade includes fixes for known issues and enhancements to JSON parsing and serialization.
CAE-1497 Resolved GCC 13 compiler support
This update resolves all known compiler errors on GCC 13, ensuring full compatibility and stable performance.