Compare commits
	
		
			2 Commits
		
	
	
		
			e7c8d9ab68
			...
			7ae48d6e4f
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 7ae48d6e4f | |||
| d11a06c370 | 
							
								
								
									
										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);
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
							
								
								
									
										52
									
								
								outdoor/m7LeatherClip.scad
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								outdoor/m7LeatherClip.scad
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,52 @@
 | 
				
			|||||||
 | 
					// Cord toggle for securing grommet equipment
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					mainDiam=10;
 | 
				
			||||||
 | 
					mainLength=20;
 | 
				
			||||||
 | 
					cordDiam=3;
 | 
				
			||||||
 | 
					cordHoleGap=1;
 | 
				
			||||||
 | 
					flattenBottom=0.3;
 | 
				
			||||||
 | 
					$fn = 40;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					difference(){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// cyl mirrored across yz +++++++++++++++++++++++++++++++++++++++++++
 | 
				
			||||||
 | 
					color("blue"){
 | 
				
			||||||
 | 
					  for (dir = [-1 : 1] ) mirror([dir, 0, 0]){
 | 
				
			||||||
 | 
					    union(){
 | 
				
			||||||
 | 
					      rotate([0,90,0]){
 | 
				
			||||||
 | 
					          cylinder(mainLength / 2, d = mainDiam, center=false);
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      // rounded ends
 | 
				
			||||||
 | 
					      translate([mainLength / 2, 0, 0]){
 | 
				
			||||||
 | 
					        sphere(d = mainDiam);
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// flatten bottom for better print and interface ---------------------------
 | 
				
			||||||
 | 
					color("red"){
 | 
				
			||||||
 | 
					  translate([0, 0, -1 * (1 - flattenBottom) * mainDiam]){
 | 
				
			||||||
 | 
					    cube( [2 * mainLength, mainDiam, mainDiam], center=true);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//holes for cord
 | 
				
			||||||
 | 
					color("green"){
 | 
				
			||||||
 | 
					    for (dir = [-1 : 1]) mirror([dir, 0, 0]){
 | 
				
			||||||
 | 
					        translate([cordHoleGap * cordDiam, 0, 0]){
 | 
				
			||||||
 | 
					          cylinder( mainDiam * 1.1, d = cordDiam, center = true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//relief for cord bend
 | 
				
			||||||
 | 
					color("yellow"){
 | 
				
			||||||
 | 
					    translate([0, 0, mainDiam / 2]){
 | 
				
			||||||
 | 
					        rotate([0, 90, 0]){
 | 
				
			||||||
 | 
					            cylinder(cordDiam * cordHoleGap * 2, d = cordDiam, center = true);
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -6,20 +6,14 @@
 | 
				
			|||||||
screwDiam=2.2;
 | 
					screwDiam=2.2;
 | 
				
			||||||
eeWidth=5;
 | 
					eeWidth=5;
 | 
				
			||||||
thickness=3.7;
 | 
					thickness=3.7;
 | 
				
			||||||
 | 
					 | 
				
			||||||
$fn = 40;
 | 
					$fn = 40;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
difference(){
 | 
					difference(){
 | 
				
			||||||
 | 
					 | 
				
			||||||
  cube([eeWidth, eeWidth, thickness * 2], center=true);
 | 
					  cube([eeWidth, eeWidth, thickness * 2], center=true);
 | 
				
			||||||
 | 
					 | 
				
			||||||
  translate([0, 0, -22]){
 | 
					  translate([0, 0, -22]){
 | 
				
			||||||
      cylinder(d=screwDiam, 44);
 | 
					      cylinder(d=screwDiam, 44);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					 | 
				
			||||||
  translate([0, 0, -22]){
 | 
					  translate([0, 0, -22]){
 | 
				
			||||||
      cube([44, 44, 44], center=true);
 | 
					      cube([44, 44, 44], center=true);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user