OpenSCAD
$fn = 50;
module meniscus(h=10, r=1) {
difference() {
translate([r/2+0.1, r/2+0.1, 0]) {
cube([r+0.2, r+0.1, h+0.2], center=true);
}
cylinder(h=h+0.2, r=r, center=true);
}
}
module cube_round_corner(w=10, h=10, z=10, r=1) {
difference() {
cube([w, h, z], center=true);
translate([(w/2)-r, (h/2)-r]) {
rotate(0) {
meniscus(z, r);
}
}
translate([(-w/2)+r, (h/2)-r]) {
rotate(90) {
meniscus(z, r);
}
}
translate([(-w/2)+r, (-h/2)+r]) {
rotate(180) {
meniscus(z, r);
}
}
translate([(w/2)-r, (-h/2)+r]){
rotate(270) {
meniscus(z, r);
}
}
}
}
module screw() {
difference() {
cube([7, 7, 2.5], center=true);
translate([0, 0, -5]) {
cylinder(10, 1.2, 1.2);
}
}
}
module arduboy() {
difference() {
union() {
cube_round_corner(53, 85, 2.5, 2);
translate([-25.5, -41, 0]) {
cube([51, 82, 2]);
}
}
cube_round_corner(48, 80, 10, 3);
translate([20, 2, -5]) {
cube([10, 22, 10]);
}
}
translate([-21, -37, 0]) {
screw();
}
translate([-21, 37, 0]) {
screw();
}
translate([21, -37, 0]) {
screw();
}
translate([21, 37, 0]) {
screw();
}
}
arduboy();

列印

精度不高的3D印表機

由於司徒的3D印表機精度不佳,因此,只好把凸出物移平

完美結合

使用螺絲M1.6x6

底面

側邊

上邊

側邊

完成