BREAKING: More units of measure work and keyword args (#6291)
* More units of measure work Signed-off-by: Nick Cameron <nrc@ncameron.org> * Update CSG output since engine change --------- Signed-off-by: Nick Cameron <nrc@ncameron.org> Co-authored-by: Nick Cameron <nrc@ncameron.org>
This commit is contained in:
		@ -18,7 +18,7 @@ extrude002 = extrude(profile002, length = 150)
 | 
			
		||||
       tag = $seg02,
 | 
			
		||||
     )
 | 
			
		||||
 | 
			
		||||
sketch003 = startSketchOn(extrude002, mySeg)
 | 
			
		||||
sketch003 = startSketchOn(extrude002, face = mySeg)
 | 
			
		||||
profile003 = startProfileAt([207.36, 126.19], sketch003)
 | 
			
		||||
  |> angledLine(angle = 0, length = 33.57, tag = $rectangleSegmentA002)
 | 
			
		||||
  |> angledLine(angle = segAng(rectangleSegmentA002) - 90, length = 99.11)
 | 
			
		||||
@ -26,7 +26,7 @@ profile003 = startProfileAt([207.36, 126.19], sketch003)
 | 
			
		||||
  |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
 | 
			
		||||
  |> close()
 | 
			
		||||
extrude003 = extrude(profile003, length = -20)
 | 
			
		||||
sketch004 = startSketchOn(extrude003, seg01)
 | 
			
		||||
sketch004 = startSketchOn(extrude003, face = seg01)
 | 
			
		||||
profile004 = startProfileAt([-235.38, 66.16], sketch004)
 | 
			
		||||
  |> angledLine(angle = 0, length = 24.21, tag = $rectangleSegmentA003)
 | 
			
		||||
  |> angledLine(angle = segAng(rectangleSegmentA003) - 90, length = 3.72)
 | 
			
		||||
@ -35,7 +35,7 @@ profile004 = startProfileAt([-235.38, 66.16], sketch004)
 | 
			
		||||
  |> close()
 | 
			
		||||
extrude004 = extrude(profile004, length = 30)
 | 
			
		||||
 | 
			
		||||
sketch005 = startSketchOn(extrude002, seg02)
 | 
			
		||||
sketch005 = startSketchOn(extrude002, face = seg02)
 | 
			
		||||
profile005 = startProfileAt([-129.93, -59.19], sketch005)
 | 
			
		||||
  |> xLine(length = 48.79)
 | 
			
		||||
  |> line(end = [1.33, 11.03])
 | 
			
		||||
@ -43,7 +43,7 @@ profile005 = startProfileAt([-129.93, -59.19], sketch005)
 | 
			
		||||
  |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
 | 
			
		||||
  |> close()
 | 
			
		||||
extrude005 = extrude(profile005, length = -10)
 | 
			
		||||
sketch006 = startSketchOn(extrude005, seg03)
 | 
			
		||||
sketch006 = startSketchOn(extrude005, face = seg03)
 | 
			
		||||
profile006 = startProfileAt([-95.86, 38.73], sketch006)
 | 
			
		||||
  |> angledLine(angle = 0, length = 3.48, tag = $rectangleSegmentA004)
 | 
			
		||||
  |> angledLine(angle = segAng(rectangleSegmentA004) - 90, length = 3.36)
 | 
			
		||||
 | 
			
		||||
@ -10,12 +10,10 @@ const extrude000 = extrude(sketch000, length = 1.0)
 | 
			
		||||
 | 
			
		||||
// define a plane with name plane005
 | 
			
		||||
const plane005 = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [0.0, 0.0, 1.0],
 | 
			
		||||
    xAxis: [0.707107, 0.707107, 0.0],
 | 
			
		||||
    yAxis: [-0.0, 0.0, 1.0],
 | 
			
		||||
    zAxis: [0.707107, -0.707107, 0.0]
 | 
			
		||||
  }
 | 
			
		||||
  origin: [0.0, 0.0, 1.0],
 | 
			
		||||
  xAxis: [0.707107, 0.707107, 0.0],
 | 
			
		||||
  yAxis: [-0.0, 0.0, 1.0],
 | 
			
		||||
  zAxis: [0.707107, -0.707107, 0.0]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// create a sketch with name sketch001
 | 
			
		||||
 | 
			
		||||
@ -15,7 +15,7 @@ const tabThk = 4
 | 
			
		||||
 | 
			
		||||
// define a rectangular shape func
 | 
			
		||||
fn rectShape = (pos, w, l) => {
 | 
			
		||||
  const rr = startSketchOn('xy')
 | 
			
		||||
  const rr = startSketchOn(XY)
 | 
			
		||||
    |> startProfileAt([pos[0] - (w / 2), pos[1] - (l / 2)], %)
 | 
			
		||||
    |> line(endAbsolute = [pos[0] + w / 2, pos[1] - (l / 2)], tag = $edge01)
 | 
			
		||||
    |> line(endAbsolute = [pos[0] + w / 2, pos[1] + l / 2], tag = $edge02)
 | 
			
		||||
@ -26,12 +26,10 @@ fn rectShape = (pos, w, l) => {
 | 
			
		||||
 | 
			
		||||
// define the bracket plane
 | 
			
		||||
const bracketPlane = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: { x: 0, y: length / 2 + thk, z: 0 },
 | 
			
		||||
    xAxis: { x: 1, y: 0, z: 0 },
 | 
			
		||||
    yAxis: { x: 0, y: 0, z: 1 },
 | 
			
		||||
    zAxis: { x: 0, y: -1, z: 0 }
 | 
			
		||||
  }
 | 
			
		||||
  origin: { x: 0, y: length / 2 + thk, z: 0 },
 | 
			
		||||
  xAxis: { x: 1, y: 0, z: 0 },
 | 
			
		||||
  yAxis: { x: 0, y: 0, z: 1 },
 | 
			
		||||
  zAxis: { x: 0, y: -1, z: 0 }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// build the bracket sketch around the body
 | 
			
		||||
@ -65,7 +63,7 @@ const bracketBody = bs
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// sketch on the face
 | 
			
		||||
const retBack = startSketchOn(bs, bs.sketch.tags.edge4)
 | 
			
		||||
const retBack = startSketchOn(bs, face = bs.sketch.tags.edge4)
 | 
			
		||||
  |> startProfileAt([length / 2 + thk, 0], %)
 | 
			
		||||
  |> line(end = [0, thk])
 | 
			
		||||
  |> line(end = [-thk, 0])
 | 
			
		||||
 | 
			
		||||
@ -26,12 +26,10 @@ fn rectShape = (pos, w, l) => {
 | 
			
		||||
 | 
			
		||||
// define the bracket plane
 | 
			
		||||
const bracketPlane = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: { x: 0, y: length / 2 + thk, z: 0 },
 | 
			
		||||
    xAxis: { x: 1, y: 0, z: 0 },
 | 
			
		||||
    yAxis: { x: 0, y: 0, z: 1 },
 | 
			
		||||
    zAxis: { x: 0, y: -1, z: 0 }
 | 
			
		||||
  }
 | 
			
		||||
  origin: { x: 0, y: length / 2 + thk, z: 0 },
 | 
			
		||||
  xAxis: { x: 1, y: 0, z: 0 },
 | 
			
		||||
  yAxis: { x: 0, y: 0, z: 1 },
 | 
			
		||||
  zAxis: { x: 0, y: -1, z: 0 }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// build the bracket sketch around the body
 | 
			
		||||
@ -65,12 +63,10 @@ const bracketBody = bs
 | 
			
		||||
 | 
			
		||||
// define the tab plane
 | 
			
		||||
const tabPlane = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: { x: 0, y: 0, z: depth + thk },
 | 
			
		||||
    xAxis: { x: 1, y: 0, z: 0 },
 | 
			
		||||
    yAxis: { x: 0, y: 1, z: 0 },
 | 
			
		||||
    zAxis: { x: 0, y: 0, z: 1 }
 | 
			
		||||
  }
 | 
			
		||||
  origin: { x: 0, y: 0, z: depth + thk },
 | 
			
		||||
  xAxis: { x: 1, y: 0, z: 0 },
 | 
			
		||||
  yAxis: { x: 0, y: 1, z: 0 },
 | 
			
		||||
  zAxis: { x: 0, y: 0, z: 1 }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// build the tabs of the mounting bracket (right side)
 | 
			
		||||
@ -131,12 +127,10 @@ const tabsL = startSketchOn(tabPlane)
 | 
			
		||||
 | 
			
		||||
// define a plane for retention bumps
 | 
			
		||||
const retPlane = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: { x: -width / 2 + 20, 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 }
 | 
			
		||||
  }
 | 
			
		||||
  origin: { x: -width / 2 + 20, 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 }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// build the retention bump in the front
 | 
			
		||||
 | 
			
		||||
@ -26,12 +26,10 @@ fn rectShape = (pos, w, l) => {
 | 
			
		||||
 | 
			
		||||
// define the bracket plane
 | 
			
		||||
const bracketPlane = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: { x: 0, y: length / 2 + thk, z: 0 },
 | 
			
		||||
    xAxis: { x: 1, y: 0, z: 0 },
 | 
			
		||||
    yAxis: { x: 0, y: 0, z: 1 },
 | 
			
		||||
    zAxis: { x: 0, y: -1, z: 0 }
 | 
			
		||||
  }
 | 
			
		||||
  origin: { x: 0, y: length / 2 + thk, z: 0 },
 | 
			
		||||
  xAxis: { x: 1, y: 0, z: 0 },
 | 
			
		||||
  yAxis: { x: 0, y: 0, z: 1 },
 | 
			
		||||
  zAxis: { x: 0, y: -1, z: 0 }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// build the bracket sketch around the body
 | 
			
		||||
@ -65,12 +63,10 @@ const bracketBody = bs
 | 
			
		||||
 | 
			
		||||
// define the tab plane
 | 
			
		||||
const tabPlane = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: { x: 0, y: 0, z: depth + thk },
 | 
			
		||||
    xAxis: { x: 1, y: 0, z: 0 },
 | 
			
		||||
    yAxis: { x: 0, y: 1, z: 0 },
 | 
			
		||||
    zAxis: { x: 0, y: 0, z: 1 }
 | 
			
		||||
  }
 | 
			
		||||
  origin: { x: 0, y: 0, z: depth + thk },
 | 
			
		||||
  xAxis: { x: 1, y: 0, z: 0 },
 | 
			
		||||
  yAxis: { x: 0, y: 1, z: 0 },
 | 
			
		||||
  zAxis: { x: 0, y: 0, z: 1 }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// build the tabs of the mounting bracket (right side)
 | 
			
		||||
@ -131,12 +127,10 @@ const tabsL = startSketchOn(tabPlane)
 | 
			
		||||
 | 
			
		||||
// define a plane for retention bumps
 | 
			
		||||
const retPlane = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: { x: -width / 2 + 20, 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 }
 | 
			
		||||
  }
 | 
			
		||||
  origin: { x: -width / 2 + 20, 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 }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// build the retention bump in the front
 | 
			
		||||
 | 
			
		||||
@ -27,7 +27,7 @@ const s = startSketchOn(XY)
 | 
			
		||||
  |> close()
 | 
			
		||||
  |> extrude(length = height)
 | 
			
		||||
 | 
			
		||||
const shellExtrude = startSketchOn(s, "start")
 | 
			
		||||
const shellExtrude = startSketchOn(s, face = "start")
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -(total_width / 2 - t),
 | 
			
		||||
       -(total_length / 2 - t)
 | 
			
		||||
@ -38,7 +38,7 @@ const shellExtrude = startSketchOn(s, "start")
 | 
			
		||||
  |> close()
 | 
			
		||||
  |> extrude(length = -(height - t))
 | 
			
		||||
 | 
			
		||||
const peg = startSketchOn(s, "end")
 | 
			
		||||
const peg = startSketchOn(s, face = "end")
 | 
			
		||||
  |> circle( center= [
 | 
			
		||||
       -(total_width / 2 - wSegments),
 | 
			
		||||
       -(total_length / 2 - lSegments)
 | 
			
		||||
 | 
			
		||||
@ -1,19 +1,17 @@
 | 
			
		||||
// define a plane with UID 94894440791888
 | 
			
		||||
const plane94894440791888 = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [0.005000000000000001, 0.01, -0.005],
 | 
			
		||||
    xAxis: [
 | 
			
		||||
      0.9285064634886234,
 | 
			
		||||
      0.37131623619207604,
 | 
			
		||||
      0.0
 | 
			
		||||
    ],
 | 
			
		||||
    yAxis: [-0.0, 0.0, 1.0],
 | 
			
		||||
    zAxis: [
 | 
			
		||||
      0.37131623619207604,
 | 
			
		||||
      -0.9285064634886234,
 | 
			
		||||
      0.0
 | 
			
		||||
    ]
 | 
			
		||||
  }
 | 
			
		||||
  origin: [0.005000000000000001, 0.01, -0.005],
 | 
			
		||||
  xAxis: [
 | 
			
		||||
    0.9285064634886234,
 | 
			
		||||
    0.37131623619207604,
 | 
			
		||||
    0.0
 | 
			
		||||
  ],
 | 
			
		||||
  yAxis: [-0.0, 0.0, 1.0],
 | 
			
		||||
  zAxis: [
 | 
			
		||||
    0.37131623619207604,
 | 
			
		||||
    -0.9285064634886234,
 | 
			
		||||
    0.0
 | 
			
		||||
  ]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// create a sketch with UID 94894440902176
 | 
			
		||||
 | 
			
		||||
@ -1,19 +1,17 @@
 | 
			
		||||
// define a plane with UID 94894440791888
 | 
			
		||||
const plane94894440791888 = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [0.005000000000000001, 0.01, -0.005],
 | 
			
		||||
    xAxis: [
 | 
			
		||||
      0.9285064634886234,
 | 
			
		||||
      0.37131623619207604,
 | 
			
		||||
      0.0
 | 
			
		||||
    ],
 | 
			
		||||
    yAxis: [-0.0, 0.0, 1.0],
 | 
			
		||||
    zAxis: [
 | 
			
		||||
      0.37131623619207604,
 | 
			
		||||
      -0.9285064634886234,
 | 
			
		||||
      0.0
 | 
			
		||||
    ]
 | 
			
		||||
  }
 | 
			
		||||
  origin: [0.005000000000000001, 0.01, -0.005],
 | 
			
		||||
  xAxis: [
 | 
			
		||||
    0.9285064634886234,
 | 
			
		||||
    0.37131623619207604,
 | 
			
		||||
    0.0
 | 
			
		||||
  ],
 | 
			
		||||
  yAxis: [-0.0, 0.0, 1.0],
 | 
			
		||||
  zAxis: [
 | 
			
		||||
    0.37131623619207604,
 | 
			
		||||
    -0.9285064634886234,
 | 
			
		||||
    0.0
 | 
			
		||||
  ]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// create a sketch with UID 94894440902176
 | 
			
		||||
 | 
			
		||||
@ -12,7 +12,7 @@ const p = startSketchOn(XY)
 | 
			
		||||
  |> extrude(length = triangleHeight)
 | 
			
		||||
 | 
			
		||||
fn circl = (x, face) => {
 | 
			
		||||
return startSketchOn(p, face)
 | 
			
		||||
return startSketchOn(p, face = face)
 | 
			
		||||
  |> startProfileAt([x + radius, triangleHeight/2], %)
 | 
			
		||||
  |> arc(circ, %,  $arc_tag)
 | 
			
		||||
  |> close()
 | 
			
		||||
 | 
			
		||||
@ -33,7 +33,7 @@ const sketch001 = startSketchOn(XZ)
 | 
			
		||||
  |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
 | 
			
		||||
  |> close()
 | 
			
		||||
const extrude001 = extrude(sketch001, length = 5)
 | 
			
		||||
const sketch002 = startSketchOn(extrude001, 'START')
 | 
			
		||||
const sketch002 = startSketchOn(extrude001, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -slateWidthHalf,
 | 
			
		||||
       -templateGap * 2 - (templateDiameter / 2)
 | 
			
		||||
@ -44,7 +44,7 @@ const sketch002 = startSketchOn(extrude001, 'START')
 | 
			
		||||
  |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
 | 
			
		||||
  |> close()
 | 
			
		||||
const extrude002 = extrude(sketch002, length = 7.5)
 | 
			
		||||
const sketch003 = startSketchOn(extrude001, 'START')
 | 
			
		||||
const sketch003 = startSketchOn(extrude001, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       slateWidthHalf,
 | 
			
		||||
       -templateGap * 2 - (templateDiameter / 2)
 | 
			
		||||
 | 
			
		||||
@ -11,7 +11,6 @@ const width = 21.53
 | 
			
		||||
// simple caster model at each corner
 | 
			
		||||
fn caster = (originStart) => {
 | 
			
		||||
  const plane001c = {
 | 
			
		||||
    plane: {
 | 
			
		||||
      origin: [
 | 
			
		||||
        -(3.543 - 2.756) / 2 + originStart[0],
 | 
			
		||||
        -(3.543 - 2.756) / 2 + originStart[1],
 | 
			
		||||
@ -20,7 +19,6 @@ fn caster = (originStart) => {
 | 
			
		||||
      x_axis: [1.0, 0.0, 0.0],
 | 
			
		||||
      y_axis: [0.0, 1.0, 0.0],
 | 
			
		||||
      z_axis: [0.0, 0.0, 1.0]
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  const sketch001c = startSketchOn(plane001c)
 | 
			
		||||
@ -48,7 +46,7 @@ fn caster = (originStart) => {
 | 
			
		||||
       ], radius = 8.8 / 2 / 25.4 ), %)
 | 
			
		||||
    |> extrude(length = -.25)
 | 
			
		||||
 | 
			
		||||
  const sketch002c = startSketchOn(sketch001c, 'START')
 | 
			
		||||
  const sketch002c = startSketchOn(sketch001c, face = 'START')
 | 
			
		||||
    |> startProfileAt([-originStart[0], 2.2 + originStart[1]], %)
 | 
			
		||||
    |> arc({
 | 
			
		||||
         angle_start: 30,
 | 
			
		||||
@ -59,7 +57,6 @@ fn caster = (originStart) => {
 | 
			
		||||
    |> extrude(length = 3.1)
 | 
			
		||||
 | 
			
		||||
  const plane002c = {
 | 
			
		||||
    plane: {
 | 
			
		||||
      origin: [
 | 
			
		||||
        0 + originStart[0],
 | 
			
		||||
        0.8 + originStart[1],
 | 
			
		||||
@ -68,7 +65,6 @@ fn caster = (originStart) => {
 | 
			
		||||
      x_axis: [1, 0, 0],
 | 
			
		||||
      y_axis: [0, 0, 1],
 | 
			
		||||
      z_axis: [1, 0, 0]
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  const sketch003c = startSketchOn(plane002c)
 | 
			
		||||
    |> circle(center = [0, 1.2], radius = 2.48 / 2)
 | 
			
		||||
@ -96,7 +92,6 @@ caster([
 | 
			
		||||
 | 
			
		||||
// left wall
 | 
			
		||||
const plane001 = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [
 | 
			
		||||
      originStart[0] - 4,
 | 
			
		||||
      originStart[1] + 2,
 | 
			
		||||
@ -105,7 +100,6 @@ const plane001 = {
 | 
			
		||||
    x_axis: [0, 1, 0],
 | 
			
		||||
    y_axis: [0, 0, 1],
 | 
			
		||||
    z_axis: [1, 0, 0]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const sketch001l = startSketchOn(plane001)
 | 
			
		||||
@ -187,7 +181,6 @@ const extrude007l = extrude(sketch007l, length = 1)
 | 
			
		||||
 | 
			
		||||
// right wall
 | 
			
		||||
const plane002 = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [
 | 
			
		||||
      originStart[0] - 4 + width - 1,
 | 
			
		||||
      originStart[1] - 1,
 | 
			
		||||
@ -196,7 +189,6 @@ const plane002 = {
 | 
			
		||||
    x_axis: [0, 1, 0],
 | 
			
		||||
    y_axis: [0, 0, 1],
 | 
			
		||||
    z_axis: [1, 0, 0]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const sketch001w = startSketchOn(plane002)
 | 
			
		||||
@ -488,12 +480,10 @@ const extrude025w = extrude(sketch025w, length = 1)
 | 
			
		||||
 | 
			
		||||
// Base plane of rack
 | 
			
		||||
const plane003 = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [0, 0, 4.114],
 | 
			
		||||
    x_axis: [1, 0, 0],
 | 
			
		||||
    y_axis: [0, 1, 0],
 | 
			
		||||
    z_axis: [0, 0, 1]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const sketch005 = startSketchOn(plane003)
 | 
			
		||||
@ -541,12 +531,10 @@ const extrude008 = extrude(sketch008, length = 1)
 | 
			
		||||
 | 
			
		||||
// Top Plane
 | 
			
		||||
const plane004 = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [0, 0, 4.114 + railHeight * 1.75 + 2],
 | 
			
		||||
    x_axis: [1, 0, 0],
 | 
			
		||||
    y_axis: [0, 1, 0],
 | 
			
		||||
    z_axis: [0, 0, 1]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const sketch005t = startSketchOn(plane004)
 | 
			
		||||
@ -594,30 +582,24 @@ const extrude009t = extrude(sketch009t, length = -1)
 | 
			
		||||
// front left vertical rail
 | 
			
		||||
// Define planes so the rail can be moved
 | 
			
		||||
const planeXYfl = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [0, 0, originStart[2]],
 | 
			
		||||
    xAxis: [1.0, 0.0, 0.0],
 | 
			
		||||
    yAxis: [0.0, 1.0, 0.0],
 | 
			
		||||
    zAxis: [0.0, 0.0, 1.0]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const planeXZfl = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [originStart[1], originStart[0], originStart[2]],
 | 
			
		||||
    xAxis: [0, 1, 0],
 | 
			
		||||
    yAxis: [0, 0, 1],
 | 
			
		||||
    zAxis: [1, 0, 0]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const planeYZfl = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [originStart[1], originStart[0], originStart[2]],
 | 
			
		||||
    xAxis: [-1, 0, 0],
 | 
			
		||||
    yAxis: [0, 0, 1],
 | 
			
		||||
    zAxis: [1, 0, 0]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Base flange
 | 
			
		||||
@ -661,7 +643,7 @@ const sketch003fl = startSketchOn(planeXYfl)
 | 
			
		||||
const extrude003fl = extrude(sketch003fl, length = railHeight * 1.75)
 | 
			
		||||
 | 
			
		||||
// EIA-310-D standard hole pattern
 | 
			
		||||
const sketch004fl = startSketchOn(extrude002fl, 'START')
 | 
			
		||||
const sketch004fl = startSketchOn(extrude002fl, face = 'START')
 | 
			
		||||
  |> startProfileAt([0.72 + originStart[1], originStart[2] + 0.15], %)
 | 
			
		||||
  |> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA003fl)
 | 
			
		||||
  |> angledLine(angle = segAng(rectangleSegmentA003fl) - 90, length = 0.375, tag = $rectangleSegmentB003fl)
 | 
			
		||||
@ -676,7 +658,7 @@ const sketch004fl = startSketchOn(extrude002fl, 'START')
 | 
			
		||||
const extrude004fl = extrude(sketch004fl, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// EIA-310-D standard hole pattern
 | 
			
		||||
const sketch005fl = startSketchOn(extrude002fl, 'START')
 | 
			
		||||
const sketch005fl = startSketchOn(extrude002fl, face = 'START')
 | 
			
		||||
  |> startProfileAt([0.72 + originStart[1],originStart[2] +  0.15 + .62], %)
 | 
			
		||||
  |> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA004fl)
 | 
			
		||||
  |> angledLine(angle = segAng(rectangleSegmentA004fl) - 90, length = 0.375, tag = $rectangleSegmentB004fl)
 | 
			
		||||
@ -691,7 +673,7 @@ const sketch005fl = startSketchOn(extrude002fl, 'START')
 | 
			
		||||
const extrude005fl = extrude(sketch005fl, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// EIA-310-D standard hole pattern
 | 
			
		||||
const sketch006fl = startSketchOn(extrude002fl, 'START')
 | 
			
		||||
const sketch006fl = startSketchOn(extrude002fl, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       0.72 + originStart[1],
 | 
			
		||||
      originStart[2] + 0.15 + 0.62 + 0.50
 | 
			
		||||
@ -709,7 +691,7 @@ const sketch006fl = startSketchOn(extrude002fl, 'START')
 | 
			
		||||
const extrude006fl = extrude(sketch006fl, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// EIA-310-D standard hole pattern
 | 
			
		||||
const sketch007fl = startSketchOn(extrude001fl, 'START')
 | 
			
		||||
const sketch007fl = startSketchOn(extrude001fl, face = 'START')
 | 
			
		||||
  |> startProfileAt([-1.45 - originStart[0], originStart[2] + 0.15], %)
 | 
			
		||||
  |> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA006fl)
 | 
			
		||||
  |> angledLine(angle = segAng(rectangleSegmentA006fl) - 90, length = 0.375, tag = $rectangleSegmentB006fl)
 | 
			
		||||
@ -724,7 +706,7 @@ const sketch007fl = startSketchOn(extrude001fl, 'START')
 | 
			
		||||
const extrude007fl = extrude(sketch007fl, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// EIA-310-D standard hole pattern
 | 
			
		||||
const sketch008fl = startSketchOn(extrude001fl, 'START')
 | 
			
		||||
const sketch008fl = startSketchOn(extrude001fl, face = 'START')
 | 
			
		||||
  |> startProfileAt([-1.45 - originStart[0],originStart[2] + 0.15 + 0.62], %)
 | 
			
		||||
  |> angledLine(angle = 0, length = -0.375, tag = $rectangleSegmentA007fl)
 | 
			
		||||
  |> angledLine(angle = segAng(rectangleSegmentA007fl) - 90, length = 0.375, tag = $rectangleSegmentB007fl)
 | 
			
		||||
@ -739,7 +721,7 @@ const sketch008fl = startSketchOn(extrude001fl, 'START')
 | 
			
		||||
const extrude008fl = extrude(sketch008fl, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// EIA-310-D standard hole pattern
 | 
			
		||||
const sketch009fl = startSketchOn(extrude001fl, 'START')
 | 
			
		||||
const sketch009fl = startSketchOn(extrude001fl, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -1.45 - originStart[0],
 | 
			
		||||
       originStart[2] + 0.15 + 0.62 + 0.5
 | 
			
		||||
@ -757,7 +739,7 @@ const sketch009fl = startSketchOn(extrude001fl, 'START')
 | 
			
		||||
const extrude009fl = extrude(sketch009fl, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// define slots
 | 
			
		||||
const sketch010fl = startSketchOn(extrude001fl, 'START')
 | 
			
		||||
const sketch010fl = startSketchOn(extrude001fl, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -1.12 + (.75 - .438) / 2 - originStart[0],
 | 
			
		||||
       originStart[2] + .81 - (.438 / 2)
 | 
			
		||||
@ -775,7 +757,7 @@ const sketch010fl = startSketchOn(extrude001fl, 'START')
 | 
			
		||||
const extrude010fl = extrude(sketch010fl, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// define slots
 | 
			
		||||
const sketch011fl = startSketchOn(extrude001fl, 'START')
 | 
			
		||||
const sketch011fl = startSketchOn(extrude001fl, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -1.12 + (.75 - .438) / 2 - originStart[0],
 | 
			
		||||
      originStart[2] + railHeight * 1.75 / 2 + .438 / 2
 | 
			
		||||
@ -792,7 +774,7 @@ const sketch011fl = startSketchOn(extrude001fl, 'START')
 | 
			
		||||
const extrude011fl = extrude(sketch011fl, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// define slots
 | 
			
		||||
const sketch012fl = startSketchOn(extrude001fl, 'START')
 | 
			
		||||
const sketch012fl = startSketchOn(extrude001fl, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -1.12 + (.75 - .438) / 2 - originStart[0], originStart[2] +
 | 
			
		||||
       railHeight * 1.75 - .81 + .438 / 2
 | 
			
		||||
@ -815,16 +797,13 @@ const extrude012fl = extrude(sketch012fl, length = -thickness)
 | 
			
		||||
// FRONT RIGHT VERTICAL RAIL
 | 
			
		||||
// Define planes so the rail can be moved
 | 
			
		||||
const planeXYfr = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [0, 0, originStart[2]],
 | 
			
		||||
    xAxis: [1.0, 0.0, 0.0],
 | 
			
		||||
    yAxis: [0.0, 1.0, 0.0],
 | 
			
		||||
    zAxis: [0.0, 0.0, 1.0]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const planeXZfr = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [
 | 
			
		||||
      originStart[1] + width - thickness - 2,
 | 
			
		||||
      originStart[0],
 | 
			
		||||
@ -833,11 +812,9 @@ const planeXZfr = {
 | 
			
		||||
    xAxis: [0, 1, 0],
 | 
			
		||||
    yAxis: [0, 0, 1],
 | 
			
		||||
    zAxis: [1, 0, 0]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const planeYZfr = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [
 | 
			
		||||
      originStart[1] + width - 2,
 | 
			
		||||
      originStart[0],
 | 
			
		||||
@ -846,7 +823,6 @@ const planeYZfr = {
 | 
			
		||||
    xAxis: [-1, 0, 0],
 | 
			
		||||
    yAxis: [0, 0, 1],
 | 
			
		||||
    zAxis: [1, 0, 0]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Base flange
 | 
			
		||||
@ -892,7 +868,7 @@ const sketch003fr = startSketchOn(planeXYfr)
 | 
			
		||||
const extrude003fr = extrude(sketch003fr, length = railHeight * 1.75)
 | 
			
		||||
 | 
			
		||||
// EIA-310-D standard hole pattern
 | 
			
		||||
const sketch004fr = startSketchOn(extrude002fr, 'START')
 | 
			
		||||
const sketch004fr = startSketchOn(extrude002fr, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -0.35 + originStart[1] + width - 2,
 | 
			
		||||
       originStart[2] + 0.15
 | 
			
		||||
@ -910,7 +886,7 @@ const sketch004fr = startSketchOn(extrude002fr, 'START')
 | 
			
		||||
const extrude004fr = extrude(sketch004fr, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// EIA-310-D standard hole pattern
 | 
			
		||||
const sketch005fr = startSketchOn(extrude002fr, 'START')
 | 
			
		||||
const sketch005fr = startSketchOn(extrude002fr, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -0.35 + originStart[1] + width - 2,
 | 
			
		||||
       originStart[2] + 0.15 + .62
 | 
			
		||||
@ -928,7 +904,7 @@ const sketch005fr = startSketchOn(extrude002fr, 'START')
 | 
			
		||||
const extrude005fr = extrude(sketch005fr, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// EIA-310-D standard hole pattern
 | 
			
		||||
const sketch006fr = startSketchOn(extrude002fr, 'START')
 | 
			
		||||
const sketch006fr = startSketchOn(extrude002fr, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -0.35 + originStart[1] + width - 2,
 | 
			
		||||
       originStart[2] + 0.15 + 0.62 + 0.50
 | 
			
		||||
@ -946,7 +922,7 @@ const sketch006fr = startSketchOn(extrude002fr, 'START')
 | 
			
		||||
const extrude006fr = extrude(sketch006fr, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// EIA-310-D standard hole pattern
 | 
			
		||||
const sketch007fr = startSketchOn(extrude001fr, 'START')
 | 
			
		||||
const sketch007fr = startSketchOn(extrude001fr, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -1.45 - originStart[0],
 | 
			
		||||
       originStart[2] + 0.15
 | 
			
		||||
@ -964,7 +940,7 @@ const sketch007fr = startSketchOn(extrude001fr, 'START')
 | 
			
		||||
const extrude007fr = extrude(sketch007fr, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// EIA-310-D standard hole pattern
 | 
			
		||||
const sketch008fr = startSketchOn(extrude001fr, 'START')
 | 
			
		||||
const sketch008fr = startSketchOn(extrude001fr, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -1.45 - originStart[0],
 | 
			
		||||
       originStart[2] + 0.15 + 0.62
 | 
			
		||||
@ -982,7 +958,7 @@ const sketch008fr = startSketchOn(extrude001fr, 'START')
 | 
			
		||||
const extrude008fr = extrude(sketch008fr, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// EIA-310-D standard hole pattern
 | 
			
		||||
const sketch009fr = startSketchOn(extrude001fr, 'START')
 | 
			
		||||
const sketch009fr = startSketchOn(extrude001fr, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -1.45 - originStart[0],
 | 
			
		||||
       originStart[2] + 0.15 + 0.62 + 0.5
 | 
			
		||||
@ -1000,7 +976,7 @@ const sketch009fr = startSketchOn(extrude001fr, 'START')
 | 
			
		||||
const extrude009fr = extrude(sketch009fr, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// define slots
 | 
			
		||||
const sketch010fr = startSketchOn(extrude001fr, 'START')
 | 
			
		||||
const sketch010fr = startSketchOn(extrude001fr, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -1.12 + (.75 - .438) / 2 - originStart[0],
 | 
			
		||||
       originStart[2] + .81 - (.438 / 2)
 | 
			
		||||
@ -1021,7 +997,7 @@ const sketch010fr = startSketchOn(extrude001fr, 'START')
 | 
			
		||||
const extrude010fr = extrude(sketch010fr, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// define slots
 | 
			
		||||
const sketch011fr = startSketchOn(extrude001fr, 'START')
 | 
			
		||||
const sketch011fr = startSketchOn(extrude001fr, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -1.12 + (.75 - .438) / 2 - originStart[0],
 | 
			
		||||
       originStart[2] + railHeight * 1.75 / 2 + .438 / 2
 | 
			
		||||
@ -1038,7 +1014,7 @@ const sketch011fr = startSketchOn(extrude001fr, 'START')
 | 
			
		||||
const extrude011fr = extrude(sketch011fr, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// define slots
 | 
			
		||||
const sketch012fr = startSketchOn(extrude001fr, 'START')
 | 
			
		||||
const sketch012fr = startSketchOn(extrude001fr, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -1.12 + (.75 - .438) / 2 - originStart[0],
 | 
			
		||||
       originStart[2] + railHeight * 1.75 - .81 + .438 / 2
 | 
			
		||||
@ -1061,16 +1037,13 @@ const extrude012fr = extrude(sketch012fr, length = -thickness)
 | 
			
		||||
// RIGHT REAR VERTICAL RAIL
 | 
			
		||||
// Define planes so the rail can be moved
 | 
			
		||||
const planeXYrr = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [0, serverDepth, originStart[2]],
 | 
			
		||||
    xAxis: [1.0, 0.0, 0.0],
 | 
			
		||||
    yAxis: [0.0, 1.0, 0.0],
 | 
			
		||||
    zAxis: [0.0, 0.0, 1.0]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const planeXZrr = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [
 | 
			
		||||
      originStart[1] + width - thickness - 2,
 | 
			
		||||
      originStart[0]+serverDepth-2-bendRad,
 | 
			
		||||
@ -1079,11 +1052,9 @@ const planeXZrr = {
 | 
			
		||||
    xAxis: [0, 1, 0],
 | 
			
		||||
    yAxis: [0, 0, 1],
 | 
			
		||||
    zAxis: [1, 0, 0]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const planeYZrr = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [
 | 
			
		||||
      originStart[1] + width - 2,
 | 
			
		||||
      originStart[0]+serverDepth,
 | 
			
		||||
@ -1092,7 +1063,6 @@ const planeYZrr = {
 | 
			
		||||
    xAxis: [-1, 0, 0],
 | 
			
		||||
    yAxis: [0, 0, 1],
 | 
			
		||||
    zAxis: [1, 0, 0]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Base flange
 | 
			
		||||
@ -1138,7 +1108,7 @@ const sketch003rr = startSketchOn(planeXYrr)
 | 
			
		||||
const extrude003rr = extrude(sketch003rr, length = railHeight * 1.75)
 | 
			
		||||
 | 
			
		||||
// EIA-310-D standard hole pattern
 | 
			
		||||
const sketch004rr = startSketchOn(extrude002rr, 'START')
 | 
			
		||||
const sketch004rr = startSketchOn(extrude002rr, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -0.35 + originStart[1] + width - 2,
 | 
			
		||||
       originStart[2] + 0.15
 | 
			
		||||
@ -1156,7 +1126,7 @@ const sketch004rr = startSketchOn(extrude002rr, 'START')
 | 
			
		||||
const extrude004rr = extrude(sketch004rr, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// EIA-310-D standard hole pattern
 | 
			
		||||
const sketch005rr = startSketchOn(extrude002rr, 'START')
 | 
			
		||||
const sketch005rr = startSketchOn(extrude002rr, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -0.35 + originStart[1] + width - 2,
 | 
			
		||||
       originStart[2] + 0.15 + .62
 | 
			
		||||
@ -1174,7 +1144,7 @@ const sketch005rr = startSketchOn(extrude002rr, 'START')
 | 
			
		||||
const extrude005rr = extrude(sketch005rr, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// EIA-310-D standard hole pattern
 | 
			
		||||
const sketch006rr = startSketchOn(extrude002rr, 'START')
 | 
			
		||||
const sketch006rr = startSketchOn(extrude002rr, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -0.35 + originStart[1] + width - 2,
 | 
			
		||||
       originStart[2] + 0.15 + 0.62 + 0.50
 | 
			
		||||
@ -1192,7 +1162,7 @@ const sketch006rr = startSketchOn(extrude002rr, 'START')
 | 
			
		||||
const extrude006rr = extrude(sketch006rr, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// EIA-310-D standard hole pattern
 | 
			
		||||
const sketch007rr = startSketchOn(extrude001rr, 'START')
 | 
			
		||||
const sketch007rr = startSketchOn(extrude001rr, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -originStart[0]-serverDepth+1.7,
 | 
			
		||||
       originStart[2] + 0.15
 | 
			
		||||
@ -1210,7 +1180,7 @@ const sketch007rr = startSketchOn(extrude001rr, 'START')
 | 
			
		||||
const extrude007rr = extrude(sketch007rr, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// EIA-310-D standard hole pattern
 | 
			
		||||
const sketch008rr = startSketchOn(extrude001rr, 'START')
 | 
			
		||||
const sketch008rr = startSketchOn(extrude001rr, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -originStart[0]-serverDepth+1.7,
 | 
			
		||||
       originStart[2] + 0.15 + 0.62
 | 
			
		||||
@ -1228,7 +1198,7 @@ const sketch008rr = startSketchOn(extrude001rr, 'START')
 | 
			
		||||
const extrude008rr = extrude(sketch008rr, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// EIA-310-D standard hole pattern
 | 
			
		||||
const sketch009rr = startSketchOn(extrude001rr, 'START')
 | 
			
		||||
const sketch009rr = startSketchOn(extrude001rr, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -originStart[0]-serverDepth+1.7,
 | 
			
		||||
       originStart[2] + 0.15 + 0.62 + 0.5
 | 
			
		||||
@ -1246,7 +1216,7 @@ const sketch009rr = startSketchOn(extrude001rr, 'START')
 | 
			
		||||
const extrude009rr = extrude(sketch009rr, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// define slots
 | 
			
		||||
const sketch010rr = startSketchOn(extrude001rr, 'START')
 | 
			
		||||
const sketch010rr = startSketchOn(extrude001rr, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -1.12 + (.75 - .438) / 2 - originStart[0]+1.5-serverDepth,
 | 
			
		||||
       originStart[2] + .81 - (.438 / 2)
 | 
			
		||||
@ -1267,7 +1237,7 @@ const sketch010rr = startSketchOn(extrude001rr, 'START')
 | 
			
		||||
const extrude010rr = extrude(sketch010rr, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// define slots
 | 
			
		||||
const sketch011rr = startSketchOn(extrude001rr, 'START')
 | 
			
		||||
const sketch011rr = startSketchOn(extrude001rr, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -1.12 + (.75 - .438) / 2 - originStart[0]+1.5-serverDepth,
 | 
			
		||||
       originStart[2] + railHeight * 1.75 / 2 + .438 / 2
 | 
			
		||||
@ -1284,7 +1254,7 @@ const sketch011rr = startSketchOn(extrude001rr, 'START')
 | 
			
		||||
const extrude011rr = extrude(sketch011rr, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// define slots
 | 
			
		||||
const sketch012rr = startSketchOn(extrude001rr, 'START')
 | 
			
		||||
const sketch012rr = startSketchOn(extrude001rr, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -1.12 + (.75 - .438) / 2 - originStart[0]+1.5-serverDepth,
 | 
			
		||||
       originStart[2] + railHeight * 1.75 - .81 + .438 / 2
 | 
			
		||||
@ -1307,16 +1277,13 @@ const extrude012rr = extrude(sketch012rr, length = -thickness)
 | 
			
		||||
// REAR LEFT VETCIAL RAIL
 | 
			
		||||
// Define planes so the rail can be moved
 | 
			
		||||
const planeXYrl = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [0, serverDepth, originStart[2]],
 | 
			
		||||
    xAxis: [1.0, 0.0, 0.0],
 | 
			
		||||
    yAxis: [0.0, 1.0, 0.0],
 | 
			
		||||
    zAxis: [0.0, 0.0, 1.0]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const planeXZrl = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [
 | 
			
		||||
      originStart[1],
 | 
			
		||||
      originStart[0] + serverDepth - 2 - bendRad,
 | 
			
		||||
@ -1325,11 +1292,9 @@ const planeXZrl = {
 | 
			
		||||
    xAxis: [0, 1, 0],
 | 
			
		||||
    yAxis: [0, 0, 1],
 | 
			
		||||
    zAxis: [1, 0, 0]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const planeYZrl = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [
 | 
			
		||||
      originStart[1],
 | 
			
		||||
      originStart[0] + serverDepth,
 | 
			
		||||
@ -1338,7 +1303,6 @@ const planeYZrl = {
 | 
			
		||||
    xAxis: [-1, 0, 0],
 | 
			
		||||
    yAxis: [0, 0, 1],
 | 
			
		||||
    zAxis: [1, 0, 0]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
// Base flange
 | 
			
		||||
const sketch001rl = startSketchOn(planeXZrl)
 | 
			
		||||
@ -1383,7 +1347,7 @@ const sketch003rl = startSketchOn(planeXYrl)
 | 
			
		||||
const extrude003rl = extrude(sketch003rl, length = railHeight * 1.75)
 | 
			
		||||
 | 
			
		||||
// EIA-310-D standard hole pattern
 | 
			
		||||
const sketch004rl = startSketchOn(extrude002rl, 'START')
 | 
			
		||||
const sketch004rl = startSketchOn(extrude002rl, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -1.38 + 2 + thickness + originStart[1],
 | 
			
		||||
       originStart[2] + 0.15
 | 
			
		||||
@ -1401,7 +1365,7 @@ const sketch004rl = startSketchOn(extrude002rl, 'START')
 | 
			
		||||
const extrude004rl = extrude(sketch004rl, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// EIA-310-D standard hole pattern
 | 
			
		||||
const sketch005rl = startSketchOn(extrude002rl, 'START')
 | 
			
		||||
const sketch005rl = startSketchOn(extrude002rl, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -1.38 + 2 + thickness + originStart[1],
 | 
			
		||||
       originStart[2] + 0.15 + .62
 | 
			
		||||
@ -1419,7 +1383,7 @@ const sketch005rl = startSketchOn(extrude002rl, 'START')
 | 
			
		||||
const extrude005rl = extrude(sketch005rl, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// EIA-310-D standard hole pattern
 | 
			
		||||
const sketch006rl = startSketchOn(extrude002rl, 'START')
 | 
			
		||||
const sketch006rl = startSketchOn(extrude002rl, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -1.38 + 2 + thickness + originStart[1],
 | 
			
		||||
       originStart[2] + 0.15 + 0.62 + 0.50
 | 
			
		||||
@ -1437,7 +1401,7 @@ const sketch006rl = startSketchOn(extrude002rl, 'START')
 | 
			
		||||
const extrude006rl = extrude(sketch006rl, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// EIA-310-D standard hole pattern
 | 
			
		||||
const sketch007rl = startSketchOn(extrude001rl, 'START')
 | 
			
		||||
const sketch007rl = startSketchOn(extrude001rl, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       1.75 - originStart[0] - serverDepth,
 | 
			
		||||
       originStart[2] + 0.15
 | 
			
		||||
@ -1455,7 +1419,7 @@ const sketch007rl = startSketchOn(extrude001rl, 'START')
 | 
			
		||||
const extrude007rl = extrude(sketch007rl, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// EIA-310-D standard hole pattern
 | 
			
		||||
const sketch008rl = startSketchOn(extrude001rl, 'START')
 | 
			
		||||
const sketch008rl = startSketchOn(extrude001rl, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       1.75 - originStart[0] - serverDepth,
 | 
			
		||||
       originStart[2] + 0.15 + 0.62
 | 
			
		||||
@ -1473,7 +1437,7 @@ const sketch008rl = startSketchOn(extrude001rl, 'START')
 | 
			
		||||
const extrude008rl = extrude(sketch008rl, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// EIA-310-D standard hole pattern
 | 
			
		||||
const sketch009rl = startSketchOn(extrude001rl, 'START')
 | 
			
		||||
const sketch009rl = startSketchOn(extrude001rl, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       1.75 - originStart[0] - serverDepth,
 | 
			
		||||
       originStart[2] + 0.15 + 0.62 + 0.5
 | 
			
		||||
@ -1491,7 +1455,7 @@ const sketch009rl = startSketchOn(extrude001rl, 'START')
 | 
			
		||||
const extrude009rl = extrude(sketch009rl, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// define slots
 | 
			
		||||
const sketch010rl = startSketchOn(extrude001rl, 'START')
 | 
			
		||||
const sketch010rl = startSketchOn(extrude001rl, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -1.12 + (.75 - .438) / 2 - originStart[0] - serverDepth + 1.5,
 | 
			
		||||
       originStart[2] + .81 - (.438 / 2)
 | 
			
		||||
@ -1512,7 +1476,7 @@ const sketch010rl = startSketchOn(extrude001rl, 'START')
 | 
			
		||||
const extrude010rl = extrude(sketch010rl, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// define slots
 | 
			
		||||
const sketch011rl = startSketchOn(extrude001rl, 'START')
 | 
			
		||||
const sketch011rl = startSketchOn(extrude001rl, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -1.12 + (.75 - .438) / 2 - originStart[0] - serverDepth + 1.5,
 | 
			
		||||
       originStart[2] + railHeight * 1.75 / 2 + .438 / 2
 | 
			
		||||
@ -1529,7 +1493,7 @@ const sketch011rl = startSketchOn(extrude001rl, 'START')
 | 
			
		||||
const extrude011rl = extrude(sketch011rl, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// define slots
 | 
			
		||||
const sketch012rl = startSketchOn(extrude001rl, 'START')
 | 
			
		||||
const sketch012rl = startSketchOn(extrude001rl, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -1.12 + (.75 - .438) / 2 - originStart[0] - serverDepth + 1.5,
 | 
			
		||||
       originStart[2] + railHeight * 1.75 - .81 + .438 / 2
 | 
			
		||||
@ -1553,29 +1517,23 @@ const extrude012rl = extrude(sketch012rl, length = -thickness)
 | 
			
		||||
// Define planes so the server can be moved
 | 
			
		||||
fn streamServer = (serverPos) => {
 | 
			
		||||
  const planeXYs = {
 | 
			
		||||
    plane: {
 | 
			
		||||
      origin: [0, 0 + 2, 4.114 + 1 + serverPos * 1.75],
 | 
			
		||||
      xAxis: [1.0, 0.0, 0.0],
 | 
			
		||||
      yAxis: [0.0, 1.0, 0.0],
 | 
			
		||||
      zAxis: [0.0, 0.0, 1.0]
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  const planeXZs = {
 | 
			
		||||
    plane: {
 | 
			
		||||
      origin: [0 + 1.2 + .1, 0 + 2, 0],
 | 
			
		||||
      xAxis: [0, -1, 0],
 | 
			
		||||
      yAxis: [0, 0, 1],
 | 
			
		||||
      zAxis: [1, 0, 0]
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  const planeXZs2 = {
 | 
			
		||||
    plane: {
 | 
			
		||||
      origin: [18 + 1.4, 0 + 2, 0],
 | 
			
		||||
      xAxis: [0, -1, 0],
 | 
			
		||||
      yAxis: [0, 0, 1],
 | 
			
		||||
      zAxis: [1, 0, 0]
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  const sketch001s = startSketchOn(planeXYs)
 | 
			
		||||
 | 
			
		||||
@ -9,7 +9,6 @@ const width = 21.53
 | 
			
		||||
// simple caster model at each corner
 | 
			
		||||
fn caster = (originStart) => {
 | 
			
		||||
  const plane001c = {
 | 
			
		||||
    plane: {
 | 
			
		||||
      origin: [
 | 
			
		||||
        -(3.543 - 2.756) / 2 + originStart[0],
 | 
			
		||||
        -(3.543 - 2.756) / 2 + originStart[1],
 | 
			
		||||
@ -18,7 +17,6 @@ fn caster = (originStart) => {
 | 
			
		||||
      x_axis: [1.0, 0.0, 0.0],
 | 
			
		||||
      y_axis: [0.0, 1.0, 0.0],
 | 
			
		||||
      z_axis: [0.0, 0.0, 1.0]
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  const sketch001c = startSketchOn(plane001c)
 | 
			
		||||
@ -46,7 +44,7 @@ fn caster = (originStart) => {
 | 
			
		||||
       ], radius= 8.8 / 2 / 25.4), %)
 | 
			
		||||
    |> extrude(length = -.25)
 | 
			
		||||
 | 
			
		||||
  const sketch002c = startSketchOn(sketch001c, 'START')
 | 
			
		||||
  const sketch002c = startSketchOn(sketch001c, face = 'START')
 | 
			
		||||
    |> startProfileAt([-originStart[0], 2.2 + originStart[1]], %)
 | 
			
		||||
    |> arc({
 | 
			
		||||
         angle_start: 30,
 | 
			
		||||
@ -57,7 +55,6 @@ fn caster = (originStart) => {
 | 
			
		||||
    |> extrude(length = 3.1)
 | 
			
		||||
 | 
			
		||||
  const plane002c = {
 | 
			
		||||
    plane: {
 | 
			
		||||
      origin: [
 | 
			
		||||
        0 + originStart[0],
 | 
			
		||||
        0.8 + originStart[1],
 | 
			
		||||
@ -66,7 +63,6 @@ fn caster = (originStart) => {
 | 
			
		||||
      x_axis: [1, 0, 0],
 | 
			
		||||
      y_axis: [0, 0, 1],
 | 
			
		||||
      z_axis: [1, 0, 0]
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  const sketch003c = startSketchOn(plane002c)
 | 
			
		||||
    |> circle(center = [0, 1.2], radius = 2.48 / 2)
 | 
			
		||||
@ -94,7 +90,6 @@ caster([
 | 
			
		||||
 | 
			
		||||
// left wall
 | 
			
		||||
const plane001 = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [
 | 
			
		||||
      originStart[0] - 4,
 | 
			
		||||
      originStart[1] + 2,
 | 
			
		||||
@ -103,7 +98,6 @@ const plane001 = {
 | 
			
		||||
    x_axis: [0, 1, 0],
 | 
			
		||||
    y_axis: [0, 0, 1],
 | 
			
		||||
    z_axis: [1, 0, 0]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const sketch001l = startSketchOn(plane001)
 | 
			
		||||
@ -185,7 +179,6 @@ const extrude007l = extrude(sketch007l, length = 1)
 | 
			
		||||
 | 
			
		||||
// right wall
 | 
			
		||||
const plane002 = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [
 | 
			
		||||
      originStart[0] - 4 + width - 1,
 | 
			
		||||
      originStart[1] - 1,
 | 
			
		||||
@ -194,7 +187,6 @@ const plane002 = {
 | 
			
		||||
    x_axis: [0, 1, 0],
 | 
			
		||||
    y_axis: [0, 0, 1],
 | 
			
		||||
    z_axis: [1, 0, 0]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const sketch001w = startSketchOn(plane002)
 | 
			
		||||
@ -486,12 +478,10 @@ const extrude025w = extrude(sketch025w, length = 1)
 | 
			
		||||
 | 
			
		||||
// Base plane of rack
 | 
			
		||||
const plane003 = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [0, 0, 4.114],
 | 
			
		||||
    x_axis: [1, 0, 0],
 | 
			
		||||
    y_axis: [0, 1, 0],
 | 
			
		||||
    z_axis: [0, 0, 1]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const sketch005 = startSketchOn(plane003)
 | 
			
		||||
@ -539,12 +529,10 @@ const extrude008 = extrude(sketch008, length = 1)
 | 
			
		||||
 | 
			
		||||
// Top Plane
 | 
			
		||||
const plane004 = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [0, 0, 4.114 + railHeight * 1.75 + 2],
 | 
			
		||||
    x_axis: [1, 0, 0],
 | 
			
		||||
    y_axis: [0, 1, 0],
 | 
			
		||||
    z_axis: [0, 0, 1]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const sketch005t = startSketchOn(plane004)
 | 
			
		||||
@ -592,16 +580,13 @@ const extrude009t = extrude(sketch009t, length = -1)
 | 
			
		||||
// front left vertical rail
 | 
			
		||||
// Define planes so the rail can be moved
 | 
			
		||||
const planeXYfl = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [0, 0, originStart[2]],
 | 
			
		||||
    xAxis: [1.0, 0.0, 0.0],
 | 
			
		||||
    yAxis: [0.0, 1.0, 0.0],
 | 
			
		||||
    zAxis: [0.0, 0.0, 1.0]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const planeXZfl = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [
 | 
			
		||||
      originStart[1],
 | 
			
		||||
      originStart[0],
 | 
			
		||||
@ -610,11 +595,9 @@ const planeXZfl = {
 | 
			
		||||
    xAxis: [0, 1, 0],
 | 
			
		||||
    yAxis: [0, 0, 1],
 | 
			
		||||
    zAxis: [1, 0, 0]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const planeYZfl = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [
 | 
			
		||||
      originStart[1],
 | 
			
		||||
      originStart[0],
 | 
			
		||||
@ -623,7 +606,6 @@ const planeYZfl = {
 | 
			
		||||
    xAxis: [-1, 0, 0],
 | 
			
		||||
    yAxis: [0, 0, 1],
 | 
			
		||||
    zAxis: [1, 0, 0]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Base flange
 | 
			
		||||
@ -670,7 +652,7 @@ const sketch003fl = startSketchOn(planeXYfl)
 | 
			
		||||
const extrude003fl = extrude(sketch003fl, length = railHeight * 1.75)
 | 
			
		||||
 | 
			
		||||
// define slots
 | 
			
		||||
const sketch010fl = startSketchOn(extrude001fl, 'START')
 | 
			
		||||
const sketch010fl = startSketchOn(extrude001fl, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -1.12 + (.75 - .438) / 2 - originStart[0],
 | 
			
		||||
       originStart[2] + .81 - (.438 / 2)
 | 
			
		||||
@ -691,7 +673,7 @@ const sketch010fl = startSketchOn(extrude001fl, 'START')
 | 
			
		||||
const extrude010fl = extrude(sketch010fl, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// define slots
 | 
			
		||||
const sketch011fl = startSketchOn(extrude001fl, 'START')
 | 
			
		||||
const sketch011fl = startSketchOn(extrude001fl, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -1.12 + (.75 - .438) / 2 - originStart[0],
 | 
			
		||||
       originStart[2] + railHeight * 1.75 / 2 + .438 / 2
 | 
			
		||||
@ -708,7 +690,7 @@ const sketch011fl = startSketchOn(extrude001fl, 'START')
 | 
			
		||||
const extrude011fl = extrude(sketch011fl, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// define slots
 | 
			
		||||
const sketch012fl = startSketchOn(extrude001fl, 'START')
 | 
			
		||||
const sketch012fl = startSketchOn(extrude001fl, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -1.12 + (.75 - .438) / 2 - originStart[0],
 | 
			
		||||
       originStart[2] + railHeight * 1.75 - .81 + .438 / 2
 | 
			
		||||
@ -731,16 +713,13 @@ const extrude012fl = extrude(sketch012fl, length = -thickness)
 | 
			
		||||
// FRONT RIGHT VERTICAL RAIL
 | 
			
		||||
// Define planes so the rail can be moved
 | 
			
		||||
const planeXYfr = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [0, 0, originStart[2]],
 | 
			
		||||
    xAxis: [1.0, 0.0, 0.0],
 | 
			
		||||
    yAxis: [0.0, 1.0, 0.0],
 | 
			
		||||
    zAxis: [0.0, 0.0, 1.0]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const planeXZfr = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [
 | 
			
		||||
      originStart[1] + width - thickness - 2,
 | 
			
		||||
      originStart[0],
 | 
			
		||||
@ -749,11 +728,9 @@ const planeXZfr = {
 | 
			
		||||
    xAxis: [0, 1, 0],
 | 
			
		||||
    yAxis: [0, 0, 1],
 | 
			
		||||
    zAxis: [1, 0, 0]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const planeYZfr = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [
 | 
			
		||||
      originStart[1] + width - 2,
 | 
			
		||||
      originStart[0],
 | 
			
		||||
@ -762,7 +739,6 @@ const planeYZfr = {
 | 
			
		||||
    xAxis: [-1, 0, 0],
 | 
			
		||||
    yAxis: [0, 0, 1],
 | 
			
		||||
    zAxis: [1, 0, 0]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Base flange
 | 
			
		||||
@ -808,7 +784,7 @@ const sketch003fr = startSketchOn(planeXYfr)
 | 
			
		||||
const extrude003fr = extrude(sketch003fr, length = railHeight * 1.75)
 | 
			
		||||
 | 
			
		||||
// define slots
 | 
			
		||||
const sketch010fr = startSketchOn(extrude001fr, 'START')
 | 
			
		||||
const sketch010fr = startSketchOn(extrude001fr, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -1.12 + (.75 - .438) / 2 - originStart[0],
 | 
			
		||||
       originStart[2] + .81 - (.438 / 2)
 | 
			
		||||
@ -829,7 +805,7 @@ const sketch010fr = startSketchOn(extrude001fr, 'START')
 | 
			
		||||
const extrude010fr = extrude(sketch010fr, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// define slots
 | 
			
		||||
const sketch011fr = startSketchOn(extrude001fr, 'START')
 | 
			
		||||
const sketch011fr = startSketchOn(extrude001fr, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -1.12 + (.75 - .438) / 2 - originStart[0],
 | 
			
		||||
       originStart[2] + railHeight * 1.75 / 2 + .438 / 2
 | 
			
		||||
@ -846,7 +822,7 @@ const sketch011fr = startSketchOn(extrude001fr, 'START')
 | 
			
		||||
const extrude011fr = extrude(sketch011fr, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// define slots
 | 
			
		||||
const sketch012fr = startSketchOn(extrude001fr, 'START')
 | 
			
		||||
const sketch012fr = startSketchOn(extrude001fr, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -1.12 + (.75 - .438) / 2 - originStart[0],
 | 
			
		||||
       originStart[2] + railHeight * 1.75 - .81 + .438 / 2
 | 
			
		||||
@ -869,16 +845,13 @@ const extrude012fr = extrude(sketch012fr, length = -thickness)
 | 
			
		||||
// RIGHT REAR VERTICAL RAIL
 | 
			
		||||
// Define planes so the rail can be moved
 | 
			
		||||
const planeXYrr = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [0, serverDepth, originStart[2]],
 | 
			
		||||
    xAxis: [1.0, 0.0, 0.0],
 | 
			
		||||
    yAxis: [0.0, 1.0, 0.0],
 | 
			
		||||
    zAxis: [0.0, 0.0, 1.0]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const planeXZrr = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [
 | 
			
		||||
      originStart[1] + width - thickness - 2,
 | 
			
		||||
      originStart[0] + serverDepth - 2 - bendRad,
 | 
			
		||||
@ -887,11 +860,9 @@ const planeXZrr = {
 | 
			
		||||
    xAxis: [0, 1, 0],
 | 
			
		||||
    yAxis: [0, 0, 1],
 | 
			
		||||
    zAxis: [1, 0, 0]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const planeYZrr = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [
 | 
			
		||||
      originStart[1] + width - 2,
 | 
			
		||||
      originStart[0] + serverDepth,
 | 
			
		||||
@ -900,7 +871,6 @@ const planeYZrr = {
 | 
			
		||||
    xAxis: [-1, 0, 0],
 | 
			
		||||
    yAxis: [0, 0, 1],
 | 
			
		||||
    zAxis: [1, 0, 0]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Base flange
 | 
			
		||||
@ -946,7 +916,7 @@ const sketch003rr = startSketchOn(planeXYrr)
 | 
			
		||||
const extrude003rr = extrude(sketch003rr, length = railHeight * 1.75)
 | 
			
		||||
 | 
			
		||||
// define slots
 | 
			
		||||
const sketch010rr = startSketchOn(extrude001rr, 'START')
 | 
			
		||||
const sketch010rr = startSketchOn(extrude001rr, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -1.12 + (.75 - .438) / 2 - originStart[0] + 1.5 - serverDepth,
 | 
			
		||||
       originStart[2] + .81 - (.438 / 2)
 | 
			
		||||
@ -967,7 +937,7 @@ const sketch010rr = startSketchOn(extrude001rr, 'START')
 | 
			
		||||
const extrude010rr = extrude(sketch010rr, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// define slots
 | 
			
		||||
const sketch011rr = startSketchOn(extrude001rr, 'START')
 | 
			
		||||
const sketch011rr = startSketchOn(extrude001rr, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -1.12 + (.75 - .438) / 2 - originStart[0] + 1.5 - serverDepth,
 | 
			
		||||
       originStart[2] + railHeight * 1.75 / 2 + .438 / 2
 | 
			
		||||
@ -984,7 +954,7 @@ const sketch011rr = startSketchOn(extrude001rr, 'START')
 | 
			
		||||
const extrude011rr = extrude(sketch011rr, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// define slots
 | 
			
		||||
const sketch012rr = startSketchOn(extrude001rr, 'START')
 | 
			
		||||
const sketch012rr = startSketchOn(extrude001rr, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -1.12 + (.75 - .438) / 2 - originStart[0] + 1.5 - serverDepth,
 | 
			
		||||
       originStart[2] + railHeight * 1.75 - .81 + .438 / 2
 | 
			
		||||
@ -1007,16 +977,13 @@ const extrude012rr = extrude(sketch012rr, length = -thickness)
 | 
			
		||||
// REAR LEFT VETCIAL RAIL
 | 
			
		||||
// Define planes so the rail can be moved
 | 
			
		||||
const planeXYrl = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [0, serverDepth, originStart[2]],
 | 
			
		||||
    xAxis: [1.0, 0.0, 0.0],
 | 
			
		||||
    yAxis: [0.0, 1.0, 0.0],
 | 
			
		||||
    zAxis: [0.0, 0.0, 1.0]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const planeXZrl = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [
 | 
			
		||||
      originStart[1],
 | 
			
		||||
      originStart[0] + serverDepth - 2 - bendRad,
 | 
			
		||||
@ -1025,11 +992,9 @@ const planeXZrl = {
 | 
			
		||||
    xAxis: [0, 1, 0],
 | 
			
		||||
    yAxis: [0, 0, 1],
 | 
			
		||||
    zAxis: [1, 0, 0]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const planeYZrl = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: [
 | 
			
		||||
      originStart[1],
 | 
			
		||||
      originStart[0] + serverDepth,
 | 
			
		||||
@ -1038,7 +1003,6 @@ const planeYZrl = {
 | 
			
		||||
    xAxis: [-1, 0, 0],
 | 
			
		||||
    yAxis: [0, 0, 1],
 | 
			
		||||
    zAxis: [1, 0, 0]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
// Base flange
 | 
			
		||||
const sketch001rl = startSketchOn(planeXZrl)
 | 
			
		||||
@ -1083,7 +1047,7 @@ const sketch003rl = startSketchOn(planeXYrl)
 | 
			
		||||
const extrude003rl = extrude(sketch003rl, length = railHeight * 1.75)
 | 
			
		||||
 | 
			
		||||
// define slots
 | 
			
		||||
const sketch010rl = startSketchOn(extrude001rl, 'START')
 | 
			
		||||
const sketch010rl = startSketchOn(extrude001rl, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -1.12 + (.75 - .438) / 2 - originStart[0] - serverDepth + 1.5,
 | 
			
		||||
       originStart[2] + .81 - (.438 / 2)
 | 
			
		||||
@ -1104,7 +1068,7 @@ const sketch010rl = startSketchOn(extrude001rl, 'START')
 | 
			
		||||
const extrude010rl = extrude(sketch010rl, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// define slots
 | 
			
		||||
const sketch011rl = startSketchOn(extrude001rl, 'START')
 | 
			
		||||
const sketch011rl = startSketchOn(extrude001rl, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -1.12 + (.75 - .438) / 2 - originStart[0] - serverDepth + 1.5,
 | 
			
		||||
       originStart[2] + railHeight * 1.75 / 2 + .438 / 2
 | 
			
		||||
@ -1121,7 +1085,7 @@ const sketch011rl = startSketchOn(extrude001rl, 'START')
 | 
			
		||||
const extrude011rl = extrude(sketch011rl, length = -thickness)
 | 
			
		||||
 | 
			
		||||
// define slots
 | 
			
		||||
const sketch012rl = startSketchOn(extrude001rl, 'START')
 | 
			
		||||
const sketch012rl = startSketchOn(extrude001rl, face = 'START')
 | 
			
		||||
  |> startProfileAt([
 | 
			
		||||
       -1.12 + (.75 - .438) / 2 - originStart[0] - serverDepth + 1.5,
 | 
			
		||||
       originStart[2] + railHeight * 1.75 - .81 + .438 / 2
 | 
			
		||||
@ -1144,29 +1108,23 @@ const extrude012rl = extrude(sketch012rl, length = -thickness)
 | 
			
		||||
// Define planes so the server can be moved
 | 
			
		||||
fn streamServer = (serverPos) => {
 | 
			
		||||
  const planeXYs = {
 | 
			
		||||
    plane: {
 | 
			
		||||
      origin: [0, 0 + 2, 4.114 + 1 + serverPos * 1.75],
 | 
			
		||||
      xAxis: [1.0, 0.0, 0.0],
 | 
			
		||||
      yAxis: [0.0, 1.0, 0.0],
 | 
			
		||||
      zAxis: [0.0, 0.0, 1.0]
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  const planeXZs = {
 | 
			
		||||
    plane: {
 | 
			
		||||
      origin: [0 + 1.2 + .1, 0 + 2, 0],
 | 
			
		||||
      xAxis: [0, -1, 0],
 | 
			
		||||
      yAxis: [0, 0, 1],
 | 
			
		||||
      zAxis: [1, 0, 0]
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  const planeXZs2 = {
 | 
			
		||||
    plane: {
 | 
			
		||||
      origin: [18 + 1.4, 0 + 2, 0],
 | 
			
		||||
      xAxis: [0, -1, 0],
 | 
			
		||||
      yAxis: [0, 0, 1],
 | 
			
		||||
      zAxis: [1, 0, 0]
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  const sketch001s = startSketchOn(planeXYs)
 | 
			
		||||
 | 
			
		||||
@ -14,14 +14,14 @@ const extrude001 = extrude(sketch001, length = 100)
 | 
			
		||||
     )
 | 
			
		||||
  |> chamfer(length = 50, tags = [seg02], tag = $seg04)
 | 
			
		||||
 | 
			
		||||
const sketch003 = startSketchOn(extrude001, seg04)
 | 
			
		||||
const sketch003 = startSketchOn(extrude001, face = seg04)
 | 
			
		||||
   |> startProfileAt([-69.1, 277.34], %)
 | 
			
		||||
   |> angledLine(angle = 0, length = 41.48, tag = $rectangleSegmentA003)
 | 
			
		||||
   |> angledLine(angle = segAng(rectangleSegmentA003) - 90, length = 104.8, tag = $rectangleSegmentB002)
 | 
			
		||||
   |> angledLine(angle = segAng(rectangleSegmentA003), length = -segLen(rectangleSegmentA003), tag = $rectangleSegmentC002)
 | 
			
		||||
   |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
 | 
			
		||||
   |> close()
 | 
			
		||||
const sketch002 = startSketchOn(extrude001, seg03)
 | 
			
		||||
const sketch002 = startSketchOn(extrude001, face = seg03)
 | 
			
		||||
  |> startProfileAt([159.25, 278.35], %)
 | 
			
		||||
  |> angledLine(angle = 0, length = 40.82, tag = $rectangleSegmentA002)
 | 
			
		||||
  |> angledLine(angle = segAng(rectangleSegmentA002) - 90, length = 132.27, tag = $rectangleSegmentB001)
 | 
			
		||||
 | 
			
		||||
@ -14,14 +14,14 @@ const extrude001 = extrude(sketch001, length = 100)
 | 
			
		||||
       tag = $seg03
 | 
			
		||||
     )
 | 
			
		||||
 | 
			
		||||
const sketch003 = startSketchOn(extrude001, seg04)
 | 
			
		||||
const sketch003 = startSketchOn(extrude001, face = seg04)
 | 
			
		||||
   |> startProfileAt([-69.1, 277.34], %)
 | 
			
		||||
   |> angledLine(angle = 0, length = 41.48, tag = $rectangleSegmentA003)
 | 
			
		||||
   |> angledLine(angle = segAng(rectangleSegmentA003) - 90, length = 104.8, tag = $rectangleSegmentB002)
 | 
			
		||||
   |> angledLine(angle = segAng(rectangleSegmentA003), length = -segLen(rectangleSegmentA003), tag = $rectangleSegmentC002)
 | 
			
		||||
   |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
 | 
			
		||||
   |> close()
 | 
			
		||||
const sketch002 = startSketchOn(extrude001, seg03)
 | 
			
		||||
const sketch002 = startSketchOn(extrude001, face = seg03)
 | 
			
		||||
  |> startProfileAt([159.25, 278.35], %)
 | 
			
		||||
  |> angledLine(angle = 0, length = 40.82, tag = $rectangleSegmentA002)
 | 
			
		||||
  |> angledLine(angle = segAng(rectangleSegmentA002) - 90, length = 132.27, tag = $rectangleSegmentB001)
 | 
			
		||||
 | 
			
		||||
@ -6,7 +6,7 @@ part001 = startSketchOn(XY)
 | 
			
		||||
  |> close()
 | 
			
		||||
  |> extrude(length = 5)
 | 
			
		||||
 | 
			
		||||
part002 = startSketchOn(part001, here)
 | 
			
		||||
part002 = startSketchOn(part001, face = here)
 | 
			
		||||
  |> startProfileAt([0, 0], %)
 | 
			
		||||
  |> line(end = [0, 10])
 | 
			
		||||
  |> line(end = [10, 0])
 | 
			
		||||
 | 
			
		||||
@ -45,7 +45,7 @@ bracket = startSketchOn(XY)
 | 
			
		||||
       ]
 | 
			
		||||
     )
 | 
			
		||||
 | 
			
		||||
sketch001 = startSketchOn(bracket, seg01)
 | 
			
		||||
sketch001 = startSketchOn(bracket, face = seg01)
 | 
			
		||||
  |> startProfileAt([4.28, 3.83], %)
 | 
			
		||||
  |> line(end = [2.17, -0.03])
 | 
			
		||||
  |> line(end = [-0.07, -1.8])
 | 
			
		||||
 | 
			
		||||
@ -11,6 +11,6 @@ const part001 = cube([0,0], 20)
 | 
			
		||||
    |> close()
 | 
			
		||||
    |> extrude(length = 20)
 | 
			
		||||
 | 
			
		||||
const part002 = startSketchOn(part001, "end")
 | 
			
		||||
const part002 = startSketchOn(part001, face = "end")
 | 
			
		||||
  |> circle(center: [0, 0], radius: 5, tag =$myCircle)
 | 
			
		||||
  |> extrude(length = 5)
 | 
			
		||||
 | 
			
		||||
@ -11,7 +11,7 @@ const part001 = cube([0,0], 20)
 | 
			
		||||
    |> close()
 | 
			
		||||
    |> extrude(length = 20)
 | 
			
		||||
 | 
			
		||||
const part002 = startSketchOn(part001, "END")
 | 
			
		||||
const part002 = startSketchOn(part001, face = "END")
 | 
			
		||||
  |> startProfileAt([0, 0], %)
 | 
			
		||||
  |> line(end = [0, 10])
 | 
			
		||||
  |> line(end = [10, 0])
 | 
			
		||||
 | 
			
		||||
@ -11,7 +11,7 @@ const part001 = cube([0,0], 20)
 | 
			
		||||
    |> close()
 | 
			
		||||
    |> extrude(length = 20)
 | 
			
		||||
 | 
			
		||||
const part002 = startSketchOn(part001, "END")
 | 
			
		||||
const part002 = startSketchOn(part001, face = "END")
 | 
			
		||||
  |> startProfileAt([0, 0], %)
 | 
			
		||||
  |> line(end = [0, 10])
 | 
			
		||||
  |> line(end = [10, 0])
 | 
			
		||||
 | 
			
		||||
@ -11,7 +11,7 @@ const part001 = cube([0,0], 20)
 | 
			
		||||
    |> close()
 | 
			
		||||
    |> extrude(length = 20)
 | 
			
		||||
 | 
			
		||||
const part002 = startSketchOn(part001, "start")
 | 
			
		||||
const part002 = startSketchOn(part001, face = "start")
 | 
			
		||||
  |> startProfileAt([0, 0], %)
 | 
			
		||||
  |> line(end = [0, 10])
 | 
			
		||||
  |> line(end = [10, 0])
 | 
			
		||||
 | 
			
		||||
@ -13,21 +13,17 @@ const totalLength = lbumps * pitch - (2.0 * clearance)
 | 
			
		||||
const totalWidth = wbumps * pitch - (2.0 * clearance)
 | 
			
		||||
// Create the plane for the pegs. This is a hack so that the pegs can be patterned along the face of the lego base.
 | 
			
		||||
const pegFace = {
 | 
			
		||||
  plane: {
 | 
			
		||||
    origin: { x: 0, y: 0, z: height },
 | 
			
		||||
    xAxis: { x: 1, y: 0, z: 0 },
 | 
			
		||||
    yAxis: { x: 0, y: 1, z: 0 },
 | 
			
		||||
    zAxis: { x: 0, y: 0, z: 1 }
 | 
			
		||||
  }
 | 
			
		||||
  origin: { x: 0, y: 0, z: height },
 | 
			
		||||
  xAxis: { x: 1, y: 0, z: 0 },
 | 
			
		||||
  yAxis: { x: 0, y: 1, z: 0 },
 | 
			
		||||
  zAxis: { x: 0, y: 0, z: 1 }
 | 
			
		||||
}
 | 
			
		||||
// Create the plane for the tubes underneath the lego. This is a hack so that the tubes can be patterned underneath the lego.
 | 
			
		||||
const tubeFace = {
 | 
			
		||||
    plane: {
 | 
			
		||||
    origin: { x: 0, y: 0, z: height - t },
 | 
			
		||||
    xAxis: { x: 1, y: 0, z: 0 },
 | 
			
		||||
    yAxis: { x: 0, y: 1, z: 0 },
 | 
			
		||||
    zAxis: { x: 0, y: 0, z: 1 }
 | 
			
		||||
  }
 | 
			
		||||
  origin: { x: 0, y: 0, z: height - t },
 | 
			
		||||
  xAxis: { x: 1, y: 0, z: 0 },
 | 
			
		||||
  yAxis: { x: 0, y: 1, z: 0 },
 | 
			
		||||
  zAxis: { x: 0, y: 0, z: 1 }
 | 
			
		||||
}
 | 
			
		||||
// Make the base
 | 
			
		||||
const s = startSketchOn('XY')
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user