# Lecture notes

Subtractive, Something that can't be made with the cnc, laser cutter or vinyl cutter

Test overhangs
Test everything of 3d printer

## 3D printing 
Being able to get inside the body and create complex designs.

It can fail

Create much finer surface finisher using other machines

Can print tranclucant, very strong materials.
PLA, plant based renewable polymer
PETG oil based, stronger, good uv resistance

Most filaments are hydroscopic. They degrade over time. Filaments needs to be stored dry.

### Concerns 3D printer
Ultrafine particles
PLA least, ABS most

### Design rules
* Supports


* Infill. Dense: slow to print but strong. Not dense: fast but weak
* surface finish
* prevent sharp corners. Otherwise you may get weak corners
* Weak bed adhesion: Print doesn't stick and if it lets go during print you get spaghetti.
* Warping

### Post processing
* Electroplating
* Some kind of oil to make it look better

Wire Arc additive manufacturing: Metal 3D printing

### File format
stl, 3mf. Often used 3d format

.obj, Made my autodesk often used to described colors

.dxf, terrible for 3d

.gcode, widely supported. Ancient

### Software
Meshlab, Let's you look at meshes and fix them.

Slicing, Converts the 3d model to Machine readible instructions. Cura, Bambu Studio, Prusa slicer.

Printer interfaces, To check your printer remotely. OctoPrint, Printrun

Printer Firmware, Klipper



modelviewer.dev. To embed 3d designs into site.

### 3D scanning
CT 3D scanning (Super expansive)

#### Scanners
Light 
Probe  
Digitizer
Photogrammetry (pictures)


## Assignment
Group:
Test the design rules of your printer
Individual

Design and print something that is impossible to make subtractivly. Nested parts, overhangs

3D scan


## Thursday
3D printer software.
Ender, Prusa all run marlin
Voron runs klipper

### GCode
Gcode is like assembly. You don't wanna write it by hand.
Gcode get's used in anything that has x,y,z or rotating. Printers, cnc, lasercutters.

G = for positioning the printer head
M = tool and machines set up
E = extrude
; = comment

G92 = set position

FullControlGcode designer to generate custom Gcode easy

Brick laying 3d printing is strong but patented

INFI 2 conveyor belt printer

PETG, bit more bendable
ABS, Sturdy, heat resistand. Print it at a higher temparature and it's toxic.

Non planer infill with bricks

https://howtomechatronics.com/tutorials/g-code-explained-list-of-most-important-g-code-commands/

[All Gcode Commands what they do](https://howtomechatronics.com/tutorials/g-code-explained-list-of-most-important-g-code-commands/)

Most problems of the GCode are in the setup part of the GCode

### 3D scanning
Software: Creality scan
Camera: CR scan ferret


texture to geometry
geometry works better on faces

easy to make is a **chain**.

## Recitation about AI
### Embedded AI/ML

### TinyML concepts and applications
TinyML limited to low power devices

#### core values
Machines learning applications for mcu's
ultra low power
small devices KB-level memory
local processing, real-time response

advantages:
* better privacy
* Low latency
* offline operation 

#### Applications
Machine vision 
Sound and vibration sensing
Motion and posture recongnision
Envoirmental monitoring and control


### Toolchain and platform introduction
TensorFlow Lite
PyTorch mobile
EDGE IMPULSE
STM32 cube AI
SenseCraft AI


SenseCraft
* Zero code Model deployment
* Online model training
* Flexible inference output

Can be connected to mqtt or other pins without coding

### How to make almost anything almost without making anything

vizom.ai
https://lumalabs.ai