Files
modeling-app/docs/kcl/subtract.md
Jess Frazelle 9ddb4e629f Stub csg functions for front end (#5899)
* initial placeholder csg functions

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

* updates

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

* generate docs

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

* generate docs

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

---------

Signed-off-by: Jess Frazelle <github@jessfraz.com>
2025-03-20 02:26:57 +00:00

94 KiB

title, excerpt, layout
title excerpt layout
subtract Subtract removes tool solids from base solids, leaving the remaining material. manual

WARNING: This function is deprecated.

Subtract removes tool solids from base solids, leaving the remaining material.

Performs a boolean subtraction operation, removing the volume of one or more tool solids from one or more base solids. The result is a new solid representing the material that remains after all tool solids have been cut away. This function is essential for machining simulations, cavity creation, and complex multi-body part modeling.

subtract(
  solids: [Solid],
  tools: [Solid],
): [Solid]

Arguments

Name Type Description Required
solids [Solid] The solids to intersect. Yes
tools [Solid] The solids to subtract. Yes

Returns

[Solid]

Examples

fn cube(center) {
  return startSketchOn('XY')
    |> startProfileAt([center[0] - 10, center[1] - 10], %)
    |> line(endAbsolute = [center[0] + 10, center[1] - 10])
    |> line(endAbsolute = [center[0] + 10, center[1] + 10])
    |> line(endAbsolute = [center[0] - 10, center[1] + 10])
    |> close()
    |> extrude(length = 10)
}

part001 = cube([0, 0])
part002 = startSketchOn('XY')
  |> circle(center = [0, 0], radius = 2)
  |> extrude(length = 10)

subtractedPart = subtract([part001], tools = [part002])

Rendered example of subtract 0