Skip to content

Commit

Permalink
add togcode script
Browse files Browse the repository at this point in the history
  • Loading branch information
David Jourdan committed Jan 25, 2024
1 parent 227fefc commit 2580938
Show file tree
Hide file tree
Showing 25 changed files with 340,352 additions and 1 deletion.
9 changes: 9 additions & 0 deletions Dependencies.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Debian / Ubuntu / Linux Mint
```
sudo apt install xorg-dev libglu1-mesa-dev freeglut3-dev mesa-common-dev
```

# Fedora
```
sudo dnf install libXrandr-devel freeglut-devel xorg-x11-server-devel libXcursor-devel libXinerama-devel libXi-devel
```
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ cd shrink-morph
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j $(nproc)
```
CMake will download the required dependencies and compile the executable (note that on a fresh Debian/Ubuntu install you will need to install graphics packages: ```sudo apt install xorg-dev libglu1-mesa-dev freeglut3-dev mesa-common-dev```).
Provided that you have the necessary graphics packages installed (if not the case, see [here](Dependencies.md)) CMake will download the required dependencies and compile the executable.

## Optional dependencies

Expand All @@ -27,3 +27,7 @@ From the command line, specify which mesh file (stored in ```/data/```) should b
```
build/shrink-morph beetle
```
To use the togcode script:
```
python togcode.py ../data/input_file.path Creality_K1_Max -o output_file.gcode
```
63 changes: 63 additions & 0 deletions togcode/printers/CR10S_Pro/features.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
-- Build Area dimensions
bed_size_x_mm = 310
bed_size_y_mm = 310
bed_size_z_mm = 400

-- Printer Extruder
extruder_count = 1 -- number of extruders. Change this value if you want to use the virtual extruders feature for "simple multi-material" (using firmware's filament swap)
nozzle_diameter_mm = 0.4
filament_diameter_mm = 1.75

-- Retraction Settings
-- between 0.5mm and 0.8mm of retract/prime for direct-drive setup, between 3mm and 6mm for bowden (stock) setup
filament_priming_mm = 0.4
priming_mm_per_sec = 45
retract_mm_per_sec = 45

-- Layer height
z_layer_height_mm = 0.2
z_layer_height_mm_min = nozzle_diameter_mm * 0.10
z_layer_height_mm_max = nozzle_diameter_mm * 0.90

-- Printing temperatures
extruder_temp_degree_c = 210
extruder_temp_degree_c_min = 150
extruder_temp_degree_c_max = 270

bed_temp_degree_c = 50
bed_temp_degree_c_min = 0
bed_temp_degree_c_max = 120

-- Printing speeds
print_speed_mm_per_sec = 60
print_speed_mm_per_sec_min = 5
print_speed_mm_per_sec_max = 200

perimeter_print_speed_mm_per_sec = 45
perimeter_print_speed_mm_per_sec_min = 5
perimeter_print_speed_mm_per_sec_max = 150

cover_print_speed_mm_per_sec = 45
cover_print_speed_mm_per_sec_min = 5
cover_print_speed_mm_per_sec_max = 200

first_layer_print_speed_mm_per_sec = 10
first_layer_print_speed_mm_per_sec_min = 5
first_layer_print_speed_mm_per_sec_max = 60

travel_speed_mm_per_sec = 180
travel_speed_mm_per_sec_min = 5
travel_speed_mm_per_sec_max = 200

-- Misc default settings
add_brim = true
brim_distance_to_print_mm = 2.0
brim_num_contours = 3

travel_straight = true
enable_z_lift = true
z_lift_mm = 0.4

-- default filament infos (when using "custom" profile)
name_en = "PLA"
filament_density = 1.25 --g/cm3 PLA
9 changes: 9 additions & 0 deletions togcode/printers/CR10S_Pro/footer.gcode
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
G92 E0
M107 ; fan off
; turn off heaters
M104 S0
M140 S0
M107
G28 X Y ; move back X and Y to origin
G0 F6200 Y280 ; present bed for part removal
M84 ; disable motors
19 changes: 19 additions & 0 deletions togcode/printers/CR10S_Pro/header.gcode
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
G21 ; set units to millimeters
G90 ; use absolute coordinates
M82 ; use absolute distances for extrusion

M190 S<HBPTEMP> ; wait for bed temperature to be reached
M104 S<TOOLTEMP> ; set temperature
G28 ; home all axes
<BEDLVL>
BED_MESH_PROFILE LOAD="default"
M109 S<TOOLTEMP> ; wait for extruder temperature to be reached

G92 E0
G1 Z1.0 F3000 ; move z up little to prevent scratching of surface
G1 X0.1 Y20 Z0.3 F5000.0 ; move to start-line position
G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; draw 1st line
G1 X0.4 Y200.0 Z0.3 F5000.0 ; move to side a little
G1 X0.4 Y20 Z0.3 F1500.0 E30 ; draw 2nd line
G92 E0 ; reset extruder
; done purging extruder
88 changes: 88 additions & 0 deletions togcode/printers/Creality_K1_Max/features.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
-- Creality K1 Max based on Seckit Sk-G0 universal profile
-- Hugron Pierre-Alexandre 18/06/2020
-- Updated by Bedell Pierre 30/11/2022
-- Updated by Hugron Pierre-Alexandre 05/12/2023

-- Build Area dimensions
bed_size_x_mm = 300
bed_size_y_mm = 300
bed_size_z_mm = 300

-- Printer Extruder
extruder_count = 1
nozzle_diameter_mm = 0.4 -- 0.25, 0.4, 0.6
filament_diameter_mm = 1.75
filament_linear_adv_factor = 0.03

-- Retraction Settings
filament_priming_mm = 0.5 -- min 0.5 - max 2
priming_mm_per_sec = 40
retract_mm_per_sec = 60

-- Layer height
z_layer_height_mm = 0.2
z_layer_height_mm_min = nozzle_diameter_mm * 0.10
z_layer_height_mm_max = nozzle_diameter_mm * 0.90

-- Printing temperatures
extruder_temp_degree_c = 220
extruder_temp_degree_c_min = 150
extruder_temp_degree_c_max = 285

bed_temp_degree_c = 55
bed_temp_degree_c_min = 0
bed_temp_degree_c_max = 120

-- Printing speeds
print_speed_mm_per_sec = 270
print_speed_mm_per_sec_min = 5
print_speed_mm_per_sec_max = 400

perimeter_print_speed_mm_per_sec = 200
perimeter_print_speed_mm_per_sec_min = 5
perimeter_print_speed_mm_per_sec_max = 400

cover_print_speed_mm_per_sec = 200
cover_print_speed_mm_per_sec_min = 5
cover_print_speed_mm_per_sec_max = 400

first_layer_print_speed_mm_per_sec = 80
first_layer_print_speed_mm_per_sec_min = 10
first_layer_print_speed_mm_per_sec_max = 150

travel_speed_mm_per_sec = 500
travel_speed_mm_per_sec_min = 5
travel_speed_mm_per_sec_max = 500

-- Acceleration settings
x_max_speed = 500 -- mm/s
y_max_speed = 500 -- mm/s
z_max_speed = 30 -- mm/s
e_max_speed = 100 -- mm/s

x_max_acc = 20000 -- mm/s²
y_max_acc = 20000 -- mm/s²
z_max_acc = 500 -- mm/s²
e_max_acc = 20000 -- mm/s²

default_acc = 20000 -- mm/s²
e_prime_max_acc = 5000 -- mm/s²
perimeter_acc = 5000 -- mm/s²
infill_acc = 20000 -- mm/s²

default_jerk = 9 -- mm/s
infill_jerk = 20 -- mm/s

-- Misc default settings
add_brim = true
brim_distance_to_print_mm = 2.0
brim_num_contours = 3

enable_z_lift = true
z_lift_mm = 0.4

enable_travel_straight = true

-- default filament infos (when using "custom" profile)
name_en = "PLA"
filament_density = 1.25 --g/cm3 PLA
1 change: 1 addition & 0 deletions togcode/printers/Creality_K1_Max/footer.gcode
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
END_PRINT
17 changes: 17 additions & 0 deletions togcode/printers/Creality_K1_Max/header.gcode
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
G21 ; set units to millimeters
G90 ; use absolute coordinates
M82 ; use absolute distances for extrusion

; set velocity / acceleration limits
SET_VELOCITY_LIMIT VELOCITY=200 ACCEL=5000 ACCEL_TO_DECEL=5000 SQUARE_CORNER_VELOCITY=5.66
START_PRINT EXTRUDER_TEMP=<TOOLTEMP> BED_TEMP=<HBPTEMP>
BED_MESH_PROFILE LOAD="default" ; load default bed mesh
SET_PRESSURE_ADVANCE ADVANCE=<FILAMENT> ; Linear/Pressure advance

; additionnal informations for Klipper web API (Moonraker)
; if feedback from Moonraker is implemented in the choosen web UI (Mainsail, Fluidd, Octoprint), this info will be used for gcode previewing
; Generated by TOGCODE SCRIPT
; print_height_mm : 0.08
; layer_count : 10
; filament_type : PLA
; filament_name : PLA
77 changes: 77 additions & 0 deletions togcode/printers/Prusa_MK3S/features.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
-- Original Prusa MK3S
-- 01/05/0219

-- Build Area dimensions
bed_size_x_mm = 250
bed_size_y_mm = 210
bed_size_z_mm = 210

-- Printer Extruder
extruder_count = 1 -- number of extruders. Change this value if you want to use the virtual extruders feature for "simple multi-material" (using firmware's filament swap)

nozzle_diameter_mm = 0.4 -- 0.25, 0.4, 0.6
filament_diameter_mm = 1.75
filament_linear_adv_factor = 0 -- default

-- Retraction Settings
filament_priming_mm = 0.8 -- min 0.5 - max 2
priming_mm_per_sec = 35
retract_mm_per_sec = 35

enable_z_lift = true
z_lift_mm = 0.6

-- Layer height
z_layer_height_mm = 0.2
z_layer_height_mm_min = nozzle_diameter_mm * 0.10
z_layer_height_mm_max = nozzle_diameter_mm * 0.90

-- Printing temperatures
extruder_temp_degree_c = 210
extruder_temp_degree_c_min = 150
extruder_temp_degree_c_max = 270

bed_temp_degree_c = 55
bed_temp_degree_c_min = 0
bed_temp_degree_c_max = 120

-- Printing speeds
print_speed_mm_per_sec = 60
print_speed_mm_per_sec_min = 5
print_speed_mm_per_sec_max = 120

perimeter_print_speed_mm_per_sec = 45
perimeter_print_speed_mm_per_sec_min = 5
perimeter_print_speed_mm_per_sec_max = 80

cover_print_speed_mm_per_sec = 45
cover_print_speed_mm_per_sec_min = 5
cover_print_speed_mm_per_sec_max = 80

first_layer_print_speed_mm_per_sec = 20
first_layer_print_speed_mm_per_sec_min = 1
first_layer_print_speed_mm_per_sec_max = 50

travel_speed_mm_per_sec = 180

-- Acceleration settings
x_max_speed = 200 -- mm/s
y_max_speed = 200 -- mm/s
z_max_speed = 12 -- mm/s
e_max_speed = 120 -- mm/s

x_max_acc = 1000 -- mm/s²
y_max_acc = 1000 -- mm/s²
z_max_acc = 1000 -- mm/s²
e_max_acc = 5000 -- mm/s²
ex_max_acc = 1250 -- mm/s²
e_prime_max_acc = 1250 -- mm/s²

perimeter_acc = 800 -- mm/s²
infill_acc = 1250 -- mm/s²
default_acc = 1000 -- mm/s²

x_max_jerk = 8.00 -- mm/s
y_max_jerk = 8.00 -- mm/s
z_max_jerk = 0.40 -- mm/s
e_max_jerk = 1.50 -- mm/s
7 changes: 7 additions & 0 deletions togcode/printers/Prusa_MK3S/footer.gcode
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
G4 ; wait
M221 S100
M104 S0 ; turn off temperature
M140 S0 ; turn off heatbed
M107 ; turn off fan
G1 F6200 X0 Y200; home X axis
M84 ; disable motors
27 changes: 27 additions & 0 deletions togcode/printers/Prusa_MK3S/header.gcode
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
M862.3 P "MK3S" ; printer model check
M862.1 P<NOZZLE_DIAMETER> ; nozzle diameter check
M115 U3.8.1 ; tell printer latest fw version

<ACCELERATIONS>

M104 S<TOOLTEMP> ; set extruder temp
M140 S<HBPTEMP> ; set bed temp
M190 S<HBPTEMP> ; wait for bed temp
M109 S<TOOLTEMP> ; wait for extruder temp
M107

G21 ; set units to millimeters
G28 W ; home all without mesh bed level
G80 ; mesh bed leveling
G90 ; use absolute coordinates

M83 ; extruder relative mode
G1 Y-3.0 F1000.0 ; go outside print area
G92 E0.0
G1 X60.0 E9.0 F1000.0 ; intro line
G1 X100.0 E12.5 F1000.0 ; intro line
G92 E0.0
M82 ; extruder absolute mode
M221 S<FLOW>
M900 K<FILAMENT> ; Filament gcode
G92 E0.0
48 changes: 48 additions & 0 deletions togcode/printers/Ultimaker2/features.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
bed_size_x_mm = 223
bed_size_y_mm = 223
bed_size_z_mm = 205

extruder_count = 1
nozzle_diameter_mm = 0.4
filament_diameter_mm = 2.85

filament_priming_mm = 6.5
priming_mm_per_sec = 20
retract_mm_per_sec = 20

z_layer_height_mm_min = 0.05
z_layer_height_mm_max = nozzle_diameter_mm * 0.75

extruder_temp_degree_c = 210
extruder_temp_degree_c_min = 150
extruder_temp_degree_c_max = 270

bed_temp_degree_c = 50
bed_temp_degree_c_min = 0
bed_temp_degree_c_max = 120

print_speed_mm_per_sec = 40
print_speed_mm_per_sec_min = 5
print_speed_mm_per_sec_max = 80

perimeter_print_speed_mm_per_sec = 30
perimeter_print_speed_mm_per_sec_min = 5
perimeter_print_speed_mm_per_sec_max = 80

cover_print_speed_mm_per_sec = 30
cover_print_speed_mm_per_sec_min = 5
cover_print_speed_mm_per_sec_max = 80

first_layer_print_speed_mm_per_sec = 20
first_layer_print_speed_mm_per_sec_min = 1
first_layer_print_speed_mm_per_sec_max = 80

travel_speed_mm_per_sec = 150

-- Misc Settings
add_brim = true
brim_distance_to_print_mm = 2.0
brim_num_contours = 2

enable_z_lift = true
z_lift_mm = 0.4
Loading

0 comments on commit 2580938

Please sign in to comment.