Compare commits
No commits in common. "9970074bd7bfbcaefa6a0ca55a3246b88afe8471" and "1a4ae271a782709064b754c840156cb90ff27f27" have entirely different histories.
9970074bd7
...
1a4ae271a7
|
|
@ -1,18 +1,17 @@
|
||||||
/** Parameters */
|
/** Parameters */
|
||||||
$camera_mount = true;
|
$camera_mount = true;
|
||||||
$base = true;
|
$base = true;
|
||||||
$arm_base = true;
|
$screen_mount = true;
|
||||||
$arm_pieces = 1;
|
$arm_pieces = 1;
|
||||||
$screws = 1;
|
$screws = 1;
|
||||||
$nuts = 1;
|
$nuts = 1;
|
||||||
|
/** Scale nuts up slightly for easier fit and less friction. */
|
||||||
|
$nut_scale = 1.05;
|
||||||
$nut_bumps = false;
|
$nut_bumps = false;
|
||||||
|
|
||||||
/** Code */
|
/** Code */
|
||||||
module __no_more_parameters() {};
|
module __no_more_parameters() {};
|
||||||
|
|
||||||
/** Scale nuts up slightly for easier fit and less friction. */
|
|
||||||
$nut_scale = 1.05;
|
|
||||||
|
|
||||||
$triangle_width = 65;
|
$triangle_width = 65;
|
||||||
$triangle_height = 40;
|
$triangle_height = 40;
|
||||||
$triangle_thickness = 5.87;
|
$triangle_thickness = 5.87;
|
||||||
|
|
@ -29,60 +28,14 @@ $steps_per_turn = $preview ? 8 : 128;
|
||||||
use <Thread_Library.scad>
|
use <Thread_Library.scad>
|
||||||
|
|
||||||
if ($camera_mount) {
|
if ($camera_mount) {
|
||||||
translate([-90, -40, 0])
|
translate([0, -60, 0])
|
||||||
camera_mount();
|
camera_mount();
|
||||||
}
|
}
|
||||||
if ($base) {
|
if ($base) {
|
||||||
screen_and_attachment();
|
translate([10, 0, 0]) attachment_point();
|
||||||
pi_bed();
|
|
||||||
}
|
}
|
||||||
|
if ($screen_mount) {
|
||||||
module pi_bed() {
|
translate([0, 40, 0]) screen_mount();
|
||||||
$slat_count = 10;
|
|
||||||
$slat_gap = 10.4;
|
|
||||||
$slat_width = 4;
|
|
||||||
$side_width = 6;
|
|
||||||
$bed_depth = 6;
|
|
||||||
$bed_width = 70;
|
|
||||||
// slats
|
|
||||||
for (i = [0:1:$slat_count - 1]) {
|
|
||||||
translate([$slat_gap * i, -70, -$bed_depth])
|
|
||||||
cube([4, $bed_width, 4]);
|
|
||||||
}
|
|
||||||
// sides
|
|
||||||
for (i = [0:1:1]) {
|
|
||||||
color("blue")
|
|
||||||
translate([0, -$bed_width * i - $side_width, -$bed_depth])
|
|
||||||
cube([97.6, $side_width, $bed_depth]);
|
|
||||||
}
|
|
||||||
// railings
|
|
||||||
color("orange")
|
|
||||||
translate([0, -$side_width - $bed_width, -$bed_depth])
|
|
||||||
cube([$slat_width / 2, $bed_width, $bed_depth]);
|
|
||||||
color("orange")
|
|
||||||
translate([97.6, -$side_width - $bed_width, -$bed_depth])
|
|
||||||
cube([$slat_width / 2, $bed_width + $side_width, $bed_depth]);
|
|
||||||
}
|
|
||||||
|
|
||||||
module screen_and_attachment() {
|
|
||||||
color("green")
|
|
||||||
translate([-15, 0, 0])
|
|
||||||
rotate([90, 0, 0])
|
|
||||||
attachment_point();
|
|
||||||
color("blue")
|
|
||||||
translate([-0.5, 0, 4.5])
|
|
||||||
rotate([45, 0, -90])
|
|
||||||
screen_mount();
|
|
||||||
|
|
||||||
$screen_mount_support_width = 6;
|
|
||||||
difference() {
|
|
||||||
color("red")
|
|
||||||
translate([44.5, -$screen_mount_support_width, 27.4])
|
|
||||||
rotate([0, -45, 0])
|
|
||||||
cube([12, $screen_mount_support_width, 18]);
|
|
||||||
translate([50, -$screen_mount_support_width * 1.5, 0])
|
|
||||||
cube([20, $screen_mount_support_width * 2, 60]);
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$camera_mount_thickness = 1;
|
$camera_mount_thickness = 1;
|
||||||
|
|
@ -140,7 +93,7 @@ module attachment_point() {
|
||||||
translate([$rounded_nose, 4.234, -0.2])
|
translate([$rounded_nose, 4.234, -0.2])
|
||||||
rotate([0, 0, 120])
|
rotate([0, 0, 120])
|
||||||
nose_rounding();
|
nose_rounding();
|
||||||
translate([0, $triangle_height - $triangle_y_offset * 1.2, -0.1])
|
translate([0, $triangle_height - $triangle_y_offset * 1.5, -0.1])
|
||||||
cube([100, 100, $triangle_thickness * 3]);
|
cube([100, 100, $triangle_thickness * 3]);
|
||||||
translate([45, 12, -0.1])
|
translate([45, 12, -0.1])
|
||||||
cylinder(h=100, r=10);
|
cylinder(h=100, r=10);
|
||||||
|
|
@ -225,17 +178,13 @@ module nut_bumps() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module screw() {
|
|
||||||
union() {
|
|
||||||
translate([0, 0, $screw_head_thickness - 4])
|
|
||||||
thread();
|
|
||||||
nut_head();
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i = [0:1:$screws - 1]) {
|
for (i = [0:1:$screws - 1]) {
|
||||||
translate([-$screw_head_diameter, i * ($screw_head_diameter + 5), 0])
|
translate([-$screw_head_diameter, i * ($screw_head_diameter + 5), 0])
|
||||||
screw();
|
union() {
|
||||||
|
translate([0, 0, $screw_head_thickness - 4])
|
||||||
|
thread();
|
||||||
|
nut_head();
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = [0:1:$nuts - 1]) {
|
for (i = [0:1:$nuts - 1]) {
|
||||||
|
|
@ -283,34 +232,3 @@ module thread_hole_punch(height=50) {
|
||||||
translate([0, 0, -0.1])
|
translate([0, 0, -0.1])
|
||||||
cylinder(d=13, h=height);
|
cylinder(d=13, h=height);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
module arm_base() {
|
|
||||||
$width = 20;
|
|
||||||
$thickness = 3;
|
|
||||||
$screw_top = 24.46175;
|
|
||||||
$hole_height = $screw_top + $width / 2 + 1;
|
|
||||||
|
|
||||||
difference() {
|
|
||||||
union() {
|
|
||||||
translate([0, $thickness / 2, $hole_height])
|
|
||||||
rotate([90, 0, 0])
|
|
||||||
cylinder(d=$width, h=$thickness);
|
|
||||||
color("gray")
|
|
||||||
translate([-$width / 2, -$thickness / 2, $screw_top])
|
|
||||||
cube([$width, $thickness, $width / 2 + 1]);
|
|
||||||
};
|
|
||||||
translate([0, 2, $hole_height])
|
|
||||||
rotate([90, 0, 0])
|
|
||||||
thread_hole_punch();
|
|
||||||
}
|
|
||||||
color("brown")
|
|
||||||
translate([0, 0, $screw_top])
|
|
||||||
rotate([-180, 0, 0])
|
|
||||||
screw();
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($arm_base) {
|
|
||||||
translate([-30, -40, 0])
|
|
||||||
arm_base();
|
|
||||||
}
|
|
||||||
Loading…
Reference in a new issue