-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | Makefile | 10 | ||||
-rw-r--r-- | multiswitch-c8r.scad | 25 |
3 files changed, 36 insertions, 0 deletions
@@ -2,2 +2,3 @@ | |||
2 | /*.stl | 2 | /*.stl |
3 | /*.gcode | 3 | /*.gcode |
4 | *.c8r.scad | ||
@@ -4,4 +4,7 @@ OPENSCAD_APP?=/Applications/OpenSCAD.app | |||
4 | OPENSCAD_BIN?=${OPENSCAD_APP}/Contents/MacOS/OpenSCAD | 4 | OPENSCAD_BIN?=${OPENSCAD_APP}/Contents/MacOS/OpenSCAD |
5 | OPENSCAD_FLAGS=-D draft=false | 5 | OPENSCAD_FLAGS=-D draft=false |
6 | SED?=sed | ||
7 | ECHO?=/bin/echo | ||
8 | AWK?=awk | ||
6 | 9 | ||
7 | default: | 10 | default: |
@@ -21,4 +24,11 @@ another-%-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 | ||
26 | multiswitch.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 | ||
3 | number_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. | ||
5 | pushfit_type = "embeddest"; // ["threaded","embedded","embeddest"] | ||
6 | join_angle = 15; | ||
7 | |||
8 | // Outer diameter of PTFE liner | ||
9 | liner_outer_diameter = 4; | ||
10 | // Inner diameter of PTFE liner and the diameter of printed filament channel | ||
11 | liner_inner_diameter = 2; | ||
12 | |||
13 | module 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 | } | ||
25 | customizer_multiswitch(); | ||