Part RefineShape: Difference between revisions

From FreeCAD Documentation
(Changed Docnav to match order on Part_Module page.)
No edit summary
 
(36 intermediate revisions by 8 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
<translate>
<translate>

<!--T:9-->
<!--T:9-->
{{Docnav
{{Docnav
|[[Part_ElementCopy|ElementCopy]]
|[[Part_ElementCopy|ElementCopy]]
|[[Part_CheckGeometry|CheckGeometry]]
|[[Part_CheckGeometry|CheckGeometry]]
|[[Part_Module|Part]]
|[[Part_Workbench|Part]]
|IconL=Part_ElementCopy.svg
|IconL=Part_ElementCopy.svg
|IconR=Part_CheckGeometry.svg
|IconR=Part_CheckGeometry.svg
Line 15: Line 16:
|Name=Part RefineShape
|Name=Part RefineShape
|MenuLocation=Part → Create a copy → Refine Shape
|MenuLocation=Part → Create a copy → Refine Shape
|Workbenches=[[Part Module|Part]]
|Workbenches=[[Part_Workbench|Part]]
|SeeAlso=[[Part_SimpleCopy|SimpleCopy]], [[Part_TransformedCopy|TransformedCopy]], [[Part_ElementCopy|ElementCopy]], [[OpenSCAD_RefineShapeFeature|OpenSCAD RefineShapeFeature]]
|SeeAlso=[[Part_SimpleCopy|Part SimpleCopy]], [[Part_TransformedCopy|Part TransformedCopy]], [[Part_ElementCopy|Part ElementCopy]], [[OpenSCAD_RefineShapeFeature|OpenSCAD RefineShapeFeature]]
}}
}}


Line 22: Line 23:


<!--T:13-->
<!--T:13-->
The {{Button|[[Image:Part_RefineShape.svg|16px]] [[Part RefineShape|Part RefineShape]]}} produces a non-parametric copy with a refined shape, that is, with certain edges and faces cleaned up.
The [[Image:Part_RefineShape.svg|24px]] '''Part RefineShape''' command produces parametric copies with a refined shape from selected objects. It can for example be used to remove unnecessary edges left over after a [[Part_Fuse|Part Fuse]] operation.

<!--T:14-->
After certain boolean operations, like [[Part Union|Part Union]], some lines from the previous shapes may remain visible. This tool produces a copy of that boolean result, and cleans up those seams.

<!--T:15-->
'''Alternatively''', to produce other non-parametric copies use {{Button|[[Image:Part_SimpleCopy.svg|16px]] [[Part SimpleCopy|Simple Copy]]}}, {{Button|[[Image:Part_TransformedCopy.svg|16px]][[Part TransformedCopy|Transformed Copy]]}}, and {{Button|[[Image:Part_ElementCopy.svg|16px]] [[Part ElementCopy|Element Copy]]}}


</translate>
</translate>
Line 34: Line 29:
<translate>
<translate>
<!--T:4-->
<!--T:4-->
{{Caption|Original boolean result (left), and refined shape copy (right).}}
{{Caption|Original with 11 faces (left), and refined copy with 7 faces (right).}}


==Usage== <!--T:3-->
==Usage== <!--T:3-->


<!--T:16-->
<!--T:16-->
# Select an object that you wish to clean and copy.
# Select one or more objects.
# Go to the menu {{MenuCommand|Part → Create a copy → [[Image:Part_RefineShape.svg|16px]] Refine shape}}.
# Select the {{MenuCommand|Part → Create a copy → [[Image:Part_RefineShape.svg|16px]] Refine shape}} option from the menu.
# A cleaned, independent copy of the original object is created; the original object is hidden.
# For each object a cleaned, parametric copy is created
# The original objects are hidden.


<!--T:17-->
== Notes == <!--T:6-->
As of {{VersionPlus|0.19}} the result defaults to a parametric (linked) copy.

<!--T:18-->
This behavior can be changed in the {{KEY|[[Std DlgParameter|parameter editor]]}}
# Go to the subgroup: {{incode|BaseApp/Preferences/Mod/Part}}
# Change {{incode|ParametricRefine}} of type {{incode|Boolean}} to {{FALSE}} to get the old behavior (independent copy).

<!--T:20-->
See other parameters in [[Fine-tuning|Fine-tuning]].

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

<!--T:21-->
* 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 [[Image:OpenSCAD_RefineShapeFeature.svg|24px]] [[OpenSCAD RefineShapeFeature|OpenSCAD RefineShapeFeature]] command, [[Image:Part_RefineShape.svg|24px]] [[Part_RefineShape|Part RefineShape]] won't update when the preceding shapes are changed.

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


<!--T:22-->
<!--T:22-->
* This function can be used as the last step in the modelling work to clean up shapes in a traditional [[constructive solid geometry|constructive solid geometry]] workflow.
* This command can be used as the last step in a traditional [[constructive solid geometry|constructive solid geometry]] workflow.
* This function may help to clean up the model before applying another feature, such as a [[Part_Fillet|Fillet]].
* It may help to clean up the model before applying other features, such as [[Part_Fillet|fillets]].
* This clean up may stop 3D printers from printing unwanted edges once the solid model is exported to a mesh format.
* Cleaning up an object may prevent 3D printers from printing unwanted edges once the object is exported to a mesh format.
* This function can also be used after converting a mesh to a shape ([[Part_ShapeFromMesh|ShapeFromMesh]]) to clean up the residual edges on flat faces.
* This command can also be used after converting a mesh to a shape ([[Part_ShapeFromMesh|Part ShapeFromMesh]]).
* By default this command creates parametric (linked) copies. There is [[Fine-tuning|fine-tuning]] parameter to change this to non-parametric copies. More information about parametric/non-parametric copy behavior can be found in this [https://forum.freecad.org/viewtopic.php?t=42993 forum post].
* Some interesting information about what is happening with placement and how to access by Python can be found in this [https://forum.freecad.org/viewtopic.php?t=77568#p675456 forum post].


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

<!--T:23-->
The Python command for refining a shape is the following:
The Python command for refining a shape is the following:

</translate>
</translate>
{{Code|code=
{{Code|code=
Line 81: Line 65:
|[[Part_ElementCopy|ElementCopy]]
|[[Part_ElementCopy|ElementCopy]]
|[[Part_CheckGeometry|CheckGeometry]]
|[[Part_CheckGeometry|CheckGeometry]]
|[[Part_Module|Part]]
|[[Part_Workbench|Part]]
|IconL=Part_ElementCopy.svg
|IconL=Part_ElementCopy.svg
|IconR=Part_CheckGeometry.svg
|IconR=Part_CheckGeometry.svg
Line 90: Line 74:
{{Part Tools navi{{#translation:}}}}
{{Part Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{clear}}

Latest revision as of 14:13, 5 February 2024

Part RefineShape

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

Description

The Part RefineShape command produces parametric copies with a refined shape from selected objects. It can for example be used to remove unnecessary edges left over after a Part Fuse operation.

Original with 11 faces (left), and refined copy with 7 faces (right).

Usage

  1. Select one or more objects.
  2. Select the Part → Create a copy → Refine shape option from the menu.
  3. For each object a cleaned, parametric copy is created
  4. The original objects are hidden.

Notes

  • This command can be used as the last step in a traditional constructive solid geometry workflow.
  • It may help to clean up the model before applying other features, such as fillets.
  • Cleaning up an object may prevent 3D printers from printing unwanted edges once the object is exported to a mesh format.
  • This command can also be used after converting a mesh to a shape (Part ShapeFromMesh).
  • By default this command creates parametric (linked) copies. There is fine-tuning parameter to change this to non-parametric copies. More information about parametric/non-parametric copy behavior can be found in this forum post.
  • Some interesting information about what is happening with placement and how to access by Python can be found in this forum post.

Scripting

The Python command for refining a shape is the following:

shape.removeSplitter()