---
title: "bezierCurve"
excerpt: "Draw a smooth, continuous, curved line segment from the current origin to"
layout: 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.

```js
bezierCurve(data: BezierData, sketch: Sketch, tag?: TagDeclarator) -> Sketch
```


### Arguments

| Name | Type | Description | Required |
|----------|------|-------------|----------|
| `data` | [`BezierData`](/docs/kcl/types/BezierData) | Data to draw a bezier curve. | Yes |
| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | A sketch is a collection of paths. | Yes |
| `tag` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) |  | No |

### Returns

[`Sketch`](/docs/kcl/types/Sketch) - A sketch is a collection of paths.


### Examples

```js
exampleSketch = startSketchOn('XZ')
  |> startProfileAt([0, 0], %)
  |> line(end = [0, 10])
  |> bezierCurve({
       to = [10, 10],
       control1 = [5, 0],
       control2 = [5, 10]
     }, %)
  |> line(endAbsolute = [10, 0])
  |> close()

example = extrude(exampleSketch, length = 10)
```

![Rendered example of bezierCurve 0](data:image/png;base64,[encoded data, 70212 characters])


