Minolta16 cartridge added
This commit is contained in:
parent
0608676823
commit
e8019fc31c
|
@ -0,0 +1,36 @@
|
|||
/**
|
||||
* Variables for the Minox16 camera
|
||||
**/
|
||||
|
||||
$fn = 150;
|
||||
|
||||
SPACING = 42;
|
||||
WALL_THICKNESS = 1.25 + .5;
|
||||
|
||||
PLANE_BACK = 1.55;
|
||||
|
||||
CART_H = 16.85 + .75;
|
||||
|
||||
FEED_D = 19.14;
|
||||
TAKEUP_D = 22.04;
|
||||
|
||||
TAKEUP_OFFSET_Y = -(TAKEUP_D - FEED_D) / 2;
|
||||
|
||||
CONNECT_X = SPACING - (TAKEUP_D / 2) - (FEED_D / 2) + 2;
|
||||
CONNECT_Y = 8.85;
|
||||
CONNECT_Z = 1.3;
|
||||
|
||||
CONNECT_OFFSET_X = ((TAKEUP_D / 2) - (FEED_D / 2)) / 2;
|
||||
CONNECT_OFFSET_Y = (FEED_D / 2) - (CONNECT_Y / 2) - 5.02;
|
||||
CONNECT_OFFSET_Z = -(CART_H / 2) + (CONNECT_Z / 2);
|
||||
|
||||
FILM_NEG_Y = .75;
|
||||
|
||||
FILM_NEG_OFFSET_Y = 8.5;
|
||||
|
||||
CAP_LIP_H = 5.92;
|
||||
CAP_LIP = .56;
|
||||
CAP_THICKNESS = .5;
|
||||
|
||||
TOP_H = 1;
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"buy" : "https://www.shapeways.com/product/FUUC3CVAF/minolta16-cartridge-case"
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
|
||||
include <../../libraries/Minolta16.scad>;
|
||||
|
||||
time=0;
|
||||
|
||||
module minolta16_cart_case () {
|
||||
H = 19;
|
||||
|
||||
FOD = FEED_D + 3;
|
||||
FID = FEED_D + .5;
|
||||
TOD = TAKEUP_D + 3;
|
||||
TID = TAKEUP_D + .5;
|
||||
MID = 17;
|
||||
MID_OFFSET = 2.55;
|
||||
|
||||
difference () {
|
||||
union () {
|
||||
translate([SPACING / 2, 0, 0]) cylinder(r = FOD / 2, h = H, center = true);
|
||||
translate([-SPACING / 2, TAKEUP_OFFSET_Y, 0]) cylinder(r = TOD / 2, h = H, center = true);
|
||||
translate([0, MID_OFFSET, 0]) cube([SPACING, MID, H], center = true);
|
||||
}
|
||||
translate([0, 0, -1]) union () {
|
||||
translate([SPACING / 2, 0, 0]) cylinder(r = FID / 2, h = H, center = true);
|
||||
translate([-SPACING / 2, TAKEUP_OFFSET_Y, 0]) cylinder(r = TID / 2, h = H, center = true);
|
||||
translate([0, MID_OFFSET - .25, 0]) cube([SPACING, MID - 2, H], center = true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
rotate([180, 0, time + 180]) minolta16_cart_case();
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"buy" : "https://www.shapeways.com/product/4Y5PYTVZ8/minolta16-cartridge-case-cover"
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
|
||||
include <../../libraries/Minolta16.scad>;
|
||||
|
||||
time=0;
|
||||
|
||||
module minolta16_cart_cover () {
|
||||
H = 4;
|
||||
|
||||
FOD = FEED_D + 3;
|
||||
TOD = TAKEUP_D + 3;
|
||||
MID = 17;
|
||||
MID_OFFSET = 2.55;
|
||||
|
||||
difference () {
|
||||
union () {
|
||||
translate([SPACING / 2, 0, 0]) cylinder(r = (FOD + 3) / 2, h = H, center = true);
|
||||
translate([-SPACING / 2, TAKEUP_OFFSET_Y, 0]) cylinder(r = (TOD + 3) / 2, h = H, center = true);
|
||||
translate([0, MID_OFFSET, 0]) cube([SPACING, MID + 3, H], center = true);
|
||||
}
|
||||
translate([0, 0, 1.5]) union () {
|
||||
translate([SPACING / 2, 0, 0]) cylinder(r = FOD / 2, h = H, center = true);
|
||||
translate([-SPACING / 2, TAKEUP_OFFSET_Y, 0]) cylinder(r = TOD / 2, h = H, center = true);
|
||||
translate([0, MID_OFFSET, 0]) cube([SPACING, MID, H], center = true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
rotate([0, 0, time]) minolta16_cart_cover();
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"buy" : "https://www.shapeways.com/product/6T9BLKD22/minolta16-cartridge-takeup"
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
include <../../libraries/Minolta16.scad>;
|
||||
|
||||
time=0;
|
||||
|
||||
module minolta16_cart_takeup () {
|
||||
H = 15.95;
|
||||
D = 15.5;
|
||||
INNER_D = 14;
|
||||
difference() {
|
||||
cylinder(r = D / 2, h = H, center = true);
|
||||
translate([0, 0, .65]) cylinder(r = INNER_D / 2, h = H, center = true);
|
||||
translate([-3, 7, .65]) rotate([0, 0, 60]) cube([10, .5, H], center = true);
|
||||
}
|
||||
translate([0, 0, -(D / 2) + 1.5]) cylinder(r = 2, h = 3, center = true);
|
||||
for (i = [0:3]) {
|
||||
rotate([0, 0, i * 90]) translate([(D / 4) - .75, 1.25, -(D / 2) + 1.5]) cube([(D / 2) + 1, 1, 3], center = true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module minolta16_cart_takeup_cap () {
|
||||
INNER_D = TAKEUP_D - WALL_THICKNESS;
|
||||
difference () {
|
||||
union () {
|
||||
cylinder(r = TAKEUP_D / 2, h = 1, center = true);
|
||||
translate([TAKEUP_D / 4, TAKEUP_D / 4, 0]) {
|
||||
cube([TAKEUP_D / 2, TAKEUP_D / 2, 1], center = true);
|
||||
}
|
||||
translate([0, 0, -1.5]) cylinder(r = (13.87 / 2) + .2, h = 3, center = true);
|
||||
}
|
||||
translate([0, 0, .65]) cylinder(r = (13.87 / 2) - .5, h = 100, center = true);
|
||||
}
|
||||
translate([(TAKEUP_D / 2) - 1, 7.5, -1]) cube([1.8, 1.8, 1.8], center = true);
|
||||
}
|
||||
|
||||
rotate([0, 0, time]) minolta16_cart_takeup();
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"buy" : "https://www.shapeways.com/product/WSVJLPHE6/minolta16-cartridge"
|
||||
}
|
|
@ -0,0 +1,83 @@
|
|||
include <../../libraries/Minolta16.scad>;
|
||||
|
||||
time=0;
|
||||
|
||||
module feed () {
|
||||
INNER_D = FEED_D - WALL_THICKNESS;
|
||||
1_OFFSET_Z = (CART_H / 2) - (CAP_LIP_H / 2);
|
||||
|
||||
difference () {
|
||||
union () {
|
||||
cylinder(r = FEED_D / 2, h = CART_H, center = true);
|
||||
translate([-FEED_D / 4, FEED_D / 4, 0]) {
|
||||
cube([FEED_D / 2, FEED_D / 2, CART_H], center = true);
|
||||
}
|
||||
}
|
||||
translate([0, 0, WALL_THICKNESS]) cylinder(r = INNER_D / 2, h = CART_H, center = true);
|
||||
//notch
|
||||
//translate([-(FEED_D / 2) + 1, 6, (CART_H / 2) - 1]) cube([2, 2, 2], center = true);
|
||||
//film neg
|
||||
translate ([-FEED_D / 2, FILM_NEG_OFFSET_Y, WALL_THICKNESS / 2]) {
|
||||
cube([FEED_D, FILM_NEG_Y, CART_H], center = true);
|
||||
}
|
||||
//cap neg
|
||||
//translate([0, 0, FEED_CAP_OFFSET_Z]) feed_cap_neg();
|
||||
}
|
||||
}
|
||||
|
||||
module feed_cap() {
|
||||
cylinder(r = FEED_D / 2, h = CART_H, center = true);
|
||||
}
|
||||
|
||||
module feed_cap_neg () {
|
||||
INNER_D = FEED_D - CAP_LIP;
|
||||
|
||||
difference () {
|
||||
cylinder(r = FEED_D / 2, h = CAP_LIP_H, center = true);
|
||||
translate([0, 0, WALL_THICKNESS]) cylinder(r = INNER_D / 2, h = CART_H, center = true);
|
||||
translate([-FEED_D / 4, FEED_D / 4, 0]) {
|
||||
cube([FEED_D / 2, FEED_D / 2, CART_H], center = true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module takeup () {
|
||||
INNER_D = TAKEUP_D - WALL_THICKNESS;
|
||||
difference () {
|
||||
union () {
|
||||
cylinder(r = TAKEUP_D / 2, h = CART_H, center = true);
|
||||
translate([TAKEUP_D / 4, TAKEUP_D / 4, 0]) {
|
||||
cube([TAKEUP_D / 2, TAKEUP_D / 2, CART_H], center = true);
|
||||
}
|
||||
}
|
||||
//notch
|
||||
//translate([(TAKEUP_D / 2) - 1, 7.5, (CART_H / 2) - 1]) cube([2, 2, 2], center = true);
|
||||
translate([0, 0, WALL_THICKNESS]) cylinder(r = INNER_D / 2, h = CART_H, center = true);
|
||||
//film neg
|
||||
translate ([TAKEUP_D / 2, FILM_NEG_OFFSET_Y - TAKEUP_OFFSET_Y, WALL_THICKNESS / 2]) {
|
||||
cube([TAKEUP_D, FILM_NEG_Y, CART_H], center = true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module connector () {
|
||||
cube([CONNECT_X, CONNECT_Y, CONNECT_Z], center = true);
|
||||
}
|
||||
|
||||
module minolta16_cartridge (DEBUG = true) {
|
||||
translate([SPACING / 2, 0, 0]) feed();
|
||||
translate([-SPACING / 2, TAKEUP_OFFSET_Y, 0]) takeup();
|
||||
translate([CONNECT_OFFSET_X, CONNECT_OFFSET_Y, CONNECT_OFFSET_Z]) {
|
||||
connector();
|
||||
}
|
||||
//debug
|
||||
if (DEBUG) {
|
||||
//plane
|
||||
translate ([0, FILM_NEG_OFFSET_Y , .25]) {
|
||||
cube([SPACING, .14, 16], center = true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
rotate([0, 0, time]) minolta16_cartridge(false);
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue