Part RefineShape

From FreeCAD Documentation
Revision as of 05:58, 29 September 2019 by Vocx (talk | contribs) (Subsection inside the How to use section)

Part RefineShape

Menu location
Part → Create a copy → Refine Shape
Workbenches
Part
Default shortcut
None
Introduced in version
-
See also
SimpleCopy, TransformedCopy, ElementCopy, OpenSCAD RefineShapeFeature

Description

Part RefineShape produces a non-parametric copy with a refined shape, that is, with certain edges and faces cleaned up.

After certain boolean operations, like Part Union, some lines from the previous shapes main remain visible. This tool produces a copy of that boolean result, and cleans up those seams.

To produce other non-parametric copies use SimpleCopy, TransformedCopy, and ElementCopy.

Original boolean result (left), and refined shape copy (right).

How to use

  1. Select an object that you wish to clean and copy.
  2. Go to the menu Part → Create a copy → Refine shape.
  3. A cleaned, independent copy of the original object is created; the original object is hidden.

Starting in FreeCAD 0.19, the result defaults to a parametric (linked) copy.

This behavior can be changed in the parameter editor. Go to the subgroup

  • BaseApp/Preferences/Mod/Part

and change ParametricRefine of type Boolean to false to get the old behavior (independent copy).

See other parameters in Fine-tuning.

Limitations

  • The refinement algorithm only works on shells. Therefore it iterates over the shells of the input shape and then for each shell it creates a new shell with joined faces wherever possible. This means that if your input shape is only a face, wire, edge or vertex then the algorithm does nothing.
  • Unlike OpenSCAD RefineShapeFeature command, Part RefineShape won't update when the preceding shapes are changed.

Notes

  • the function does not modify the existing shape, but returns a new shape
  • the function is normally used as last step in the modelling history
  • the function can help to get difficult fillets to work
  • the function is intended to stop 3D printers from printing unwanted edges
  • the function can be used after converting a mesh to shape to clean up the residual edges on planar faces.

Scripting

The Python command for refining a shape is the following:

shape.removeSplitter()