Envision 3.2

Apr 30, 2025 - SHA: 5a46dff9

web CEETRON Envision for Web desktop 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 web

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

../_images/cae1410.png

CAE-1237 Enable filling of cutting planes on surfacic objects desktop

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 into contourVertices.
  • 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.
../_images/cae1237.png

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 web desktop

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 web desktop

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 web desktop

This update resolves all known compiler errors on GCC 13, ensuring full compatibility and stable performance.