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) (side-by-side diff)
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) (show 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 @@
/Makefile.local
/*.stl
/*.gcode
+*.c8r.scad
diff --git a/Makefile b/Makefile
index 31135cb..a488056 100644
--- a/Makefile
+++ b/Makefile
@@ -3,6 +3,9 @@
OPENSCAD_APP?=/Applications/OpenSCAD.app
OPENSCAD_BIN?=${OPENSCAD_APP}/Contents/MacOS/OpenSCAD
OPENSCAD_FLAGS=-D draft=false
+SED?=sed
+ECHO?=/bin/echo
+AWK?=awk
default:
@echo "And?"
@@ -20,5 +23,12 @@ another-%-lever.stl: another-%.scad another.scad
another-%-knob.stl: another-%.scad another.scad
$(OPENSCAD_BIN) $(OPENSCAD_FLAGS) -D 'what="knob"' -o "$@" "$<"
+multiswitch.c8r.scad: multiswitch-c8r.scad threads.scad pushfit_data.scad pushfittery.scad multiswitch.scad
+ @echo "Preprocessing into $@…"
+ @( \
+ $(ECHO) "/* DO NOT. JUST DO NOT. FORGET THIS FILE, IT'S PREPROCESSED, GET THE SOURCE. */" ;\
+ $(AWK) '/^\/\/CUSTOMIZERCUTOFF/ {nextfile} {print}' $^ | $(SED) -Ee 's,^(use|include),//\1,g' \
+ ) > $@
+
%.stl: %.scad
${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 @@
+
+// Well, you can go higher, but that would probably be ridiculous
+number_of_inputs = 4; // [2,3,4,5,6];
+// 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.
+pushfit_type = "embeddest"; // ["threaded","embedded","embeddest"]
+join_angle = 15;
+
+// Outer diameter of PTFE liner
+liner_outer_diameter = 4;
+// Inner diameter of PTFE liner and the diameter of printed filament channel
+liner_inner_diameter = 2;
+
+module customizer_multiswitch() {
+ multiswitch(
+ liner_od = liner_outer_diameter,
+ liner_id = liner_inner_diameter,
+ angle = join_angle,
+ inputs = number_of_inputs,
+ pf = pf_byname(stock_pushfits,pushfit_type),
+ draft = false,
+ print = true,
+ debug = 0
+ );
+}
+customizer_multiswitch();