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.

If the option Auto in the cut face section is checked, the color and transparency of the cut objects will be taken for the cut face. This only works if all cut objects have the same color or transparency.

Note: For assemblies the sliders in the dialog are disabled (except the one for the transparency). 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 a sticky slider movement is not 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 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.



Special cut positions



 * For example in the first image in this page only one quarter of the assembly is cut. This was done by creating a cut in X direction. Then in the resulting cut object SectionCutX the placement of the subobject SectionCutBoxX was changed.
 * To get a cut in any direction, you can do this:
 * 1) Create a new Std Part container.
 * 2) Select all objects you want to cut in the tree view and move them into the container.
 * 3) Now set the placement of the container to a rotation of your choice. For the image at the left, the container was rotated by 45° around the X and Z axis and the section cut was performed in X direction.

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 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. To get a cut view also for intersecting objects, you can use the the macro Cross Section.
 * Especially when using the A2plus workbench, some the assembled parts can overlap each other by just a micron due to internal rounding errors. To fix this, add a micron as space in the constraint settings.
 * 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.
 * When having cut objects with different colors, it is not possible to apply automatically their color to the corresponding cut faces. All cut faces will get the same color selected in the dialog.
 * When using the A2plus workbench, it is not possible to apply automatically the color of the assembled parts to the corresponding cut faces. All cut faces will get the same color selected in the dialog. The reason is that A2plus does not input the parts as link but loads them as file.

Background Info
Section Cut is inspired by the macro Cross Section and 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.