-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathactuator_mount.scad
96 lines (83 loc) · 2.63 KB
/
actuator_mount.scad
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
extrusion_length = 35;
hole_distance = 25; // the distance of the mounting hole to the wall
mounting_plate_thickness = 5;
mounting_plate_height = 40;
mounting_plate_width = 60;
wall_screw_radius = 2;
m_screw_radius = 4; // The radius of the mounting hole in the actuator
extrusion_width = 5;
gap_width= 20;
wall_thickness = 5;
mount_wall_thickness = 8;
extrusion_height = (m_screw_radius + wall_thickness)*2;
extrusion_translation = mounting_plate_width /2 - gap_width / 2 - wall_thickness;
union(){
translate([0,mounting_plate_height - extrusion_height,extrusion_translation])
{
extrusion();
}
translate([0,mounting_plate_height - extrusion_height, mounting_plate_width - extrusion_translation - mount_wall_thickness])
{
extrusion();
}
mounting_plate();
}
/*
* The part that extrudes from the mounting plate and
*
*/
module extrusion()
{
difference(){
union()
{
cube([extrusion_length, (m_screw_radius + mount_wall_thickness)*2, extrusion_width]);
translate([extrusion_length,extrusion_height/2,extrusion_width/2])
{
cylinder(extrusion_width, m_screw_radius + wall_thickness, m_screw_radius + wall_thickness, true, $fn=1000);
}
}
translate([extrusion_length, extrusion_height/2, extrusion_width/2 - 1])
{
cylinder(extrusion_width * 2, m_screw_radius, m_screw_radius, true, $fn=1000);
}
}
translate([0, -extrusion_height - wall_thickness + 4, extrusion_width])
{
rotate([0,90,0])
{
prism(extrusion_width, mounting_plate_height - extrusion_height - 2, extrusion_length * 1.1);
}
}
}
module mounting_plate()
{
difference()
{
cube([mounting_plate_thickness, mounting_plate_height, mounting_plate_width]);
translate([1, mounting_plate_height/2, mounting_plate_width*.15])
{
rotate([0,90,0])
{
wall_screw_hole();
}
}
translate([1, mounting_plate_height/2, mounting_plate_width*.85])
{
rotate([0,90,0])
{
wall_screw_hole();
}
}
}
}
module wall_screw_hole()
{
cylinder(mounting_plate_thickness * 2 ,wall_screw_radius, wall_screw_radius, true, $fn=1000);
}
module prism(l, w, h){
polyhedron(
points=[[0,0,0], [l,0,0], [l,w,0], [0,w,0], [0,w,h], [l,w,h]],
faces=[[0,1,2,3],[5,4,3,2],[0,4,5,1],[0,3,4],[5,2,1]]
);
}