1st pass eberle qls mount
This commit is contained in:
75
outdoor/eberleMount.scad
Normal file
75
outdoor/eberleMount.scad
Normal file
@ -0,0 +1,75 @@
|
||||
// Simple c shaped clip to insert into molle and mount QRS to.
|
||||
// Ref: Hole spacing upper 31.8mm apart, lower 64.6mm below midpoint of upper, try 6mm holes
|
||||
//
|
||||
// Strategy:
|
||||
// 3 cylinders at hole spacing
|
||||
// 3 boxes with c shape
|
||||
// minkowski all
|
||||
// cut holes, slice top and bottom
|
||||
// so backwards: diff 2 slices and holes, minkowski, then make the 3 cylinders and 3 cubes
|
||||
|
||||
$fn = 40;
|
||||
qlsHoriz = 31.8;
|
||||
qlsVert = 64.6;
|
||||
qlsShiftX = 4;
|
||||
qlsShiftY = 63;
|
||||
qlsCant = 9.1;
|
||||
|
||||
minkRad = 4;
|
||||
thickness = 5;
|
||||
armSize = 15;
|
||||
armCtc = 37;
|
||||
armLength = 126;
|
||||
|
||||
// QLS spaced cylinders for add or remove
|
||||
module qls(diam = 6) {
|
||||
translate([qlsHoriz / 2, qlsVert / 2, 0]){
|
||||
cylinder(44, d = diam, center = true);
|
||||
}
|
||||
translate([-1 * qlsHoriz / 2, qlsVert / 2, 0]){
|
||||
cylinder(44, d = diam, center = true);
|
||||
}
|
||||
translate([0, -qlsVert / 2]){
|
||||
cylinder(44, d = diam, center = true);
|
||||
}
|
||||
}
|
||||
module tcqls(diam = 6) {
|
||||
translate([qlsShiftX, qlsShiftY, 0]){
|
||||
rotate(qlsCant, [0, 0, 1]){
|
||||
qls(diam);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// main diff
|
||||
difference() {
|
||||
// diff the minkowskid collection and two slice plates and some qls holes
|
||||
minkowski() {
|
||||
// minkowski the 6 part union and a sphere
|
||||
union() {
|
||||
// union of 3 cubes and 3 cylinders from qls
|
||||
translate([ armCtc / 2, armLength / 2, 0 ]) {
|
||||
cube([ armSize - minkRad * 2, armLength - minkRad * 2, 1 ], center = true);
|
||||
}
|
||||
translate([ -armCtc / 2, armLength / 2, 0 ]) {
|
||||
cube([ armSize - minkRad * 2, armLength - minkRad * 2, 1 ], center = true);
|
||||
}
|
||||
translate([ 0, armLength - armSize / 2, 0 ]) {
|
||||
cube([ armCtc + armSize - minkRad * 2 , armSize - minkRad * 2, 1], center = true);
|
||||
}
|
||||
tcqls(12 - minkRad);
|
||||
}
|
||||
|
||||
// mink sphere
|
||||
sphere(minkRad);
|
||||
}
|
||||
// diffed top bottom slices and qls screw holes
|
||||
translate([0, 0, -33 - thickness / 2]){
|
||||
cube([444, 444, 66], center = true);
|
||||
}
|
||||
translate([0, 0, 33 + thickness / 2]){
|
||||
cube([444, 444, 66], center = true);
|
||||
}
|
||||
tcqls(7);
|
||||
|
||||
}
|
Reference in New Issue
Block a user