* Replace tag type with tagIdent and tagDecl Signed-off-by: Nick Cameron <nrc@ncameron.org> * Replace tagIdent with TaggedEdge and TaggedFace Signed-off-by: Nick Cameron <nrc@ncameron.org> --------- Signed-off-by: Nick Cameron <nrc@ncameron.org>
57 lines
90 KiB
Markdown
57 lines
90 KiB
Markdown
---
|
|
title: "segEnd"
|
|
subtitle: "Function in std::sketch"
|
|
excerpt: "Compute the ending point of the provided line segment."
|
|
layout: manual
|
|
---
|
|
|
|
Compute the ending point of the provided line segment.
|
|
|
|
```kcl
|
|
segEnd(@tag: TaggedEdge): Point2d
|
|
```
|
|
|
|
|
|
|
|
### Arguments
|
|
|
|
| Name | Type | Description | Required |
|
|
|----------|------|-------------|----------|
|
|
| `tag` | [`TaggedEdge`](/docs/kcl-std/types/std-types-TaggedEdge) | The line segment being queried by its tag. | Yes |
|
|
|
|
### Returns
|
|
|
|
[`Point2d`](/docs/kcl-std/types/std-types-Point2d) - A point in two dimensional space.
|
|
|
|
|
|
### Examples
|
|
|
|
```kcl
|
|
w = 15
|
|
cube = startSketchOn(XY)
|
|
|> startProfile(at = [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)
|
|
|> startProfile(at = [0, 0])
|
|
|> circle(radius = radius, center = segEnd(tag))
|
|
|> extrude(length = radius)
|
|
}
|
|
|
|
cylinder(radius = 1, tag = line1)
|
|
cylinder(radius = 2, tag = line2)
|
|
cylinder(radius = 3, tag = line3)
|
|
cylinder(radius = 4, tag = line4)
|
|
|
|
```
|
|
|
|

|
|
|
|
|