From 4b1f3dfe12ef5357fa28caa2c5265c88bd51a864 Mon Sep 17 00:00:00 2001 From: Michael Krelin Date: Tue, 31 Jul 2018 19:54:10 +0000 Subject: preprocess multiswitch for customizer. no, this is not seriously useful preprocessor, but works for this case. real men don't use customizer anyway. --- 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(); -- cgit v0.9.0.2