update project structure
This commit is contained in:
65
resource/sbc/rockpro/rockpro.scad
Normal file
65
resource/sbc/rockpro/rockpro.scad
Normal file
@ -0,0 +1,65 @@
|
||||
include <../common.scad>
|
||||
|
||||
// All coordinates are in [x,y], or [x,y,z] format
|
||||
|
||||
pcbDimensions = [79.41, 127.06]; // [x,y]
|
||||
pcbThickness = 1.22;
|
||||
|
||||
// TODO move mount points
|
||||
mountPoints = [[0,0,0], [0,118,0], [71.0,118, 0], [71.0,0,0]];
|
||||
|
||||
module mountPoints_N(cylHeight, cylRad1, cylRad2, cylFn, center) {
|
||||
for (i=[0:3]) {
|
||||
p = mountPoints[i];
|
||||
translate(v=[p[0], p[1], p[2]])
|
||||
cylinder(r1=cylRad1, r2=cylRad2, h=cylHeight, $fn=cylFn, center=center);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module pcb() {
|
||||
cube(size=[pcbDimensions[0], pcbDimensions[1], pcbThickness]);
|
||||
}
|
||||
|
||||
// defined on x-z plane, start at top of pcb
|
||||
module frontFaceIOCutouts_N() {
|
||||
translate(v=[9,0,0])
|
||||
cube(size=[26.0,inf50,7.5]);
|
||||
|
||||
translate(v=[35,0,0])
|
||||
cube(size=[35,inf50,17.9]);
|
||||
}
|
||||
module backFaceIOCutouts_N() {
|
||||
translate(v=[9,0,0])
|
||||
cube(size=[61,inf50,14]);
|
||||
}
|
||||
|
||||
|
||||
module cutoutProfile_N() {
|
||||
|
||||
color([1,0,1])
|
||||
union() {
|
||||
mirror(v=[0,1,0])
|
||||
translate(v=[0,-1,pcbThickness])
|
||||
frontFaceIOCutouts_N();
|
||||
|
||||
translate(v=[0,pcbDimensions[1]-1, pcbThickness])
|
||||
backFaceIOCutouts_N();
|
||||
}
|
||||
|
||||
color([0.3,0.8,0.1])
|
||||
difference() {
|
||||
pcb();
|
||||
translate(v=[3.75, 3.75])
|
||||
mountPoints_N(10,2,2,10,true);
|
||||
}
|
||||
}
|
||||
|
||||
//cutoutProfile_N();
|
||||
|
||||
|
||||
//mountPoints_N(10,2,2, true);
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user