71 lines
3.4 KiB
OpenSCAD
71 lines
3.4 KiB
OpenSCAD
// 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(); |