author | Michael Krelin <hacker@klever.net> | 2018-07-31 19:54:10 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2018-07-31 19:54:23 (UTC) |
commit | 4b1f3dfe12ef5357fa28caa2c5265c88bd51a864 (patch) (side-by-side diff) | |
tree | 89f421de78a5d258e1b06d7cddccf50eef18b571 | |
parent | e25427a293ea1f3cbf2e1f90562fb76d8c5632ba (diff) | |
download | extrudery-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.
-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 @@ -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(); |