kcl-samples → brake-caliper

brake-caliper

brake-caliper

KCL

// Brake Caliper
// Brake calipers are used to squeeze the brake pads against the rotor, causing larger and larger amounts of friction depending on how hard the brakes are pressed.


// Define constants
rotorDiameter = 12
rotorInnerDiameterThickness = 12.6
rotorTotalThickness = 25.4
caliperTolerance = 5
caliperPadLength = 40
caliperThickness = 10
caliperOuterEdgeRadius = 10
caliperInnerEdgeRadius = 3

// Create the plane for the brake caliper. This is so it can match up with the rotor model.
brakeCaliperPlane = {
  plane = {
    origin = { x = 0, y = 0, z = 0 },
    xAxis = { x = 1, y = 0, z = 0 },
    yAxis = { x = 0, y = 1, z = 0 },
    zAxis = { x = 0, y = 0, z = 1 }
  }
}

// Sketch the brake caliper cross section
brakeCaliperSketch = startSketchOn(brakeCaliperPlane)
  |> startProfileAt([
       rotorDiameter / 2 * 25.4 + caliperTolerance,
       0
     ], %)
  |> line([
       0,
       rotorTotalThickness + caliperTolerance - caliperInnerEdgeRadius
     ], %)
  |> tangentialArc({
       offset = 90,
       radius = caliperInnerEdgeRadius
     }, %)
  |> line([
       -caliperPadLength + 2 * caliperInnerEdgeRadius,
       0
     ], %)
  |> tangentialArc({
       offset = -90,
       radius = caliperInnerEdgeRadius
     }, %)
  |> line([
       0,
       caliperThickness - (caliperInnerEdgeRadius * 2)
     ], %)
  |> tangentialArc({
       offset = -90,
       radius = caliperInnerEdgeRadius
     }, %)
  |> line([
       caliperPadLength + caliperThickness - caliperOuterEdgeRadius - caliperInnerEdgeRadius,
       0
     ], %)
  |> tangentialArc({
       offset = -90,
       radius = caliperOuterEdgeRadius
     }, %)
  |> line([
       0,
       -2 * caliperTolerance - (2 * caliperThickness) - rotorTotalThickness + 2 * caliperOuterEdgeRadius
     ], %)
  |> tangentialArc({
       offset = -90,
       radius = caliperOuterEdgeRadius
     }, %)
  |> line([
       -caliperPadLength - caliperThickness + caliperOuterEdgeRadius + caliperInnerEdgeRadius,
       0
     ], %)
  |> tangentialArc({
       offset = -90,
       radius = caliperInnerEdgeRadius
     }, %)
  |> line([
       0,
       caliperThickness - (2 * caliperInnerEdgeRadius)
     ], %)
  |> tangentialArc({
       offset = -90,
       radius = caliperInnerEdgeRadius
     }, %)
  |> line([
       caliperPadLength - (2 * caliperInnerEdgeRadius),
       0
     ], %)
  |> tangentialArc({
       offset = 90,
       radius = caliperInnerEdgeRadius
     }, %)
  |> close(%)

// Revolve the brake caliiper sketch
brakeCaliper = revolve({ axis = "Y", angle = -70 }, brakeCaliperSketch)