kcl-samples → mounting-plate
mounting-plate

KCL
// Mounting Plate // A flat piece of material, often metal or plastic, that serves as a support or base for attaching, securing, or mounting various types of equipment, devices, or components. // Set units @settings(defaultLengthUnit = in, kclVersion = 1.0) // Define parameters plateLength = 10 plateWidth = 6 filletRadius = 0.5 plateThickness = .5 centerHoleDiameter = 2 // Define the hole radius and x, y location constants holeRadius = .25 holeIndex = .75 sketch001 = startSketchOn(XY) rectShape = startProfile(sketch001, at = [-plateWidth / 2, plateLength / 2]) |> angledLine(angle = 0, length = plateWidth, tag = $basePlateEdge1) |> angledLine(angle = segAng(basePlateEdge1) - 90, length = plateLength, tag = $basePlateEdge2) |> angledLine(angle = segAng(basePlateEdge1), length = -segLen(basePlateEdge1), tag = $basePlateEdge3) |> line(endAbsolute = [profileStartX(%), profileStartY(%)], tag = $basePlateEdge4) |> close() // Create the mounting plate extrusion, holes, and fillets part = rectShape |> subtract2d(tool = circle( center = [ -plateWidth / 2 + holeIndex, plateLength / 2 - holeIndex ], radius = holeRadius, )) |> subtract2d(tool = circle( center = [ plateWidth / 2 - holeIndex, plateLength / 2 - holeIndex ], radius = holeRadius, )) |> subtract2d(tool = circle( center = [ -plateWidth / 2 + holeIndex, -plateLength / 2 + holeIndex ], radius = holeRadius, )) |> subtract2d(tool = circle( center = [ plateWidth / 2 - holeIndex, -plateLength / 2 + holeIndex ], radius = holeRadius, )) |> subtract2d(tool = circle(center = [0, 0], radius = centerHoleDiameter)) |> extrude(length = plateThickness) |> fillet( radius = filletRadius, tags = [ getCommonEdge(faces = [basePlateEdge3, basePlateEdge2]), getCommonEdge(faces = [basePlateEdge4, basePlateEdge3]), getCommonEdge(faces = [basePlateEdge4, basePlateEdge1]), getCommonEdge(faces = [basePlateEdge2, basePlateEdge1]) ], )