Initial commit
This commit is contained in:
commit
75cb2f6acc
|
@ -0,0 +1,3 @@
|
|||
[submodule "scad/common"]
|
||||
path = scad/common
|
||||
url = https://git.sixteenmillimeter.com/modules/common.git
|
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
"camera" : {
|
||||
"x" : 0,
|
||||
"y" : 0,
|
||||
"z" : 0
|
||||
},
|
||||
"objects" : [
|
||||
{
|
||||
"name" : "16mm_splicing_block",
|
||||
"material" : "gray_plastic2",
|
||||
"position" : {
|
||||
"x" : 0,
|
||||
"y" : 0,
|
||||
"z" : 0
|
||||
},
|
||||
"rotation" : {
|
||||
"x" : 0,
|
||||
"y" : 0,
|
||||
"z" : 0
|
||||
}
|
||||
}
|
||||
],
|
||||
"src" : [
|
||||
"README.md",
|
||||
"LICENSE",
|
||||
"scad.sh",
|
||||
"scad/16mm_splicing_block.scad",
|
||||
"scad/common/common.scad",
|
||||
"scad/common/c14n_stl.py",
|
||||
"scad/common/scad.sh"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
SRC="scad/16mm_splicing_block.scad"
|
||||
FILENAME=$(basename "${SRC}")
|
||||
NAME="${FILENAME%.*}"
|
||||
THEME=DeepOcean
|
||||
|
||||
function generateStl () {
|
||||
openscad --enable manifold -D VERBOSE=false --export-format=asciistl -o "stl/${NAME}.stl" "${SRC}"
|
||||
}
|
||||
|
||||
function sortStl () {
|
||||
python3 scad/common/c14n_stl.py "stl/${NAME}.stl"
|
||||
}
|
||||
|
||||
function generateJpeg () {
|
||||
openscad --enable manifold --viewall --render --imgsize=512,512 --colorscheme=${THEME} -D VERBOSE=false -D PART=\"${2}\" -o "img/${NAME}.png" "${SRC}"
|
||||
convert "img/${NAME}.png" -sampling-factor 4:2:0 -strip -quality 85 -interlace JPEG -colorspace RGB "img/${NAME}.jpg"
|
||||
rm -f "img/${NAME}.png"
|
||||
}
|
||||
|
||||
function generateScad () {
|
||||
generateStl "${SRC}"
|
||||
sortStl "${1}"
|
||||
generateJpeg "${SRC}"
|
||||
}
|
||||
|
||||
generateScad
|
|
@ -0,0 +1,58 @@
|
|||
use <./common/common.scad>;
|
||||
|
||||
IN = 25.4;
|
||||
FRAME_H = 7.49;
|
||||
FRAME_W = 10.26;
|
||||
FRAME_OUTER = 16 - FRAME_W;
|
||||
|
||||
PERF_OFFSET = (1.829 / 2) + .85;
|
||||
SPACING_LONG = 7.62;
|
||||
|
||||
X = 38;
|
||||
Y = 100;
|
||||
Z = 6;
|
||||
|
||||
module 16mm_plate () {
|
||||
translate([0, 0, 1.3 - .5]) {
|
||||
for (i = [-5 : 5]) {
|
||||
if (abs(i % 2) == 1) {
|
||||
registration_pin(8 - PERF_OFFSET, i * SPACING_LONG);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module registration_pin (x, y) {
|
||||
z = 2.5;
|
||||
w = 1.27 - .4;
|
||||
h = 1.9812 - .4;
|
||||
translate([x, y, 0]) {
|
||||
difference () {
|
||||
rounded_cube([h, w, z], d = .5, center = true);
|
||||
translate([0, w/1.6, z - (w * 1.5)]) rotate([45, 0, 0]) cube([h + 1, w, w], center = true);
|
||||
translate([0, -w/1.6, z - (w * 1.5)]) rotate([-45, 0, 0]) cube([h + 1, w, w], center = true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module 16mm_splicing_block () {
|
||||
translate([0, 0, 2]) 16mm_plate();
|
||||
difference() {
|
||||
cube([X, Y, (1/4)*IN], center = true);
|
||||
translate([0, 0, (1/5)*IN]) cube([16.25, Y + 1, (1/4)*IN], center = true);
|
||||
translate([0, SPACING_LONG * 2, (1/8)*IN]) {
|
||||
cube([(2 * IN) + 1, .4, (1/4)*IN], center = true);
|
||||
}
|
||||
translate([X / 2, SPACING_LONG * 2, (Z / 2) + .2 ]) {
|
||||
rotate([45, 0, 0]) cube([(2 * IN) + 1, 1, 1], center = true);
|
||||
}
|
||||
translate([0, 0, (1/8)*IN]) rotate([0, 0, 16]) {
|
||||
cube([X * 2, .4, (1/4)*IN], center = true);
|
||||
}
|
||||
translate([0, 0, (Z / 2) + .2]) rotate([0, 0, 16]) {
|
||||
translate([X, 0, 0]) rotate([45, 0, 0]) cube([X * 2, 1, 1], center = true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
16mm_splicing_block();
|
|
@ -0,0 +1 @@
|
|||
Subproject commit e2eeb27f173d739a174c0d147bcb62a16859e2d9
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue