// Router template for a cross bar // A guide for routing a notch into a cross bar. // Set Units @settings(defaultLengthUnit = mm) routerDiameter = 12.7 templateDiameter = 11 / 16 * inch() templateGap = (templateDiameter - routerDiameter) / 2 - 0.5 slateWidthHalf = 41.5 / 2 minClampingDistance = 50 + 30 templateThickness = 10 radius = 10 depth = 30 distanceToInsideEdge = slateWidthHalf + templateThickness + templateGap sketch001 = startSketchOn(XZ) |> startProfileAt([0, depth + templateGap], %) |> xLine(length = slateWidthHalf - radius, tag = $seg01) |> arc({ angleEnd = 0, angleStart = 90, radius = 10 + templateGap }, %, $seg09) |> yLine(endAbsolute = -templateThickness, tag = $seg03) |> xLine(length = templateThickness, tag = $seg07) |> yLine(endAbsolute = (segEndY(seg01) + templateThickness) / 2 - templateThickness, tag = $seg02) |> xLine(endAbsolute = segEndX(seg03) + minClampingDistance, tag = $seg06) |> yLine(length = templateThickness * 2, tag = $seg08) |> xLine(endAbsolute = segEndX(seg02) + 0, tag = $seg05) |> yLine(endAbsolute = segEndY(seg01) + templateThickness, tag = $seg10) |> xLine(endAbsolute = 0, tag = $seg04) |> xLine(length = -segLen(seg04)) |> yLine(length = -segLen(seg10)) |> xLine(length = -segLen(seg05)) |> yLine(length = -segLen(seg08)) |> xLine(length = segLen(seg06)) |> yLine(length = -segLen(seg02)) |> xLine(length = segLen(seg07)) |> yLine(length = segLen(seg03)) |> arc({ angleEnd = 90, angleStart = 180, radius = 10 + templateGap }, %) |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> close() extrude001 = extrude(sketch001, length = 5) sketch003 = startSketchOn(extrude001, 'START') |> startProfileAt([distanceToInsideEdge, 0], %) |> angledLine([180, templateThickness], %, $rectangleSegmentA002) |> angledLine([ segAng(rectangleSegmentA002) + 90, templateThickness ], %, $rectangleSegmentB002) |> angledLine([ segAng(rectangleSegmentA002), -segLen(rectangleSegmentA002) ], %, $rectangleSegmentC002) |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> close() extrude003 = extrude(sketch003, length = 13) sketch002 = startSketchOn(extrude001, 'START') |> startProfileAt([-distanceToInsideEdge, 0], %) |> angledLine([0, templateThickness], %, $rectangleSegmentA001) |> angledLine([ segAng(rectangleSegmentA001) - 90, templateThickness ], %, $rectangleSegmentB001) |> angledLine([ segAng(rectangleSegmentA001), -segLen(rectangleSegmentA001) ], %, $rectangleSegmentC001) |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> close() extrude002 = extrude(sketch002, length = 13) sketch004 = startSketchOn(extrude002, 'END') |> startProfileAt([-distanceToInsideEdge, 0], %) |> angledLine([0, distanceToInsideEdge * 2], %, $rectangleSegmentA003) |> angledLine([ segAng(rectangleSegmentA003) - 90, templateThickness ], %, $rectangleSegmentB003) |> angledLine([ segAng(rectangleSegmentA003), -segLen(rectangleSegmentA003) ], %, $rectangleSegmentC003) |> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> close() extrude004 = extrude(sketch004, length = 4)