---
title: "startProfileAt"
excerpt: "Start a new profile at a given point."
layout: manual
---

Start a new profile at a given point.



```js
startProfileAt(to: [number], sketch_surface: SketchSurface, tag?: TagDeclarator) -> Sketch
```


### Arguments

| Name | Type | Description | Required |
|----------|------|-------------|----------|
| `to` | `[number]` |  | Yes |
| `sketch_surface` | [`SketchSurface`](/docs/kcl/types/SketchSurface) | A sketch type. | 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 = [10, 0])
  |> line(end = [0, 10])
  |> line(end = [-10, 0])
  |> close()

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

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

```js
exampleSketch = startSketchOn('-XZ')
  |> startProfileAt([10, 10], %)
  |> line(end = [10, 0])
  |> line(end = [0, 10])
  |> line(end = [-10, 0])
  |> close()

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

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

```js
exampleSketch = startSketchOn('-XZ')
  |> startProfileAt([-10, 23], %)
  |> line(end = [10, 0])
  |> line(end = [0, 10])
  |> line(end = [-10, 0])
  |> close()

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

![Rendered example of startProfileAt 2](data:image/png;base64,[encoded data, 101856 characters])


