Part SectionCut

Description
The Section Cut feature is available for all workbenches, despite it only works for Part and PartDesign objects and assemblies of those. It creates a persistent cut of objects and assemblies. Since the cut result is a normal Part Cut object, it can be modified further or for example 3D printed. See below for possible applications.



Usage


The Section Cut dialog is opened via the menu. It is independent of the current workbench and the currently opened document. It can be detached from its opening position by pressing the button at the upper right of the dialog.

The Section Cut feature takes all currently visible Part objects in the active document into account. Therefore you can control what will be cut, by making a part visible or not. By checking one of the Cutting options in the dialog the feature is activated. You can then either enter a position (in coordinates of the document) or use the sliders to set the cut position. It is also possible to combine cuts, for example to cut in X and Z direction. The buttons flip the side that is cut.

As soon as a Cutting option is checked in the dialog, you get a cut object in the tree view. Its name is e.g. SectionCutY when it is a cut in Y direction.

The dialog option Keep only cuts visible when closing hides everything in the tree view except of the cut object when the button is clicked to close the dialog.

To remove the cut object, uncheck all Cutting options.

By unchecking all Cutting options, the button becomes active. When pressed, it takes a kind of a screenshot of the currently visible Part objects. This will be used when you check the next time a Cutting option. The refreshing is necessary when you switched the document. It is furthermore useful for assemblies, where you might want to hide some parts or later want to add them to the cut. In this case the refreshing recalculates the min/max values of the sliders and cut positions according to the currently visible object dimensions.

Note: For assemblies the sliders in the dialog are disabled.The reason is that a slider movement results in many cut operations is a short time. For assemblies this quickly consumes all CPU power and the sticky slider movement is then no longer helpful.

When you select a cut object in the tree view and then open the Section Cut dialog, the cut positions will be read into the dialog.

Applications

 * An important use case is that Section Cut creates real cuts, not hollow ones like the Clip Plane feature.
 * Section Cut is useful for assemblies to visualize for example the working principle of a device. You thereby might want to color all or certain cut faces using the Face Colors tool. To use the tool, switch to the Part or PartDesign workbench, right-click on the cut object in the tree view and select in the context menu Set colors.
 * The limitation that only parts can be cut that don't intersect each other, see below, can be used as collision test.
 * The Section Cut feature can be used for technical drawings to highlight certain areas or to be able to draw in dimensions. The image below shows an example where the TechDraw features ActiveView and View are used.



Limitations



 * Important: The Section Cut feature works poorly with OpenCASCADE 7.4 and older due to bugs. It is therefore recommended to use OpenCASCADE 7.5 or newer (all builds of FreeCAD 0.20 assure this).
 * In assemblies parts that intersect each other cannot be cut. Normally intersecting objects will not be cut while the others will. However, sometimes the cutting can produce strange results which is a bug in the OpenCASCADE libraries.
 * There can be color artifacts in the cut result. If and how depends on the OpenCASCADE library and also on the view position. In many cases the color artifacts disappear when the 3D view is slightly rotated.
 * It is technically not possible to apply automatically a certain color to all cut faces. This feature can first be implemented when the Topological naming problem is solved.

Background Info
Section Cut works technically this way:

All visible objects are put into a Part Compound container and then the compound is cut using a  Part Box object. The box must be as large as necessary to cover the whole volume of all visible objects. To achieve this, the bounding box of the objects is acquired. When changing the view by adding/removing objects or changing the document, the bounding box must be updated. This is done when the button is clicked.

To enable the cutting of intersecting objects, instead of the Part Compound container a Boolean Fragements container is needed. This feature addition is planned for the next FreeCAD version.