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") { 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,9 +165,36 @@ 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() {
cylinder(r = innerRadius, h = inf50, $fn = 32); // 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) { if (openSide) {
hull() { 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 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

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:

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

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

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

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

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

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

View File

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

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

View File

@ -50,12 +50,14 @@ 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

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