summaryrefslogtreecommitdiffstats
path: root/bin/slic3r-gpp
blob: c3c7351f5d1ed5152a2b5c96f89a1163e621ea1c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/bin/sh

set -eu

SLIC3R_CONFIG_BASE="${HOME}/.Slic3r"

preprocess()
{
	local printer="${1}"
	local filament="${2}"
	shift 2
	local retraction_temperature=
	local wiping_temperature=
	local probing_temperature=
	local removal_bed_temperature=

	. "${SLIC3R_CONFIG_BASE}/filament/${filament}.rc"

	for gcode in 'before_layer' 'end' 'layer' 'start' 'toolchange'; do
		# TODO
	done
}

preprocess_all()
{
	local rc=
	local filament=
	local gcode=
	local printers_seen=
	local printer=

	for rc in "${SLIC3R_CONFIG_BASE}/filament/"*'.rc'; do
		filament="${rc##*/}"
		filament="${filament%.rc}"
		printers_seen=' '
		for gcode in "${SLIC3R_CONFIG_BASE}/printer/"*' - '*'.gcode'; do
			printer="${gcode##*/}"
			printer="${printer% - *.gcode}"
			case "${printers_seen}" in *" ${printer} "*)
				continue  # Skip seen printers
			esac
			preprocess "${printer}" "${filament}"
			printers_seen="${printers_seen}${printer} "
		done
	done
}

main()
{
	preprocess_all
}

main "${@}"