kcl-samples → bottle

bottle

bottle

KCL

// Bottle // A simple bottle with a hollow, watertight interior  // Set Units @settings(defaultLengthUnit = mm, kclVersion = 1.0)  // Input dimensions to define the bottle bottleWidth = 80 bottleLength = 125 bottleHeight = 220 neckDepth = 18 neckDiameter = 45 wallThickness = 4  // Create a rounded body for the bottle bottleBody = startSketchOn(XY)  |> startProfile(at = [-bottleLength / 2, 0])  |> yLine(length = bottleWidth / 3)  |> arc(endAbsolute = [bottleLength / 2, bottleWidth / 3], interiorAbsolute = [0, bottleWidth / 2])  |> yLine(endAbsolute = 0)  |> mirror2d(axis = X)  |> close()  |> extrude(length = bottleHeight - neckDepth)  // Create a neck centered at the top of the bottle bottleNeck = startSketchOn(bottleBody, face = END)  |> circle(center = [0, 0], radius = neckDiameter / 2)  |> extrude(length = neckDepth)  // Define a shell operation so that the entire body and neck are hollow, with only the top face opened bottleShell = shell(bottleNeck, faces = [END], thickness = wallThickness)  |> appearance(color = "#0078c2")