Files
modeling-app/docs/kcl-std/functions/std-solid-fillet.md
Nick Cameron 1841e63021 Misc docs polishing (#6712)
* Fake modules for Rust std lib functions

Signed-off-by: Nick Cameron <nrc@ncameron.org>

* Include the missing @ in Rust std lib fns

Signed-off-by: Nick Cameron <nrc@ncameron.org>

* Move revolve and mirror2d to better modules

Signed-off-by: Nick Cameron <nrc@ncameron.org>

* Use docs from KCL mods for type summaries

Signed-off-by: Nick Cameron <nrc@ncameron.org>

* Use type docs to describe types from KCL std lib

Signed-off-by: Nick Cameron <nrc@ncameron.org>

---------

Signed-off-by: Nick Cameron <nrc@ncameron.org>
2025-05-06 16:09:59 +12:00

119 KiB

title, excerpt, layout
title excerpt layout
std::solid::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(Length),
  tags: [Edge; 1+],
  tolerance?: number(Length),
  tag?: tag,
): Solid

Arguments

Name Type Description Required
solid Solid The solid whose edges should be filletted Yes
radius number(Length) The radius of the fillet Yes
tags [Edge; 1+] The paths you want to fillet Yes
tolerance number(Length) The tolerance for this fillet No
tag tag 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)
  |> startProfile(at = [-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 std::solid::fillet 0

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

mountingPlateSketch = startSketchOn(XY)
  |> startProfile(at = [-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 std::solid::fillet 1