summaryrefslogtreecommitdiff
path: root/titan-bracket.scad
Unidiff
Diffstat (limited to 'titan-bracket.scad') (more/less context) (ignore whitespace changes)
-rw-r--r--titan-bracket.scad88
1 files changed, 88 insertions, 0 deletions
diff --git a/titan-bracket.scad b/titan-bracket.scad
new file mode 100644
index 0000000..2bd146b
--- a/dev/null
+++ b/titan-bracket.scad
@@ -0,0 +1,88 @@
1// The thickness of the mount plate (in mm)
2mountplate_thickness = 2 ; // [0:10]
3// The thickness of the motor mount plate (in mm)
4motormountplate_thickness = 2 ; // [2:7]
5
6/* [Hidden] */
7layer_height=.25; extrusion_width=.5;
8epsilon=.01;
9
10module smoothen(r) {
11 offset(r=+r,$fn=r*PI*6) offset(delta=-r) children();
12}
13
14module the_bracket(
15 mountplate_size=[62,40],
16 mountplate_r = 3,
17 mounthole_d = 3.5,
18 mountholes_span=[54,30],
19 motor_side=42.3,
20 motor_protrusion_hole_d = 23.5,
21 motormountholes_span = 31,
22 thickness = 2,
23 motormountplate_thickness = 2.5,
24 mountplate_thickness = 2,
25 motormounthole_d = 3,
26 motorconnector_width = 16.5,
27 motorconnector_hole_r = 2.5,
28 motorconnector_distance = 16.5,
29 mountscrew_l = 10, mountscrewhead_d = 6, mountscrewhead_h = 3,
30 mounthole_depth = 5,
31 motormounthole_depth = 4,
32 extra_spacer = 0
33) {
34 titan_h = 25; titan_bowdenmount_h = 4;
35 echo("max longscrew",titan_h+motormountplate_thickness+extra_spacer+motormounthole_depth);
36 echo("max shortscrew",titan_bowdenmount_h+motormountplate_thickness+extra_spacer+motormounthole_depth);
37 difference() {
38 union() {
39 // mount plate
40 linear_extrude(height=mountplate_thickness)
41 smoothen(r=mountplate_r)
42 translate([-mountplate_size.x/2,0])
43 square(size=mountplate_size);
44 // motor mount plate
45 hull() for(sx=[-1,1])
46 translate([sx*(motor_side/2+thickness-motormountplate_thickness/2),motormountplate_thickness/2,0])
47 cylinder(d=motormountplate_thickness,h=motor_side+mountplate_thickness,$fn=motormountplate_thickness*PI*2);
48 // sides
49 for(sx=[-1,1]) translate([sx*(motor_side+thickness)/2,0,0])
50 hull() {
51 translate([-thickness/2,motormountplate_thickness/2,0])
52 cube(size=[thickness,mountplate_size.y-motormountplate_thickness/2,mountplate_thickness]);
53 translate([-thickness/2,motormountplate_thickness/2,0])
54 cube(size=[thickness,motormountplate_thickness/2,mountplate_thickness+motor_side]);
55 }
56 }
57 // mount holes
58 for(sx=[-1,1]) for(sy=[-1,0,1])
59 translate([sx*mountholes_span.x/2,sy*mountholes_span.y/2,0])
60 translate([0,mountplate_size.y/2,0]) {
61 translate([0,0,-1])
62 cylinder(d=mounthole_d,h=mountplate_thickness+2,$fn=mounthole_d*PI*2);
63 translate([0,0,mountscrew_l-mounthole_depth])
64 cylinder(d=mountscrewhead_d,h=mountplate_thickness+1,$fn=mountscrewhead_d*PI*2);
65 }
66 // motor protrusion cutout
67 translate([0,0,mountplate_thickness+motor_side/2])
68 rotate([-90,0,0]) translate([0,0,-1])
69 cylinder(d=motor_protrusion_hole_d,h=motormountplate_thickness+2,$fn=motor_protrusion_hole_d*PI*2);
70 // motor mount holes
71 for(sx=[-1,1]) for(sz=[-1,1])
72 translate([sx*motormountholes_span/2,0,sz*motormountholes_span/2])
73 translate([0,0,mountplate_thickness+motor_side/2])
74 rotate([-90,0,0]) translate([0,0,-1])
75 cylinder(d=motormounthole_d,h=motormountplate_thickness+2,$fn=motormounthole_d*PI*2);
76 // motor connector cutout
77 translate([mountplate_size.x/2,
78 motormountplate_thickness+extra_spacer+motorconnector_distance-motorconnector_hole_r,
79 mountplate_thickness+motor_side/2-motorconnector_width/2])
80 rotate([0,-90,0])
81 linear_extrude(height=mountplate_size.x)
82 smoothen(r=motorconnector_hole_r)
83 square([motor_side+mountplate_thickness+1,mountplate_size.y]);
84 }//difference
85}//the_bracket module
86
87// mountplate_thickness = 5.1
88the_bracket(mountplate_thickness=mountplate_thickness,motormountplate_thickness=motormountplate_thickness);