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) (unidiff) | |
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 @@ | |||
1 | /Makefile.local | 1 | /Makefile.local |
2 | /*.stl | 2 | /*.stl |
3 | /*.gcode | 3 | /*.gcode |
4 | *.c8r.scad | ||
@@ -3,6 +3,9 @@ | |||
3 | OPENSCAD_APP?=/Applications/OpenSCAD.app | 3 | 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: |
8 | @echo "And?" | 11 | @echo "And?" |
@@ -20,5 +23,12 @@ another-%-lever.stl: another-%.scad another.scad | |||
20 | another-%-knob.stl: another-%.scad another.scad | 23 | 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(); | ||