Difference between revisions of "ElectiveMMM2017"

From DigitalCraft_Wiki
Jump to navigation Jump to search
Line 1: Line 1:
 +
= Course Intro =
 +
 +
From Mimicking Machines to Modifying Machines
 +
 +
Many of today’s Digital-Fabrication tools share a common underlying framework.
 +
Pen plotters, CNC routers and mills, and 3D printers all use similar techniques for controlling precise movement in an automated way. Understanding the basics of the components, electronics, and software that control these machines can give the possibility to modify and design machines toward new processes and outputs. Mimicking Machines will explore the interplay between the output a machine can produce, and the process of making the machine itself.
 +
 +
During the initial working sessions, we will as a group build two CNC Drawing machines, and go through the process of translating a vector drawing into a “tool-path” that the machine can follow.
 +
 +
After building the machines, we will work in small groups to create add-ons, modifications, and new machine-made results. The machines we will be building are low cost and easily repaired, they can quickly become a platform for experimentation: What can we do with a machine that can be placed on any surface, and draw with any tool?
 +
 +
Jumping into the technical production of a simple CNC machine will give the skills and knowledge to reposition what is typically considered a “digital-fabrication machine” into a flexible tool to be experimented with, modified, and repurposed. Ultimately, this interplay between understanding the machine’s capabilities and creating it’s ‘tooling’  will lead to unique and varied machine-made artifacts.
 +
 +
=Methods and Meetings=
 +
 +
The course will be divided into two phases:
 +
*Phase 1: Building the machine.
 +
*Phase 2: Using the machine.
 +
 +
During the first phase, we will work together to produce two copies of the 4xi-draw pen plotter (an open source variant of the commercial AxiDraw). This phase will give a basic technical understanding of CNC manufacturing, and the opportunity to work together in a hands-on workshop format with digital fabrication tools and electronics.
 +
 +
In the second phase, the machines will be used, modified, and experimented with to create new processes and results. Supported by your knowledge from phase one, you will work in small teams to define and realize a modification and result produced from the machine. This could range from designing a typeface for a specific pen or marker, to developing a new tool for digital-drawing (See Examples and References below).
 +
 
= Schedule =
 
= Schedule =
  

Revision as of 06:38, 11 May 2017

Course Intro

From Mimicking Machines to Modifying Machines

Many of today’s Digital-Fabrication tools share a common underlying framework. Pen plotters, CNC routers and mills, and 3D printers all use similar techniques for controlling precise movement in an automated way. Understanding the basics of the components, electronics, and software that control these machines can give the possibility to modify and design machines toward new processes and outputs. Mimicking Machines will explore the interplay between the output a machine can produce, and the process of making the machine itself.

During the initial working sessions, we will as a group build two CNC Drawing machines, and go through the process of translating a vector drawing into a “tool-path” that the machine can follow.

After building the machines, we will work in small groups to create add-ons, modifications, and new machine-made results. The machines we will be building are low cost and easily repaired, they can quickly become a platform for experimentation: What can we do with a machine that can be placed on any surface, and draw with any tool?

Jumping into the technical production of a simple CNC machine will give the skills and knowledge to reposition what is typically considered a “digital-fabrication machine” into a flexible tool to be experimented with, modified, and repurposed. Ultimately, this interplay between understanding the machine’s capabilities and creating it’s ‘tooling’ will lead to unique and varied machine-made artifacts.

Methods and Meetings

The course will be divided into two phases:

  • Phase 1: Building the machine.
  • Phase 2: Using the machine.

During the first phase, we will work together to produce two copies of the 4xi-draw pen plotter (an open source variant of the commercial AxiDraw). This phase will give a basic technical understanding of CNC manufacturing, and the opportunity to work together in a hands-on workshop format with digital fabrication tools and electronics.

In the second phase, the machines will be used, modified, and experimented with to create new processes and results. Supported by your knowledge from phase one, you will work in small teams to define and realize a modification and result produced from the machine. This could range from designing a typeface for a specific pen or marker, to developing a new tool for digital-drawing (See Examples and References below).

Schedule

Week Date Time Location Subject
1 11 May 2017 10:30 - 12:10 (+ optional mentoring till 13:00) Prototyping space Intro and 3D printing
2 18 May 2017 10:30 - 12:10 (+ optional mentoring till 13:00) Prototyping space Machine Building: Movement and Mechanics / Modification Concepts
3 24 May 2017 No Class - School Holiday
4 1 June 2017 10:30 - 12:10 (+ optional mentoring till 13:00) Prototyping space Machine Building: Electronics and Software
5 8 June 2017 10:30 - 12:10 (+ optional mentoring till 13:00) Prototyping space Production
6 15 June 2017 10:30 - 12:10 (+ optional mentoring till 13:00) Prototyping space Production
7 20 June 2017 18:00 - 20:00 Prototyping space Demo Evening

3D printing

3d-printing-fails-2.jpg

3D printing is a widely used additive manufacturing technique. In this block you learn about the different 3D printing techniques, the advantages and disadvantages. We will also look at the language used to control many 3D printing (and many other computer controlled machines). You will see this is actually a very simple technique, however making a good 3D print is not necessarily easy. As for all techniques, experimenting is key in learning how get the most out of 3D printing

Techniques

Fused Deposition Modeling (FDM)

FDM is, due to the consumer 3D printers of this type, the most widely known 3D printing technique. With FDM a layers of material are stacked on top of each other. In this way the object is build up layer by layer. This technique can be used with almost any material that can be extruded. This holds for most plastics when heated to just below the melting point. But also other materials like clay, chocolate, bee wax etc. can be used.

Stereo Litography (SLA)

SLA uses a UV laser to harden a special resin at specific points. The 3D object, in a way, grows out of the resin.

Selective Laser Sintering (SLS)

Laser sintering uses a laser to melt/sinter particles together. This technique can be used to print in metals.

Powder bed and inkjet 3D printing (binder-jetting)

Inkjet 3D printing is a technique very similar to SLS where a laser melts small particles of material together. With inkjet 3D printing a binder is used instead of a laser. The material can be metal particles but also some type of plaster. The printer uses standard inkjet printing cardridges for printing in full colour. After printing the part is very brittle and usually needs to be impregnated with a solidifying material like epoxy or cyanoacrylate.

3D Modeling

To use a 3D printer you'll need a 3D model to print. For this you can use almost any 3D program. Choose the one you are most familiar with and see if it can export STL, OBJ, DAE or AMF files. If you just get started with 3D modeling starting with Sketchup or Tinkercad is a good starting point. Other, more advanced programs like Solidworks, Inventor, Maya, Blender, Rhino etc. can of course be used as well.

If you don't want to go into 3D modeling yourself there are also places where you can download 3D models. The two most widely known are:

Slicing

After you have your 3D model you will need to prepare it for printing. This means you need to slice the model into very thin slice. You can imagine this as slicing a cucumber in very thin slices of e.g. 0.1mm thick, and stack each slice back on top of each other somewhere else. The 3D printers we have at the WdKA are Ultimakers. The program to slice and print your 3D model with these Ultimakers is Cura. You can download this program for OSX, Windows and Linux here: https://ultimaker.com/en/products/cura-software

The Cura program also has the option to save the output of the slicer to a file. This file is called a GCode file or sometimes and nc file. This file contains a list of all the steps the 3D printer is going to do in order to print the model. You can open this gcode file in any text editor and have a look and even change it. This may sometimes be necessary if, for example, you have a very complex print. It may be needed that at some point the print speed needs to go down or the temperature up. This can not be done directly from within the Cura program (without using a plugin) but by adding the appropriate gcode at the right place you can make this work.

GCode

From Wikipedia on G-Code:

G-code (also RS-274), which has many variants, is the common name for the most widely used numerical control (NC) programming language. It is used mainly in computer-aided manufacturing to control automated machine tools. G-code is sometimes called G programming language, not to be confused with LabVIEW's G programming language.

G-code is a language in which people tell computerized machine tools how to make something. The "how" is defined by instructions on where to move, how fast to move, and what path to move. The most common situation is that, within a machine tool, a cutting tool is moved according to these instructions through a toolpath and cuts away material to leave only the finished workpiece. The same concept also extends to noncutting tools such as forming or burnishing tools, photoplotting, additive methods such as 3D printing, and measuring instruments.

Simply put, G-Code is the language that tells the machine what to do, which movements to make, when to deposit material, when to stop etc. etc.. For example, a simple G-Code line that tells the machine to move to position X:10mm, Y:10mm could be:

G1 X10 Y10

Here the code G1 is the code for move to. To draw a square with the 3D printer would require four such movements. Assuming we start from location X0 Y0 Z0 and want to draw a square of 10 by 10 mm:

G1 X0 Y10
G1 X10 Y10
G1 X10 Y0
G1 X0 Y0

For a list of G-Code commands an Ultimaker 3D printer understands (or a printer running Marlin) see: https://github.com/ErikZalm/Marlin/blob/Stable/Marlin/Marlin_main.cpp Scrolling down will reveal the G-Code list.

An easy way to manually control your printer and send G-Codes by hand is Pronterface/Printrun: http://www.pronterface.com



Plotting

Mugplotter.jpg

The cut or pen plotter is a fun and easy machine to work with. It either cuts out material with a small knife or it draws with a stylus. In many ways it is pretty much like a 3D printer without the Z-axis (height). It can lift up and down the knife or stylus of course. Some plotters can also adjust how hard the blade or stylus pushes onto the surface.

Talking to your plotter (HPGL)

You can of course use your standard software to plot or cut out things. But it gets a lot more fun when you actually can control what the plotter is doing. Many plotters talk a language that looks a lot like the GCode we saw for the 3D printer (and CNC mills etc.). The plotters we have a the WdKA you can use talk a language that is call HPGL. It was used mostly by HP plotters but became a standard for most plotters later on.

The language is very simple. Just like GCode you have a simple few letter command and some parameters. For example, to draw a straight line starting at the current position you would send the following text to the plotter:

PD 100,100;

PD stands for Pen DOWN. The two numbers are the X and Y coordinates on your paper.

If you would first want to move to position X100 and Y100 and want to draw a square afterwards you would send this:

PU 100,100;
PD 100,200;
PD 200,200;
PD 200,100;
PD 100,100;

PU of course stands for Pen UP.

HPGL has more commands that make drawing easier, like commands for drawing rectangles, circles and arcs. It also has commands for drawing text. Have a look at the reference: File:HPGL.pdf for all commands.

Connecting to the plotter to send commands

An easy way to connect to your plotter is using a terminal.

For OSX Zterm
For Windows putty

It is also possible to use [Processing] or any other language you like to control the plotter.

Some examples using Processing to control the plotters you can find here:
https://github.com/mywdka/plotter_examples some examples showing basic HPGL commands
https://github.com/mywdka/mouserPlotter/tree/master using the mouse to plot on multiple plotters

Plotter inspiration



Assignments

After each subject you need to conduct experiments with the technique / machine covered. These experiments are very valuable for learning to master the technique or machine. Most assignments ask you to find the boundaries of the machine or try something which it is not normally used for. Playing with extreme settings shows you what happens when a setting is not good and help you recognize and solve faults in your results. Try not to just change settings but think about what will happen and why. And remember too have fun with this, the results can be quite unexpected.

In the final assignment you will make a machine that makes but is human powered. A good example is the analog 3D printer by Daniel de Bruin. Of course there will be less time so the results are not expected to be this polished.

The weight of the assignments is as follows:

  • assignment 1: 3D Printing: 20%
  • assignment 2: Milling and Lasercutting: 20%
  • assignment 3: Printing and Plotting: 20%
  • final assignment: 40%

Remember to document your process! Make pictures, movies and keep as many results as possible, also (or especially) the failed ones



Assignment 1: 3D printing experiments

For this assignment you will need to experiment with a 3D printer/technique. You can 3D print in the Digital Lab or at the Interaction Station. At the interaction station you can find a yellow leaflet near the 3D printer information on how to get started. You can also download it here: File:Ultimakermanual.pdf. If you get stuck or need an extra kickstart, ask the digital lab or interaction station instructors.

Don't use an object too large, you will need to print it several times

  • Find or make a 3D object and print it using one of the conventional 3D printing techniques. Try to get the print as clean as possible. As the school only has FDM printers this will most likely be on an Ultimaker. ProtoSpace in Utrecht has a 3D systems inkjet printer and Fablabl Breda has a Formlabs SLA printer (ask Charlotte from the digital lab).
  • Print at least 3 other versions changing settings drastically. For example print a version with a temperature much higher than normal, or with a speed very low or high. Adjust settings on the fly and see what happens. Document your process!

Do one of the following (or both):

  • Adjust the G-Code of the object (e.g. make it stop somewhere so you can insert something into the object and continue again, or make the Z wobble). You may also make a G-Code yourself and try to print it. Remember to save the new G-Code!
  • Experiment with strange / weird models and what they do. For example, try a model with a lot of overhang, or long thin pillars etc. Have a look at the drooloop flowers on thingiverse: http://www.thingiverse.com/thing:240158

After this assignment you will have (at least) 5 printed objects and a lot of experience with 3D printing and what different settings do for the specific printing.



Assignment 2: Mimicking the plotter

For this assignment you are going to mimic the plotter/drawing machine with another machine or construct one yourself. The mimicked plotter should at least be able to produce a drawn output. Preferably based on an some input.

You'll need to find something that is able to move a pen around and figure out a way to control this. Control is very broad and can be computer based, human or nature based.

Things you can think about:

  • an extension for the 3D printer so you can attaches a pen and draw based on a (1-layer) 3D model
  • toys
  • use a drone
  • use ropes, elastics, rods
  • use gravity

See the plotter inspiration section for some ideas.

Keep it simple and document your process and results!

Assignment 3: 3D and 2.5D with the mill and/or lasercutter

For the last experiment you will need to make a 3D or 2.5D (Emile explained the difference last week) shape with either the mill or lasercutter. To create a 2.5D shape with the lasercutter you can take a 3D model and slice it like the 3D printer does. Cut out all the pieces and glue them together. A good program to use for this is 123D Make from autodesk: http://www.123dapp.com/make . If you can think of a more inventive way, please try! :)

Last but not least! Send me an email with a description of what you want to make for your final assignment!