Difference between revisions of "Part SliceApart"

Other languages:
Deutsch • ‎English • ‎français • ‎italiano
Previous: Boolean Fragments
Next: Slice
Menu location Part SliceApart Part → Split → Slice Apart Part None 0.18.15506 Part Slice to compound, Part Explode Compound

Description

Tool to split shapes by intersection with other shapes. For example, for a box and a plane, two solids are created.

On the picture above, the pieces were moved apart manually afterwards, to reveal the slicing.

Slice apart is the same as Part Slice followed by Part Explode Compound. While "Slice to compound" is fully-parametric, and causes no trouble as the number of pieces changes, "Slice apart" will not update the number of objects as the number of pieces changes. They both create Slice parametric feature, that puts the sliced pieces into a compound, but "Slice apart" explodes the resulting compound into separate objects.

The output shape occupies the same space as the original. But it is split where it intersects with other shapes. The split pieces are individual pieces.

Tree structure of Slice Apart

The Slice Apart command creates more than only the sliced object. In the following example a cube is sliced by a face.

The slice is created and for each piece of it there is a Part CompoundFilter created, thus the same slice occurs multiple times below each CompundFilter. All these CompoundFilters are united in a Compound.

Example: making puzzle

See Part Slice Example Steps 1 to 6

Scripting

The tool can by used in macros and from the python console by using the following function:

```BOPTools.SplitFeatures.makeSlice(name)
```

Set mode to split for slice apart

• Creates an empty Slice feature. The 'Base' and 'Tools' properties must be assigned explicitly, afterwards.
• Returns the newly created object.

Slice can also be applied to plain shapes, without the need to have a document object, via:

```BOPTools.SplitAPI.slice(base_shape, tool_shapes, mode, tolerance = 0.0)
```

This can be useful for making custom Python scripted features.

Example:

```import BOPTools.SplitFeatures
j = BOPTools.SplitFeatures.makeSlice(name= 'Slice')