3D printing? Definition: Construction of a 3D object from a digital 3D model
3
The FDM Gopher Maker Diagram
4
The SLA Gopher Maker Diagram
5
The 3D printer's firmware • Link between software and hardware • Marlin: popular open-source firmware for 3D printers • Takes GCODE as input
6
What is GCODE? GCode is the programming language used by 3D-printers
7
Example Movement GCODE . G28
8
Use Go to send GCODE • Microcontroller has a serial port • Use Go to connect to the 3D printer • Use Go to send GCODE
9
Define configuration with Termios
10
Gathering temperature report
11
Parse with regular expression
12
Send temp to Influxdatabase Line Protocol
13
Use Go to create a 3D model?!?
14
Transforming 3D objects Use a 4x4 transformation matrix and 3D vectors • func Translate3d(v V3) M44
15
Mouth
16
Slicing the STL with Cura
17
Blender made Gopher 3D model
18
Why monitor a 3D printer?
19
Telegraf The plugin-driven server agent for collecting & reporting metrics
20
Octoprint Input Plugin
21
External Plugin
22
What does Go Shim provide
23
Data Flowchart
24
Input Plugin Interface type Input interface 1/ Gather adds metrics to processing flow Gather (Accumulator) error
25
Getting data from REST API type Printerstate struct
26
Filament Manager Configuration
27
Gathering the data
28
Configure InfluxDB Output
29
Demo Flowchart
Description:
Explore 3D printing concepts and tools for creating your own Gopher figurines using Go programming language. Learn how to manage and monitor 3D printers, understand GCODE, and use Go to send commands and gather data. Discover techniques for transforming 3D objects, slicing models, and monitoring print progress. Gain insights into using tools like Telegraf, OctoPrint, and InfluxDB for data collection and visualization. Follow along with practical examples and demonstrations to enhance your understanding of 3D printing processes and how Go can be utilized in this creative hobby.