Difference between revisions of "3D Modeling"

From Sudo Room
Jump to navigation Jump to search
(fewer huge categories == friendlier)
 
(3 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, 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.
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 ==


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


STL files are wireframe/polygonal representations of a 3D model. There's a number of ways to create them:
=== Write OpenSCAD (recommended) ===
* [http://www.openscad.org/ OpenSCAD] lets you create models by writing code to generate them deterministically. This is the recommended way, but more Sudoers need to learn it!
 
* [http://openjscad.org/ OpenJSCAD] lets you code 3D models interactively in a browser!
[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]!
 
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:
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
* Slic3r
* KISSlicer
* KISSlicer

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.