Skip to main content

Showcasing 3D CAD models

tl;dr: I'm tweaking a web-based 3D viewer to show CAD models and annotated details.

Status: Active, in progress

I want to showcase 3D CAD models on the web. I want to call out particular details with annotations. I want folks to be able to zoom in or look at the model from any angle. I want to be able to turn components on and off. I want to be able to show a banana for scale.

Like the rest of my site, I want this to be accessible. It should be quick to load. It should be progressively enhanced, and work well across browsers, devices, and network conditions. I want it to be slick via a touchscreen, a mouse and keyboard, or even Augmented Reality (AR) or Virtual Reality (VR). I want it to be slick when it’s printed out!

I looked at options, created a list of goals, and exported models and looked at them with model-viewer. I was surprised, but I needed outlines to move forward. I didn’t know what I was doing when I started, but I created a post-processing effect that uses a custom shader to add outlines to model-viewer.

A rectangular case, with a pink top and a yellow bottom, two buttons, and a cutout that reveals internal standoffs. Most edges are outlined in a thin black line.

model-viewer using a custom shader that highlights outlines

A rectangular case, with a pink top and a yellow bottom, two buttons, and a cutout that reveals internal standoffs. The lighting is even, and it's difficult to discern the geometry.

the same model using model-viewer with default settings

The generated outlines aren’t perfect, but they look pretty good! Even though the model without outlines seems washed out and bogus, model-viewer is impressive. model-viewer uses physically based rendering and rewards folks who take care with materials, textures, and lighting. Here, I've done none of that.

Once the outline effect is cleaned up, I’ll try to showcase a model with annotations. It might be good enough to use it in public while developing the remaining features!

Project Updates

Subscribe to updates

Use an RSS reader with the main ATOMWOLF feed to catch each site update.

If you only want updates for this project, subscribe to the project-specific feed.

More on feeds.

  1. Choosing a 3D CAD Viewer
    I investigate 3D model viewers for the web, including model-viewer, Sketchfab, View3D, and ThreePipe, to showcase CAD models on ATOMWOLF.
  2. Goals for a 3D Model Viewer
    I list goals for a viewer meant for showcasing 3D CAD models on the web.
  3. Experimenting with CAD models in model-viewer
    I use Blender to export models from Fusion 360 to model-viewer, and I investigate unexpected visual problems.
  4. Rendering Outlines with a Post-processing Shader
    I learn about shaders to make a post-processing effect for model-viewer that adds outlines to highlight detail in 3D CAD models.