73 lines
3.0 KiB
OpenSCAD
73 lines
3.0 KiB
OpenSCAD
width = 8;
|
|
strength = 2;
|
|
hole_diameter = 2.3;
|
|
//hole_space = 45.5; // adafruit pwm module
|
|
//hole_space = 15.3; // adafruit 3-axis accelerometer
|
|
//hole_space = 49; // raspberry pi 3 model b
|
|
//hole_space = 46; // 2 channel relais card
|
|
//hole_space = 66.5; // 8-ch ssr relais card
|
|
//hole_space = 30; // 12 to 5v dc-dc converter
|
|
//hole_space = 46.5; // 8-ch relais card (mechanical)
|
|
//hole_space = 42; // orange pi
|
|
hole_space = 28; // DPS5005
|
|
|
|
if (width < 5) {
|
|
base(5);
|
|
} else {
|
|
base(width);
|
|
}
|
|
|
|
module base(width) {
|
|
linear_extrude(height = width, center = true, convexity = 10) import(file = "dxfimporttest.dxf", layer = "lower");
|
|
mountinghole(width);
|
|
|
|
if (hole_space > 31 && hole_space < 36.5) {
|
|
|
|
linear_extrude(height = width, center = true, convexity = 10) import(file = "dxfimporttest.dxf", layer = "upper");
|
|
// upper connections of release mechanism with mounting hole
|
|
translate([-strength, 36, -width/2]) cube([strength, hole_diameter + 2 + 1, width]);
|
|
translate([-8, 36, -width/2]) cube([1, hole_diameter + 2 + 1, width]);
|
|
translate([-6, hole_diameter * 2, -width/2]) cube([6, 34 - hole_diameter * 2, width]);
|
|
|
|
translate([0, hole_space, 0]) mountinghole(width);
|
|
|
|
} else {
|
|
|
|
if (hole_space > 36) {
|
|
difference() {
|
|
union() {
|
|
translate([0, hole_space - 34]) linear_extrude(height = width, center = true, convexity = 10) import(file = "dxfimporttest.dxf", layer = "upper");
|
|
// upper connections of release mechanism with mounting hole
|
|
translate([-strength, 34, -width/2]) cube([strength, hole_diameter + hole_space - 29, width]);
|
|
translate([-8, 36, -width/2]) cube([1, hole_diameter + hole_space - 31, width]);
|
|
translate([-6, hole_diameter * 2, -width/2]) cube([6, 34 - hole_diameter * 2, width]);
|
|
translate([0, hole_space, 0]) mountinghole(width);
|
|
}
|
|
translate([-6, hole_diameter + hole_space, 0]) rotate([0, 90, 0]) cylinder(15, d=hole_diameter, d=hole_diameter, $fn=25);
|
|
}
|
|
|
|
} else {
|
|
|
|
translate([0, hole_space, 0]) mountinghole(width);
|
|
translate([0, -5, 0]) linear_extrude(height = width, center = true, convexity = 10) import(file = "dxfimporttest.dxf", layer = "upper");
|
|
translate([-6, hole_diameter * 2, -width/2]) cube([6, 35 - hole_diameter * 4, width]);
|
|
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
|
|
module mountinghole(width) {
|
|
difference() {
|
|
union() {
|
|
// lower cube and mounting hole
|
|
translate([-6, 0, -width/2]) cube([6, hole_diameter * 2, width]);
|
|
translate([-2, hole_diameter, 0]) rotate([0, 90, 0]) cylinder(4, d=hole_diameter + 2, d=hole_diameter + 2, $fn=25);
|
|
}
|
|
translate([-10, hole_diameter, 0]) rotate([0, 90, 0]) cylinder(15, d=hole_diameter, d=hole_diameter, $fn=25);
|
|
}
|
|
}
|
|
|
|
|