Files
modeling-app/docs/kcl/fillet.md
Adam Chalmers a094995730 KCL: Chamfer and fillet now use keyword arguments (#5389)
Previously:
`|> fillet({ radius = 5, tags = [seg01] }, %)`
Now:
`|> fillet(radius = 5, tags = [seg01])`

Also tweaks the formatter for keyword argument calls slightly.
2025-02-21 20:41:25 +00:00

119 KiB

title, excerpt, layout
title excerpt layout
fillet Blend a transitional edge along a tagged path, smoothing the sharp edge. manual

Blend a transitional edge along a tagged path, smoothing the sharp edge.

Fillet is similar in function and use to a chamfer, except a chamfer will cut a sharp transition along an edge while fillet will smoothly blend the transition.

fillet(solid: Solid, radius: number, tags: [EdgeReference], tolerance?: number, tag?: TagDeclarator) -> Solid

Arguments

Name Type Description Required
solid Solid The solid whose edges should be filletted Yes
radius number The radius of the fillet Yes
tags [EdgeReference] The paths you want to fillet Yes
tolerance number The tolerance for this fillet No
tag TagDeclarator Create a new tag which refers to this fillet No

Returns

Solid - A solid is a collection of extrude surfaces.

Examples

width = 20
length = 10
thickness = 1
filletRadius = 2

mountingPlateSketch = startSketchOn("XY")
  |> startProfileAt([-width / 2, -length / 2], %)
  |> line(endAbsolute = [width / 2, -length / 2], tag = $edge1)
  |> line(endAbsolute = [width / 2, length / 2], tag = $edge2)
  |> line(endAbsolute = [-width / 2, length / 2], tag = $edge3)
  |> close(tag = $edge4)

mountingPlate = extrude(mountingPlateSketch, length = thickness)
  |> fillet(
       radius = filletRadius,
       tags = [
         getNextAdjacentEdge(edge1),
         getNextAdjacentEdge(edge2),
         getNextAdjacentEdge(edge3),
         getNextAdjacentEdge(edge4)
       ],
     )

Rendered example of fillet 0

width = 20
length = 10
thickness = 1
filletRadius = 1

mountingPlateSketch = startSketchOn("XY")
  |> startProfileAt([-width / 2, -length / 2], %)
  |> line(endAbsolute = [width / 2, -length / 2], tag = $edge1)
  |> line(endAbsolute = [width / 2, length / 2], tag = $edge2)
  |> line(endAbsolute = [-width / 2, length / 2], tag = $edge3)
  |> close(tag = $edge4)

mountingPlate = extrude(mountingPlateSketch, length = thickness)
  |> fillet(
       radius = filletRadius,
       tolerance = 0.000001,
       tags = [
         getNextAdjacentEdge(edge1),
         getNextAdjacentEdge(edge2),
         getNextAdjacentEdge(edge3),
         getNextAdjacentEdge(edge4)
       ],
     )

Rendered example of fillet 1