angle brackets for mounting panel in TeleLCO
authorBdale Garbee <bdale@gag.com>
Wed, 16 May 2018 04:44:53 +0000 (22:44 -0600)
committerBdale Garbee <bdale@gag.com>
Wed, 16 May 2018 04:44:53 +0000 (22:44 -0600)
mechanical/AngleBracket.scad [new file with mode: 0644]
mechanical/Notebook

diff --git a/mechanical/AngleBracket.scad b/mechanical/AngleBracket.scad
new file mode 100644 (file)
index 0000000..dc0bf0d
--- /dev/null
@@ -0,0 +1,128 @@
+/*
+Aluminum Extrusion 90 Degree corner bracket
+Parametric
+Author: BinaryConstruct
+*/
+
+/* [Basic] */
+
+// length
+size_x = 1; // [1:4]
+
+// width
+size_y = 1; // [1:4]
+
+// height
+size_z = 2; // [1:4]
+
+// include holes in vertical side
+vertical_holes = 0; // [0:1]
+
+// include extra diagonals
+incremental_supports = 1; // [0:1]
+
+// include alignment studs
+alignment_studs = 0; // [0:1]
+
+// slot holes
+slot_holes = 0; // [0:1]
+
+// screw hole diameter
+hole_d = 3.2;
+
+
+/* [Advanced] */
+// thickness of base plates
+plate_thickness = 4; // [2:4]
+
+// thickenss of angled support
+side_thickenss = 4; // [2:4]
+
+// size of extrusion increment (20mm)
+base_size = 14;
+
+// size of alignement stud
+alignment_stud_diameter = 5; 
+alignment_stud_height = 1;
+slot_length = 3;
+
+difference()
+{
+    union(){
+        difference(){
+            cube([size_x * base_size,size_y * base_size,size_z * base_size]);
+            
+            // hollow cut
+            translate([plate_thickness,side_thickenss,plate_thickness]) {
+                cube([size_x * base_size, (size_y * base_size) - (side_thickenss * 2),base_size * size_z]);
+            }
+        }
+        
+        if (incremental_supports == 1) {
+            for (y=[base_size : base_size : (size_y-1) * base_size])
+                translate([0,y-side_thickenss/2,z])
+                cube([size_x * base_size,side_thickenss,size_z * base_size]);
+        }
+        
+        if (alignment_studs == 1) {
+            // vertical holes
+            for(z=[base_size / 2 : base_size : (size_z * base_size) - (base_size / 2)])
+            for(y=[base_size / 2 : base_size : (size_y * base_size) - (base_size / 2)])
+            {
+                translate([0,y,z-alignment_stud_diameter]) 
+                rotate([0,90,0]) 
+                translate([0,0,-alignment_stud_height]) 
+                { cylinder($fn=16, r=alignment_stud_diameter/2,h=alignment_stud_height); }
+                
+                translate([0,y,z+alignment_stud_diameter]) 
+                rotate([0,90,0]) 
+                translate([0,0,-alignment_stud_height]) 
+                { cylinder($fn=16, r=alignment_stud_diameter/2,h=alignment_stud_height); }
+            }
+        }
+    }
+    
+    // diagonal cut   
+    translate([plate_thickness/2,size_y * base_size+1,plate_thickness/2])
+    rotate([90,0,0])
+        linear_extrude(size_y * base_size+2) {
+            polygon([
+                [size_x * base_size,0], 
+                [size_x * base_size,size_z * base_size],
+                [0,size_z * base_size]]);
+        }
+      
+    // bottom holes
+    for(x=[base_size / 2  : base_size : (size_x * base_size) - (base_size / 2)])
+    for(y=[base_size / 2  : base_size : (size_y * base_size) - (base_size / 2)])
+    {
+        
+        translate([x,y,-plate_thickness/2])
+        union()
+        { 
+            cylinder($fn=16, r=hole_d/2,h=plate_thickness*2); 
+            if (slot_holes == 1) {
+                
+                translate([0,-hole_d/2,0])
+                cube([slot_length,hole_d,plate_thickness*2]);
+                
+                translate([slot_length,0,0])
+                cylinder($fn=16, r=hole_d/2,h=plate_thickness*2); 
+            }
+        }
+    }
+
+    // vertical holes
+    if (vertical_holes == 1) {
+        for(z=[base_size / 2 : base_size : (size_z * base_size) - (base_size / 2)])
+        for(y=[base_size / 2 : base_size : (size_y * base_size) - (base_size / 2)])
+        {
+            translate([0,y,z]) 
+            rotate([0,90,0]) 
+            translate([0,0,-plate_thickness/2]) 
+            { cylinder($fn=16, r=hole_d/2,h=plate_thickness*2); }
+        }
+    }
+
+}
+
index 07935af895d87df9e8083c022bec8c8b076512cd..dbde5fb5288816c42bd0a0b718410e4af46242bc 100644 (file)
@@ -1,3 +1,8 @@
+AngleBracket.scad
+       3D-printable bracket for holding panel in on TeleLCO, from a
+       parametric angle bracket generator found on Thingiverse and modified
+       to meet our needs.
+
 M22_Powerpole_Mount.zip
        3D-printable panel mount for Anderson Powerpole connectors,
        used for battery charger attachment to TeleFire series, acquired