Shapesmith – An Open Source Web-based 3D Modeler


iPhone dock created in Shapesmith and printed on Thing-O-Matic
How can I model the thing I want to print?
As the population of 3D printer operators continues to grow, answering that question will become more important than ever. Combining parametric modeling and a clean UI, browser-based Shapesmith hopes to provide an open source answer.
The developer, MakerBot operator, and Thingizen Benjamin Nortier tells us all about it.
Q: Who are you and what is Shapesmith?
I’m a software developer with an Engineering background and I’m also a 3D printing enthusiast. Shapesmith is a browser-based 3D modeling tool that I’ve been working on, and am very excited about. It is aimed at users who want to create high-quality parametric models for 3D printing, but who don’t want to spend thousands of dollars on expensive 3D CAD software.
I wanted to design an Unmanned Aerial Vehicle (UAV) after being inspired by DIY Drones. I realised that it would be very attractive to 3D print aeroplane parts and I was using tools like Blender and Sketchup to design some airfoils or wings.
Because I had worked on a 3D CAD tool for electromagnetic simulation earlier in my career, I was very dissatisfied by the free design tools that were available. This dissatisfaction was reinforced when I bought a MakerBot Thing-O-Matic and started to design some models. So I decided to try and make something better.
Q: Why did you decide to open source it under the Apache license?
Two of my favourite open-source projects, Riak and CouchDB, are licensed under Apache. They have vibrant communities and also have profitable businesses around them. I hope that I can build something similar around Shapesmith in the future. Restrictive open-source licenses like the GPL put off commercial users, and the success of Shapesmith will depend on having a good balance between non-commercial and commercial use.
Q: Your technology choices are interesting. Why are you using Erlang and Riak?
And Javascript! I’m a polyglot and I’ve worked professionally in 11 languages, and there is no platform that can hold a candle to Erlang for writing robust, distributed, back-end applications. For example, because of the B-Rep modeling used behind the scenes, the geometry operations will have to be farmed out in future versions to machines with lots of processing power. This is to ensure a reasonable quality of service for many users in the future. This is very easily encapsulated by wrapping the C++ processes inside Erlang processes, and it’s very robust. The choice of Riak is an extension of that desire for robustness and the ability to scale out to many users. Riak is also written in Erlang.
Q: There seems to be a trend in WebGL-based 3D modeling tools: 3DTin, TinkerCad, CloudSCAD. How do you see Shapesmith within this landscape?
Yes, and it’s great for everyone involved. Each has different trade-offs, and I would say Shapesmith is positioned somewhere between CloudSCAD and TinkerCAD – I’m trying to balance the power of parametric modeling (CloudSCAD) and a usable, intuitive interface (TinkerCAD).
Q: The open source desktop modeler, Wings3D, is also written in Erlang. Do you have plans to either collaborate with its developers or to incorporate some of its code into Shapesmith?
Not right now, but there is certainly scope for that in the future. The focus at the moment is the B-Rep modeling and the user interface. Wings3D is a mesh modeler, and mesh modeling can become complementary to parametric B-Rep modeling. This could provide more artistic abilities such as sculpting to Shapesmith.
Q: What can we expect in future versions?
At the moment, the focus is on the storage mechanism for models, and doing it in a way that facilitates sharing between users. The design is based on the way git works, so it will enable users to incorporate and modify models from other users in their designs. This will also enable exporting to Thingiverse and other sites that have upload APIs.
Thereafter, I would like to add 1D and 2D operations, plus extrusions and chamfers. These kind of operations are very powerful, so I will finally be able to design a wing for my UAV!
Apart from that, the user interface will keep evolving to try and keep the balance between intuitive ease of use and powerful, parametric modeling.
Q: How can others contribute to its development?
Shapesmith is on Github where I welcome patches and issues. There are also two mailing lists, one for users and one for developers. I would really like to hear from people about bugs, and about what features they would like to see in Shapesmith.
If you have a WebGL capable browser, you can try Shapesmith now!
Thanks for your time Benjamin! We look forward to seeing Shapesmith’s continued progress!
This guest post is part of Project Shellter
| Tagged with | 3d modeler, open source, project shellter, shapesmith, webgl | 2 comments |






2 Comments so far
Benjamin Nortier
Thanks for the interview!
People can also contact me directly at [email protected], and the official website is http://shapesmith.net
If you’re reading this article, I would love to hear from you what you would like to see in a tool like this
Max
For now is for me more like demo-tool, than app, I waiting for new version of it