# GLB vs glTF for CAD: 3D Model Files, Assets and Units

Use a display derivative for the web while keeping engineering geometry and revision records separate.

A browser preview and an engineering handoff have different requirements. A website needs a model that loads and displays well. A downstream CAD process may need engineering geometry, assembly structure or other information that a visual derivative does not preserve.

Keep those artifacts separate. Generate the web model from a known source version and label it as a visualization, rather than presenting it as a replacement for the engineering source.

## What glTF is designed to do

Khronos describes glTF as a format for efficient delivery and loading of 3D scenes and models. It organizes scenes, nodes, meshes, materials and related resources for runtime use. [Khronos glTF overview](https://www.khronos.org/gltf/).

A `.gltf` asset normally uses a JSON description and may reference other resources. A `.glb` file packages the glTF structure in a binary container. Not every GLB is necessarily free of external dependencies, so inspect the actual resources before calling a file self-contained. [glTF 2.0 specification](https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html).

For a simple web handoff, a packaged artifact is convenient. For a development pipeline, separate resources can also be useful. The format choice should match the hosting and update workflow.

## CAD-to-web conversion includes tessellation

An engineering model may contain analytic surfaces and boundary-representation topology. A display asset typically needs triangle meshes. The conversion therefore includes approximation choices, not only a new filename.

Keep the tessellation settings linked to the source revision. Inspect small bores, thin regions and curved silhouettes at the intended viewing scale. A very dense visual derivative can be slow without improving the user's actual task.

Do not use the browser preview's triangle mesh as an undisclosed substitute for original-geometry measurement. If the UI displays engineering properties, obtain them from the appropriate calculation path and identify the source.

## Check units and orientation after export

The glTF specification defines conventions for its coordinate system and units. A CAD source can use a different orientation or unit convention, so the conversion needs an explicit transform rather than a guess based on how the model looks. [Coordinate and unit conventions](https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html).

Check one known size in the consuming application. A model that fits inside the preview window has only passed the camera-framing test. It has not passed the scale test.

For assemblies, inspect component placements and hierarchy. A visual scene tree can be useful for selection and isolation, but it is not automatically a complete engineering bill of materials.

## Publish only the data needed for the preview

A display derivative can expose part names, hierarchy, textures or other details. Decide what is appropriate for the audience. Removing the source download button does not make the displayed geometry impossible to retain.

For private sharing, use real authorization for the asset requests. A page marked `noindex` is not protected from someone who can access its address. [Search indexing and access distinction](https://developers.google.com/search/docs/crawling-indexing/block-indexing).

For public examples, use models you are permitted to publish and keep their source and license record with the project.

## Keep source and preview versions linked

A preview should identify the source version it represents. Rebuilding its materials or compression should create a new artifact record without pretending that the design geometry was revised.

If the source model changes, do not silently switch a fixed external review link to a new shape. Generate a new preview for the new source and preserve the version relationship in the share interface.

## A simple acceptance pass

Open the asset in the intended viewer. Check loading, scale, orientation, missing resources, component visibility and a few relevant features. Test the smallest device class you intend to support rather than assuming a desktop preview predicts mobile performance.

A good web derivative makes inspection convenient while leaving the engineering source traceable. The [CAD-to-GLB page](https://www.cadprops.com/tools/step-to-glb/index.md) provides the supported STEP-to-GLB conversion path. Sign in to convert, retain the original STEP and reopen the output to verify scale and scope.

## Check the package, not just the main extension

For a glTF handoff, inspect the local buffer and image references before sending it. A scene JSON file without its required `.bin` is not a complete package. Preserve relative paths when collecting resources; changing folder names can break a scene that worked on the sender's computer.

For GLB, verify whether the produced file actually embeds the resources needed by your receiver. The binary container is convenient, but its extension alone does not establish that no external resource remains. CADProps does not fetch remote resources, and its supported geometry path does not render texture images.

Use a small test package to distinguish these failures:

| Observation | Investigate |
|---|---|
| No model geometry | Missing buffer, unsupported data or unreadable mesh |
| Correct geometry but no texture | Resource packaging and viewer material support |
| Correct shape at wrong scale | Metre-to-millimetre interpretation and source units |
| Components at wrong locations | Scene transforms and source assembly placement |

Keep an unchanged source package while diagnosing the problem. Repacking resources and re-exporting geometry are different interventions, so change one at a time and reopen the final result in the intended viewer.

## Sources

- [Khronos — glTF asset delivery format](https://www.khronos.org/gltf/)
- [Khronos — glTF 2.0 specification](https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html)
- [Google Search Central — Blocking search indexing is not access control](https://developers.google.com/search/docs/crawling-indexing/block-indexing)

## Related reading

- [3MF vs STEP: Additive Manufacturing Package or Exact CAD Exchange?](https://www.cadprops.com/guides/3mf-vs-step/index.md)
- [GLB and glTF for CAD Handoff: A Viewing Mesh, Not the Source](https://www.cadprops.com/guides/glb-gltf-for-cad-handoff/index.md)
- [glTF Missing Textures? Fix .bin and Image File Paths](https://www.cadprops.com/guides/gltf-missing-textures/index.md)
- [OBJ File Has No Materials? Fix Missing MTL and Texture Paths](https://www.cadprops.com/guides/obj-mtl-file-missing/index.md)
- [U3D Files: What They Are and How to Open Them Online](https://www.cadprops.com/guides/open-u3d-file-online/index.md)
- [X3D and X3DV Files: What They Are and How to Open Them Online](https://www.cadprops.com/guides/open-x3d-file-online/index.md)
- [Share a Fixed CAD Revision: File and Version Checklist](https://www.cadprops.com/guides/share-fixed-cad-version/index.md)
- [Reduce STEP File Size: Keep Required CAD Geometry](https://www.cadprops.com/guides/smaller-step-files/index.md)
- [STEP vs STL: CAD Measurement, Geometry and Accuracy](https://www.cadprops.com/guides/step-vs-stl/index.md)

Original article: https://www.cadprops.com/guides/glb-vs-gltf-for-cad/

HTML page: https://www.cadprops.com/guides/glb-vs-gltf-for-cad/
