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