add dowel
This commit is contained in:
@ -7,9 +7,6 @@ include <../../helper/screws.scad>
|
||||
translate(v=[10,20,-2 - sideWallZHingeTotalClearance])
|
||||
*hingeModule();
|
||||
|
||||
|
||||
// TODO this is pretty weak
|
||||
|
||||
module hingeModule() {
|
||||
|
||||
applyHingePole()
|
||||
@ -32,19 +29,32 @@ module hingeModule() {
|
||||
cube(size = [connW, connD - 12, sideWallZGapClearance]);
|
||||
}
|
||||
|
||||
// TODO: pattern for this? beef up mirror4XY?
|
||||
cVal = 0.5;
|
||||
halfspace(p=[0,cVal,0], vpos=[0,1,1]);
|
||||
halfspace(p=[cVal,0,0], vpos=[1,0,1]);
|
||||
halfspace(p=[connW-cVal,0,0], vpos=[-1,0,1]);
|
||||
halfspace(p=[0,connD-cVal,0], vpos=[0,-1,1]);
|
||||
union() {
|
||||
// don't bevel the part around the dowel pin hole
|
||||
*cube(size = [connW, 2*(hingePoleR+radiusXYSlack) , sideWallConnLugDepression + sideWallZGapClearance]);
|
||||
|
||||
// TODO: pattern for this? beef up mirror4XY?
|
||||
intersection() {
|
||||
cVal = 0.25;
|
||||
halfspace(p = [0, cVal, 0], vpos = [0, 1, 1]);
|
||||
halfspace(p = [cVal, 0, 0], vpos = [1, 0, 1]);
|
||||
halfspace(p = [connW-cVal, 0, 0], vpos = [-1, 0, 1]);
|
||||
halfspace(p = [0, connD-cVal, 0], vpos = [0, -1, 1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module applyHingePole() {
|
||||
apply_p() {
|
||||
translate(v = [sideWallConnW/2.0, hingePoleR, sideWallConnH])
|
||||
cylinder(r = hingePoleR, h = hingePoleH);
|
||||
apply_n() {
|
||||
|
||||
union() {
|
||||
translate(v = [sideWallConnW/2.0, hingePoleR + radiusXYSlack, 0])
|
||||
cylinder(r = hingePoleR + radiusXYSlack, h = inf50);
|
||||
|
||||
translate(v = [sideWallConnW/2.0, , 0])
|
||||
cube(size=[2, 5, inf50], center=true);
|
||||
}
|
||||
|
||||
children(0);
|
||||
}
|
||||
|
||||
@ -26,7 +26,7 @@ module magnetModule() {
|
||||
cube(size = [connW, connD, sideWallConnLugDepression]);
|
||||
|
||||
// TODO: pattern for this? beef up mirror4XY?
|
||||
cVal = 0.5;
|
||||
cVal = 0.25;
|
||||
halfspace(p=[0,cVal,0], vpos=[0,1,1]);
|
||||
halfspace(p=[cVal,0,0], vpos=[1,0,1]);
|
||||
halfspace(p=[connW-cVal,0,0], vpos=[-1,0,1]);
|
||||
|
||||
@ -54,7 +54,10 @@ module sideWallBase() {
|
||||
|
||||
module applyHingeConnector() {
|
||||
|
||||
hingeHoleShellR = hingeHoleR+1;
|
||||
hingeHoleShellR = hingePoleR+1;
|
||||
|
||||
hingeHoleH = hingePoleH-sideWallConnLugDepression;
|
||||
assert(hingeHoleH > 1);
|
||||
|
||||
apply_pn() {
|
||||
hull() {
|
||||
@ -63,11 +66,11 @@ module sideWallBase() {
|
||||
}
|
||||
|
||||
union() {
|
||||
hingeHole(extraZ=2);
|
||||
hingeHole(extraZ=1);
|
||||
|
||||
translate(v=[0,0,sideWallZ])
|
||||
mirror(v=[0,0,1])
|
||||
hingeHole(extraZ=2);
|
||||
hingeHole(extraZ=1);
|
||||
|
||||
// Trim parts of the wall for rotational clearance
|
||||
halfspace(p=[0, sideWallY-2.5, 0], vpos=[-0.5,1,0]); // flat area to limit rotation against the main rail
|
||||
@ -90,8 +93,8 @@ module sideWallBase() {
|
||||
}
|
||||
|
||||
module hingeHole(extraZ) {
|
||||
translate(v = [hingePoleDx , hingePoleDy, 0])
|
||||
cylinder(r = hingeHoleR, h = hingePoleH+extraZ);
|
||||
translate(v = [hingePoleDx, hingePoleDy, 0])
|
||||
cylinder(r = hingePoleR+radiusXYSlack, h = hingeHoleH+extraZ);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -3,6 +3,7 @@ include <../config.scad>
|
||||
include <../sharedVariables.scad>
|
||||
include <../../helper/magnet.scad>
|
||||
include <../../helper/slack.scad>
|
||||
include <../../helper/dowel.scad>
|
||||
|
||||
sideWallConnW = 7;
|
||||
sideWallConnD = 20;
|
||||
@ -17,10 +18,8 @@ magnetMountShellRadius = magnetRSlacked + 1;
|
||||
|
||||
innerSideWallToYBarMagnetConn = magnetFaceToSideWallConnOuterYEdge + sideWallSlotToOuterYEdge - sideWallThickness;
|
||||
|
||||
hingePoleR = 2;
|
||||
hingePoleH = 5;
|
||||
hingeHoleR = hingePoleR + radiusXYSlack;
|
||||
|
||||
hingePoleR = dowelPinR;
|
||||
hingePoleH = dowelPinH;
|
||||
|
||||
sideWallZHingeSlack = 0.3;
|
||||
sideWallZGapClearance = 0.5;
|
||||
@ -35,4 +34,4 @@ sideWallXGapClearance = 0.2;
|
||||
sideWallX = (yBarWidth-(railTotalWidth+railSlotToInnerYEdge)) - sideWallXGapClearance;
|
||||
|
||||
hingePoleDx = sideWallSlotToOuterYEdge + sideWallConnW/2.0;
|
||||
hingePoleDy = sideWallY - (sideWallSlotToOuterXEdge + hingeHoleR);
|
||||
hingePoleDy = sideWallY - (sideWallSlotToOuterXEdge + (hingePoleR+radiusXYSlack));
|
||||
|
||||
Reference in New Issue
Block a user