include include $fn = 90; module Rail_fixture(){ difference(){ union(){ //baseplate difference(){ union(){ translate([0,2.5,-10]) cuboid([40,10,75], rounding=1); //reinforcment rotate(90) rotate([0,68,0]) translate([40,0,32]) cuboid([10,10,90], rounding=5); //extra reinforcement // rotate(60) //rotate([-45,0,0]) // rotate([0,5,0]) // translate([-4,43,5]) // cuboid([10,10,55], rounding=5); } //reinforcment cutout translate([-21,-12.51,-45]) cube([20,10,10]); //m5 mounting holes rotate([90]) translate ([10,20,0]) cylinder (d=5.1, h=20.1, center=true); rotate([90]) translate ([10,-40,0]) cylinder (d=5.1, h=20.1, center=true); rotate([90]) translate ([-10,20,0]) cylinder (d=5.1, h=20.1, center=true); rotate([90]) translate ([-10,-40,0]) cylinder (d=5.1, h=20.1, center=true); } //lampmount difference(){ //body rotate(60) translate([34,15,0]) cuboid([85,80,30], anchor=CENTER, rounding=1); //cutouts from body translate([0,-10,0]) cuboid([70,20,55], anchor=CENTER, rounding=1); translate([20,-2.5,-20]) cube([40,80,40]); union(){ difference(){ rotate(60) translate([39,22,0]) cuboid([38,45,31], anchor=CENTER, rounding=1); translate([8,0,-20]) cube([20,100,50]); } } } } // holes for 6mm rods rotate ([30,90,0]) translate([0,15,-280]) cylinder (d=6.1, h=300, center=false); rotate ([30,90,0]) translate([0,65,-280]) cylinder (d=6.1, h=300, center=false); //holes for 6mm collars rotate ([30,90,0]) translate([0,15,5]) cylinder (d=11.1, h=50, center=false); rotate ([30,90,0]) translate([0,65,-25]) cylinder (d=11.1, h=20, center=false); } } module Offtheshelf() { rotate ([30,90,0]) translate([0,15,-280]) cylinder (d=6.1, h=300, center=false); rotate ([30,90,0]) translate([0,65,-280]) cylinder (d=6.1, h=300, center=false); translate([-80,92,-39]) cylinder (d=40.5, h= 50, center=false); translate([-80,92,11]) cylinder (d=35.5, h= 10, center=false); } module Lamp_fixture() { difference(){ union(){ rotate(60) translate([40,115,0]) cuboid([75,30,20], anchor=CENTER, rounding=1); translate([-80,92,-15]) cylinder (d=50.5, h= 30, center=false); } rotate ([30,90,0]) translate([0,15,-280]) cylinder (d=6.1, h=300, center=false); rotate ([30,90,0]) translate([0,65,-280]) cylinder (d=6.1, h=300, center=false); translate([-80,92,-39]) cylinder (d=40.5, h= 50, center=false); translate([-80,92,10.5]) cylinder (d=35.5, h= 10, center=false); rotate([120,90]) translate([0,-115,-15]) cylinder(d=7.8, h=20, center=false); rotate([120,90]) translate([0,-115,-85]) cylinder(d=7.8, h=20, center=false); } } color("grey") Rail_fixture(); color("ivory") Offtheshelf(); color("grey") Lamp_fixture();