3D Print with Delphi Yes, we scan… http://en.wikipedia.org/wiki/Web_of_Things Max Kleiner Script: 362_maxon3D_EKON18.TXT
3D Print with Delphi
Yes, we scan…http://en.wikipedia.org/wiki/Web_of_Things
Max Kleiner
Script: 362_maxon3D_EKON18.TXT
Agenda (3D Printing Web of Things)
2
• What is 3D with physics / elements (xyz)• 3D Printing Overview, History• Programming in G-Code or Turtle• G-Code Motor Firmware ex. Servo• Doodle 3D API• NC Code Examples Test
http://scholz2000.com/
A Short History of Time 1991 Application Program1995 Application1998 Applet2010 App2015 A (Scholz2000, Android, Arduino, ARM)
Some Theory and Practise• Digital Printing World is build on Analog World•••••
•
3
070_pas_functionplotter_digital2.txt, Ex. OpenGL Robot, Landscape Flight
3D Vectors3D Vectors
•
4Ex. 530_3DLab.txt
Need Printer ThingsPrinting technology: FFF (Fused Filament Fabrication) Printing volume: 170x170x160m Layer resolution: 100µ (0.1mm) X-Y-Z precision: 20µ (0.02mm) Filament diameter: 1.75mm Heated bed: No Bed autoleveling: Yes Printing material: PLA (any material that does not require
a heated bed) Time to first print-out: <1m Injector diameter: 0.4mm Filament capacity: 500gr Dimensions: 275x275x360 Approx. weight: 7Kg Chassis: Unibody aluminum
5Ex. 3DDrucken_auf_dem_Weg_zur_Massen.pdf
Proof of Concept - Lord of the Prints
6
Case Study Simulation
7
import httprocessing.*; TurtleSimString boxIP = "10.0.0.188";PostRequest post = new PostRequest("http://"+boxIP+"/d3dapi/printer/print");void setup() {post.addData("gcode", "G28 X0.0 Y0.0 Z0.0"); //Send printer to the x0 and y0 positionpost.addData("start", "true");post.send();size(100, 100);
Use Case Diamond Print - Shine on you crazy…
8
Send a command over http to COM on board to move ServoM
void draw() {//press a key to activateif (keyPressed) {point(mouseX,mouseY);//makes the printer move to the mouse location.//Note that the X and Y will expand if you expand the size() and it is possible that you make the printer move outside of its border!//This can do harm or damage to your 3D printer!!post.addData("gcode", "G1 X"+mouseX+" Y"+mouseY+" F5000");post.addData("start", "true");post.send();}
var idHTTP, http1: TIDHTTP; idHTTP2: TIDHTTPRequest; zipStream: TFileStream;
Solution Arduino G-Code
9
Tutor: http://www.softwareschule.ch/download/maxbox_starter18_3.pdf
void setup() { // initialize digital pin as an output. pinMode(ledPin11, OUTPUT); Serial.begin(9600);
void loop () { val = Serial.read(); //read serial port if (val !=-1){ if (val=='1'){ digitalWrite(ledPin1,HIGH); } else if (val=='A'){ digitalWrite(ledPin1,LOW); }
G-Code firmware
Solution Doodle3D Rest G-Code
10
http://www.softwareschule.ch/examples/443_webserver_arduino_light4motor.txt
G-Code is a commonly use language to control CNC machines. G-Code is a light-weight, simple to parse format, designed to be able to run on modest hardware, such as the Arduino loaded with this firmware (in this case). It is a format that is prepared in advance and created from the digital design files (CAD files).The G-Code firmware source is available from SourceForge as part of the RepRap Arduino firmware package.
http://www.softwareschule.ch/examples/306_SPS_doodle3Dhttp_command.txt
http://www.doodle3d.com/help/g-code
11
356_3D_printer.txthttp://en.wikipedia.org/wiki/Household_appliances
Arduino G-Code Interpreter 1.1 Introduction 1.2 Files 1.2.1 Installation 1.3 Usage 1.3.1 Firmware Configuration 1.3.1.1 X_STEPS_PER_INCH 1.3.1.2 X_STEPS_PER_MM 1.3.1.3 X_MAX_SPEED 1.3.1.4 X_MOTOR_STEPS 1.3.1.5 Y_*, Z_* 1.3.1.6 FAST_XY_FEEDRATE and FAST_Z_FEEDRATE 1.3.2 Sending Commands 1.4 Implementation 1.4.1 G-Codes 1.4.2 M Codes 1.5 TODO 1.6 Bugs
Test the Print http://192.168.1.40:8080/R
12
Its heavy duty unibody aluminum chassis, along with its light extruder, allow for high printing speeds. The materials the printer parts are made of have been carefully selected to be both strong and lightweight, and were tested for structural resistance in our manufacturing facilities.l... ;).
Thanks! Links to Rightsthe source is the code
13
http://www.softwareschule.ch/maxbox.htmhttp://sourceforge.net/projects/maxboxhttp://sourceforge.net/apps/mediawiki/maxbox/http://en.wikipedia.org/wiki/Arduinohttp://www.softwareschule.ch/download/webofthings2013.pdf
Book Patterns konkrethttp://www.amazon.de/Patterns-konkret-Max-Kleiner/dp/3935042469
maXboxhttps://github.com/maxkleiner/maXbox3/releases
http://www.cnc-arena.com/de/forum/gcode-programmierung-fuer-3d-in-c--22109.html http://www.doodle3d.com/help/api-documentation http://replicat.org/mcodes http://www.doodle3d.com/help/g-code http://simplegcoder.com/js_editor/
Questions? Print a Worldhack the earth
14
Yes, we hack…https://github.com/maxkleiner/maXbox3/releases