Part SliceApart: Difference between revisions

From FreeCAD Documentation
No edit summary
mNo edit summary
 
(23 intermediate revisions by 7 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
<translate>
<translate>

<!--T:9-->
<!--T:9-->
{{Docnav
{{Docnav|[[Part_BooleanFragments|Boolean Fragments]]|[[Part_Slice|Slice]]|[[Part_Module|Part]]|IconL=Part_BooleanFragments.svg|IconC=Workbench_Part.svg|IconR=Part_Slice.svg}}
|[[Part_BooleanFragments|BooleanFragments]]
|[[Part_Slice|Slice]]
|[[Part_Workbench|Part]]
|IconL=Part_BooleanFragments.svg
|IconR=Part_Slice.svg
|IconC=Workbench_Part.svg
}}


<!--T:1-->
<!--T:1-->
{{GuiCommand|Name=Part SliceApart
{{GuiCommand
|Name=Part SliceApart
|MenuLocation=Part → Split → Slice Apart
|MenuLocation=Part → Split → Slice apart
|Version=0.18.15506
|Workbenches=[[Part_Workbench|Part]]
|Workbenches=[[Part Module|Part]]|SeeAlso=[[Part Slice|Part Slice to compound]], [[Part_ExplodeCompound|Part Explode Compound]]
|Version=0.18
|SeeAlso=[[Part_Slice|Part Slice to compound]], [[Part_ExplodeCompound|Part Explode Compound]]
}}
}}


Line 20: Line 30:


<!--T:4-->
<!--T:4-->
On the picture above, the pieces were moved apart manually afterwards, to reveal the slicing.
{{Caption| Above: the pieces were moved apart manually afterwards, to reveal the slicing.}}


<!--T:5-->
<!--T:5-->
[[Part SliceApart|Slice apart]] is the same as [[Part Slice|Part Slice]] followed by [[Part_ExplodeCompound|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.
[[Part SliceApart|Slice apart]] is the same as [[Image:Part_Slice.svg|24px|link=Part_Slice]] [[Part Slice|Part Slice]] followed by [[Image:Part_ExplodeCompound.svg|24px|link=Part_ExplodeCompound]] [[Part_ExplodeCompound|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.
They both create Slice parametric feature, that puts the sliced pieces into a compound, but "Slice apart" explodes the resulting compound into separate objects.


<!--T:33-->
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.
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.


Line 36: Line 47:


<!--T:31-->
<!--T:31-->
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.
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 CompoundFilter. All these CompoundFilters are united in a Compound.


<!--T:32-->
<!--T:32-->
[[Image:Part_SliceApartTree.png]]
[[Image:Part_SliceApartTree.png]]


==Example == <!--T:14-->


==Version== <!--T:7-->
<!--T:35-->
* Making a puzzle: see [[Part Slice|Part Slice]] example Steps 1 to 6

==Scripting== <!--T:15-->

<!--T:16-->
The tool can by used in [[macros]] and from the python console by using the following function:
</translate>
{{incode|BOPTools.SplitFeatures.makeSlice(name)}}
<translate>

<!--T:34-->
Set mode to '''split''' for slice apart

<!--T:17-->
* Creates an empty Slice feature. The 'Base' and 'Tools' properties must be assigned explicitly, afterwards.
* Returns the newly created object.

<!--T:18-->
Slice can also be applied to plain shapes, without the need to have a document object, via:
</translate>
{{Code|code=BOPTools.SplitAPI.slice(base_shape, tool_shapes, mode, tolerance = 0.0)}}
<translate>
<!--T:19-->
This can be useful for making custom Python scripted features.


<!--T:20-->
Example:
</translate>
{{code|code=
import BOPTools.SplitFeatures
j = BOPTools.SplitFeatures.makeSlice(name= 'Slice')
j.Base = FreeCADGui.Selection.getSelection()[0]
j.Tools = FreeCADGui.Selection.getSelection()[1:]
}}
<translate>

<!--T:21-->
The tool itself is implemented in Python, see {{FileName|/Mod/Part/BOPTools/SplitFeatures.py}} ([https://github.com/FreeCAD/FreeCAD/blob/master/src/Mod/Part/BOPTools/SplitFeatures.py GitHub link]) within the FreeCAD installation directory.

==Notes== <!--T:7-->


<!--T:8-->
<!--T:8-->
Slice Apart was introduced in FreeCAD v0.18.15506. FreeCAD needs to be compiled with OCC 6.9.0 or later; otherwise, the tool is unavailable.
Slice Apart was introduced in FreeCAD v0.18.15506. FreeCAD needs to be compiled with OCC 6.9.0 or later; otherwise, the tool is unavailable.


<!--T:10-->
==Video-Tutorials== <!--T:40-->
{{Docnav|[[Part_BooleanFragments|Boolean Fragments]]|[[Part_Slice|Slice]]|[[Part_Module|Part]]|IconL=Part_BooleanFragments.svg|IconC=Workbench_Part.svg|IconR=Part_Slice.svg}}


<!--T:11-->
<!--T:42-->
* https://www.youtube.com/watch?v=tzHkQaHgrfQ : FreeCad 0.18 PART WB using SLICE and SLICE APART (English language), author: Ha Gei
{{Part Tools navi}}


<!--T:12-->
<!--T:43-->
* https://www.youtube.com/watch?v=JJAL5JmqqKQ : FreeCAD Slice und Slice Apart und andere Tricks (German lanuage), author: Ha Gei
{{Userdocnavi}}


<!--T:10-->
{{Docnav
|[[Part_BooleanFragments|BooleanFragments]]
|[[Part_Slice|Slice]]
|[[Part_Workbench|Part]]
|IconL=Part_BooleanFragments.svg
|IconR=Part_Slice.svg
|IconC=Workbench_Part.svg
}}


</translate>
</translate>
{{Part Tools navi{{#translation:}}}}
{{clear}}
{{Userdocnavi{{#translation:}}}}

Latest revision as of 18:48, 7 March 2022

Part SliceApart

Menu location
Part → Split → Slice apart
Workbenches
Part
Default shortcut
None
Introduced in version
0.18
See also
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.

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.


Please visit Part Slice page for more info.

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 CompoundFilter. All these CompoundFilters are united in a Compound.

Example

  • Making a 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')
j.Base = FreeCADGui.Selection.getSelection()[0]
j.Tools = FreeCADGui.Selection.getSelection()[1:]

The tool itself is implemented in Python, see /Mod/Part/BOPTools/SplitFeatures.py (GitHub link) within the FreeCAD installation directory.

Notes

Slice Apart was introduced in FreeCAD v0.18.15506. FreeCAD needs to be compiled with OCC 6.9.0 or later; otherwise, the tool is unavailable.

Video-Tutorials