Difference between revisions of "3D Modeling"

From Sudo Room
Jump to navigation Jump to search
m (fix link syntax)
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
This page is about creating models for 3D-printing. It's mostly geared towards Sudoers using our [[Type_A_Machine|Type-A Machine]] 3D printer.
This page is about creating models for 3D-printing. At Sudoroom we have a [[Type_A_Machine|Type-A Machine]] 3D printer, and a [[TAZ_4|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.
[[File:Taz4-3d-printer.jpg|thumb|left|link=TAZ_4]]
[[File:Type-A-Machines-series-1-3d-printer.png|thumb|link=Type_A_Machine]]
== STL Models ==


= OpenSCAD =
STL files are wireframe/polygonal representations of a 3D model. There's a number of ways to get them:


The awesomest way to create models is to write code in the OpenSCAD language, which is deterministic and flexible and very friendly to version control, but more Sudoers need to learn it.
=== Write OpenSCAD (recommended) ===


= STL Files =
[http://www.openscad.org/ 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 [https://en.wikibooks.org/wiki/OpenSCAD_User_Manual manual] is pretty straightforward
* there's even a [http://openjscad.org/ browser javascript version]!


Typically we've been creating STL files, which are wireframe/polygonal representations of a model. You can create STL files on any machine. Some popular programs are:
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 ===
 
* [http://blender.org 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.
* [http://tinkercad.com Tinkercad] (in Google Chrome)
* [http://tinkercad.com Tinkercad] (in Google Chrome)
* Google sketchup (which can now [http://sketchuptips.blogspot.com/2010/03/sketchup-stl-importer-redo.html import STL files]
* [http://blender.org Blender]


You can also find premade STL files:
=== Download them ===
 
You can find premade STL files:
* On [http://thingiverse.com/ Thingiverse]
* On [http://thingiverse.com/ Thingiverse]
* On the [smb://space/sudoroom%20public%20data/Projects/3DPrinting local file server]
* On the [smb://space/sudoroom%20public%20data/Projects/3DPrinting local file server]
* On sudoroom's [https://github.com/sudoroom github] ([https://github.com/sudoroom/sudo-magnets magnets], [https://github.com/sudoroom/sudo-blocks blocks], etc)
* On sudoroom's [https://github.com/sudoroom github] ([https://github.com/sudoroom/magnets magnets], [https://github.com/sudoroom/sudo-blocks blocks], etc)
* [https://grabcad.com/ GrabCAD] is requires a login but has interesting stuff
 
== Slicing ==


= 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 [[Wasp.local|Sudoroom 3d printing desktop computer]]
* Slic3r
* KISSlicer
* Skeinforge


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. Slicing for the Type-A Machine should be documented at [[Type_A_Machine|its page]].
Slicing for a particular machine such as our [[Type_A_Machine|Type-A]] should be documented at its own page.


[[Category:3DPrinting]]
[[Category:3DPrinting]]

Latest revision as of 23:22, 11 June 2022

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.

Taz4-3d-printer.jpg
Type-A-Machines-series-1-3d-printer.png

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:

Slicing for a particular machine such as our Type-A should be documented at its own page.