Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

updating onboarding bracket with SSI #5281

Merged
merged 18 commits into from
Feb 6, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
275e3d9
updating onboarding bracket with SSI
jgomez720 Feb 5, 2025
700bd23
Merge branch 'main' into josh-update-onboarding-ssi
pierremtb Feb 6, 2025
bc68b5b
Upgrade rust toolchain to 1.84.1 (#5211)
jtran Feb 6, 2025
994033b
Fix dumb use of non-platform agnostic separator (#5279)
franknoirot Feb 6, 2025
7a655b5
Fix to invalidate execution cache when top-level annotations change (…
jtran Feb 6, 2025
7e0995b
A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubunt…
github-actions[bot] Feb 6, 2025
6e02b1d
Merge branch 'main' into josh-update-onboarding-ssi
pierremtb Feb 6, 2025
d03f653
Clean up bad samples
pierremtb Feb 6, 2025
e9ddb4b
A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubunt…
github-actions[bot] Feb 6, 2025
2336445
A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubunt…
github-actions[bot] Feb 6, 2025
a4673ce
A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubunt…
github-actions[bot] Feb 6, 2025
fabc769
Clean up bad samples
pierremtb Feb 6, 2025
9a97f32
Trigger CI
pierremtb Feb 6, 2025
c7e41ee
Merge branch 'main' into josh-update-onboarding-ssi
pierremtb Feb 6, 2025
7571acf
Merge branch 'main' into josh-update-onboarding-ssi
pierremtb Feb 6, 2025
21878b1
A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubunt…
github-actions[bot] Feb 6, 2025
99abb77
A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubunt…
github-actions[bot] Feb 6, 2025
de5dbd1
Add scene.waitForExecutionDone() to test to account for longer exec
pierremtb Feb 6, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions e2e/playwright/regression-tests.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -314,6 +314,7 @@ extrude001 = extrude(sketch001, length = 50)
)

test('when engine fails export we handle the failure and alert the user', async ({
scene,
page,
homePage,
}) => {
Expand Down Expand Up @@ -383,10 +384,7 @@ extrude001 = extrude(sketch001, length = 50)
await page.keyboard.press('End')
await page.keyboard.press('Enter')

// wait for execution done
await u.openDebugPanel()
await u.expectCmdLog('[data-message-type="execution-done"]')
await u.closeDebugPanel()
await scene.waitForExecutionDone()

// Now try exporting

Expand Down
138 changes: 51 additions & 87 deletions src/lib/exampleKcl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,104 +12,68 @@ wallMountL = 2 // inches
shelfDepth = 12 // Shelf is 12 inches in depth from the wall
moment = shelfDepth * p // assume the force is applied at the end of the shelf to be conservative (lb-in)


filletRadius = .375 // inches
extFilletRadius = .25 // inches
mountingHoleDiameter = 0.5 // inches


// Calculate required thickness of bracket
thickness = sqrt(moment * factorOfSafety * 6 / (sigmaAllow * width)) // this is the calculation of two brackets holding up the shelf (inches)

filletRadius = .25
extFilletRadius = filletRadius + thickness
mountingHoleDiameter = 0.5

// Sketch the bracket body and fillet the inner and outer edges of the bend
bracketLeg1Sketch = startSketchOn('XY')
sketch001 = startSketchOn('XZ')
|> startProfileAt([0, 0], %)
|> line(end = [shelfMountL - filletRadius, 0], tag = $fillet1)
|> line(end = [0, width], tag = $fillet2)
|> line(end = [-shelfMountL + filletRadius, 0])
|> xLine(shelfMountL - thickness, %, $seg01)
|> yLine(thickness, %, $seg02)
|> xLine(-shelfMountL, %, $seg03)
|> yLine(-wallMountL, %, $seg04)
|> xLine(thickness, %, $seg05)
|> line(endAbsolute = [profileStartX(%), profileStartY(%)], tag = $seg06)
|> close()
|> hole(circle({
center = [1, 1],
radius = mountingHoleDiameter / 2
}, %), %)
|> hole(circle({
center = [shelfMountL - 1.5, width - 1],
radius = mountingHoleDiameter / 2
}, %), %)
|> hole(circle({
center = [1, width - 1],
radius = mountingHoleDiameter / 2
}, %), %)
|> hole(circle({
center = [shelfMountL - 1.5, 1],
radius = mountingHoleDiameter / 2
}, %), %)

// Extrude the leg 2 bracket sketch
bracketLeg1Extrude = extrude(bracketLeg1Sketch, length = thickness)
|> extrude(%, length = width)
|> fillet({
radius = extFilletRadius,
tags = [
getNextAdjacentEdge(fillet1),
getNextAdjacentEdge(fillet2)
]
tags = [getNextAdjacentEdge(seg03)]
}, %)

// Sketch the fillet arc
filletSketch = startSketchOn('XZ')
|> startProfileAt([0, 0], %)
|> line(end = [0, thickness])
|> arc({
angleEnd = 180,
angleStart = 90,
radius = filletRadius + thickness
}, %)
|> line(end = [thickness, 0])
|> arc({
angleEnd = 90,
angleStart = 180,
radius = filletRadius
}, %)

// Sketch the bend
filletExtrude = extrude(filletSketch, length = -width)

// Create a custom plane for the leg that sits on the wall
customPlane = {
plane = {
origin = { x = -filletRadius, y = 0, z = 0 },
xAxis = { x = 0, y = 1, z = 0 },
yAxis = { x = 0, y = 0, z = 1 },
zAxis = { x = 1, y = 0, z = 0 }
}
}

// Create a sketch for the second leg
bracketLeg2Sketch = startSketchOn(customPlane)
|> startProfileAt([0, -filletRadius], %)
|> line(end = [width, 0])
|> line(end = [0, -wallMountL], tag = $fillet3)
|> line(end = [-width, 0], tag = $fillet4)
|> close()
|> hole(circle({
center = [1, -1.5],
radius = mountingHoleDiameter / 2
}, %), %)
|> hole(circle({
center = [5, -1.5],
radius = mountingHoleDiameter / 2
}, %), %)

// Extrude the second leg
bracketLeg2Extrude = extrude(bracketLeg2Sketch, length = -thickness)
|> fillet({
radius = extFilletRadius,
tags = [
getNextAdjacentEdge(fillet3),
getNextAdjacentEdge(fillet4)
]
radius = filletRadius,
tags = [getNextAdjacentEdge(seg06)]
}, %)
|> fillet({
radius = filletRadius,
tags = [seg02, getOppositeEdge(seg02)],
}, %)
|> fillet({
radius = filletRadius,
tags = [seg05, getOppositeEdge(seg05)],
}, %)

sketch002 = startSketchOn(sketch001, seg03)
|> circle({
center = [-1.25, 1],
radius = mountingHoleDiameter / 2,
}, %)
|> patternLinear2d({
instances = 2,
distance = 2.5,
axis = [-1, 0],
}, %)
|> patternLinear2d({
instances = 2,
distance = 4,
axis = [0, 1],
}, %)
|> extrude(%, length = -thickness-.01)

sketch003 = startSketchOn(sketch001, seg04)
|> circle({
center = [1, -1],
radius = mountingHoleDiameter / 2,
}, %)
|> patternLinear2d({
instances = 2,
distance = 4,
axis = [1, 0],
}, %)
|> extrude(%, length = -thickness-0.1)
`

/**
Expand Down
Loading