Files
modeling-app/docs/kcl/segStart.md
Jess Frazelle 70a2202877 change everything to rwlocks for thread safety (#5416)
* make everything in engine a rwlock and cleanup repetitive code

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* docs

Signed-off-by: Jess Frazelle <github@jessfraz.com>

---------

Signed-off-by: Jess Frazelle <github@jessfraz.com>
2025-02-18 21:50:13 +00:00

84 KiB

title, excerpt, layout
title excerpt layout
segStart Compute the starting point of the provided line segment. manual

Compute the starting point of the provided line segment.

segStart(tag: TagIdentifier) -> [number]

Arguments

Name Type Description Required
tag TagIdentifier The line segment being queried by its tag Yes

Returns

[number]

Examples

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 = segStart(tag)
       }, %)
    |> extrude(length = radius)
}

cylinder(1, line1)
cylinder(2, line2)
cylinder(3, line3)
cylinder(4, line4)

Rendered example of segStart 0