Files
modeling-app/docs/kcl-std/functions/std-sketch-bezierCurve.md
Nick Cameron 3936017f10 Tag types (#7458)
* Replace tag type with tagIdent and tagDecl

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

* Replace tagIdent with TaggedEdge and TaggedFace

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

---------

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

107 KiB

title, subtitle, excerpt, layout
title subtitle excerpt layout
bezierCurve Function in std::sketch Draw a smooth, continuous, curved line segment from the current origin to the desired (x, y), using a number of control points to shape the curve's shape. manual

Draw a smooth, continuous, curved line segment from the current origin to the desired (x, y), using a number of control points to shape the curve's shape.

bezierCurve(
  @sketch: Sketch,
  control1?: Point2d,
  control2?: Point2d,
  end?: Point2d,
  control1Absolute?: Point2d,
  control2Absolute?: Point2d,
  endAbsolute?: Point2d,
  tag?: TagDecl,
): Sketch

Arguments

Name Type Description Required
sketch Sketch Which sketch should this path be added to? Yes
control1 Point2d First control point for the cubic. No
control2 Point2d Second control point for the cubic. No
end Point2d How far away (along the X and Y axes) should this line go? No
control1Absolute Point2d First control point for the cubic. Absolute point. No
control2Absolute Point2d Second control point for the cubic. Absolute point. No
endAbsolute Point2d Coordinate on the plane at which this line should end. No
tag TagDecl Create a new tag which refers to this line. No

Returns

Sketch - A sketch is a collection of paths.

Examples

// Example using relative control points.
exampleSketch = startSketchOn(XZ)
  |> startProfile(at = [0, 0])
  |> line(end = [0, 10])
  |> bezierCurve(control1 = [5, 0], control2 = [5, 10], end = [10, 10])
  |> line(endAbsolute = [10, 0])
  |> close()

example = extrude(exampleSketch, length = 10)

Rendered example of bezierCurve 0

// Example using absolute control points.
startSketchOn(XY)
  |> startProfile(at = [300, 300])
  |> bezierCurve(control1Absolute = [600, 300], control2Absolute = [-300, -100], endAbsolute = [600, 600])
  |> close()
  |> extrude(length = 10)

Rendered example of bezierCurve 1