Some fine tuning + countersunk nut + connector hole

This commit is contained in:
Thomas Kolb 2019-11-17 19:15:33 +01:00
parent 7a1b6fd502
commit 791eb1cf93
3 changed files with 69 additions and 26 deletions

View file

@ -2,7 +2,8 @@
module top_outer_plate() { module top_outer_plate() {
difference() { difference() {
circle(d=lamp_dia); circle(d=lamp_dia);
circle(d=screw_dia); //circle(d=screw_dia);
circle(r=nut_outer_radius, $fn=6);
}; };
} }
@ -11,18 +12,18 @@ module top_inner_plate() {
union() { union() {
difference() { difference() {
circle(d=lamp_dia); circle(d=lamp_dia);
circle(d=acryl_outer_dia); circle(d=acryl_outer_dia+acryl_tolerance);
} }
circle(d=acryl_inner_dia); circle(d=acryl_inner_dia-acryl_tolerance);
} }
union() { union() {
for(angle = [0:45:7*45]) { for(angle = [0:45:7*45]) {
rotate(angle) translate([tooth_distance/2, holder_offset]) rotate(angle) translate([tooth_distance/2, holder_offset])
square([tooth_width, wood_thickness], center=true); square([tooth_width+tooth_hole_tolerance, wood_thickness+tooth_hole_tolerance], center=true);
rotate(angle) translate([-tooth_distance/2, holder_offset]) rotate(angle) translate([-tooth_distance/2, holder_offset])
square([tooth_width, wood_thickness], center=true); square([tooth_width+tooth_hole_tolerance, wood_thickness+tooth_hole_tolerance], center=true);
} }
} }
@ -42,9 +43,6 @@ module cable_holes() {
} }
} }
module box_tooth_holes() {
}
module bottom_inner_plate() { module bottom_inner_plate() {
difference() { difference() {
top_inner_plate(); top_inner_plate();
@ -62,8 +60,8 @@ module bottom_outer_plate() {
module base_plate() { module base_plate() {
difference() { difference() {
top_outer_plate(); circle(d=lamp_dia);
box_tooth_holes(); circle(d=screw_dia);
box_wall_tooth_holes(); box_wall_tooth_holes();
} }
} }
@ -122,7 +120,24 @@ module box_wall_tooth_holes() {
rotate(angle) rotate(angle)
for(i = [0:teeth_topbottom-1]) { for(i = [0:teeth_topbottom-1]) {
translate([start_pos_tb + i*tooth_distance, bottom_box_wall_offset]) translate([start_pos_tb + i*tooth_distance, bottom_box_wall_offset])
square([tooth_width, tooth_height], center=true); square([tooth_width+tooth_hole_tolerance, tooth_height+tooth_hole_tolerance], center=true);
} }
} }
} }
module box_wall_with_holes() {
difference() {
box_wall();
translate([0, dc_conn_offset]) circle(d=dc_conn_dia);
}
}
module foot_piece() {
intersection() {
difference() {
circle(r=foot_outer_radius);
circle(r=foot_inner_radius);
}
polygon(points=[ [0,0], lamp_dia/2 * [ cos(foot_angle/2), sin(foot_angle/2) ], lamp_dia/2 * [ cos(-foot_angle/2), sin(-foot_angle/2) ] ]);
}
}

View file

@ -1,15 +1,20 @@
include <Lampe_Parameter.scad>; include <Lampe_Parameter.scad>;
include <Lampe_2DFormen.scad>; include <Lampe_2DFormen.scad>;
spacing = 1; spacing = 2;
translate([0, 0]) top_outer_plate(); %color([0.0, 0.0, 0.8], 0.5) translate([0, 0, -1]) square([600, 300]);
translate([lamp_dia+spacing, 0]) top_inner_plate();
translate([2*(lamp_dia+spacing), 0]) bottom_inner_plate();
translate([0, lamp_dia+spacing]) bottom_outer_plate();
translate([1*(lamp_dia+spacing), lamp_dia+spacing]) base_plate();
ledstrip_holder_base_pos = [ base_offset = [60, 60];
second_offset = [lamp_dia/2, -lamp_dia/6+4*spacing];
translate(base_offset + [0, 0]) top_outer_plate();
translate(base_offset + [lamp_dia+spacing, 0]) top_inner_plate();
translate(base_offset + [2*(lamp_dia+spacing), 0]) bottom_inner_plate();
translate(base_offset + second_offset + [0, lamp_dia+spacing]) bottom_outer_plate();
translate(base_offset + second_offset + [1*(lamp_dia+spacing), lamp_dia+spacing]) base_plate();
ledstrip_holder_base_pos = [350, -50] + [
inner_height/2 + tooth_height - lamp_dia/2, inner_height/2 + tooth_height - lamp_dia/2,
1.5*lamp_dia + spacing - holder_width/2]; 1.5*lamp_dia + spacing - holder_width/2];
@ -19,11 +24,22 @@ for(i = [1:8]) {
rotate(90) ledstrip_holder(); rotate(90) ledstrip_holder();
} }
translate([230, 30]) translate([310, 200])
rotate(0) rotate(90)
for(x = [1:1]) { for(x = [1:1]) {
for(y = [1:8]) { for(y = [1:7]) {
translate([x*(spacing+bottom_box_height+tooth_height*2), y*(spacing + bottom_box_wall_width)]) translate([x*(spacing+bottom_box_height+tooth_height*2), y*(spacing + bottom_box_wall_width)])
rotate(90) box_wall(); rotate(90) box_wall();
} }
} }
translate([30, 145])
rotate(0) box_wall_with_holes();
translate([-20, 190])
for(x = [0:3]) {
for(y = [0:1]) {
translate([x * (foot_outer_radius - foot_inner_radius + 2), y * 25])
foot_piece();
}
}

View file

@ -1,27 +1,39 @@
wood_thickness = 5; wood_thickness = 3;
acryl_thickness=5; acryl_thickness=5;
acryl_tolerance = 0.5;
acryl_outer_dia = 100; acryl_outer_dia = 100;
acryl_inner_dia = 94; acryl_inner_dia = 94;
lamp_dia = acryl_outer_dia + 10; lamp_dia = acryl_outer_dia + 10;
screw_dia = 6; screw_dia = 4.5;
nut_outer_radius = 7/2 * 2 / sqrt(3) + 0.2;
acryl_height = 300; acryl_height = 300;
inner_height = acryl_height - 10; inner_height = acryl_height - 10;
bottom_box_height = 50; bottom_box_height = 50;
bottom_box_wall_width = 37.5; bottom_box_wall_width = 39.2;
bottom_box_wall_offset = 48; bottom_box_wall_offset = 49;
tooth_height = wood_thickness; tooth_height = wood_thickness;
tooth_width = 5; tooth_width = 5;
tooth_distance = 2*tooth_width; tooth_distance = 2*tooth_width;
tooth_hole_tolerance = 0.2;
holder_width = 20; holder_width = 20;
holder_offset = holder_width+wood_thickness*1.6; holder_offset = holder_width+wood_thickness*2;
cable_hole_spacing = tooth_width; cable_hole_spacing = tooth_width;
foot_inner_radius = lamp_dia/2 - 20;
foot_outer_radius = lamp_dia/2 - 10;
foot_angle = 22.5;
dc_conn_dia = 8;
dc_conn_offset = bottom_box_height/2 - 10;
$fn=50; $fn=50;