I helped out at a workshop on OpenSCAD at Bristol Hackspace the other night. It was great to meet a group of experienced users and eager learners of the language about which I am currently rather obsessive. Some were refugees from Sketchup, which although an easy introduction to 3D design, is time-consuming, not repeatable or communicable and can generate incomplete objects. Others were already experienced in 2-D drafting packages. A few wanted to make better use of their own 3-D printers.
Some thoughts on the workshop:
- The OpenSCAD environment is immediately rewarding and overcame the annoyances of balancing curly braces, where to add semicolons, why to add empty parentheses after the CSG operations and which parameters are scalars and which vectors. A written summary of the syntax would help some. A syntax-aware editor would also help.
- The number of reserved words in the language is quite small but the available reference material, mainly the Wikibook is not easy to refer to whilst using OpenSCAD. Some found the cheat sheet useful. For a future workshop it would be worth printing a reference card in a handy double-sided format. One wishes for the kind of integrated help and examples that Processing provides.
- The reference card could include the UI controls.
- It was good to see some of the objects which had been printed from scripts. It might be useful to set up an online repository of the scripts for these objects in advance so that they can be read and copied easily.
- Since the power of a programmable approach is the ablity to define parametarised objects, it is worth introducing this generalistion once a simple compound object with fixed dimensions has been created.
- Make sure axes are shown. I found it useful to introduce the modifier characters early on so that you can see how the shapes are combining. Animation is also a useful way to see how changing a parameter changes the object.
Personally, I learnt a lot from the evening:
- My sense of which designs will print well and which cause difficult has been improved by talking to the experts about how much overhang is acceptable (45 degrees seems fine, more is possible depending on the thickness of the thread) and also by seeing the RepRap print a very delicate cocktail glass with a slim stem and wide brim. I would have never though that was possible but it came out very well.
- My Braille label project might have been more sucessful if each dot had been printed in its entireity before moving on to another, rather than the object being printed a complete z-layer at a time. It seems that some printer software can be instructed to generate G-Code to print in this way.
- Matthew Venn's project for a Braille output device demonstrated a very different way of using OpenSCAD to define the parts and atheir assemblage for complex machine, from which the parts can be projected to 2D for laser cutting.
My thanks to Matt Venn, Jon Dowling and Ian Stratford for an enjoyable and useful evening.