Skip to main content

Choosing a 3D CAD Viewer

We’ve been putting 3D models on the web since 1994, but doing it well is tricky. The more I learn, the more complicated it seems. mitxela built their own viewer and wrote a good writeup. Among other things, it reveals a glimpse of the complexity of camera control. I want to write articles showcasing CAD models in an interactive web viewer. I looked toward existing options for inspiration.

Sketchfab

The first 3D viewer I found was Sketchfab. Sketchfab says it’s the “best 3D viewer on the web”. I don’t know about that, but I do like the annotations.

A 3D model of a bust of Nefertiti, marked with a number and a floating box with text above an image with sunglasses. The text reads "We can also add images and GIFs using Markdown. The one below is being pulled in from giphy.com."

A model annotation from the Sketchfab Annotation Demo

If I were to use Sketchfab, Sketchfab would host my 3D models. I’d add an iframe with a particular Sketchfab URL to a page, and web browsers would create a page-within-a-page to show the viewer. Sketchfab has a JavaScript API that lets developers interact with the viewer in the iframe to develop some custom features.

Sketchfab’s viewer is hosted by Sketchfab, and my site would just refer to it. If Sketchfab changed their viewer, the viewers on my pages would change, whether I wanted it or not. If Sketchfab had an outage, my pages would be broken. If Sketchfab went out of business, I’d have to scramble to replace them. If the Sketchfab viewer were open source or if I could host it, I’d be less concerned. I've found that relying on this type of service tends to create emergencies for me. The more services like this I use, the more frequently my work is driven by upstream changes. Having something I host, something I update, helps reduce those emergencies. Being able to use a previous version is really helpful! Furthermore, my ability to modify the viewer is limited.

For the features I’d like, Sketchfab seems expensive. I think Sketchfab would cost me at least $129 per month.

I don’t think Sketchfab is a good fit for a 3D viewer for ATOMWOLF, but it may be a good fit for others. If I were advising a business that sold 3D models needed to get a 3D viewer out ASAP, I’d check out Sketchfab.

Autodesk Viewer

Autodesk has a web viewer. I can save my Fusion 360 projects to their storage and look at them in the browser. The viewer displays the model to look just like it does in Fusion 360. You can rotate and zoom, measure parts of the model, run saved animations, and show and hide parts of the model. I can make the project public and embed the viewer into a page.

The Autodesk viewer wouldn’t cost me anything extra, but my other concerns about Sketchfab apply here.

Goals

After Sketchfab and the Autodesk viewer, I had a better sense of what I wanted.

After surveying more viewer options, I grouped them into categories.

Framework viewers

Framework viewers are more like libraries or examples than applications. They handle many complexities but would require development work to integrate into a site.

Viewer “applications”

These viewers are meant to be used as-is. They vary widely, and I gave some only a glance.

Conclusion

I’m going to start with model-viewer, but not without reservation.

model-viewer is maintained by folks from Google. While I’m cautious of Google’s history of discontinuing projects, the open-source nature of model-viewer gives me reassurance. When Google decides it’s done with model-viewer, the community might maintain it, but I could continue to use the last version while migrating to another option, like View3D or ThreePipe.

My next step is to discover the rest of my finicky requirements as I integrate model-viewer into ATOMWOLF.

If this was helpful or enjoyable, please share it! To get new posts, subscribe to the newsletter or the RSS/Atom feed. If you have comments, questions, or feedback, please email me.

Part of Showcasing 3D CAD models