Part RefineShape: Difference between revisions

From FreeCAD Documentation
m (correct link "Part_CreateSimpleCopy")
(Removed useless info from Scripting paragraph.)
(33 intermediate revisions by 8 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
<translate>
<translate>

<!--T:9-->
<!--T:9-->
{{Docnav
{{Docnav|[[Part CreateSimpleCopy|Create simple copy]]|[[Part CheckGeometry|Check geometry]]|[[Part_Module|Part]]|IconL=Part_CreateSimpleCopy‎.svg|IconC=Workbench_Part.svg|IconR=Part CheckGeometry.png}}
|[[Part_ElementCopy|ElementCopy]]
|[[Part_CheckGeometry|CheckGeometry]]
|[[Part_Workbench|Part]]
|IconL=Part_ElementCopy.svg
|IconR=Part_CheckGeometry.svg
|IconC=Workbench_Part.svg
}}


<!--T:1-->
<!--T:1-->
Line 8: 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_CreateSimpleCopy|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 15: Line 23:


<!--T:13-->
<!--T:13-->
[[Part_RefineShape|Part RefineShape]] produces a non-parametric copy with a refined shape, that is, with certain edges and faces cleaned up.
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.


<!--T:14-->
<!--T:14-->
After certain boolean operations, like [[Part Union|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.
After certain boolean operations, like [[Part_Fuse|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.


<!--T:15-->
<!--T:15-->
To produce other non-parametric copies use [[Part_CreateSimpleCopy|SimpleCopy]], [[Part_TransformedCopy|TransformedCopy]], and [[Part_ElementCopy|ElementCopy]].
'''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 27: Line 35:
<translate>
<translate>
<!--T:4-->
<!--T:4-->
{{Caption|Original boolean result (left), and refined shape copy (right).}}
{{Caption|Original boolean result with 11 faces (left), and refined shape copy with 7 faces (right).}}


==How to use== <!--T:3-->
==Usage== <!--T:3-->


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


<!--T:17-->
<!--T:17-->
Starting in FreeCAD 0.19, the result defaults to a parametric (linked) copy.
As of {{VersionPlus|0.19}} the result defaults to a parametric (linked) copy.


<!--T:18-->
<!--T:18-->
This behavior can be changed in the [[parameter editor|parameter editor]]. Go to the subgroup
This behavior can be changed in the [[Image:Std_DlgParameter.svg|24px|link=Std DlgParameter]] [[Std DlgParameter|Parameter editor]]:
* {{incode|BaseApp/Preferences/Mod/Part}}
# 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:19-->
and change {{incode|ParametricRefine}} of type {{incode|Boolean}} to {{FALSE}} to get the old behavior (independent copy).


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


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

<!--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 [[OpenSCAD_RefineShapeFeature|OpenSCAD RefineShapeFeature]] command, [[Part_RefineShape|Part RefineShape]] won't update when the preceding shapes are changed.

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


<!--T:22-->
<!--T:22-->
Line 62: Line 62:
* This clean up may stop 3D printers from printing unwanted edges once the solid model is exported to a mesh format.
* 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 ([[Part_ShapeFromMesh|ShapeFromMesh]]) to clean up the residual edges on flat faces.
* 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.

== 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.


==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 70: Line 79:
}}
}}
<translate>
<translate>



<!--T:10-->
<!--T:10-->
{{Docnav
{{Docnav|[[Part CreateSimpleCopy|Create simple copy]]|[[Part CheckGeometry|Check geometry]]|[[Part_Module|Part]]|IconL=Part_CreateSimpleCopy‎.svg|IconC=Workbench_Part.svg|IconR=Part CheckGeometry.png}}
|[[Part_ElementCopy|ElementCopy]]

|[[Part_CheckGeometry|CheckGeometry]]
<!--T:11-->
|[[Part_Workbench|Part]]
{{Part Tools navi}}
|IconL=Part_ElementCopy.svg

|IconR=Part_CheckGeometry.svg
<!--T:12-->
|IconC=Workbench_Part.svg
{{Userdocnavi}}
}}



</translate>
</translate>
{{Part Tools navi{{#translation:}}}}
{{clear}}
{{Userdocnavi{{#translation:}}}}

Revision as of 10:57, 18 September 2021

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 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).

Usage

  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.

As of version 0.19 and above the result defaults to a parametric (linked) copy.

This behavior can be changed in the Parameter editor:

  1. Go to the subgroup: BaseApp/Preferences/Mod/Part
  2. Change ParametricRefine of type Boolean to false to get the old behavior (independent copy).

See other parameters in Fine-tuning.

Notes

  • 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.

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 the OpenSCAD RefineShapeFeature command, Part RefineShape won't update when the preceding shapes are changed.

Scripting

The Python command for refining a shape is the following:

shape.removeSplitter()