mirror of
https://github.com/tenderlove/initial-v.git
synced 2025-04-07 18:05:08 +00:00
adding case
This commit is contained in:
parent
de7b182fe4
commit
1e80a9d625
housing
53
housing/path413.svg
Normal file
53
housing/path413.svg
Normal file
@ -0,0 +1,53 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
version="1.1"
|
||||
id="svg39"
|
||||
width="242.97607"
|
||||
height="310.57062"
|
||||
viewBox="0 0 242.97607 310.57062"
|
||||
sodipodi:docname="aaron.svg"
|
||||
inkscape:export-filename="IMG_2034.svg"
|
||||
inkscape:export-xdpi="96"
|
||||
inkscape:export-ydpi="96"
|
||||
inkscape:version="0.0"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs43" />
|
||||
<sodipodi:namedview
|
||||
id="namedview41"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
showgrid="false"
|
||||
inkscape:lockguides="false"
|
||||
inkscape:zoom="0.55429685"
|
||||
inkscape:cx="1563.2418"
|
||||
inkscape:cy="586.32843"
|
||||
inkscape:window-width="1645"
|
||||
inkscape:window-height="1212"
|
||||
inkscape:window-x="2886"
|
||||
inkscape:window-y="169"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="g45" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
inkscape:label="Image"
|
||||
id="g45"
|
||||
transform="translate(-904.56362,-517.54901)">
|
||||
<path
|
||||
style="display:inline;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#800000;stroke-width:0.52;stroke-opacity:1"
|
||||
d="m 928.85248,517.80917 c 0,0 82.08602,7.50501 115.85852,12.6647 8.2165,1.2553 73.6428,13.60281 73.6428,13.60281 0,0 15.0222,3.05334 22.6207,7.78805 6.8557,4.2718 7.3867,8.8036 5.054,17.07228 -4.517,16.01191 -5.1597,18.29345 -5.1597,18.29345 l -24.8603,62.8544 -25.2156,59.45716 -24.6327,53.46339 c 0,0 -7.7659,15.54574 -16.6781,28.67949 -8.9122,13.13376 -21.1883,22.57193 -21.1883,22.57193 l -6.4197,5.24017 c 0,0 -6.7141,4.14108 -16.5644,5.54827 -9.85033,1.40719 -35.17968,2.81435 -35.17968,2.81435 h -24.39128 c 0,0 -9.3444,-0.60242 -13.24757,-4.19797 -3.31522,-3.05394 -5.10278,-4.10775 -8.79838,-11.28108 -4.05325,-7.86754 -9.26744,-73.97452 -9.26744,-73.97452 0,0 -7.40117,-102.36203 -7.61882,-107.1406 -0.60645,-13.31425 -1.40719,-74.05501 -1.40719,-74.05501 l -0.52597,-27.81208 c 0,0 -0.97146,-5.73281 5.54827,-9.9308 2.23096,-1.43648 18.43084,-1.65839 18.43084,-1.65839 z"
|
||||
id="path413"
|
||||
sodipodi:nodetypes="cscssccccsccsccsscsccsc"
|
||||
inkscape:label="path413" />
|
||||
</g>
|
||||
</svg>
|
After (image error) Size: 2.5 KiB |
117
housing/thing.scad
Normal file
117
housing/thing.scad
Normal file
@ -0,0 +1,117 @@
|
||||
module ShifterThing() {
|
||||
translate([-8, 3, -1])
|
||||
linear_extrude(4)
|
||||
rotate([0, 0, -17])
|
||||
rotate([0, 180, 0])
|
||||
import("path413.svg", center=true, dpi=94.5);
|
||||
}
|
||||
|
||||
TOP_PLATE_Y = 101;
|
||||
|
||||
module Foo(width) {
|
||||
difference() {
|
||||
linear_extrude(2)
|
||||
square([width, TOP_PLATE_Y], center=true);
|
||||
|
||||
translate([0, 0, -1])
|
||||
linear_extrude(4)
|
||||
square([width - 4, TOP_PLATE_Y - 4], center=true);
|
||||
//ShifterThing();
|
||||
}
|
||||
}
|
||||
|
||||
POST_DIAMETER = 6;
|
||||
POST_OUTER_DIAMETER = 14;
|
||||
REAR_TAB_LENGTH = 16;
|
||||
MIN_WALL_THICKNESS = 2;
|
||||
|
||||
module RearPost(height) {
|
||||
$fn = 80;
|
||||
diameter = POST_DIAMETER;
|
||||
|
||||
outer_diameter = POST_OUTER_DIAMETER;
|
||||
|
||||
length = (outer_diameter / 2) + (REAR_TAB_LENGTH - outer_diameter);
|
||||
echo(length);
|
||||
|
||||
difference() {
|
||||
linear_extrude(height)
|
||||
union() {
|
||||
circle(d = outer_diameter);
|
||||
translate([-(outer_diameter / 2), -length])
|
||||
square([outer_diameter, length]);
|
||||
}
|
||||
|
||||
translate([0, 0, -1])
|
||||
linear_extrude(height + 2)
|
||||
circle(d = diameter);
|
||||
}
|
||||
}
|
||||
|
||||
BOX_X = 79;
|
||||
|
||||
module FrontPosts(height) {
|
||||
x = (BOX_X / 2) + 7;
|
||||
translate([-x, 0, 0])
|
||||
rotate([0, 0, 90])
|
||||
FrontPost(height);
|
||||
|
||||
translate([x, 0, 0])
|
||||
rotate([0, 0, -90])
|
||||
FrontPost(height);
|
||||
}
|
||||
|
||||
module FrontPost(height) {
|
||||
$fn = 80;
|
||||
diameter = POST_DIAMETER;
|
||||
|
||||
outer_diameter = POST_OUTER_DIAMETER;
|
||||
|
||||
length = (outer_diameter / 2) + (16 - outer_diameter);
|
||||
|
||||
difference() {
|
||||
linear_extrude(height)
|
||||
union() {
|
||||
circle(d = outer_diameter);
|
||||
translate([-(15 / 2), -7])
|
||||
polygon([[0, 0], [15, 0], [14.5, 7], [0.5, 7]]);
|
||||
}
|
||||
|
||||
translate([0, 0, -1])
|
||||
linear_extrude(height + 2)
|
||||
circle(d = diameter);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module RearWall(height) {
|
||||
rear_post_center_x = (59 / 2) + (POST_DIAMETER / 2);
|
||||
|
||||
for (i = [-1, 1]) {
|
||||
translate([i * rear_post_center_x, 0, 0])
|
||||
RearPost(height);
|
||||
}
|
||||
|
||||
top_fill_y = REAR_TAB_LENGTH - (POST_OUTER_DIAMETER / 2);
|
||||
// Top plate between tabs
|
||||
translate([0, -(top_fill_y / 2), height - MIN_WALL_THICKNESS])
|
||||
linear_extrude(MIN_WALL_THICKNESS)
|
||||
// Just adding +2 to make it slightly wider so everything is connected nicely
|
||||
square([((rear_post_center_x * 2) - POST_OUTER_DIAMETER) + 2, top_fill_y], center=true);
|
||||
|
||||
linear_extrude(height)
|
||||
square([(rear_post_center_x * 2) - POST_DIAMETER, 2], center=true);
|
||||
}
|
||||
|
||||
REAR_POST_Z = 31;
|
||||
|
||||
translate([0, (TOP_PLATE_Y / 2) - (15 / 2), 0])
|
||||
FrontPosts(REAR_POST_Z + 2); // front are ~2mm lower
|
||||
|
||||
translate([0, 0, 2]) {
|
||||
translate([0, -((TOP_PLATE_Y / 2) + 9), 0])
|
||||
rotate([0, 0, 180])
|
||||
RearWall(REAR_POST_Z);
|
||||
translate([0, 0, REAR_POST_Z - 2])
|
||||
Foo(79);
|
||||
}
|
Loading…
Reference in New Issue
Block a user