More units of measure work
Signed-off-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') | ||||
|  | ||||
| @ -715,7 +715,7 @@ part001 = cube([0, 0], 20) | ||||
|   |> close() | ||||
|   |> extrude(length = 20) | ||||
|  | ||||
| part002 = startSketchOn(part001, part001.sketch.tags.here) | ||||
| part002 = startSketchOn(part001, face = part001.sketch.tags.here) | ||||
|   |> startProfileAt([0, 0], %) | ||||
|   |> line(end = [5, 0]) | ||||
|   |> line(end = [5, 5]) | ||||
| @ -751,7 +751,7 @@ part001 = cube([0,0], 20) | ||||
|     |> close() | ||||
|     |> extrude(length = 20) | ||||
|  | ||||
| part002 = startSketchOn(part001, "end") | ||||
| part002 = startSketchOn(part001, face = "end") | ||||
|   |> startProfileAt([0, 0], %) | ||||
|   |> line(end = [0, 10]) | ||||
|   |> line(end = [10, 0]) | ||||
| @ -759,7 +759,7 @@ part002 = startSketchOn(part001, "end") | ||||
|   |> close() | ||||
|   |> extrude(length = 5) | ||||
|  | ||||
| part003 = startSketchOn(part002, "end") | ||||
| part003 = startSketchOn(part002, face = "end") | ||||
|   |> startProfileAt([0, 0], %) | ||||
|   |> line(end = [0, 5]) | ||||
|   |> line(end = [5, 0]) | ||||
| @ -811,7 +811,7 @@ part001 = cube([0,0], 20) | ||||
|     |> close() | ||||
|     |> extrude(length = 20) | ||||
|  | ||||
| part002 = startSketchOn(part001, "end") | ||||
| part002 = startSketchOn(part001, face = "end") | ||||
|   |> circle(center = [0, 0], radius= 5)  | ||||
|   |> extrude(length = 5) | ||||
| "#; | ||||
| @ -865,7 +865,7 @@ part = rectShape([0, 0], 20, 20) | ||||
|     }; | ||||
|     assert_eq!( | ||||
|         err.error.message(), | ||||
|         "The input argument of `std::sketch::circle` requires a value with type `Sketch | Plane | Face`, but found string (text)" | ||||
|         "This function expected the input argument to be of type SketchOrSurface but it's actually of type string (text)" | ||||
|     ); | ||||
| } | ||||
|  | ||||
| @ -1031,7 +1031,7 @@ async fn kcl_test_revolve_on_edge() { | ||||
|   |> close() | ||||
|   |> extrude(length = 10) | ||||
|  | ||||
| sketch001 = startSketchOn(box, "end") | ||||
| sketch001 = startSketchOn(box, face = "end") | ||||
|   |> startProfileAt([5, 10], %) | ||||
|   |> line(end = [0, -10]) | ||||
|   |> line(end = [2, 0]) | ||||
| @ -1055,7 +1055,7 @@ async fn kcl_test_revolve_on_edge_get_edge() { | ||||
|   |> close() | ||||
|   |> extrude(length = 10) | ||||
|  | ||||
| sketch001 = startSketchOn(box, revolveAxis) | ||||
| sketch001 = startSketchOn(box, face = revolveAxis) | ||||
|   |> startProfileAt([5, 10], %) | ||||
|   |> line(end = [0, -10]) | ||||
|   |> line(end = [2, 0]) | ||||
| @ -1085,7 +1085,7 @@ async fn kcl_test_revolve_on_face_circle_edge() { | ||||
|   |> close() | ||||
|   |> extrude(length = 20) | ||||
|  | ||||
| sketch001 = startSketchOn(box, "END") | ||||
| sketch001 = startSketchOn(box, face = "END") | ||||
|   |> circle(center = [10,10], radius= 4) | ||||
|   |> revolve( | ||||
|     angle = 90, | ||||
| @ -1107,7 +1107,7 @@ async fn kcl_test_revolve_on_face_circle() { | ||||
|   |> close() | ||||
|   |> extrude(length = 20) | ||||
|  | ||||
| sketch001 = startSketchOn(box, "END") | ||||
| sketch001 = startSketchOn(box, face = "END") | ||||
|   |> circle(center = [10,10], radius= 4 ) | ||||
|   |> revolve( | ||||
|     angle = -90,  | ||||
| @ -1129,7 +1129,7 @@ async fn kcl_test_revolve_on_face() { | ||||
|   |> close(tag = $revolveAxis) | ||||
|   |> extrude(length = 10) | ||||
|  | ||||
| sketch001 = startSketchOn(box, "end") | ||||
| sketch001 = startSketchOn(box, face = "end") | ||||
|   |> startProfileAt([5, 10], %) | ||||
|   |> line(end = [0, -10]) | ||||
|   |> line(end = [2, 0]) | ||||
| @ -1173,7 +1173,7 @@ async fn kcl_test_simple_revolve_sketch_on_edge() { | ||||
|      |> close() | ||||
|      |> revolve(axis = Y, angle = 180) | ||||
|  | ||||
| part002 = startSketchOn(part001, 'end') | ||||
| part002 = startSketchOn(part001, face = 'end') | ||||
|     |> startProfileAt([4.5, -5], %) | ||||
|     |> line(end = [0, 5]) | ||||
|     |> line(end = [5, 0]) | ||||
| @ -1189,7 +1189,7 @@ part002 = startSketchOn(part001, 'end') | ||||
| #[tokio::test(flavor = "multi_thread")] | ||||
| async fn kcl_test_plumbus_fillets() { | ||||
|     let code = r#"fn make_circle = (ext, face, pos, radius) => { | ||||
|   sg = startSketchOn(ext, face) | ||||
|   sg = startSketchOn(ext, face = face) | ||||
|   |> startProfileAt([pos[0] + radius, pos[1]], %) | ||||
|   |> arc({ | ||||
|        angleEnd = 360, | ||||
| @ -1264,20 +1264,18 @@ async fn kcl_test_empty_file_is_ok() { | ||||
| async fn kcl_test_member_expression_in_params() { | ||||
|     let code = r#"fn capScrew = (originStart, length, dia, capDia, capHeadLength) => { | ||||
|   screwHead = startSketchOn({ | ||||
|        plane: { | ||||
|          origin: { | ||||
|           x: originStart[0], | ||||
|           y: originStart[1], | ||||
|           z: originStart[2], | ||||
|          }, | ||||
|          xAxis: { x: 0, y: 0, z: -1 }, | ||||
|          yAxis: { x: 1, y: 0, z: 0 }, | ||||
|          zAxis: { x: 0, y: 1, z: 0 } | ||||
|       } | ||||
|       origin: { | ||||
|       x: originStart[0], | ||||
|       y: originStart[1], | ||||
|       z: originStart[2], | ||||
|       }, | ||||
|       xAxis: { x: 0, y: 0, z: -1 }, | ||||
|       yAxis: { x: 1, y: 0, z: 0 }, | ||||
|       zAxis: { x: 0, y: 1, z: 0 } | ||||
|   }) | ||||
|     |> circle(center = [0, 0], radius= capDia / 2) | ||||
|     |> extrude(length = capHeadLength) | ||||
|   screw = startSketchOn(screwHead, "start") | ||||
|   screw = startSketchOn(screwHead, face = "start") | ||||
|     |> circle(center = [0, 0], radius= dia / 2) | ||||
|     |> extrude(length = length) | ||||
|   return screw | ||||
| @ -1346,7 +1344,7 @@ async fn kcl_test_error_empty_start_sketch_on_string() { | ||||
|   |> close() | ||||
|   |> extrude(length = 100) | ||||
|  | ||||
| secondSketch = startSketchOn(part001, '') | ||||
| secondSketch = startSketchOn(part001, face = '') | ||||
|   |> circle(center = [-20, 50], radius= 40) | ||||
|   |> extrude(length = 20) | ||||
| "#; | ||||
| @ -1355,7 +1353,7 @@ secondSketch = startSketchOn(part001, '') | ||||
|     assert!(result.is_err()); | ||||
|     assert_eq!( | ||||
|         result.err().unwrap().to_string(), | ||||
|         r#"semantic: KclErrorDetails { source_ranges: [SourceRange([297, 299, 0])], message: "Argument at index 1 was supposed to be type Option<FaceTag> but found string (text)" }"# | ||||
|         r#"type: KclErrorDetails { source_ranges: [SourceRange([274, 307, 0])], message: "The arg face was given, but it was the wrong type. It should be type FaceTag but it was string (text)" }"# | ||||
|     ); | ||||
| } | ||||
|  | ||||
| @ -1991,7 +1989,7 @@ someFunction('INVALID') | ||||
|     assert!(result.is_err()); | ||||
|     assert_eq!( | ||||
|         result.err().unwrap().to_string(), | ||||
|         r#"semantic: KclErrorDetails { source_ranges: [SourceRange([51, 60, 0]), SourceRange([65, 88, 0])], message: "Argument at index 0 was supposed to be type SketchData but found string (text)" }"# | ||||
|         r#"semantic: KclErrorDetails { source_ranges: [SourceRange([51, 60, 0]), SourceRange([65, 88, 0])], message: "This function expected the input argument to be Solid or Plane but it's actually of type string (text)" }"# | ||||
|     ); | ||||
| } | ||||
|  | ||||
| @ -2012,7 +2010,7 @@ someFunction('INVALID') | ||||
|     assert!(result.is_err()); | ||||
|     assert_eq!( | ||||
|         result.err().unwrap().to_string(), | ||||
|         r#"semantic: KclErrorDetails { source_ranges: [SourceRange([103, 113, 0]), SourceRange([126, 155, 0]), SourceRange([159, 182, 0])], message: "Argument at index 0 was supposed to be type SketchData but found string (text)" }"# | ||||
|         r#"semantic: KclErrorDetails { source_ranges: [SourceRange([103, 113, 0]), SourceRange([126, 155, 0]), SourceRange([159, 182, 0])], message: "This function expected the input argument to be Solid or Plane but it's actually of type string (text)" }"# | ||||
|     ); | ||||
| } | ||||
|  | ||||
|  | ||||
		Reference in New Issue
	
	Block a user