// variables structure_width=2; //structure module structure_wall() { color("silver") linear_extrude(file = "estructura-sonda.dxf", layer = "0", height = structure_width, center = true, convexity = 10); } module structure_joint() { difference() { color ("SaddleBrown") cube(size=[10,10,98]); // top and bottom holes translate([5,5,-1]) cylinder(h=4, r=1.5); translate([5,5,98-3]) cylinder(h=4, r=1.5); // side holes translate([-1,5,98/2]) rotate([0,90,0]) cylinder(h=4, r=1.5); translate([5,3,98/2]) rotate([90,0,0]) cylinder(h=4, r=1.5); translate([-1,5,5]) rotate([0,90,0]) cylinder(h=4, r=1.5); translate([5,3,5]) rotate([90,0,0]) cylinder(h=4, r=1.5); translate([-1,5,98-5]) rotate([0,90,0]) cylinder(h=4, r=1.5); translate([5,3,98-5]) rotate([90,0,0]) cylinder(h=4, r=1.5); } } module structure() { // walls structure_wall(); rotate([0,-90,0]) structure_wall(); rotate([-90,-90,0]) structure_wall(); translate([0,98,0]) rotate([-90,-90,0]) structure_wall(); translate([98,0,0]) rotate([0,-90,0]) structure_wall(); translate([0,0,98]) structure_wall(); } module structure_support() { // joints structure_joint(); translate([98,0,0]) rotate([0,0,90]) structure_joint(); translate([0,98,0]) rotate([0,0,270]) structure_joint(); translate([98,98,0]) rotate([0,0,180]) structure_joint(); } module line_fastener(){ difference() { union() { color("white") cube(size=[10,10,3]); color("white") cube(size=[2,10,10]); translate([0,5,10]) rotate([0,90,0]) color("white") cylinder(r=5, h=2); } translate([-1,5,10]) rotate([0,90,0]) cylinder(r=1.5, h=5); translate([5,5,-1]) cylinder(r=1.5, h=5); } } module line_fasteners() { translate([0,0,99]) line_fastener(); translate([98,10,99]) rotate([0,0,180]) line_fastener(); translate([0,89,99]) line_fastener(); translate([98,98,99]) rotate([0,0,180]) line_fastener(); } // create all modules structure(); structure_support(); line_fasteners();