$fn=64; // Parameters panel_length = 100; panel_width = 100; panel_thickness = 3; rail_width = 4; rail_height = 8; // Total height from the bottom of the panel rail_spacing = 15; // Distance between rails in a single pair pair_spacing = 50; // Distance between the centers of the two pairs module quarter_panel_with_rails() { union() { // Main base panel translate([-panel_length/2, -panel_width/2, 0]) cube([panel_length, panel_width, panel_thickness]); // Rail Pair 1 translate([-panel_length/2, -pair_spacing/2 - rail_spacing/2 - rail_width/2, 0]) cube([panel_length, rail_width, rail_height]); translate([-panel_length/2, -pair_spacing/2 + rail_spacing/2 - rail_width/2, 0]) cube([panel_length, rail_width, rail_height]); // Rail Pair 2 translate([-panel_length/2, pair_spacing/2 - rail_spacing/2 - rail_width/2, 0]) cube([panel_length, rail_width, rail_height]); translate([-panel_length/2, pair_spacing/2 + rail_spacing/2 - rail_width/2, 0]) cube([panel_length, rail_width, rail_height]); } } // Render the object quarter_panel_with_rails();