wip - remove heat set inserts
This commit is contained in:
@ -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() {
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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:
|
||||
|
||||
@ -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);
|
||||
|
||||
|
||||
@ -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])
|
||||
|
||||
@ -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);
|
||||
|
||||
|
||||
@ -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);
|
||||
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
@ -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);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -8,7 +8,7 @@ include <../helper/matrix.scad>
|
||||
|
||||
include <./connector/connectors.scad>
|
||||
|
||||
//mainRail();
|
||||
*mainRail();
|
||||
|
||||
module mainRail() {
|
||||
|
||||
|
||||
@ -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);
|
||||
@ -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
59024
stl/rack/mainRail_P.stl
59024
stl/rack/mainRail_P.stl
File diff suppressed because it is too large
Load Diff
216164
stl/rack/sideWallLeft_P.stl
216164
stl/rack/sideWallLeft_P.stl
File diff suppressed because it is too large
Load Diff
208570
stl/rack/sideWallRight_P.stl
208570
stl/rack/sideWallRight_P.stl
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
8864
stl/rack/xBar_P.stl
8864
stl/rack/xBar_P.stl
File diff suppressed because it is too large
Load Diff
14548
stl/rack/xyPlate_P.stl
14548
stl/rack/xyPlate_P.stl
File diff suppressed because it is too large
Load Diff
72562
stl/rack/yBar_P.stl
72562
stl/rack/yBar_P.stl
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user