summaryrefslogtreecommitdiff
authorMichael Krelin <hacker@klever.net>2018-07-31 19:54:10 (UTC)
committer Michael Krelin <hacker@klever.net>2018-07-31 19:54:23 (UTC)
commit4b1f3dfe12ef5357fa28caa2c5265c88bd51a864 (patch) (unidiff)
tree89f421de78a5d258e1b06d7cddccf50eef18b571
parente25427a293ea1f3cbf2e1f90562fb76d8c5632ba (diff)
downloadextrudery-4b1f3dfe12ef5357fa28caa2c5265c88bd51a864.zip
extrudery-4b1f3dfe12ef5357fa28caa2c5265c88bd51a864.tar.gz
extrudery-4b1f3dfe12ef5357fa28caa2c5265c88bd51a864.tar.bz2
preprocess multiswitch for customizer.
no, this is not seriously useful preprocessor, but works for this case. real men don't use customizer anyway.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--.gitignore1
-rw-r--r--Makefile10
-rw-r--r--multiswitch-c8r.scad25
3 files changed, 36 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index c25a6bd..09cd5d8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
1/Makefile.local 1/Makefile.local
2/*.stl 2/*.stl
3/*.gcode 3/*.gcode
4*.c8r.scad
diff --git a/Makefile b/Makefile
index 31135cb..a488056 100644
--- a/Makefile
+++ b/Makefile
@@ -3,6 +3,9 @@
3OPENSCAD_APP?=/Applications/OpenSCAD.app 3OPENSCAD_APP?=/Applications/OpenSCAD.app
4OPENSCAD_BIN?=${OPENSCAD_APP}/Contents/MacOS/OpenSCAD 4OPENSCAD_BIN?=${OPENSCAD_APP}/Contents/MacOS/OpenSCAD
5OPENSCAD_FLAGS=-D draft=false 5OPENSCAD_FLAGS=-D draft=false
6SED?=sed
7ECHO?=/bin/echo
8AWK?=awk
6 9
7default: 10default:
8 @echo "And?" 11 @echo "And?"
@@ -20,5 +23,12 @@ another-%-lever.stl: another-%.scad another.scad
20another-%-knob.stl: another-%.scad another.scad 23another-%-knob.stl: another-%.scad another.scad
21 $(OPENSCAD_BIN) $(OPENSCAD_FLAGS) -D 'what="knob"' -o "$@" "$<" 24 $(OPENSCAD_BIN) $(OPENSCAD_FLAGS) -D 'what="knob"' -o "$@" "$<"
22 25
26multiswitch.c8r.scad: multiswitch-c8r.scad threads.scad pushfit_data.scad pushfittery.scad multiswitch.scad
27 @echo "Preprocessing into $@…"
28 @( \
29 $(ECHO) "/* DO NOT. JUST DO NOT. FORGET THIS FILE, IT'S PREPROCESSED, GET THE SOURCE. */" ;\
30 $(AWK) '/^\/\/CUSTOMIZERCUTOFF/ {nextfile} {print}' $^ | $(SED) -Ee 's,^(use|include),//\1,g' \
31 ) > $@
32
23%.stl: %.scad 33%.stl: %.scad
24 ${OPENSCAD_BIN} ${OPENSCAD_FLAGS} -o "$@" "$<" 34 ${OPENSCAD_BIN} ${OPENSCAD_FLAGS} -o "$@" "$<"
diff --git a/multiswitch-c8r.scad b/multiswitch-c8r.scad
new file mode 100644
index 0000000..a6a5dbb
--- a/dev/null
+++ b/multiswitch-c8r.scad
@@ -0,0 +1,25 @@
1
2// Well, you can go higher, but that would probably be ridiculous
3number_of_inputs = 4; // [2,3,4,5,6];
4// Pushfit types are e3d threaded pusfit, e3d embedded and printed ring with only the collet put into it. Note, that rendering 4 threaded pushfit sockets borders with impossible, and it's too big, anyway.
5pushfit_type = "embeddest"; // ["threaded","embedded","embeddest"]
6join_angle = 15;
7
8// Outer diameter of PTFE liner
9liner_outer_diameter = 4;
10// Inner diameter of PTFE liner and the diameter of printed filament channel
11liner_inner_diameter = 2;
12
13module customizer_multiswitch() {
14 multiswitch(
15 liner_od = liner_outer_diameter,
16 liner_id = liner_inner_diameter,
17 angle = join_angle,
18 inputs = number_of_inputs,
19 pf = pf_byname(stock_pushfits,pushfit_type),
20 draft = false,
21 print = true,
22 debug = 0
23 );
24}
25customizer_multiswitch();