update puzzle to latest version to match solution instructions
[ozzloy@gmail.com/3d-printables] / crazyflie-2.0-housing.scad
CommitLineData
df8e764d 1/* GNU AGPLv3 (or later at your option)
2 see bottom for more license info */
3
4/* protective housing for crazyflie 2.0.
5
6 reinforce the arms so they do not snap.
7
8 keep the props up high so they do not get hairs from the ground
9 wrapped around the motor shaft.
10 */
11
eace0c6c 12$fn = 300;
df8e764d 13
eace0c6c 14// propeller diameter was measured with calipers
15propeller_radius = 46.35 / 2;
16// 7mm from spec
17motor_grippable_height = 8;
18motor_gripper_height = motor_grippable_height / 2;
19holder_height = motor_grippable_height * 1.1;
df8e764d 20
eace0c6c 21propeller_radius_measured = 46.35 / 2;
22holder_wall_thickness = 1.2;
23propeller_guard_wall_thickness = 1.2;
b2b49e2c 24
eace0c6c 25motor_diameter = 7;
26motor_height_measured = 17;
27motor_radius = motor_diameter / 2;
b2b49e2c 28
eace0c6c 29module propeller_protector(motor_radius,
30 holder_wall_thickness,
31 propeller_guard_wall_thickness,
32 motor_gripper_height,
33 holder_height,
34 propeller_radius) {
35 propeller_guard_inner_radius = propeller_radius + 1.5;
36 holder_outer_radius = motor_radius + holder_wall_thickness;
37 number_of_arms = 3;
38 linear_extrude(height = motor_gripper_height) {
39 // part that holds the motor
40 difference() {
41 circle(r = holder_outer_radius);
42 circle(r = motor_radius); }
43 for(arm_number = [0: (number_of_arms - 1)]) {
44 rotate(arm_number * (360 / number_of_arms)) {
45 translate([-propeller_guard_inner_radius,
46 -holder_wall_thickness / 2]) {
47 square([propeller_guard_inner_radius - motor_radius,
48 holder_wall_thickness]); } } } }
49 // prop protector
50 linear_extrude(height = holder_height) {
51 difference() {
52 circle(propeller_guard_inner_radius +
53 propeller_guard_wall_thickness);
54 circle(propeller_guard_inner_radius); } } }
cfa97e05 55
eace0c6c 56propeller_protector(motor_radius,
57 holder_wall_thickness,
58 propeller_guard_wall_thickness,
59 motor_gripper_height,
60 holder_height,
61 propeller_radius_measured);
df8e764d 62
63/*
64 This file is part of 3d-printables.
65
66 3d-printables is free software: you can redistribute it and/or modify
67 it under the terms of the GNU Affero General Public License as published by
68 the Free Software Foundation, either version 3 of the License, or
69 (at your option) any later version.
70
71 3d-printables is distributed in the hope that it will be useful,
72 but WITHOUT ANY WARRANTY; without even the implied warranty of
73 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
74 GNU Affero General Public License for more details.
75
76 You should have received a copy of the GNU Affero General Public License
77 along with challenge-bot. If not, see <http://www.gnu.org/licenses/>.
78*/