diff --git a/Lampe_2DFormen.scad b/Lampe_2DFormen.scad index cf8393a..3b6be01 100644 --- a/Lampe_2DFormen.scad +++ b/Lampe_2DFormen.scad @@ -2,7 +2,8 @@ module top_outer_plate() { difference() { 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() { difference() { 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() { for(angle = [0:45:7*45]) { 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]) - 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() { difference() { top_inner_plate(); @@ -62,8 +60,8 @@ module bottom_outer_plate() { module base_plate() { difference() { - top_outer_plate(); - box_tooth_holes(); + circle(d=lamp_dia); + circle(d=screw_dia); box_wall_tooth_holes(); } } @@ -122,7 +120,24 @@ module box_wall_tooth_holes() { rotate(angle) for(i = [0:teeth_topbottom-1]) { 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) ] ]); + } +} diff --git a/Lampe_2DPanel.scad b/Lampe_2DPanel.scad index 08e2b9e..5bcbc8e 100644 --- a/Lampe_2DPanel.scad +++ b/Lampe_2DPanel.scad @@ -1,15 +1,20 @@ include ; include ; -spacing = 1; +spacing = 2; -translate([0, 0]) top_outer_plate(); -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(); +%color([0.0, 0.0, 0.8], 0.5) translate([0, 0, -1]) square([600, 300]); -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, 1.5*lamp_dia + spacing - holder_width/2]; @@ -19,11 +24,22 @@ for(i = [1:8]) { rotate(90) ledstrip_holder(); } -translate([230, 30]) -rotate(0) +translate([310, 200]) +rotate(90) 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)]) 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(); + } +} diff --git a/Lampe_Parameter.scad b/Lampe_Parameter.scad index fa5d0d3..8b58594 100644 --- a/Lampe_Parameter.scad +++ b/Lampe_Parameter.scad @@ -1,27 +1,39 @@ -wood_thickness = 5; +wood_thickness = 3; acryl_thickness=5; +acryl_tolerance = 0.5; acryl_outer_dia = 100; acryl_inner_dia = 94; 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; inner_height = acryl_height - 10; bottom_box_height = 50; -bottom_box_wall_width = 37.5; -bottom_box_wall_offset = 48; +bottom_box_wall_width = 39.2; +bottom_box_wall_offset = 49; tooth_height = wood_thickness; tooth_width = 5; tooth_distance = 2*tooth_width; +tooth_hole_tolerance = 0.2; + holder_width = 20; -holder_offset = holder_width+wood_thickness*1.6; +holder_offset = holder_width+wood_thickness*2; 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;