Compare commits
No commits in common. "709fae487f0f6b29e6a249bbdf87c76063a65ebb" and "c01ba0953d525b622931efe194944df3719ae9cf" have entirely different histories.
709fae487f
...
c01ba0953d
BIN
holding-back.jpg
BIN
holding-back.jpg
Binary file not shown.
Before Width: | Height: | Size: 190 KiB |
Binary file not shown.
Before Width: | Height: | Size: 216 KiB |
BIN
keychain.jpg
BIN
keychain.jpg
Binary file not shown.
Before Width: | Height: | Size: 203 KiB |
Binary file not shown.
|
@ -1,72 +0,0 @@
|
|||
use <MCAD/boxes.scad>
|
||||
|
||||
/* [Keychain] */
|
||||
|
||||
// overall height
|
||||
height = 10;
|
||||
|
||||
// length, increase if phone falls backwards
|
||||
length = 60;
|
||||
|
||||
// thickness of the long piece
|
||||
thickness = 4.3;
|
||||
|
||||
// diameter of the hole for the key ring
|
||||
hole_diameter = 4;
|
||||
|
||||
fillet = 1;
|
||||
|
||||
/* [Phone] */
|
||||
|
||||
// angle between the phone and the horizontal, 90=vertical
|
||||
angle = 65;
|
||||
|
||||
// the thickness of the phone, if this value is too small, it won't fit between the supports
|
||||
phone_thickness = 11.3;
|
||||
|
||||
/* [Supports] */
|
||||
|
||||
// the length the supports extend from the long piece
|
||||
supports_length = 6.6;
|
||||
|
||||
// the thickness of the first support, in front of the phone
|
||||
support1_thickness = 7;
|
||||
|
||||
// the thickness of the second support, behind the phone
|
||||
support2_thickness = 4.5;
|
||||
|
||||
$fs = 0.1;
|
||||
|
||||
// Polyfill for https://github.com/openscad/MCAD/pull/66
|
||||
module roundedCube_(size, radius, sidesonly) {
|
||||
translate(size/2) roundedBox(size, radius, sidesonly);
|
||||
}
|
||||
|
||||
module long_piece() {
|
||||
translate([-thickness, 0, 0]) roundedCube_([thickness, length, height], fillet, false);
|
||||
}
|
||||
|
||||
module phone() {
|
||||
translate([0, 0, height]) rotate([angle, 0, 0]) translate([0, -10, -phone_thickness - support1_thickness]) cube([40, 80, phone_thickness]);
|
||||
}
|
||||
|
||||
big_num = 50;
|
||||
|
||||
module supports() {
|
||||
cube_length_transverse = support1_thickness + phone_thickness + support2_thickness;
|
||||
cube_length = cube_length_transverse / sin(angle);
|
||||
|
||||
difference() {
|
||||
translate([-thickness/2, 0, 0]) roundedCube_([thickness/2 + supports_length, cube_length, height], fillet, false);
|
||||
// cut out phone slot
|
||||
phone();
|
||||
// cut out back of support2
|
||||
translate([0, 0, height]) rotate([angle, 0, 0]) translate([0, -10, -big_num - phone_thickness - support1_thickness - support2_thickness]) cube([big_num, big_num, big_num]);
|
||||
}
|
||||
}
|
||||
|
||||
long_piece();
|
||||
|
||||
supports();
|
||||
|
||||
%phone();
|
Loading…
Reference in New Issue