* Move some sketch functions to KCL Signed-off-by: Nick Cameron <nrc@ncameron.org> * Move asserts to KCL Signed-off-by: Nick Cameron <nrc@ncameron.org> * sweep, loft -> KCL Signed-off-by: Nick Cameron <nrc@ncameron.org> * Move pattern transforms to KCL Signed-off-by: Nick Cameron <nrc@ncameron.org> --------- Signed-off-by: Nick Cameron <nrc@ncameron.org>
69 lines
136 KiB
Markdown
69 lines
136 KiB
Markdown
---
|
|
title: "polygon"
|
|
subtitle: "Function in std::sketch"
|
|
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.
|
|
|
|
```kcl
|
|
polygon(
|
|
@sketchOrSurface: Sketch | Plane | Face,
|
|
radius: number(Length),
|
|
numSides: number(_),
|
|
center: Point2d,
|
|
inscribed?: bool,
|
|
): Sketch
|
|
```
|
|
|
|
|
|
|
|
### Arguments
|
|
|
|
| Name | Type | Description | Required |
|
|
|----------|------|-------------|----------|
|
|
| `sketchOrSurface` | [`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) | Plane or surface to sketch on. | Yes |
|
|
| `radius` | [`number(Length)`](/docs/kcl-std/types/std-types-number) | The radius of the polygon. | Yes |
|
|
| `numSides` | [`number(_)`](/docs/kcl-std/types/std-types-number) | The number of sides in the polygon. | Yes |
|
|
| `center` | [`Point2d`](/docs/kcl-std/types/std-types-Point2d) | The center point of the polygon. | Yes |
|
|
| `inscribed` | [`bool`](/docs/kcl-std/types/std-types-bool) | Whether the polygon is inscribed (true, the default) or circumscribed (false) about a circle with the specified radius. | No |
|
|
|
|
### Returns
|
|
|
|
[`Sketch`](/docs/kcl-std/types/std-types-Sketch) - A sketch is a collection of paths.
|
|
|
|
|
|
### Examples
|
|
|
|
```kcl
|
|
// 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)
|
|
```
|
|
|
|

|
|
|
|
```kcl
|
|
// 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)
|
|
```
|
|
|
|

|
|
|
|
|