3D Modeling
3D Models
We love open-source and use open-source 3D modelling software (mostly Blender) to create everything from spare parts to be 3D printed to virtual reality utopias featuring walkable streets in Oakland to cool museum exhibits on science targeting adults.
3D Models for 3D-Printing
This page is about creating models for 3D-printing. At Sudoroom we have a Type-A Machine 3D printer, and a TAZ 4 3D printer, but models can be made by anyone anywhere, just like word documents don't have to be made on a machine attached to a 2D printer.
STL Models
STL files are wireframe/polygonal representations of a 3D model. There's a number of ways to get them:
Write OpenSCAD (recommended)
OpenSCAD is a programming language for describing 3D shapes. You write code on the left, and it renders your model on the right. Then you can export an STL file. It has many benefits:
- free, open source, cross-platform
- keyboard-centric, less mouse dragging
- your models are deterministic
- you can easily track your changes with git
- the manual is pretty straightforward
- there's even a browser javascript version!
But the software still has a long way to go. Some annoying things about OpenSCAD:
- single-threaded rendering, so complex models take a long time
- no persistent cache, so if you close it, you must render all over again
- GUI blocks on rendering, so if your render takes too long you must kill it (save often)
- volatile syntax - for example, child() is deprecated in git master, but the alternative children() is not even supported by latest stable (2013.06)
Use other modeling software
- Blender is open-source and popular, and Sudoroom members have been offering workshops on how to use it!
- Google Sketchup is exceptionally easy to use because they profit when you map buildings for them.
- Tinkercad (in Google Chrome)
Download them
You can find premade STL files:
- On Thingiverse
- On the [smb://space/sudoroom%20public%20data/Projects/3DPrinting local file server]
- On sudoroom's github (magnets, blocks, etc)
- GrabCAD is requires a login but has interesting stuff
Slicing
3D Printers don't understand OpenSCAD or STL. They understand an extension of gcode, which is a decades-old language which sends direct instructions such as "heat to 100 degrees, move here, do this, move there, do that, cool down". In order to print a model you have to turn it into a series of 2D layers or "slices", using a program called a "slicer". Slicers output gcode. They need to be configured for a particular printer, with settings such as melting tempurature, bed size, fill style, overhang compensation, etc. Examples of slicing software:
- Ultimaker Cura (installed on the Sudoroom 3d printing desktop computer
- Slic3r
- KISSlicer
- Skeinforge
Slicing for a particular machine such as our Type-A should be documented at its own page.