-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | Makefile | 10 | ||||
-rw-r--r-- | multiswitch-c8r.scad | 25 |
3 files changed, 36 insertions, 0 deletions
@@ -1,3 +1,4 @@ /Makefile.local /*.stl /*.gcode +*.c8r.scad @@ -1,11 +1,14 @@ -include Makefile.local 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?" clean: rm -f *.stl *.gcode @@ -17,8 +20,15 @@ another-%-body.stl: another-%.scad another.scad $(OPENSCAD_BIN) $(OPENSCAD_FLAGS) -D 'what="body"' -o "$@" "$<" another-%-lever.stl: another-%.scad another.scad $(OPENSCAD_BIN) $(OPENSCAD_FLAGS) -D 'what="lever"' -o "$@" "$<" 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(); |