It looks like you're using an ad blocker! I really need the income to keep this site running.
If you enjoy BlenderNation and you think it’s a valuable resource to the Blender community, please take a moment to read how you can support BlenderNation.

Shapeways switches to Blender for on-line rendering

16

3D printing community Shapeways allows their members to upload 3D models, preview them on the website and have them 3D printed in a variety of materials. Until recently, the previews were rendered in OpenGL and were rather bland looking. I was involved in the implementation of Blender on their webservers, in order to generate better quality previews. Here's a look behind the scenes of this project.

Before I begin: this was an awesome project. I had a chance to work together with some great Blender designers and developers. The Shapeways team loved the concept but wasn't easy to satisfy - a great combination for arriving at a fantastic final product.

Thanks guys!

What did we want to achieve?

The original thumbnail previews were rather bland and suffered from OpenGL rendering artifacts. Check out the model below:

Most of all, we wanted to show what the design would actually look like when 3D printed. We picked one material ("White Strong and Flexible") and set off to render this as photo-realistically as we could. This proved to be a challenge as White Strong and Flexible is, well, mostly pure white. Things weren't made much easier when Product Manager Peter Paul Cornelissen gave us the briefing for the scene design: a white, reflecting background, slightly overexposed, with soft shadows below the object. White on white - oh yeah :)

Blender Designer Dolf Veenvliet (Macouno) set off to design the scene and material for us, and after a couple of iterations, working together for an afternoon at the Shapeways offices, and then some more changes, we arrived at our first version. After consulting with the Shapeways Community we learned that they didn't like our automatic smoothing. If an object is meant to be angular, it should be rendered as such. Fair enough. Here's how we render the models now:

Of course, we had to keep the render time of the scene acceptable as we could soon be rendering thousands of images each day. Seconds matter! The scene now renders in different layers and uses the node compositor to tie them all together. Not many command-line tools can do such tricks ;-)

Have another look at some images 'before and after':

(click to enlarge)

Pretty sweet, right?

Render script

The 'Blender Server' is a combination of three components:

  • A .blend file containing the scene, lighting and material. We're still using good ol' Blender 2.49 for this project as it's stable and many of the features that we needed aren't available in 2.50 yet.
  • A Python script that loads STL or VRML files, and scales the model so it fits in the viewport. The Python script can switch between different scenes, can toggle between different materials or UV texture maps, and can re-orient the models if necessary.
  • XJ3D to convert X3D files to VRML. Blender's X3D importer isn't good enough yet.

Each of these components are easy to maintain. Adding more scenes or materials is a definite possibility.

Power of Open Source

Could we have done this with another tool? I highly doubt it. Using an Open Source tool and having access to Blender developers helped us solve two issues:

  • Even though Blender already runs on a large number of operating systems, we found that it didn't work on the Shapeways webservers. Blender Developer Nathan Letwory (JesterKing) made a custom build for us.
  • We also found that the VRML/X3D import filter that's distributed along with Blender had some issues that made it hard to implement in our specific scenario. Fortunately it's written in Python which made it easy to modify.

All in all: Open Source (and Blender ;-) FTW!

Try it out for yourself!

To test-drive the new renderer, check out the Shapeways introduction page for Blender users. Keep in mind that models need to be printable (that is: closed volumes, and not too thin/small) before they're added to the gallery.

Future plans

Asides from offering more materials and scenes to choose from, we have a few more tricks up our sleeve - more about that another time :) Of course, if you have an über-cool idea of what we can do with this, we're all ears!

Do you need help with your project?

I'm available as a freelance Blender Consultant or Project Manager, and I have access to a large network of Blender artists and developers. You can contact me via email or Skype.

Links

Disclaimer: while I do work for Shapeways as a freelancer, I wasn't paid to publish this article.

About Author

Bart Veldhuizen

I have a LONG history with Blender - I wrote some of the earliest Blender tutorials, worked for Not a Number and helped run the crowdfunding campaign that open sourced Blender (the first one on the internet!). I founded BlenderNation in 2006 and have been editing it every single day since then ;-)