Completed design for v2.
This commit is contained in:
18
models/fixings/angle_bracket_20_20.scad
Normal file
18
models/fixings/angle_bracket_20_20.scad
Normal file
@@ -0,0 +1,18 @@
|
||||
|
||||
include <../../config.scad>;
|
||||
|
||||
module angle_bracket_20_20() {
|
||||
color("gray") difference() {
|
||||
translate([0, 18 / 2, 0]) rotate([90, 0, 0]) cube(18, center = false);
|
||||
translate([0, 18 / 2, 0]) rotate([90, 0, 0]) translate([0, 18, 0]) rotate([0, 0, -45]) cube(18 * 2, center = false);
|
||||
translate([3, -12 / 2, 3]) cube([15, 12, 12], center = false);
|
||||
// bolt slots
|
||||
translate([0, -4.3 / 2, 14 - 7]) cube([3, 4.3, 7], center = false);
|
||||
translate([14 - 7, -4.3 / 2, 0]) cube([7, 4.3, 3], center = false);
|
||||
}
|
||||
// Shopping
|
||||
echo(str("Angle bracket: Angle bracket 20mm x 20mm - x1"));
|
||||
}
|
||||
|
||||
// test output
|
||||
angle_bracket_20_20();
|
||||
BIN
models/fixings/angle_bracket_20_20.stl
Normal file
BIN
models/fixings/angle_bracket_20_20.stl
Normal file
Binary file not shown.
43
models/fixings/door_hinge.scad
Normal file
43
models/fixings/door_hinge.scad
Normal file
@@ -0,0 +1,43 @@
|
||||
|
||||
include <../../config.scad>;
|
||||
|
||||
module door_hinge_half() {
|
||||
diameter_hole_bottom = SIZE_BOLT_HINGE;
|
||||
diameter_hole_top = 7;
|
||||
|
||||
color("gray") difference() {
|
||||
// body
|
||||
translate([-R_HINGE[0] / 2, 0, 0]) cube([R_HINGE[0], R_HINGE[1] / 2, R_HINGE[2]], center = false);
|
||||
// bolt holes
|
||||
for (index_hole = [0 : 1 : 1]) {
|
||||
mirror([index_hole, 0, 0]) {
|
||||
// through hole
|
||||
translate([OFFSET_HINGE_HOLE_CENTRES_X / 2, OFFSET_HINGE_HOLE_CENTRES_Y / 2, 0]) cylinder(R_HINGE[2] / 2, diameter_hole_bottom / 2, diameter_hole_bottom / 2, center = false);
|
||||
// tapered hole
|
||||
translate([OFFSET_HINGE_HOLE_CENTRES_X / 2, OFFSET_HINGE_HOLE_CENTRES_Y / 2, R_HINGE[2] / 2]) cylinder(R_HINGE[2] / 2, diameter_hole_bottom / 2, diameter_hole_top / 2, center = false);
|
||||
}
|
||||
}
|
||||
}
|
||||
// Shopping
|
||||
}
|
||||
module door_hinge(angle_from_closed) {
|
||||
color("gray") union() {
|
||||
// hinge bearing axis
|
||||
translate([0, 0, R_HINGE[2]]) rotate([0, 90, 0]) cylinder(R_HINGE[0], R_HINGE[2] * 2, R_HINGE[2] * 2, center = true);
|
||||
// door flanges
|
||||
for (index_hinge_half = [0 : 1 : 1]) {
|
||||
// mirror([0, index_hinge_half, 0]) {
|
||||
rotate([index_hinge_half == 0 ? 0 : 180 - angle_from_closed, 0, 0]) rotate([0, 0, index_hinge_half == 0 ? 0 : 180])
|
||||
// door_hinge_half();
|
||||
import("./door_hinge_half.stl");
|
||||
}
|
||||
}
|
||||
// Shopping
|
||||
echo(str("Door hinge: Stainless steel door hinge - x1"));
|
||||
}
|
||||
|
||||
// test output
|
||||
$fn = 25;
|
||||
|
||||
// door_hinge_half();
|
||||
door_hinge(180);
|
||||
BIN
models/fixings/door_hinge_half.stl
Normal file
BIN
models/fixings/door_hinge_half.stl
Normal file
Binary file not shown.
16
models/fixings/mitre_bracket.scad
Normal file
16
models/fixings/mitre_bracket.scad
Normal file
@@ -0,0 +1,16 @@
|
||||
|
||||
include <../../config.scad>;
|
||||
|
||||
module mitre_bracket() {
|
||||
color("gray")
|
||||
// translate([0, 0, -3 / 2])
|
||||
difference() {
|
||||
cube([46, 46, 3], center = false);
|
||||
translate([6, 6, 0]) cube([40, 40, 3], center = false);
|
||||
}
|
||||
// Shopping
|
||||
echo(str("Mitre bracket: Mitre bracket - x1"));
|
||||
}
|
||||
|
||||
// test output
|
||||
mitre_bracket();
|
||||
BIN
models/fixings/mitre_bracket.stl
Normal file
BIN
models/fixings/mitre_bracket.stl
Normal file
Binary file not shown.
@@ -1,17 +0,0 @@
|
||||
|
||||
include <../../config.scad>;
|
||||
|
||||
module square_tube_joint_cross(tube_diameter, tube_thickness) {
|
||||
length_peg = 2 * tube_diameter;
|
||||
union() {
|
||||
color("black") cube(tube_diameter, center = true);
|
||||
for (index_peg = [0 : 1 : 3]) {
|
||||
color("gray") rotate([0, 0, 90 * index_peg]) translate([tube_diameter / 2 + length_peg / 2, 0, 0]) cube([length_peg, tube_diameter - tube_thickness * 2, tube_diameter - tube_thickness * 2], center = true);
|
||||
}
|
||||
}
|
||||
// Shopping
|
||||
echo(str("Square tube joint: Tube joint Φ", tube_diameter, "mm cross - x1"));
|
||||
}
|
||||
|
||||
// test output
|
||||
square_tube_joint_cross(D_BEAM_SKELETON, T_BEAM_SKELETON);
|
||||
@@ -1,40 +0,0 @@
|
||||
/*
|
||||
include <../../config.scad>;
|
||||
use <./tube_clamp_round_3_way_through_116_functions.scad>;
|
||||
*/
|
||||
|
||||
module square_tube_joint_n_way(tube_diameter, tube_thickness, n_pegs) {
|
||||
length_peg = 2 * tube_diameter;
|
||||
union() {
|
||||
color("black") cube(tube_diameter, center = true);
|
||||
/*
|
||||
// Method 1: no good
|
||||
for (index_peg = [0 : 1 : n_pegs - 1]) {
|
||||
color("gray") rotate([0, 0, 90 * index_peg]) translate([tube_diameter / 2 + length_peg / 2, 0, 0]) cube([length_peg, tube_diameter - tube_thickness * 2, tube_diameter - tube_thickness * 2], center = true);
|
||||
}
|
||||
*/
|
||||
if (n_pegs >= 2) {
|
||||
for (index_peg = [0 : 1 : 1]) {
|
||||
color("gray") rotate([0, 0, 90 * index_peg]) translate([tube_diameter / 2 + length_peg / 2, 0, 0]) cube([length_peg, tube_diameter - tube_thickness * 2, tube_diameter - tube_thickness * 2], center = true);
|
||||
}
|
||||
}
|
||||
if (n_pegs >= 3) {
|
||||
for (index_peg = [0 : 1 : (n_pegs == 3 ? 0 : 1)]) {
|
||||
color("gray") mirror([0, 0, index_peg]) translate([0, 0, tube_diameter / 2 + length_peg / 2]) cube([tube_diameter - tube_thickness * 2, tube_diameter - tube_thickness * 2, length_peg], center = true);
|
||||
}
|
||||
}
|
||||
if (n_pegs >= 5) {
|
||||
color("gray") translate([0, -(tube_diameter / 2 + length_peg / 2), 0]) cube([tube_diameter - tube_thickness * 2, length_peg, tube_diameter - tube_thickness * 2], center = true);
|
||||
}
|
||||
}
|
||||
// Shopping
|
||||
echo(str("Square tube joint: Tube joint Φ", tube_diameter, "mm ", n_pegs, "-Way - x1"));
|
||||
}
|
||||
|
||||
// test output
|
||||
// square_tube_joint_n_way(D_BEAM_SKELETON, T_BEAM_SKELETON, 5);
|
||||
// translate([200, 0, 0]) square_tube_joint_n_way(D_BEAM_SKELETON, T_BEAM_SKELETON, 3);
|
||||
|
||||
for (count_pegs = [2 : 1 : 5]) {
|
||||
translate([100 * count_pegs, 0, 0]) square_tube_joint_n_way(D_BEAM_SKELETON, T_BEAM_SKELETON, count_pegs);
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
|
||||
include <../../config.scad>;
|
||||
|
||||
module square_tube_joint_tee(tube_diameter, tube_thickness) {
|
||||
length_peg = 2 * tube_diameter;
|
||||
union() {
|
||||
color("black") cube(tube_diameter, center = true);
|
||||
for (index_peg = [0 : 1 : 2]) {
|
||||
color("gray") rotate([0, 0, 90 * index_peg]) translate([tube_diameter / 2 + length_peg / 2, 0, 0]) cube([length_peg, tube_diameter - tube_thickness * 2, tube_diameter - tube_thickness * 2], center = true);
|
||||
}
|
||||
}
|
||||
// Shopping
|
||||
echo(str("Square tube joint: Tube joint Φ", tube_diameter, "mm tee - x1"));
|
||||
}
|
||||
|
||||
// test output
|
||||
translate([100, 0, 50 ]) square_tube_joint_tee(D_BEAM_SKELETON, T_BEAM_SKELETON);
|
||||
Reference in New Issue
Block a user