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
+42 -8
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") {
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") {
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 {
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() {
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);
// negative volume for sliding in the nut
@@ -158,9 +165,36 @@ module hexNutPocketHelper_N(innerRadius, widthAcrossCorners, thickness, openSide
cylinder(r = widthAcrossCorners, h = thickness, center = true, $fn = 6);
}
// negative volume for screw lead
translate(v = [0, 0, - 10])
cylinder(r = innerRadius, h = inf50, $fn = 32);
// negative volume for screw
union() {
// screw lead spacing
translate(v = [0, 0, -backSpace])
cylinder(r = innerRadius, h = backSpace, $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) {
hull() {
+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
overhangSlack = 0.6;
overhangSlack = 0.4;
supportedOverhangSlack = 0.5;
supportedOverhangSlack = 0.4;
// special slack cases, change if neccessary
+3 -3
View File
@@ -17,7 +17,7 @@ assemblyInstructions();
module assemblyInstructions () {
screwMask = false;
plasticMask = true;
plasticMask = false;
sideSupportRailMask = true;
// Instruction List (in order)
@@ -28,7 +28,7 @@ module assemblyInstructions () {
// attachXBarWithYBar(at=$t);
// screwXBarAndYBar(at=$t);
// attachSideConnectorModulesToYBars(at=$t);
// connectXYTrayWithMainRails(at=$t);
// connectXYTrayWithMainRails(at=1);
// insertDowelsIntoSideWall(at=$t);
// propUpBottomXYTraywithSideWalls(at=$t);
// attachXYTrays(at=$t);
@@ -40,7 +40,7 @@ module assemblyInstructions () {
// Final builds:
// render()
finalSingle();
// finalSingle();
// finalDouble();
// Features:
+2 -2
View File
@@ -8,10 +8,10 @@
*/
include <./profiles.scad>
profileName = "default";
profileName = "micro";
profile = getProfile(profileName);
// echo("Profile:", profile);
defaultLayerHeight = 0.3;
function getConfig(name) = getConfigValue(profile, name);
+2 -2
View File
@@ -41,9 +41,9 @@ module onYBarBasePlateConnectorPositive() {
module onYBarBasePlateConnectorNegative() {
translate(v=[_heatSetX, _heatSetY, m3HeatSetInsertSlotHeightSlacked + _baseConnRecession])
translate(v=[_heatSetX, _heatSetY, 4 + _baseConnRecession])
mirror(v=[0,0,1])
heatSetInsertSlot_N(rackFrameScrewType, topExtension=inf10);
hexNutPocket_N("m3", openSide=false, backSpace=5, bridgeBack=true);
hull() {
translate(v = [_heatSetX, _heatSetY, _baseConnRecession+overhangSlack])
-3
View File
@@ -15,9 +15,6 @@ include <./sideModuleYBarConnectors.scad>
include <./stackYBarConnectors.scad>
include <./basePlateYBarConnectors.scad>
// WIP
partList = ["yBar", "xBar", "mainRail", "xyPlate", "sideModule"];
mirror(v=[1,0,0])
*connectorDebug(on="xBar", to="yBar", trans=identity);
+19 -7
View File
@@ -1,6 +1,7 @@
include <../../helper/screws.scad>
include <../../helper/common.scad>
include <../../helper/matrix.scad>
include <../../helper/halfspace.scad>
include <../../helper/slack.scad>
include <../../helper/dovetail.scad>
include <../../helper/halfspace.scad>
@@ -10,7 +11,8 @@ include <../sharedVariables.scad>
include <../config.scad>
mainRailHeatSetOnYBarDx = railSideMountThickness + 5;
mainRailHeatSetOnYBarDy = railFrontThickness + 4;
mainRailHeatSetOnYBarDy = railFrontThickness + 2;
module onYBarToMainRailNegative() {
slotSlack = xySlack;
@@ -20,20 +22,30 @@ module onYBarToMainRailNegative() {
translate(v=[-slotZSlack/2, -slotSlack/2,0])
cube(size = [railTotalWidth+slotZSlack, railTotalDepth + slotSlack, railFootThickness]);
translate(v = [mainRailHeatSetOnYBarDx, mainRailHeatSetOnYBarDy, -m3HeatSetInsertSlotHeightSlacked])
heatSetInsertSlot_N(rackFrameScrewType);
translate(v = [mainRailHeatSetOnYBarDx, mainRailHeatSetOnYBarDy, -5])
rotate(a=[-45,0,0])
hexNutPocket_N("m3", openSide=false, backSpace=5);
}
}
module onMainRailYBarConnectorPositive() {
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() {
translate(v = [mainRailHeatSetOnYBarDx, mainRailHeatSetOnYBarDy, railFootThickness])
counterSunkHead_N(rackFrameScrewType, screwExtension=inf10, headExtension=inf10);
screwOffset = 9;
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])
cube(size = [sideWallConnW+xySlack, sideWallConnD+xySlack, sideWallConnLugDepression]);
translate(v = [yBarScrewHoleToOuterYEdge, yBarScrewHoleToFrontXEdge, -(m3HeatSetInsertSlotHeightSlacked+sideWallConnLugDepression)])
heatSetInsertSlot_N(rackFrameScrewType);
translate(v = [yBarScrewHoleToOuterYEdge, yBarScrewHoleToFrontXEdge, -(4+sideWallConnLugDepression)])
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() {
y = 27;
z = 6;
translate(v = [-m3HeatSetInsertSlotHeightSlacked, y, z])
translate(v = [-5, y, z])
rotate(a = [180, 0, 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>
//mainRail();
*mainRail();
module mainRail() {
+7 -4
View File
@@ -7,7 +7,10 @@ include <../xBar.scad>
yBar();
translate(v=[40,0,0])
mirror(v=[1,0,0])
rotate(a=[0,0,90])
*xBar();
*difference() {
translate(v=[2,0,0])
cube(size=[16,10,6], center=true);
hexNutPocket_N("m3", openSide = false, backSpace = 5, bridgeFront = true);
}
*hexNutPocket_N("m3", openSide = false, backSpace = 5, bridgeBack = true);
+6 -4
View File
@@ -50,12 +50,14 @@ yBarStackConnectorTrans = translate(v = [connectorXEdgeToYBarXEdge, connectorYEd
yBarSideModuleConnectorTrans = translate(v = [
yBarWidth-(railTotalWidth+railSlotToInnerYEdge+railSlotToSideWallSlot+sideWallConnectorSlotWidth),
sideWallSlotToXZ,
yBarHeight]);
sideWallSlotToXZ,
yBarHeight
]);
yBarMainRailConnectorTrans = translate(v = [
yBarWidth-(railTotalWidth+railSlotToInnerYEdge),
railSlotToXZ,
yBarHeight-railFootThickness]);
railSlotToXZ,
yBarHeight-railFootThickness
]);
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
+37485 -35077
View File
File diff suppressed because it is too large Load Diff