* New single-file samples for the website * Update kcl-samples simulation test output * Update kcl-samples simulation test output * Update kcl-samples simulation test output * Update kcl-samples simulation test output * Update kcl-samples simulation test output * Update kcl-samples simulation test output * Update kcl-samples simulation test output * Update kcl-samples simulation test output * Update kcl-samples simulation test output * Update kcl-samples simulation test output * Update kcl-samples simulation test output * Update kcl-samples simulation test output * Update kcl-samples simulation test output * Delete public/kcl-samples/piston directory * More * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * move another test Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates 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> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Jess Frazelle <jessfraz@users.noreply.github.com> Co-authored-by: Jess Frazelle <github@jessfraz.com>
168 lines
3.3 KiB
Plaintext
168 lines
3.3 KiB
Plaintext
// Tooling Nest Block
|
|
// A tooling nest block is a block-shaped tool made from high-carbon steel. It features an assortment of conical or hemispherical indentions, which are used to form or shape metal, particularly in crafting bells or jewelry
|
|
|
|
// Set units
|
|
@settings(defaultLengthUnit = mm)
|
|
|
|
// Define parameters
|
|
sideLength = 50
|
|
size01 = 15
|
|
size02 = 10
|
|
size03 = 6
|
|
size04 = 0.375in
|
|
size05 = 0.25in
|
|
size06 = 0.5in
|
|
size07 = 0.75in
|
|
size08 = 5
|
|
size09 = 4.5
|
|
size10 = 4
|
|
size11 = 3.5
|
|
size12 = 3
|
|
size13 = 2.5
|
|
size14 = 2
|
|
size15 = 1
|
|
|
|
// Sketch and extrude the base cube
|
|
cubeSketch = startSketchOn(XY)
|
|
|> startProfile(at = [0, 0])
|
|
|> angledLine(angle = 0, length = sideLength, tag = $rectangleSegmentA001)
|
|
|> angledLine(angle = segAng(rectangleSegmentA001) + 90, length = sideLength, tag = $rectangleSegmentB001)
|
|
|> angledLine(angle = segAng(rectangleSegmentA001), length = -segLen(rectangleSegmentA001), tag = $rectangleSegmentC001)
|
|
|> line(endAbsolute = [profileStartX(%), profileStartY(%)], tag = $rectangleSegmentD001)
|
|
|> close()
|
|
cubeExtrude = extrude(cubeSketch, length = sideLength)
|
|
|
|
// Write a function to create a hemispherical nest in a given cube side
|
|
fn nest(cubeFace, xPos, yPos, nestSize) {
|
|
nestFn = startSketchOn(cubeExtrude, face = cubeFace)
|
|
|> circle(center = [xPos * sideLength, yPos * sideLength], radius = nestSize, tag = $seg01)
|
|
|> extrude(length = -nestSize, tagStart = $capStart001)
|
|
|> fillet(
|
|
radius = nestSize * .99,
|
|
tags = [
|
|
getCommonEdge(faces = [seg01, capStart001])
|
|
],
|
|
)
|
|
return { }
|
|
}
|
|
|
|
// Model each nest on the top face
|
|
nest(
|
|
cubeFace = END,
|
|
xPos = 0.5,
|
|
yPos = 0.5,
|
|
nestSize = size01,
|
|
)
|
|
|
|
// Model each nest on side 1
|
|
nest(
|
|
cubeFace = rectangleSegmentA001,
|
|
xPos = 0.65,
|
|
yPos = 0.5,
|
|
nestSize = size02,
|
|
)
|
|
nest(
|
|
cubeFace = rectangleSegmentA001,
|
|
xPos = 0.25,
|
|
yPos = 0.25,
|
|
nestSize = size03,
|
|
)
|
|
nest(
|
|
cubeFace = rectangleSegmentA001,
|
|
xPos = 0.25,
|
|
yPos = 0.75,
|
|
nestSize = size03,
|
|
)
|
|
|
|
// Model each nest on side 2
|
|
nest(
|
|
cubeFace = rectangleSegmentB001,
|
|
xPos = 0.7,
|
|
yPos = 0.3,
|
|
nestSize = size04,
|
|
)
|
|
nest(
|
|
cubeFace = rectangleSegmentB001,
|
|
xPos = 0.25,
|
|
yPos = 0.3,
|
|
nestSize = size05,
|
|
)
|
|
nest(
|
|
cubeFace = rectangleSegmentB001,
|
|
xPos = 0.25,
|
|
yPos = 0.7,
|
|
nestSize = size05,
|
|
)
|
|
nest(
|
|
cubeFace = rectangleSegmentB001,
|
|
xPos = 0.7,
|
|
yPos = 0.7,
|
|
nestSize = size05,
|
|
)
|
|
|
|
// Model each nest on side 3
|
|
nest(
|
|
cubeFace = rectangleSegmentC001,
|
|
xPos = -0.5,
|
|
yPos = 0.5,
|
|
nestSize = size06,
|
|
)
|
|
|
|
// Model each nest on side 4
|
|
nest(
|
|
cubeFace = rectangleSegmentD001,
|
|
xPos = -0.2,
|
|
yPos = 0.2,
|
|
nestSize = size15,
|
|
)
|
|
nest(
|
|
cubeFace = rectangleSegmentD001,
|
|
xPos = -0.2,
|
|
yPos = 0.5,
|
|
nestSize = size14,
|
|
)
|
|
nest(
|
|
cubeFace = rectangleSegmentD001,
|
|
xPos = -0.2,
|
|
yPos = 0.8,
|
|
nestSize = size13,
|
|
)
|
|
nest(
|
|
cubeFace = rectangleSegmentD001,
|
|
xPos = -0.8,
|
|
yPos = 0.2,
|
|
nestSize = size12,
|
|
)
|
|
nest(
|
|
cubeFace = rectangleSegmentD001,
|
|
xPos = -0.8,
|
|
yPos = 0.5,
|
|
nestSize = size10,
|
|
)
|
|
nest(
|
|
cubeFace = rectangleSegmentD001,
|
|
xPos = -0.8,
|
|
yPos = 0.8,
|
|
nestSize = size08,
|
|
)
|
|
nest(
|
|
cubeFace = rectangleSegmentD001,
|
|
xPos = -0.5,
|
|
yPos = 0.33,
|
|
nestSize = size09,
|
|
)
|
|
nest(
|
|
cubeFace = rectangleSegmentD001,
|
|
xPos = -0.5,
|
|
yPos = 0.67,
|
|
nestSize = size11,
|
|
)
|
|
|
|
// Model each nest on the bottom face
|
|
nest(
|
|
cubeFace = START,
|
|
xPos = -0.5,
|
|
yPos = 0.5,
|
|
nestSize = size07,
|
|
)
|