// Backdrop Holder inches = 25.4; eps = 0.01; $fn = 100; id = 0.709 * inches + 0.1; ir = id/2; th = 2; le = 1 * inches; module Tube(le) { difference() { cylinder(h = le, d = id + 2*th); translate([0, 0, -eps]) cylinder(h = le + 2*eps, d = id); } // cylinder(h = 2000, d = 2); } module BackTubes() { rotate([0, 90, 0]) Tube(2*le); rotate([90 - 56.3, 0, 0]) Tube(2*le); rotate([90, 0, 0]) Tube(2*le); } module Back() { BackTubes(); translate([0, 0, -ir - th]) linear_extrude(th) projection(cut = false) BackTubes(); } *Back(); module BottomTubes() rotate([0, 0, -90]) { rotate([0, 90, 0]) Tube(le); rotate([0, -90, 0]) Tube(le); rotate([-90, 0, 0]) Tube(3*le); rotate([36.9, 0, 0]) rotate([-90, 0, 0]) Tube(3*le); Tube(2*le); } module Bottom() { BottomTubes(); translate([0, 0, -ir - th]) linear_extrude(th) projection(cut = false) BottomTubes(); } !Bottom(); module TopTubes() rotate([0, 0, -90]) { rotate([0, -90-56.3, 0]) Tube(2*le); rotate([-90, 0, 0]) Tube(3*le); rotate([-36.9, 0, 0]) rotate([-90, 0, 0]) Tube(3*le); rotate([180, 0, 0]) Tube(1.5*le); } module Top() { TopTubes(); translate([0, 0, ir + th]) linear_extrude(th) projection(cut = false) TopTubes(); } *Top(); module Everything() { Bottom(); translate([48*inches, 0, 0]) rotate([0, 0, 180]) Bottom(); translate([0, 0, 36*inches]) Top(); translate([48*inches, 0, 36*inches]) rotate([0, 0, 180]) mirror([0, 1, 0]) Top(); translate([0, 24*inches, 0]) Back(); translate([48*inches, 24*inches, 0]) rotate([0, 0, 180]) mirror([0, 1, 0]) Back(); }