43 lines
1.3 KiB
Markdown
43 lines
1.3 KiB
Markdown
# cut_rsolid
|
|
|
|
## API Definition
|
|
|
|
```python
|
|
def cut_rsolid(
|
|
*solids: Union[Solid, Sequence[Solid]],
|
|
skip_non_intersecting: bool = True,
|
|
tracking_policy: TrackingPolicy | str = TrackingPolicy.FULL,
|
|
) -> Solid
|
|
```
|
|
|
|
*Source: operations.py*
|
|
|
|
## Import Surface
|
|
|
|
- top-level: `from simplecadapi import cut_rsolid`
|
|
|
|
## Description
|
|
|
|
Compute the boolean difference of solids.
|
|
|
|
Accepts a base solid followed by one or more tool solids, including nested
|
|
sequences, and returns a single `Solid`.
|
|
|
|
## Parameters
|
|
|
|
### solids
|
|
|
|
- **Description**: One or more Solid objects or sequences of Solid. Nested sequences are flattened before processing; the first solid is the base, the rest are subtracted in order.
|
|
|
|
### skip_non_intersecting
|
|
|
|
- **Description**: When True, tools with no meaningful intersection are ignored for interactive convenience. Graph replay records this flag and should use False for strict diagnostic workflows.
|
|
|
|
### tracking_policy
|
|
|
|
- **Description**: `TrackingPolicy.FULL` computes topology history and lineage. `TrackingPolicy.GRAPH` preserves the canonical cut node, parameters, inputs, result topology references, and replay while omitting `TopoDelta` and history-derived topology lineage. Intersection validation and `skip_non_intersecting` behavior are unchanged.
|
|
|
|
## Returns
|
|
|
|
Solid: The cut result solid.
|