61 lines
136 KiB
Markdown
61 lines
136 KiB
Markdown
---
|
|
title: "polygon"
|
|
excerpt: "Create a regular polygon with the specified number of sides that is either inscribed or circumscribed around a circle of the specified radius."
|
|
layout: manual
|
|
---
|
|
|
|
Create a regular polygon with the specified number of sides that is either inscribed or circumscribed around a circle of the specified radius.
|
|
|
|
|
|
|
|
```js
|
|
polygon(data: PolygonData, sketch_surface_or_group: SketchOrSurface, tag?: TagDeclarator) -> Sketch
|
|
```
|
|
|
|
|
|
### Arguments
|
|
|
|
| Name | Type | Description | Required |
|
|
|----------|------|-------------|----------|
|
|
| `data` | [`PolygonData`](/docs/kcl/types/PolygonData) | Data for drawing a polygon | Yes |
|
|
| `sketch_surface_or_group` | [`SketchOrSurface`](/docs/kcl/types/SketchOrSurface) | A sketch surface or a sketch. | Yes |
|
|
| `tag` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | | No |
|
|
|
|
### Returns
|
|
|
|
[`Sketch`](/docs/kcl/types/Sketch) - A sketch is a collection of paths.
|
|
|
|
|
|
### Examples
|
|
|
|
```js
|
|
// Create a regular hexagon inscribed in a circle of radius 10
|
|
hex = startSketchOn('XY')
|
|
|> polygon({
|
|
radius = 10,
|
|
numSides = 6,
|
|
center = [0, 0],
|
|
inscribed = true
|
|
}, %)
|
|
|
|
example = extrude(hex, length = 5)
|
|
```
|
|
|
|

|
|
|
|
```js
|
|
// Create a square circumscribed around a circle of radius 5
|
|
square = startSketchOn('XY')
|
|
|> polygon({
|
|
radius = 5.0,
|
|
numSides = 4,
|
|
center = [10, 10],
|
|
inscribed = false
|
|
}, %)
|
|
example = extrude(square, length = 5)
|
|
```
|
|
|
|

|
|
|
|
|