vu8m update, added screws and m1 hd mount
removed spacer() as obsolete
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
SBC Case Builder Library Copyright 2022 Edward A. Kisiel, hominoid @ www.forum.odroid.com
|
||||
|
||||
Contributions:
|
||||
hk_vu8m(brackets),u_bracket(),spacer() Copyright 2022 Tomek Szczęsny, mctom @ www.forum.odroid.com
|
||||
hk_vu8m(brackets),u_bracket(),screw(),m1_hdmount() Copyright 2022 Tomek Szczęsny, mctom @ www.forum.odroid.com
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -40,13 +40,14 @@
|
||||
20220406 version 1.2.2 hk_wb2(), hk_vu7c(gpio_ext, tabs), hdmi_a(), header_f(pins, height), pcb_pad(pads),
|
||||
embelished boom_speaker(), changed boom_speaker_holder(style, tolerance), added boom_speaker_strap(),
|
||||
adjusted access_port(), access_cover(), added @mctom's hk_vu8m(bracket), u_bracket(), spacer()
|
||||
2022xxxx version 1.2.x Nightly Not Released
|
||||
2022xxxx version 1.2.x removed spacer(); added screw(); modified hk_vu8m(); added m1_hdmount();
|
||||
|
||||
place(x,y,z,size_x,size_y,rotation,side)
|
||||
add(type,loc_x,loc_y,loc_z,size_x,size_y,size_z,rotation,face,side,case_z,data_1,data_2,data_3,data_4)
|
||||
sub(type,loc_x,loc_y,loc_z,size_x,size_y,size_z,rotation,face,side,case_z,data_1,data_2,data_3,data_4)
|
||||
|
||||
art(scale_d1,type,size_z)
|
||||
screw(screw[d, l, style])
|
||||
slab(size, radius)
|
||||
slab_r(size, radius)
|
||||
slot(hole,length,depth)
|
||||
@@ -77,6 +78,8 @@
|
||||
hk_uart()
|
||||
hk_vu7c(gpio_ext, tabs)
|
||||
hk_vu8m(bracket)
|
||||
u_bracket()
|
||||
m1_hdmount()
|
||||
hdmi_a()
|
||||
header_f(pins, height)
|
||||
pcb_pad(pads)
|
||||
@@ -313,6 +316,31 @@ module art(scale_d1,size_z,type) {
|
||||
|
||||
}
|
||||
|
||||
// General purpose screw
|
||||
// screw(screw[d, l, style])
|
||||
// d - thread diameter
|
||||
// l - thread length
|
||||
// style - screw head style
|
||||
//
|
||||
// Styles:
|
||||
// 0 - Mushroom head, 5mm diameter
|
||||
|
||||
module screw(screw_type) {
|
||||
d = screw_type[0];
|
||||
l = screw_type[1];
|
||||
style = screw_type[2];
|
||||
|
||||
// Head
|
||||
if(style == 0) {
|
||||
difference() {
|
||||
translate([ 0, 0, -0.3]) sphere(2.7);
|
||||
translate([-10,-10,-10]) cube([20,20,10]);
|
||||
translate([-10,-10, 2]) cube([20,20,10]);
|
||||
}
|
||||
}
|
||||
// Thread
|
||||
rotate([180,0,0]) cylinder(d=d, h=l);
|
||||
}
|
||||
|
||||
/* slab module */
|
||||
module slab(size, radius) {
|
||||
@@ -1319,7 +1347,6 @@ module hk_vu7c(gpio_ext, tabs) {
|
||||
translate([59,52.69,-1.59]) ic(9);
|
||||
}
|
||||
|
||||
|
||||
// hk vu8m lcd display
|
||||
module hk_vu8m(brackets) {
|
||||
$fn = 90;
|
||||
@@ -1336,7 +1363,7 @@ module hk_vu8m(brackets) {
|
||||
lcd_clearance = [0.15, 0.1, 0];
|
||||
pcb_size = [14,24,1.6];
|
||||
hole = 4.31;
|
||||
standoffs = 6;
|
||||
spacer_size = [5.5, 6, 2.5, 0, 0, 0, 1, 1, 0, 0, 0, 0];
|
||||
|
||||
// "body"
|
||||
color([0.1,0.1,0.1])
|
||||
@@ -1360,35 +1387,50 @@ module hk_vu8m(brackets) {
|
||||
translate([ 190.5, body_size[1]-4.5, -1]) cylinder(d=hole, h=5);
|
||||
|
||||
}
|
||||
// 4x standoffs
|
||||
translate([ 44.5, 4.5, -standoffs]) spacer();
|
||||
translate([ 183.5, 4.5, -standoffs]) spacer();
|
||||
translate([ 44.5, body_size[1]-4.5, -standoffs]) spacer();
|
||||
translate([ 183.5, body_size[1]-4.5, -standoffs]) spacer();
|
||||
// 4x standoffs
|
||||
color([0.6,0.6,0.6]) {
|
||||
translate([ 44.5, 4.5, 0]) standoff(spacer_size);
|
||||
translate([ 183.5, 4.5, 0]) standoff(spacer_size);
|
||||
translate([ 44.5, body_size[1]-4.5, 0]) standoff(spacer_size);
|
||||
translate([ 183.5, body_size[1]-4.5, 0]) standoff(spacer_size);
|
||||
}
|
||||
|
||||
// LCD panel
|
||||
color([0.6, 0.6, 0.65])
|
||||
translate([3.76, 9, body_size[2]-lcd_size[2]]+lcd_clearance)
|
||||
cube(lcd_size);
|
||||
|
||||
// Front glass
|
||||
// It's actually thinner and glued, but for the sake of simplicity...
|
||||
color([0.2, 0.2, 0.2], 0.9)
|
||||
translate([0.86, 1.38, body_size[2] + 0.01])
|
||||
difference(){
|
||||
slab(glass_size, rb);
|
||||
//translate([11.26, 11.28, -1]) cube(view_size);
|
||||
|
||||
}
|
||||
|
||||
// PCB stub
|
||||
color([0.1,0.1,0.1])
|
||||
translate([20.5, 24.5, -3])
|
||||
cube(pcb_size);
|
||||
|
||||
//Brackets
|
||||
if(brackets) {
|
||||
translate([44.5 - 7.5, body_size[1]/2 + m1_screw_spacing/2 - 7.5, - standoffs - 2]) u_bracket();
|
||||
translate([44.5 - 7.5, body_size[1]/2 - m1_screw_spacing/2 + 7.5, - standoffs - 2 + 1.93]) rotate([180,0,0]) u_bracket();
|
||||
translate([44.5 - 7.5, body_size[1]/2 + m1_screw_spacing/2 - 7.5, - spacer_size[1] - 2]) u_bracket();
|
||||
translate([44.5 - 7.5, body_size[1]/2 - m1_screw_spacing/2 + 7.5, - spacer_size[1] - 2 + 1.93]) rotate([180,0,0]) u_bracket();
|
||||
|
||||
|
||||
//Screws
|
||||
color([0.1,0.1,0.1]) {
|
||||
translate([ 44.5, 4.5, -8]) rotate([180,0,0]) screw([3,7,0]);
|
||||
translate([ 183.5, 4.5, -8]) rotate([180,0,0]) screw([3,7,0]);
|
||||
translate([ 44.5, body_size[1]-4.5, -8]) rotate([180,0,0]) screw([3,7,0]);
|
||||
translate([ 183.5, body_size[1]-4.5, -8]) rotate([180,0,0]) screw([3,7,0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Vu8M LCD U-BRACKET
|
||||
module u_bracket() {
|
||||
$fn= 30;
|
||||
@@ -1444,14 +1486,45 @@ module u_bracket() {
|
||||
}
|
||||
}
|
||||
|
||||
// ODROID M1 2.5" SATA HDD mounting kit
|
||||
module m1_hdmount() {
|
||||
$fn = 30;
|
||||
dims = [89.6, 38.5, 2.0];
|
||||
holes = 4;
|
||||
slots = [4.15, 3.3];
|
||||
standoff_style = [5, 16, 0, 3, 25, 0, 0, 1, 0, 0, 0];
|
||||
|
||||
// M3 soldered spaceer
|
||||
module spacer() {
|
||||
color([0.6,0.6,0.6])
|
||||
difference(){
|
||||
cylinder(d=5.5, h=6);
|
||||
translate([0,0,-1]) cylinder(d=2.5, h=7); // M3 hole
|
||||
color([0.2,0.2,0.2])
|
||||
difference() {
|
||||
slab(dims, 4.0);
|
||||
translate([ 3.1, 28.3, -1]) cylinder(d = holes, h = 4);
|
||||
translate([ 86.5, 28.3, -1]) cylinder(d = holes, h = 4);
|
||||
hull() {
|
||||
translate([ 14.75, 10.15, -1]) cylinder(d=3.30, h=4);
|
||||
translate([ 15.60, 10.15, -1]) cylinder(d=3.30, h=4);
|
||||
}
|
||||
hull() {
|
||||
translate([ 75.60, 10.15, -1]) cylinder(d=3.30, h=4);
|
||||
translate([ 76.45, 10.15, -1]) cylinder(d=3.30, h=4);
|
||||
}
|
||||
}
|
||||
|
||||
color([0.6,0.6,0.6]) {
|
||||
translate ([ 3.1, 28.3 , 0]) rotate([ 0,0,0]) standoff(standoff_style);
|
||||
translate ([ 86.5, 28.3 , 0]) rotate([ 0,0,0]) standoff(standoff_style);
|
||||
}
|
||||
color([0.1,0.1,0.1]) {
|
||||
translate ([ 3.1, 28.3 , 2]) rotate([ 0,0,0]) screw([3, 7, 0]);
|
||||
translate ([ 86.5, 28.3 , 2]) rotate([ 0,0,0]) screw([3, 7, 0]);
|
||||
|
||||
translate ([ 15.1, 10.15, 0]) rotate([180,0,0]) screw([3, 7, 0]);
|
||||
translate ([ 76, 10.15, 0]) rotate([180,0,0]) screw([3, 7, 0]);
|
||||
}
|
||||
|
||||
// "HDD HOLDER"
|
||||
color([0.9, 0.9, 0.9])
|
||||
translate([67,8,0]) rotate([180,0,180])
|
||||
linear_extrude(height=0.01) text("HDD HOLDER",5);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user