How MTK web visualization works: a look under the hood
It’s not just a viewer. It’s a toolchain for bringing rich B-Rep geometry, analysis results, and structure to your web app.

Web viewers aren’t the problem. Integration is.
If you’re building a quoting platform or internal workflow tool, you’ve probably tried a few options:
- Plain three.js with glTF support - but no real B-Rep.
- Same as above, using third-party converters to convert STEP to glTF - but still losing all associations in transit.
- Off-the shelf viewers - that have no knowledge of DFM or feature recognition.
- Combining these pieces together - painful, limited, and hard to maintain.
What you really need is a viewer component - not a ready-made product - that integrates directly into your system, speaks the same language as your backend (e.g. MTK API), and preserves the richness of CAD data.
That’s why we built the MTK Web Visualization Component.
Designed for integration
Unlike standalone “3D viewers”, MTK’s web component is built for SDK users who need full control over:
- Geometry and structure display
- Properties and metadata
- Selection and callbacks
- Linking backend results (like DFM or feature recognition) to 3D
It’s open-source (BSD license), based on three.js, and can be used:
- as a drop-in component
- or deeply integrated with your custom UI
MTK itself ships with a ready-to-use pipeline (see MTKConverter example) that generates the necessary files for visualization - but you can also use your own serialization logic.
Data flow: backend → frontend
A typical MTK web integration uses two files:
1. .mtkweb - compressed product structure and geometry
A compact, binary file that includes:
- Triangulations
- Persistent IDs for B-Rep entities (faces, edges)
- Full topological structure
- Analytical geometry (e.g. axis of a cylinder, torus, etc.)
- Metadata: names, colors, graphic materials (In progress), etc.
- Assembly structure, or scene graph.
It’s much richer than glTF, yet comparable in size due to smart compression.
2. .json - optional analysis results
This is not required by MTK, but provided as a common pattern. For example, it may include:
Your frontend can then pass these shape_ids to the viewer API for selective highlighting or annotation.
Note: Scene structure (assembly tree, product hierarchy) is part of .mtkweb, not JSON.
Persistent IDs: your invisible bridge
One of the hardest parts of web visualization is associating analysis results with geometry.
MTK solves this via persistent 64-bit IDs for all B-Rep elements. They’re:
- Stable across conversions
- Preserved inside .mtkweb
- Directly usable in the JS API
This means: once your backend identifies an issue on Face #9123456781234567, your frontend can instantly highlight that exact face.
Power under the hood
While the top layer is open and customizable, MTK’s web visualization engine includes a closed-source, highly optimized core:
- Data model interrogation (consistent with native MTK API)
- .mtkweb parsing and decoding
- Measurement utilities
Together, these enable fast loading, smooth interaction, and accurate selection even for complex B-Rep models.
Built for the future
MTK Web is actively developed. Upcoming features include:
- PMI (Product Manufacturing Information)
- Annotations to enable collaborative reviews
- 2D drawings
- Improved visual effects and selection modes
Not a black box. Not a toy.
If you’re building something serious - quoting platform, MES, internal DFM checker, or engineering portal - MTK gives you the building blocks. Not constraints.
You control what your users see and how. You control how you map backend results to geometry. You control the experience.
Try it now
Want to see it in action?
- Explore online demos
- Contact us or reach out to me directly