* git mv src/wasm-lib rust Signed-off-by: Jess Frazelle <github@jessfraz.com> * mv wasm-lib to workspace Signed-off-by: Jess Frazelle <github@jessfraz.com> * mv kcl-lib Signed-off-by: Jess Frazelle <github@jessfraz.com> * mv derive docs Signed-off-by: Jess Frazelle <github@jessfraz.com> * resolve file paths Signed-off-by: Jess Frazelle <github@jessfraz.com> * clippy Signed-off-by: Jess Frazelle <github@jessfraz.com> * move more shit Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix more paths Signed-off-by: Jess Frazelle <github@jessfraz.com> * make yarn build:wasm work Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix scripts Signed-off-by: Jess Frazelle <github@jessfraz.com> * fixups Signed-off-by: Jess Frazelle <github@jessfraz.com> * better references Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix cargo ci Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix reference Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix more ci Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix tests Signed-off-by: Jess Frazelle <github@jessfraz.com> * cargo sort Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix script Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix Signed-off-by: Jess Frazelle <github@jessfraz.com> * fmt Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix a dep Signed-off-by: Jess Frazelle <github@jessfraz.com> * sort Signed-off-by: Jess Frazelle <github@jessfraz.com> * remove unused deps Signed-off-by: Jess Frazelle <github@jessfraz.com> * Revert "remove unused deps" This reverts commit fbabdb062e275fd5cbc1476f8480a1afee15d972. * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * deps; Signed-off-by: Jess Frazelle <github@jessfraz.com> * fixes Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> --------- Signed-off-by: Jess Frazelle <github@jessfraz.com>
45 lines
1.6 KiB
Plaintext
45 lines
1.6 KiB
Plaintext
// Shelf Bracket
|
|
// This is a shelf bracket made out of 6061-T6 aluminum sheet metal. The required thickness is calculated based on a point load of 300 lbs applied to the end of the shelf. There are two brackets holding up the shelf, so the moment experienced is divided by 2. The shelf is 1 foot long from the wall.
|
|
|
|
// Define our bracket feet lengths
|
|
const shelfMountL = 8 // The length of the bracket holding up the shelf is 6 inches
|
|
const wallMountL = 6 // the length of the bracket
|
|
|
|
// Define constants required to calculate the thickness needed to support 300 lbs
|
|
const sigmaAllow = 35000 // psi
|
|
const width = 6 // inch
|
|
const p = 300 // Force on shelf - lbs
|
|
const L = 12 // inches
|
|
const M = L * p / 2 // Moment experienced at fixed end of bracket
|
|
const FOS = 2 // Factor of safety of 2 to be conservative
|
|
|
|
// Calculate the thickness off the bending stress and factor of safety
|
|
const thickness = sqrt(6 * M * FOS / (width * sigmaAllow))
|
|
|
|
// 0.25 inch fillet radius
|
|
const filletR = 0.25
|
|
|
|
// Sketch the bracket and extrude with fillets
|
|
const bracket = startSketchOn('XY')
|
|
|> startProfileAt([0, 0], %)
|
|
|> line(end = [0, wallMountL], tag = 'outerEdge')
|
|
|> line(end = [-shelfMountL, 0])
|
|
|> line(end = [0, -thickness])
|
|
|> line(end = [shelfMountL - thickness, 0], tag = 'innerEdge')
|
|
|> line(end = [0, -wallMountL + thickness])
|
|
|> close()
|
|
|> extrude(length = width)
|
|
|> fillet(
|
|
radius = filletR,
|
|
tags = [
|
|
getPreviousAdjacentEdge('innerEdge', %)
|
|
]
|
|
)
|
|
|> fillet(
|
|
radius = filletR + thickness,
|
|
tags = [
|
|
getPreviousAdjacentEdge('outerEdge', %)
|
|
]
|
|
)
|
|
|