Technical Overview
HOOPS Visualize Web is a software development kit (SDK) for building high-performance 3D engineering applications that run directly in a web browser. It provides the tools needed to load, visualize, and interact with complex CAD and engineering data while maintaining the responsiveness expected from modern web applications.
At the center of the platform is the HOOPS Web Viewer, a JavaScript-based component that renders and interacts with 3D models using WebGL. The viewer is designed specifically for engineering data and supports rich model information such as product structure, PMI, CAD geometry, 2D drawings, point clouds, and physical properties. These capabilities allow developers to build applications for tasks such as design review, product configuration, visualization, and analysis.
HOOPS Visualize Web combines client-side visualization with server-side services that manage model preparation, streaming, and rendering. Models are typically converted into the Stream Cache format, a streaming-optimized representation of engineering data that enables fast loading and efficient interaction with large datasets. This architecture allows applications to scale from simple file-based viewing to advanced deployments with real-time streaming and server-side rendering.
Together, these components form a flexible architecture that enables developers to quickly build powerful browser-based engineering tools while maintaining full access to the underlying model data and visualization pipeline.
With HOOPS Visualize Web, you get:
- Full access to engineering data
- Ease of use
- Rapid development
- High performance visualization
- Fast model streaming
- Flexible usage and deployment
It also enables complex interrogation of CAD data, including precise measurement, and offers an extensive set of 2D and 3D markup functionality. The HOOPS Web Viewer also includes a rich set of prebuilt operators and UI components that can be easily extended and customized to fit your needs.
Additionally, HOOPS Visualize Web includes a few server-side components to augment the functionality: HOOPS Server for prototyping, Stream Cache Server for streaming models to your HOOPS Visualize Web application, as well as HOOPS Converter for file transation. HOOPS Converter in introducted in the next subsection, or see this page for a full explanation.
Data Import (server side)
We provide two options to get your data into HOOPS Visualize Web:
HOOPS Converter
This stand-alone multiplatform executable is meant to be deployed on a server and provides access to more than 30 CAD Formats (HOOPS Exchange license required - see here), converting them to Stream Cache and other formats like images and 3D PDFs. It also provides Product Structure Information through XML which makes it easy to associate your own business logic to the entities in a converted model. The HOOPS Converter functionality is also available as a library.
Direct Authoring
HOOPS Visualize Web includes a multi-platform C++ and Java library for creating Stream Cache models from scratch. The library includes helper functions that simplify the creation of complex CAD models based on your own data.
Data loading (client side)
HOOPS Visualize Web utilizes its own proprietary file format called Stream Cache (SC). The SC format is optimized for streaming and model aggregation, and handles the full breath of engineering data beyond just triangles and graphics primitives. Your web application can access SC data in two different ways:
Streaming
To achieve optimal performance and responsiveness, HOOPS Visualize Web provides a server-side component called the HOOPS Stream Cache Server that facilitates fast, granular and intelligent streaming via a direct WebSocket connection to the HOOPS Web Viewer component running in the browser. This component also supports Server-Side Rendering where all rendering is performed on the server, and only images are sent to the client. We recommend using the HOOPS Stream Cache Server for the best loading performance, but it is not required to utilize HOOPS Visualize Web.