Project

General

Profile

include <board_components.scad>;

board=[170,130,1.2];
cart_loc=[136.83,95.453-40];
power_loc=[21.463,board.y,0];
switch_loc=[34.51,board.y,0];
hdmi_loc=[51,board.y+2+1,0];
db15_loc=[81,board.y+2,0];
jack_loc = [(102.1+110)/2,board.y,0];
vertusb2_loc = [126.428,board.y,0];
vertusb1_loc = [116.538,board.y,0];
sdcard_loc = [(133.9+162.7)/2,board.y,0];
sio_loc=[21,5,0];
db9_loc1=[60.6,0,0];
db9_loc2=[91.8,0,0];
db9_loc3=[123.1,0,0];
db9_loc4=[154.37,0,0];
holerad=3.6/2;

cutout=[[158.6,168.4],[59-40,64.9-40,66.6-40,128.6-40,130.6-40,136.7-40]];
holes=[[6.937,159.3-40],[6.74,66.17-40],[21.46,89.166-40],[109.252,134.86-40],[117.649,89.166-40],[166.223,159.3-40],[154.179,61.783-40]];

module boardcore()
{
translate([0,0,-board.z])
linear_extrude(height=board.z,center=false)
polygon([
[0,0],
[board.x,0],
[board.x,cutout.y[0]],
[cutout.x[0],cutout.y[0]],
[cutout.x[0],cutout.y[1]],
[cutout.x[1],cutout.y[1]],
[board.x,cutout.y[2]],
[board.x,cutout.y[3]],
[cutout.x[1],cutout.y[4]],
[cutout.x[0],cutout.y[4]],
[cutout.x[0],cutout.y[5]],
[board.x,cutout.y[5]],
[board.x,board.y],
[0,board.y]
]);
}

module board()
{
//board
color("teal")
difference()
{
//translate([0,0,-board.z])
//cube([board.x,board.y,board.z],center=false);
boardcore();
translate([holes[0].x,holes[0].y,-board.z])
cylinder(h=board.z,r=holerad,center=false);
translate([holes[1].x,holes[1].y,-board.z])
cylinder(h=board.z,r=holerad,center=false);
translate([holes[2].x,holes[2].y,-board.z])
cylinder(h=board.z,r=holerad,center=false);
translate([holes[3].x,holes[3].y,-board.z])
cylinder(h=board.z,r=holerad,center=false);
translate([holes[4].x,holes[4].y,-board.z])
cylinder(h=board.z,r=holerad,center=false);
translate([holes[5].x,holes[5].y,-board.z])
cylinder(h=board.z,r=holerad,center=false);
translate([holes[6].x,holes[6].y,-board.z])
cylinder(h=board.z,r=holerad,center=false);
}

//sio port
translate(sio_loc)
sioport();

//db9
translate(db9_loc1)
db9();

translate(db9_loc2)
db9();

translate(db9_loc3)
db9();

translate(db9_loc4)
db9();

translate(sdcard_loc)
rotate([0,0,180]) sdcard();

translate(vertusb1_loc)
rotate([0,0,180]) vertusb();

translate(vertusb2_loc)
rotate([0,0,180]) vertusb();

translate(jack_loc)
rotate([0,0,180]) jack();

translate(db15_loc)
rotate([0,0,180]) db9();

translate(hdmi_loc)
rotate([0,0,180]) hdmi();

translate(switch_loc)
rotate([0,0,180]) switch();

translate(power_loc)
rotate([0,0,180]) power_in();

translate(cart_loc)
rotate([0,0,270])
cart();
}

//board();
(1-1/3)