wip - remove heat set inserts

This commit is contained in:
zhao
2023-06-03 10:21:28 -04:00
parent ffe73c414b
commit e14a986e9e
25 changed files with 392103 additions and 215905 deletions
+41 -7
View File
@@ -137,20 +137,27 @@ module heatSetInsert(screwType) {
} }
module hexNutPocket_N(screwType, openSide=true) { module hexNutPocket_N(screwType, openSide=true, backSpace=inf10, bridgeFront=false, bridgeBack=false ) {
heightSlack = bridgeFront || bridgeBack ? overhangSlack: xySlack;
if (screwType == "m3") { if (screwType == "m3") {
hexNutPocketHelper_N(m3RadiusSlacked, m3HexNutWidthAcrossCorners / 2 + 0.3, m3HexNutThickness + 0.3, openSide=openSide); hexNutPocketHelper_N(m3RadiusSlacked, m3HexNutWidthAcrossCorners / 2 + 0.3, m3HexNutThickness + heightSlack, openSide=openSide, backSpace=backSpace, bridgeFront=bridgeFront, bridgeBack=bridgeBack);
} else if (screwType == "m4") { } else if (screwType == "m4") {
hexNutPocketHelper_N(m4RadiusSlacked, m4HexNutWidthAcrossCorners / 2 + 0.1, m4HexNutThickness + 0.2, openSide=openSide); hexNutPocketHelper_N(m4RadiusSlacked, m4HexNutWidthAcrossCorners / 2 + 0.1, m4HexNutThickness + heightSlack, openSide=openSide, backSpace=backSpace, bridgeFront=bridgeFront, bridgeBack=bridgeBack);
} else { } else {
error("Unsupported screw type"); error("Unsupported screw type");
} }
} }
module hexNutPocketHelper_N(innerRadius, widthAcrossCorners, thickness, openSide=true) { module hexNutPocketHelper_N(innerRadius, widthAcrossCorners, thickness, openSide=true, backSpace=inf10, bridgeFront=false, bridgeBack=false) {
assert (!(bridgeFront && bridgeBack));
assert (!(openSide && bridgeFront));
union() { union() {
hull() { hull() {
// hexagonal cylinder representing where the nut should fit // hexagonal prism representing where the nut should fit
cylinder(r = widthAcrossCorners, h = thickness, center = true, $fn = 6); cylinder(r = widthAcrossCorners, h = thickness, center = true, $fn = 6);
// negative volume for sliding in the nut // negative volume for sliding in the nut
@@ -158,10 +165,37 @@ module hexNutPocketHelper_N(innerRadius, widthAcrossCorners, thickness, openSide
cylinder(r = widthAcrossCorners, h = thickness, center = true, $fn = 6); cylinder(r = widthAcrossCorners, h = thickness, center = true, $fn = 6);
} }
// negative volume for screw lead // negative volume for screw
translate(v = [0, 0, - 10]) union() {
// screw lead spacing
translate(v = [0, 0, -backSpace])
cylinder(r = innerRadius, h = backSpace, $fn = 32);
cylinder(r=innerRadius, h=inf50, $fn=32); cylinder(r=innerRadius, h=inf50, $fn=32);
if (bridgeFront) {
union() {
// first bridge layer
translate(v=[0,0,thickness/2 + 0.2/2])
cube(size=[2*innerRadius, GtoF(widthAcrossCorners)*2, 0.2], center=true);
translate(v=[0,0,thickness/2+ 0.3])
cube(size=[2*innerRadius, 2*innerRadius, 0.2], center=true);
}
}
if (bridgeBack) {
union() {
// first bridge layer
translate(v=[0,0,-(thickness/2 + 0.2/2)])
cube(size=[2*innerRadius, GtoF(widthAcrossCorners)*2, 0.2], center=true);
translate(v=[0,0,-(thickness/2+ 0.3)])
cube(size=[2*innerRadius, 2*innerRadius, 0.2], center=true);
}
}
}
if (openSide) { if (openSide) {
hull() { hull() {
translate(v = [inf50, 0, 0]) translate(v = [inf50, 0, 0])
+2 -2
View File
@@ -19,9 +19,9 @@ radiusXYSlack = xySlack/2;
zSlack = 0.0; // TODO figure out nice default value for this. keep in mind z shrinkage zSlack = 0.0; // TODO figure out nice default value for this. keep in mind z shrinkage
overhangSlack = 0.6; overhangSlack = 0.4;
supportedOverhangSlack = 0.5; supportedOverhangSlack = 0.4;
// special slack cases, change if neccessary // special slack cases, change if neccessary
+3 -3
View File
@@ -17,7 +17,7 @@ assemblyInstructions();
module assemblyInstructions () { module assemblyInstructions () {
screwMask = false; screwMask = false;
plasticMask = true; plasticMask = false;
sideSupportRailMask = true; sideSupportRailMask = true;
// Instruction List (in order) // Instruction List (in order)
@@ -28,7 +28,7 @@ module assemblyInstructions () {
// attachXBarWithYBar(at=$t); // attachXBarWithYBar(at=$t);
// screwXBarAndYBar(at=$t); // screwXBarAndYBar(at=$t);
// attachSideConnectorModulesToYBars(at=$t); // attachSideConnectorModulesToYBars(at=$t);
// connectXYTrayWithMainRails(at=$t); // connectXYTrayWithMainRails(at=1);
// insertDowelsIntoSideWall(at=$t); // insertDowelsIntoSideWall(at=$t);
// propUpBottomXYTraywithSideWalls(at=$t); // propUpBottomXYTraywithSideWalls(at=$t);
// attachXYTrays(at=$t); // attachXYTrays(at=$t);
@@ -40,7 +40,7 @@ module assemblyInstructions () {
// Final builds: // Final builds:
// render() // render()
finalSingle(); // finalSingle();
// finalDouble(); // finalDouble();
// Features: // Features:
+2 -2
View File
@@ -8,10 +8,10 @@
*/ */
include <./profiles.scad> include <./profiles.scad>
profileName = "default"; profileName = "micro";
profile = getProfile(profileName); profile = getProfile(profileName);
// echo("Profile:", profile); defaultLayerHeight = 0.3;
function getConfig(name) = getConfigValue(profile, name); function getConfig(name) = getConfigValue(profile, name);
+2 -2
View File
@@ -41,9 +41,9 @@ module onYBarBasePlateConnectorPositive() {
module onYBarBasePlateConnectorNegative() { module onYBarBasePlateConnectorNegative() {
translate(v=[_heatSetX, _heatSetY, m3HeatSetInsertSlotHeightSlacked + _baseConnRecession]) translate(v=[_heatSetX, _heatSetY, 4 + _baseConnRecession])
mirror(v=[0,0,1]) mirror(v=[0,0,1])
heatSetInsertSlot_N(rackFrameScrewType, topExtension=inf10); hexNutPocket_N("m3", openSide=false, backSpace=5, bridgeBack=true);
hull() { hull() {
translate(v = [_heatSetX, _heatSetY, _baseConnRecession+overhangSlack]) translate(v = [_heatSetX, _heatSetY, _baseConnRecession+overhangSlack])
-3
View File
@@ -15,9 +15,6 @@ include <./sideModuleYBarConnectors.scad>
include <./stackYBarConnectors.scad> include <./stackYBarConnectors.scad>
include <./basePlateYBarConnectors.scad> include <./basePlateYBarConnectors.scad>
// WIP
partList = ["yBar", "xBar", "mainRail", "xyPlate", "sideModule"];
mirror(v=[1,0,0]) mirror(v=[1,0,0])
*connectorDebug(on="xBar", to="yBar", trans=identity); *connectorDebug(on="xBar", to="yBar", trans=identity);
+19 -7
View File
@@ -1,6 +1,7 @@
include <../../helper/screws.scad> include <../../helper/screws.scad>
include <../../helper/common.scad> include <../../helper/common.scad>
include <../../helper/matrix.scad> include <../../helper/matrix.scad>
include <../../helper/halfspace.scad>
include <../../helper/slack.scad> include <../../helper/slack.scad>
include <../../helper/dovetail.scad> include <../../helper/dovetail.scad>
include <../../helper/halfspace.scad> include <../../helper/halfspace.scad>
@@ -10,7 +11,8 @@ include <../sharedVariables.scad>
include <../config.scad> include <../config.scad>
mainRailHeatSetOnYBarDx = railSideMountThickness + 5; mainRailHeatSetOnYBarDx = railSideMountThickness + 5;
mainRailHeatSetOnYBarDy = railFrontThickness + 4; mainRailHeatSetOnYBarDy = railFrontThickness + 2;
module onYBarToMainRailNegative() { module onYBarToMainRailNegative() {
slotSlack = xySlack; slotSlack = xySlack;
@@ -20,20 +22,30 @@ module onYBarToMainRailNegative() {
translate(v=[-slotZSlack/2, -slotSlack/2,0]) translate(v=[-slotZSlack/2, -slotSlack/2,0])
cube(size = [railTotalWidth+slotZSlack, railTotalDepth + slotSlack, railFootThickness]); cube(size = [railTotalWidth+slotZSlack, railTotalDepth + slotSlack, railFootThickness]);
translate(v = [mainRailHeatSetOnYBarDx, mainRailHeatSetOnYBarDy, -m3HeatSetInsertSlotHeightSlacked]) translate(v = [mainRailHeatSetOnYBarDx, mainRailHeatSetOnYBarDy, -5])
heatSetInsertSlot_N(rackFrameScrewType); rotate(a=[-45,0,0])
hexNutPocket_N("m3", openSide=false, backSpace=5);
} }
} }
module onMainRailYBarConnectorPositive() { module onMainRailYBarConnectorPositive() {
cube(size = [frontFaceWidth, sideSupportDepth+railFrontThickness, railFootThickness]); cube(size = [frontFaceWidth, sideSupportDepth+railFrontThickness, railFootThickness]);
// TODO magic numbers
hull() {
cube(size = [frontFaceWidth, railFrontThickness+8, railFootThickness+4]);
translate(v = [0, railFrontThickness+14, 0])
cube(size = [frontFaceWidth, 1, railFootThickness]);
}
} }
module onMainRailYBarConnectorNegative() { module onMainRailYBarConnectorNegative() {
translate(v = [mainRailHeatSetOnYBarDx, mainRailHeatSetOnYBarDy, railFootThickness]) screwOffset = 9;
counterSunkHead_N(rackFrameScrewType, screwExtension=inf10, headExtension=inf10);
translate(v = [mainRailHeatSetOnYBarDx, mainRailHeatSetOnYBarDy + screwOffset, -5 + screwOffset])
rotate(a=[-45,0,0])
counterSunkHead_N(rackFrameScrewType, screwExtension=inf50, headExtension=inf50);
} }
+3 -2
View File
@@ -13,6 +13,7 @@ module onYBarSideModuleNegative() {
translate(v = [-xySlack/2, -xySlack/2, -sideWallConnLugDepression]) translate(v = [-xySlack/2, -xySlack/2, -sideWallConnLugDepression])
cube(size = [sideWallConnW+xySlack, sideWallConnD+xySlack, sideWallConnLugDepression]); cube(size = [sideWallConnW+xySlack, sideWallConnD+xySlack, sideWallConnLugDepression]);
translate(v = [yBarScrewHoleToOuterYEdge, yBarScrewHoleToFrontXEdge, -(m3HeatSetInsertSlotHeightSlacked+sideWallConnLugDepression)]) translate(v = [yBarScrewHoleToOuterYEdge, yBarScrewHoleToFrontXEdge, -(4+sideWallConnLugDepression)])
heatSetInsertSlot_N(rackFrameScrewType); rotate(a=[0,0,90])
hexNutPocket_N("m3", openSide=false, backSpace=5, bridgeFront=true);
} }
+3 -2
View File
@@ -42,9 +42,10 @@ module onXBarToYBarNegative() {
module onYBarToXBarNegative() { module onYBarToXBarNegative() {
y = 27; y = 27;
z = 6; z = 6;
translate(v = [-m3HeatSetInsertSlotHeightSlacked, y, z]) translate(v = [-5, y, z])
rotate(a = [180, 0, 0])
rotate(a = [0, 90, 0]) rotate(a = [0, 90, 0])
heatSetInsertSlot_N(rackFrameScrewType); hexNutPocket_N("m3", openSide=false, backSpace=5);
} }
+1 -1
View File
@@ -8,7 +8,7 @@ include <../helper/matrix.scad>
include <./connector/connectors.scad> include <./connector/connectors.scad>
//mainRail(); *mainRail();
module mainRail() { module mainRail() {
+7 -4
View File
@@ -7,7 +7,10 @@ include <../xBar.scad>
yBar(); yBar();
translate(v=[40,0,0]) *difference() {
mirror(v=[1,0,0]) translate(v=[2,0,0])
rotate(a=[0,0,90]) cube(size=[16,10,6], center=true);
*xBar(); hexNutPocket_N("m3", openSide = false, backSpace = 5, bridgeFront = true);
}
*hexNutPocket_N("m3", openSide = false, backSpace = 5, bridgeBack = true);
+4 -2
View File
@@ -51,11 +51,13 @@ yBarStackConnectorTrans = translate(v = [connectorXEdgeToYBarXEdge, connectorYEd
yBarSideModuleConnectorTrans = translate(v = [ yBarSideModuleConnectorTrans = translate(v = [
yBarWidth-(railTotalWidth+railSlotToInnerYEdge+railSlotToSideWallSlot+sideWallConnectorSlotWidth), yBarWidth-(railTotalWidth+railSlotToInnerYEdge+railSlotToSideWallSlot+sideWallConnectorSlotWidth),
sideWallSlotToXZ, sideWallSlotToXZ,
yBarHeight]); yBarHeight
]);
yBarMainRailConnectorTrans = translate(v = [ yBarMainRailConnectorTrans = translate(v = [
yBarWidth-(railTotalWidth+railSlotToInnerYEdge), yBarWidth-(railTotalWidth+railSlotToInnerYEdge),
railSlotToXZ, railSlotToXZ,
yBarHeight-railFootThickness]); yBarHeight-railFootThickness
]);
yBarXBarConnectorTrans = translate(v = [yBarWidth+eps, 0, 0]); yBarXBarConnectorTrans = translate(v = [yBarWidth+eps, 0, 0]);
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+1471 -1471
View File
File diff suppressed because it is too large Load Diff
+3281 -3281
View File
File diff suppressed because it is too large Load Diff
+1432 -1432
View File
File diff suppressed because it is too large Load Diff
+17864 -41160
View File
File diff suppressed because it is too large Load Diff
+157341 -58823
View File
File diff suppressed because it is too large Load Diff
+153544 -55026
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+4432 -4432
View File
File diff suppressed because it is too large Load Diff
+7274 -7274
View File
File diff suppressed because it is too large Load Diff
+37428 -35020
View File
File diff suppressed because it is too large Load Diff