// Double mounting plate with shared base and tripod mount // Camera hole spacing: 24mm x 25mm pitch // 1/4" tripod hole in center, 3mm padding on all sides // Parameters - Camera hole spacing hole_spacing_x = 24; // mm (horizontal distance between hole centers) hole_spacing_y = 25; // mm (vertical distance between hole centers) hole_edge_margin = 3; // mm (margin from edge to first hole) plate_width = hole_spacing_x + 2 * hole_edge_margin; // 30mm total width per section plate_height = hole_spacing_y + 2 * hole_edge_margin; // 31mm total height per section plate_thickness = 2; // mm spacing = 10; // mm (gap between mounting sections) hole_diameter = 3.2; // mm (M3 clearance hole) padding = 3; // mm padding on all sides tripod_hole_diameter = 6.35; // mm (1/4" standard tripod screw) // Total dimensions with padding mount_area_width = plate_width * 2 + spacing; total_width = mount_area_width + 2 * padding; total_height = plate_height + 2 * padding; // Main module with shared base module double_plate_with_holes() { difference() { // Single continuous base rectangle with padding cube([total_width, total_height, plate_thickness]); // First set of 4 holes (left section) - 24mm x 25mm spacing // Bottom-left translate([padding + hole_edge_margin, padding + hole_edge_margin, -0.5]) cylinder(h = plate_thickness + 1, d = hole_diameter, $fn = 30); // Bottom-right (24mm from left hole) translate([padding + hole_edge_margin + hole_spacing_x, padding + hole_edge_margin, -0.5]) cylinder(h = plate_thickness + 1, d = hole_diameter, $fn = 30); // Top-left (25mm from bottom hole) translate([padding + hole_edge_margin, padding + hole_edge_margin + hole_spacing_y, -0.5]) cylinder(h = plate_thickness + 1, d = hole_diameter, $fn = 30); // Top-right (24mm x 25mm from bottom-left) translate([padding + hole_edge_margin + hole_spacing_x, padding + hole_edge_margin + hole_spacing_y, -0.5]) cylinder(h = plate_thickness + 1, d = hole_diameter, $fn = 30); // Second set of 4 holes (right section) - 24mm x 25mm spacing offset_x = padding + plate_width + spacing; // Bottom-left translate([offset_x + hole_edge_margin, padding + hole_edge_margin, -0.5]) cylinder(h = plate_thickness + 1, d = hole_diameter, $fn = 30); // Bottom-right (24mm from left hole) translate([offset_x + hole_edge_margin + hole_spacing_x, padding + hole_edge_margin, -0.5]) cylinder(h = plate_thickness + 1, d = hole_diameter, $fn = 30); // Top-left (25mm from bottom hole) translate([offset_x + hole_edge_margin, padding + hole_edge_margin + hole_spacing_y, -0.5]) cylinder(h = plate_thickness + 1, d = hole_diameter, $fn = 30); // Top-right (24mm x 25mm from bottom-left) translate([offset_x + hole_edge_margin + hole_spacing_x, padding + hole_edge_margin + hole_spacing_y, -0.5]) cylinder(h = plate_thickness + 1, d = hole_diameter, $fn = 30); // 1/4" tripod hole in center translate([total_width / 2, total_height / 2, -0.5]) cylinder(h = plate_thickness + 1, d = tripod_hole_diameter, $fn = 30); } } // Render the double plate double_plate_with_holes();