Minolta16 cartridge added

This commit is contained in:
mmcwilliams 2019-03-28 18:20:34 -04:00
parent 0608676823
commit e8019fc31c
13 changed files with 49597 additions and 0 deletions

36
libraries/Minolta16.scad Normal file
View File

@ -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;

View File

@ -0,0 +1,3 @@
{
"buy" : "https://www.shapeways.com/product/FUUC3CVAF/minolta16-cartridge-case"
}

View File

@ -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

View File

@ -0,0 +1,3 @@
{
"buy" : "https://www.shapeways.com/product/4Y5PYTVZ8/minolta16-cartridge-case-cover"
}

View File

@ -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

View File

@ -0,0 +1,3 @@
{
"buy" : "https://www.shapeways.com/product/6T9BLKD22/minolta16-cartridge-takeup"
}

View File

@ -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

View File

@ -0,0 +1,3 @@
{
"buy" : "https://www.shapeways.com/product/WSVJLPHE6/minolta16-cartridge"
}

View File

@ -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