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

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() {

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

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:

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);

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])

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);

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);
}

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);
}

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);
}

View File

@ -8,7 +8,7 @@ include <../helper/matrix.scad>
include <./connector/connectors.scad>
//mainRail();
*mainRail();
module mainRail() {

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);

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

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

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

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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff