Files
modeling-app/docs/kcl/line.md
Nick Cameron 5d25f4a0e5 Support types in the standard library (#5651)
* 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>
2025-03-07 09:53:34 -05:00

80 KiB

title, excerpt, layout
title excerpt layout
line Extend the current sketch with a new straight line. manual

Extend the current sketch with a new straight line.

line(
  sketch: Sketch,
  endAbsolute?: [number],
  end?: [number],
  tag?: TagDeclarator,
): Sketch

Arguments

Name Type Description Required
sketch Sketch Which sketch should this path be added to? Yes
endAbsolute [number] Which absolute point should this line go to? Incompatible with end. No
end [number] How far away (along the X and Y axes) should this line go? Incompatible with endAbsolute. No
tag TagDeclarator Create a new tag which refers to this line No

Returns

Sketch

Examples

triangle = startSketchOn(XZ)
  |> startProfileAt([0, 0], %)
  // The 'end' argument means it ends at exactly [10, 0].
  // This is an absolute measurement, it is NOT relative to
  // the start of the sketch.
  |> line(endAbsolute = [10, 0])
  |> line(endAbsolute = [0, 10])
  |> line(endAbsolute = [-10, 0], tag = $thirdLineOfTriangle)
  |> close()
  |> extrude(length = 5)

box = startSketchOn(XZ)
  |> startProfileAt([10, 10], %)
  // The 'to' argument means move the pen this much.
  // So, [10, 0] is a relative distance away from the current point.
  |> line(end = [10, 0])
  |> line(end = [0, 10])
  |> line(end = [-10, 0], tag = $thirdLineOfBox)
  |> close()
  |> extrude(length = 5)

Rendered example of line 0