Top Banner
3D Print with Delphi Yes, we scan… http://en.wikipedia.org/wiki/Web_of_Things Max Kleiner Script: 362_maxon3D_EKON18.TXT
14

A 3D printing programming API

Jul 14, 2015

Download

Engineering

Max Kleiner
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: A 3D printing programming API

3D Print with Delphi

Yes, we scan…http://en.wikipedia.org/wiki/Web_of_Things

Max Kleiner

Script: 362_maxon3D_EKON18.TXT

Page 2: A 3D printing programming API

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)

Page 3: A 3D printing programming API

Some Theory and Practise• Digital Printing World is build on Analog World•••••

3

070_pas_functionplotter_digital2.txt, Ex. OpenGL Robot, Landscape Flight

Page 4: A 3D printing programming API

3D Vectors3D Vectors

4Ex. 530_3DLab.txt

Page 5: A 3D printing programming API

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

Page 6: A 3D printing programming API

Proof of Concept - Lord of the Prints

6

Page 7: A 3D printing programming API

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);

Page 8: A 3D printing programming API

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;

Page 9: A 3D printing programming API

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

Page 10: A 3D printing programming API

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

Page 11: A 3D printing programming API

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

Page 12: A 3D printing programming API

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... ;).

Page 13: A 3D printing programming API

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/

Page 14: A 3D printing programming API

Questions? Print a Worldhack the earth

14

Yes, we hack…https://github.com/maxkleiner/maXbox3/releases