updating onboarding bracket with SSI (#5281)
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
This commit is contained in:
		@ -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,
 | 
			
		||||
  }) => {
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -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)
 | 
			
		||||
`
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user