---
title: "circle"
subtitle: "Function in std::sketch"
excerpt: ""
layout: manual
---



```kcl
circle(
  @sketch_or_surface: Sketch | Plane | Face,
  center: Point2d,
  radius: number(Length),
  tag?: tag,
): Sketch
```

Construct a 2-dimensional circle, of the specified radius, centered at
the provided (x, y) origin point.

### Arguments

| Name | Type | Description | Required |
|----------|------|-------------|----------|
| `sketch_or_surface` | [`Sketch`](/docs/kcl-std/types/std-types-Sketch) or [`Plane`](/docs/kcl-std/types/std-types-Plane) or [`Face`](/docs/kcl-std/types/std-types-Face) | Sketch to extend, or plane or surface to sketch on. | Yes |
| `center` | [`Point2d`](/docs/kcl-std/types/std-types-Point2d) | The center of the circle. | Yes |
| `radius` | [`number(Length)`](/docs/kcl-std/types/std-types-number) | The radius of the circle. | Yes |
| [`tag`](/docs/kcl-std/types/std-types-tag) | [`tag`](/docs/kcl-std/types/std-types-tag) | Create a new tag which refers to this circle. | No |

### Returns

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


### Examples

```kcl
exampleSketch = startSketchOn(-XZ)
  |> circle(center = [0, 0], radius = 10)

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

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

```kcl
exampleSketch = startSketchOn(XZ)
  |> startProfile(at = [-15, 0])
  |> line(end = [30, 0])
  |> line(end = [0, 30])
  |> line(end = [-30, 0])
  |> close()
  |> subtract2d(tool = circle(center = [0, 15], radius = 5))

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

![Rendered example of circle 1](data:image/png;base64,[encoded data, 143880 characters])


