This commit is contained in:
dingfeng.wong
2025-07-22 00:40:03 +08:00
parent 71946ec4f3
commit cb6cf91660
+22 -2
View File
@@ -4,6 +4,9 @@
// Import PCIe holder functionality // Import PCIe holder functionality
include <holder.scad>; include <holder.scad>;
// Import hexagon functionality for M3 nut holes
include <hexagon.scad>;
// Trapezium module - creates a centralized trapezoid shape (2D) // Trapezium module - creates a centralized trapezoid shape (2D)
// Parameters: // Parameters:
// base_width: width of the bottom edge // base_width: width of the bottom edge
@@ -62,11 +65,13 @@ module trapezium_with_rectangle_2d(
//trapezium_2d(base_width = 20, top_width = 10, height = 15); //trapezium_2d(base_width = 20, top_width = 10, height = 15);
//translate([30, 0]) rectangle_2d(width = 8, height = 5); //translate([30, 0]) rectangle_2d(width = 8, height = 5);
// Combined shape extruded to 3D: // Combined shape extruded to 3D with M3 nut hole:
rect_height_val = 1.7; rect_height_val = 1.7;
extrude_height = 15; extrude_height = 15;
linear_extrude(height = extrude_height) { difference() {
// Main extruded shape
linear_extrude(height = extrude_height) {
trapezium_with_rectangle_2d( trapezium_with_rectangle_2d(
trap_base_width = 10.95, trap_base_width = 10.95,
trap_top_width = 5.5, trap_top_width = 5.5,
@@ -75,4 +80,19 @@ linear_extrude(height = extrude_height) {
rect_height = rect_height_val, rect_height = rect_height_val,
rect_offset = -rect_height_val/2 // Half of rectangle height to center it at base edge rect_offset = -rect_height_val/2 // Half of rectangle height to center it at base edge
); );
}
// M3 nut hole on top face of trapezium (extended outward for clean cut)
translate([0, 4.0/2 + (m3_nut_height + 2)/2, extrude_height/2]) {
rotate([90, 0, 0]) {
hexagon_3d(m3_nut_width, m3_nut_height + 2); // Extra height for clean cut
}
}
// M3 bolt hole through entire trapezium
translate([0, 4.0/2, extrude_height/2]) {
rotate([90, 0, 0]) {
cylinder(h = 20, d = 3.2, center = true, $fn = 32); // Long M3 clearance hole
}
}
} }