Files
modeling-app/docs/kcl/extrude.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

163 KiB

title, excerpt, layout
title excerpt layout
extrude Extend a 2-dimensional sketch through a third dimension in order to create new 3-dimensional volume, or if extruded into an existing volume, cut into an existing solid. manual

Extend a 2-dimensional sketch through a third dimension in order to create new 3-dimensional volume, or if extruded into an existing volume, cut into an existing solid.

extrude(
  sketchSet: SketchSet,
  length: number,
): SolidSet

Arguments

Name Type Description Required
sketchSet SketchSet Which sketches should be extruded Yes
length number How far to extrude the given sketches Yes

Returns

SolidSet - A solid or a group of solids.

Examples

example = startSketchOn('XZ')
  |> startProfileAt([0, 0], %)
  |> line(end = [10, 0])
  |> arc({
       angleStart = 120,
       angleEnd = 0,
       radius = 5
     }, %)
  |> line(end = [5, 0])
  |> line(end = [0, 10])
  |> bezierCurve({
       control1 = [-10, 0],
       control2 = [2, 10],
       to = [-5, 10]
     }, %)
  |> line(end = [-5, -2])
  |> close()
  |> extrude(length = 10)

Rendered example of extrude 0

exampleSketch = startSketchOn('XZ')
  |> startProfileAt([-10, 0], %)
  |> arc({
       angleStart = 120,
       angleEnd = -60,
       radius = 5
     }, %)
  |> line(end = [10, 0])
  |> line(end = [5, 0])
  |> bezierCurve({
       control1 = [-3, 0],
       control2 = [2, 10],
       to = [-5, 10]
     }, %)
  |> line(end = [-4, 10])
  |> line(end = [-5, -2])
  |> close()

example = extrude(exampleSketch, length = 10)

Rendered example of extrude 1