1include <BOSL2/std.scad>
2include <BOSL2/gears.scad>
3include <BOSL2/beziers.scad>
4include <BOSL2/screws.scad>
5include <BOSL2/cubetruss.scad>
6
7$fa=1;
8$fs=1;
9
10xdistribute(50) {
11 recolor("#f77")
12 diff("hole")
13 cuboid([45,45,10], chamfer=10, edges=[RIGHT+BACK,RIGHT+FRONT], anchor=FRONT) {
14 tag("hole")cuboid([30,30,11], chamfer=5, edges=[RIGHT+BACK,RIGHT+FRONT]);
15 attach(FRONT,BACK, overlap=5) {
16 diff("hole2")
17 cuboid([45,45,10], rounding=15, edges=[RIGHT+BACK,RIGHT+FRONT]) {
18 tag("hole2")cuboid([30,30,11], rounding=10, edges=[RIGHT+BACK,RIGHT+FRONT]);
19 }
20 }
21 }
22
23 recolor("#7f7")
24 bevel_gear(pitch=8, teeth=30, mate_teeth=30, face_width=12, shaft_diam=15, slices=12, spiral=30);
25
26 x = 18;
27 y = 20;
28 s1 = 25;
29 s2 = 20;
30 sbez = [
31 [-x,-y], [-x,-y-s1],
32 [ x,-y-s1], [ x,-y], [ x,-y+s2],
33 [-x, y-s2], [-x, y], [-x, y+s1],
34 [ x, y+s1], [ x, y]
35 ];
36 recolor("#99f")
37 path_sweep(regular_ngon(n=3,d=10,spin=90), bezpath_curve(sbez));
38
39 recolor("#0bf")
40 translate([-15,-35,0])
41 cubetruss_corner(size=10, strut=1, h=1, bracing=false, extents=[3,8,0,0,0], clipthick=0);
42
43 recolor("#777")
44 xdistribute(24) {
45 screw("M12,70", head="hex", anchor="origin", orient=BACK)
46 attach(BOT,CENTER)
47 nut("M12", thickness=10);
48 screw("M12,70", head="hex", anchor="origin", orient=BACK)
49 attach(BOT,CENTER)
50 nut("M12", thickness=10);
51 }
52}
53
54
55// vim: expandtab tabstop=4 shiftwidth=4 softtabstop=4 nowrap