* Parse an unparse type decls (and refactor impl attributes slightly) Signed-off-by: Nick Cameron <nrc@ncameron.org> * Remove special treatment of geometric types from parser and executor Signed-off-by: Nick Cameron <nrc@ncameron.org> * Generate docs for std types Signed-off-by: Nick Cameron <nrc@ncameron.org> * Hover tool-tips for types and fixup the frontend Signed-off-by: Nick Cameron <nrc@ncameron.org> * Fixes Signed-off-by: Nick Cameron <nrc@ncameron.org> --------- Signed-off-by: Nick Cameron <nrc@ncameron.org>
56 lines
90 KiB
Markdown
56 lines
90 KiB
Markdown
---
|
|
title: "segEnd"
|
|
excerpt: "Compute the ending point of the provided line segment."
|
|
layout: manual
|
|
---
|
|
|
|
Compute the ending point of the provided line segment.
|
|
|
|
|
|
|
|
```js
|
|
segEnd(tag: TagIdentifier): [number]
|
|
```
|
|
|
|
|
|
### Arguments
|
|
|
|
| Name | Type | Description | Required |
|
|
|----------|------|-------------|----------|
|
|
| [`tag`](/docs/kcl/types/tag) | [`TagIdentifier`](/docs/kcl/types#tag-identifier) | The line segment being queried by its tag | Yes |
|
|
|
|
### Returns
|
|
|
|
[`[number]`](/docs/kcl/types/number)
|
|
|
|
|
|
### Examples
|
|
|
|
```js
|
|
w = 15
|
|
cube = startSketchOn('XY')
|
|
|> startProfileAt([0, 0], %)
|
|
|> line(end = [w, 0], tag = $line1)
|
|
|> line(end = [0, w], tag = $line2)
|
|
|> line(end = [-w, 0], tag = $line3)
|
|
|> line(end = [0, -w], tag = $line4)
|
|
|> close()
|
|
|> extrude(length = 5)
|
|
|
|
fn cylinder(radius, tag) {
|
|
return startSketchOn('XY')
|
|
|> startProfileAt([0, 0], %)
|
|
|> circle(radius = radius, center = segEnd(tag))
|
|
|> extrude(length = radius)
|
|
}
|
|
|
|
cylinder(1, line1)
|
|
cylinder(2, line2)
|
|
cylinder(3, line3)
|
|
cylinder(4, line4)
|
|
```
|
|
|
|

|
|
|
|
|