GuiCommand | ||||||||
---|---|---|---|---|---|---|---|---|
|
The 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 Fuse, some lines from the previous shapes may remain visible. This tool produces a copy of that boolean result, and cleans up those seams.
Alternatively, to produce other non-parametric copies use ** Simple Copy **, Transformed Copy, and Element Copy
Original boolean result with 11 faces (left), and refined shape copy with 7 faces (right).
- Select an object that you wish to clean and copy.
- Go to the menu Part → Create a copy → Refine shape.
- A cleaned, independent copy of the original object is created; the original object is hidden.
As of (v0.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
- Change
ParametricRefine
of typeBoolean
toFalse
to get the old behavior (independent copy).
See other parameters in Fine-tuning.
- This function can be used as the last step in the modelling work to clean up shapes in a traditional constructive solid geometry workflow.
- This function may help to clean up the model before applying another feature, such as a Fillet.
- This clean up may stop 3D printers from printing unwanted edges once the solid model is exported to a mesh format.
- This function can also be used after converting a mesh to a shape (ShapeFromMesh) to clean up the residual edges on flat faces.
- Some interesting information about what is happening with placement and how to access by Python can be found in this forum post.
- 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 the OpenSCAD RefineShapeFeature command, Part RefineShape won't update when the preceding shapes are changed.
The Python command for refining a shape is the following:
shape.removeSplitter()
⏵ documentation index > Part > Part RefineShape