PartDesign Fillet/cs: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
<languages/>
<languages/>

{{Docnav
{{Docnav
|[[PartDesign_MultiTransform|Create MultiTransform]]
|[[PartDesign_MultiTransform|Create MultiTransform]]
|[[PartDesign Chamfer|Chamfer]]
|[[PartDesign_Chamfer|Chamfer]]
|[[PartDesign_Workbench|PartDesign]]
|[[PartDesign_Workbench|PartDesign]]
|IconL=PartDesign_MultiTransform.svg
|IconL=PartDesign_MultiTransform.svg
|IconC=Workbench_PartDesign.svg
|IconR=PartDesign_Chamfer.svg
|IconR=PartDesign_Chamfer.svg
|IconC=Workbench_PartDesign.svg
}}
}}


Line 18: Line 19:
</div>
</div>


This tool creates fillets (rounds) on the selected edges of an object. A new separate Fillet entry (followed by a sequential number if there are already existing fillets in the document) is created in the Project tree.
This tool creates fillets (rounds) on the selected edges of an object. A new separate Fillet entry (followed by a sequential number if there are already existing fillets in the document) is created in the project tree.


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
Line 41: Line 42:
</div>
</div>


* Select a single or multiple edges or a face on an object, then start the tool either by clicking its icon or going into the menu. In case you selected a face all its edges are respected for filleting.
* Select a single or multiple edges or a face on an object, then start the tool either by clicking its icon or going into the menu. In case you selected a face or a 3D object ({{Version|0.20}}) all its edges are respected for filleting.
* In Fillet parameters in the [[Task_panel|Task panel]], set the fillet radius either by entering the value, or by clicking on the up/down arrows. The applied fillet is shown in real time.
* In the appearing [[Task_panel|Task panel]] set the fillet radius either by entering the value, or by clicking on the up/down arrows.
* If you want to add more edges or faces click first the '''Add ref''' button and then select the edge or the face.
* If you want to add more edges or faces click the {{Button|Add}} button and select edges and/or the faces.
* After clicking the {{Button|Add}} button you can add all edges of the object by right-clicking and selecting {{MenuCommand|Add all edges}} from the context menu. {{Version|0.20}}
* If you want to remove edges or faces click the '''Remove ref''' button. All edges and faces being previously selected are highlighted in purple. Select the edge or the face to be removed.
* If you want to remove edges or faces
** either select the edge/face in the list of the dialog and press the {{KEY|DEL}} key. ''Note'': Since there must be at least one edge for the feature, the last remaining edge or face in the list cannot be removed.
** or click the {{Button|Remove}} button. All edges and faces being previously selected are highlighted in purple. Select the edge or the face to be removed.
** Ensure the {{MenuCommand|Use all edges}} checkbox is unchecked or else some widgets in the dialog will be disabled. {{Version|0.20}}
* Click {{Button|OK}} to validate.
* Click {{Button|OK}} to validate.
* For a chain of edges tangential to one another, one single edge can be selected; the fillet will propagate along the chain.
* For a chain of edges tangential to one another, one single edge can be selected; the fillet will propagate along the chain.
* To edit the fillet after the function has been validated, either double-click on the Fillet label in the Project tree, or right-click on it and select '''Edit Fillet'''.
* To edit the fillet after the function has been validated, either double-click on the Fillet label in the Project tree, or right-click on it and select {{MenuCommand|Edit Fillet}}.


== Notes ==
[[Image:Part_Design_fillet_01.png|600px]] [[Image:Part_Design_fillet_02.png|600px]]


* PartDesign Fillet should not be confused with [[Part_Fillet|Part Fillet]]. Unless you know what you are doing, [[Part_Fillet|Part Fillet]] should not be used on a PartDesign Body. See [[Part_and_PartDesign|Part and PartDesign]].
{{Caption|Left: select edges on the object before starting the tool. Right: set the fillet radius in the [[task_panel|task panel]].}}
* Fillets cannot completely consume the adjacent faces.


== Known issues ==
[[Image:Part_Design_fillet_03.png|600px]]

{{Caption|A fillet object is added in the [[tree_view|tree view]].}}

==== PartDesign Fillet vs. Part Fillet ====

[[Image:PartDesign_Fillet.svg|24px]] [[PartDesign_Fillet|PartDesign Fillet]] is not to be confused with '''[[Image:Part_Fillet.svg|24px]] [[Part_Fillet|Part Fillet]]''' of the [[Part_Workbench|Part Workbench]]. Although they share the same name, they are not the same, and are not used the same way.

Here is how they differ from each other:
* The PartDesign Fillet is ''Parametric''. After a fillet has been applied, its radius can be edited; this is not possible with the Part Fillet.
* Edges must be selected on an object before activating the PartDesign Fillet. With the Part Fillet, the tool can be started, then a solid is selected, then edges.
* The PartDesign Fillet creates a separate Fillet entry (followed by a sequential number if there are already existing fillets) in the Project tree. The Part Fillet becomes the parent of the object it was applied to.
* The PartDesign Fillet offers a live preview of the fillet applied to the object before validating the function.
* The Part Fillet supports variable radii (with a start radius and an end radius). The PartDesign fillet doesn't.

== Known Issues ==


Fillets, chamfers, and other features that operate on solid bodies depend on the underlying OpenCASCADE Technology (OCCT) kernel that FreeCAD uses.
Fillets, chamfers, and other features that operate on solid bodies depend on the underlying OpenCASCADE Technology (OCCT) kernel that FreeCAD uses.
Line 74: Line 65:


If run from the terminal, FreeCAD may output a log like this one after the crash:
If run from the terminal, FreeCAD may output a log like this one after the crash:

{{code|code=
{{code|code=
#1 0x7fff63d660ba in BRep_Tool::Curve(TopoDS_Edge const&, TopLoc_Location&, double&, double&) from /usr/lib/x86_64-linux-gnu/libTKBRep.so.7+0x2a
#1 0x7fff63d660ba in BRep_Tool::Curve(TopoDS_Edge const&, TopLoc_Location&, double&, double&) from /usr/lib/x86_64-linux-gnu/libTKBRep.so.7+0x2a
Line 94: Line 86:
The user is also responsible for the integrity of his or her own model. Depending on the model, it may be impossible to perform a fillet or chamfer if the body is not big enough to support that operation. For example, it wouldn't be possible to create a 10 mm fillet if an edge is separated only 5 mm from the next surface. In that case, the maximum radius for a fillet would be 5 mm; trying to use a larger value may result in a shape that doesn't compute, or even a crash. If using the exact limit of 5 mm doesn't work, it may be possible to use a very close approximation, like 4.9999 mm, to produce the same visible result.
The user is also responsible for the integrity of his or her own model. Depending on the model, it may be impossible to perform a fillet or chamfer if the body is not big enough to support that operation. For example, it wouldn't be possible to create a 10 mm fillet if an edge is separated only 5 mm from the next surface. In that case, the maximum radius for a fillet would be 5 mm; trying to use a larger value may result in a shape that doesn't compute, or even a crash. If using the exact limit of 5 mm doesn't work, it may be possible to use a very close approximation, like 4.9999 mm, to produce the same visible result.


=== Topological naming ===
=== Topological naming ===
Edge numbers are not completely stable, therefore it is advisable that you finish the main design work of your solid body before applying features like fillets and chamfers, otherwise edges could change name and filleted edges would likely become invalid.


Edge numbers are not completely stable, therefore it is advisable that you finish the main design work of your solid body before applying features like fillets and chamfers, otherwise edges could change name and filleted edges would likely become invalid. When the {{PropertyData|Use All Edges}} property ({{Version|0.20}}) is {{TRUE}} there is some protection from this. Because in such cases all the edges of the base object are used and there is no dependence on individual edge names.
Read more in [[topological naming problem|topological naming problem]].

Read more in [[Topological_naming_problem|topological naming problem]].


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
Line 104: Line 97:
</div>
</div>


The tool {{KEY|[[File:PartDesign_Fillet.svg|16px|text-top=Fillet|link=PartDesign_Fillet]] [[PartDesign_Fillet|Fillet]]}} can be used in a macro, and, from the Python console using the following function :
The tool {{KEY|[[File:PartDesign_Fillet.svg|16px|text-top=Fillet|link=PartDesign_Fillet]] [[PartDesign_Fillet|Fillet]]}} can be used in a macro, and, from the Python console using the following function:

{{Code|code=
{{Code|code=
Box = Box.makeFillet(3,[Box.Edges[0]]) # 1 Fillet
Box = Box.makeFillet(3,[Box.Edges[0]]) # 1 Fillet
Line 113: Line 107:
*Box.Edges[2] = Hrana s jejím číslem
*Box.Edges[2] = Hrana s jejím číslem


<div class="mw-translate-fuzzy">

Příklad:
Příklad:
</div>

{{Code|code=
{{Code|code=
import PartDesign
import PartDesign
Line 124: Line 120:
Part.show(Box)
Part.show(Box)
}}
}}



{{Docnav
{{Docnav
|[[PartDesign_MultiTransform|Create MultiTransform]]
|[[PartDesign_MultiTransform|Create MultiTransform]]
|[[PartDesign Chamfer|Chamfer]]
|[[PartDesign_Chamfer|Chamfer]]
|[[PartDesign_Workbench|PartDesign]]
|[[PartDesign_Workbench|PartDesign]]
|IconL=PartDesign_MultiTransform.svg
|IconL=PartDesign_MultiTransform.svg
|IconC=Workbench_PartDesign.svg
|IconR=PartDesign_Chamfer.svg
|IconR=PartDesign_Chamfer.svg
|IconC=Workbench_PartDesign.svg
}}
}}


{{clear}}
{{PartDesign Tools navi{{#translation:}}}}
{{PartDesign Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

Revision as of 17:06, 12 March 2022

PartDesign Fillet

Umístění Menu
PartDesign → Fillet
Pracovní stoly
PartDesign, Complete
Výchozí zástupce
Nikdo
Představen ve verzi
-
Viz také
Part Fillet

Popis

Tento nástroj vytváří zaoblení na vybrané hraně objektu. Ve stromu projektu je vytvořena nová samostatné položka (následovaná pořadovým číslem jestliže v dokumentu už zaoblení existuje).

This tool creates fillets (rounds) on the selected edges of an object. A new separate Fillet entry (followed by a sequential number if there are already existing fillets in the document) is created in the project tree.

Vyberte hrany na objektu před tím než použijete tento nástroj.
V parametrech Zaoblení nastavte poloměr zaoblení.
Do stromu projektu je přidán objekt Zaoblení.

Použití

  • Vyberte jednu nebo více hran objektu, potom spusťte tento nástroj buď kliknutím na jeho ikonu nebo výběrem v menu.
  • Na panelu nástrojů v parametrech zaoblení nastavte poloměr zaoblení buď číslem nebo klikáním na šipky nahoru/dolu. Zadané zaoblení se zobrazí v reálném čase.
  • Klikněte na OK pro potvrzení.
  • Pro více zaoblení, která se vzájemně dotýkají (řetězec), může být vybrána jedna hrana; zaoblení se protáhne přes celý řetězec.
  • Chcete-li zaoblení po potvrzení dodatečně upravit, buď dvojklikněte na položku zaoblení ve stromu projektu nebo klikněte pravým tlačítkem na zaoblení a vyberte Edit Fillet (Úprava zaoblení).

Návrh dílu Zaoblení VS. Zaoblení dílu

Návrh dílu Zaoblení nelze zaměňovat s jeho Protějškem na pracovní ploše Díl. Ačkoliv používají stejnou ikonu, není to to samé a ani nejsou stejně používány. Zde je uvedeno čím se vzájemně liší:

  • Návrh dílu Zaoblení je parametrické. Po aplikaci zaoblení může být jeho poloměr upraven; to není možné u Zaoblení dílu.
  • Hrany na objektu musí být vybrány před aktivací Návrh dílu Zaoblení. Při použití Zaoblení dílu může být nástroj spuštěn a potom teprve vybráno těleso a hrany.
  • Návrh dílu Zaoblení vytváří samostatný objekt ve stromu projektu (pokud je jich více, jsou sekvenčně očíslovány). Zaoblení dílu se stává rodičem objektu, na který bylo aplikováno.
  • Návrh dílu Zaoblení nabízí náhled přidávaného zaoblení před tím než je potvrzeno.
  • Zaoblení dílu podporuje proměnný poloměr (s počátečním úhlem a koncovým úhlem). Návrh dílu Zaoblení to neumožňuje.
  • Select a single or multiple edges or a face on an object, then start the tool either by clicking its icon or going into the menu. In case you selected a face or a 3D object (introduced in version 0.20) all its edges are respected for filleting.
  • In the appearing Task panel set the fillet radius either by entering the value, or by clicking on the up/down arrows.
  • If you want to add more edges or faces click the Add button and select edges and/or the faces.
  • After clicking the Add button you can add all edges of the object by right-clicking and selecting Add all edges from the context menu. introduced in version 0.20
  • If you want to remove edges or faces
    • either select the edge/face in the list of the dialog and press the DEL key. Note: Since there must be at least one edge for the feature, the last remaining edge or face in the list cannot be removed.
    • or click the Remove button. All edges and faces being previously selected are highlighted in purple. Select the edge or the face to be removed.
    • Ensure the Use all edges checkbox is unchecked or else some widgets in the dialog will be disabled. introduced in version 0.20
  • Click OK to validate.
  • For a chain of edges tangential to one another, one single edge can be selected; the fillet will propagate along the chain.
  • To edit the fillet after the function has been validated, either double-click on the Fillet label in the Project tree, or right-click on it and select Edit Fillet.

Notes

  • PartDesign Fillet should not be confused with Part Fillet. Unless you know what you are doing, Part Fillet should not be used on a PartDesign Body. See Part and PartDesign.
  • Fillets cannot completely consume the adjacent faces.

Known issues

Fillets, chamfers, and other features that operate on solid bodies depend on the underlying OpenCASCADE Technology (OCCT) kernel that FreeCAD uses. The OCCT kernel occasionally has difficulty handling coincident sharp edges, where two faces meet. If this is the case FreeCAD may crash without an explanation.

If run from the terminal, FreeCAD may output a log like this one after the crash:

#1  0x7fff63d660ba in BRep_Tool::Curve(TopoDS_Edge const&, TopLoc_Location&, double&, double&) from /usr/lib/x86_64-linux-gnu/libTKBRep.so.7+0x2a
#2  0x7fff63d69546 in BRep_Tool::Curve(TopoDS_Edge const&, double&, double&) from /usr/lib/x86_64-linux-gnu/libTKBRep.so.7+0x46
#3  0x7fff71f4fef5 in ChFi3d_Builder::PerformIntersectionAtEnd(int) from /usr/lib/x86_64-linux-gnu/libTKFillet.so.7+0x3b05
#4  0x7fff71f58307 in ChFi3d_Builder::PerformOneCorner(int, bool) from /usr/lib/x86_64-linux-gnu/libTKFillet.so.7+0x1097
#5  0x7fff71ef6218 in ChFi3d_Builder::PerformFilletOnVertex(int) from /usr/lib/x86_64-linux-gnu/libTKFillet.so.7+0x4e8
#6  0x7fff71ef71d1 in ChFi3d_Builder::Compute() from /usr/lib/x86_64-linux-gnu/libTKFillet.so.7+0xe31
#7  0x7fff720ad7c3 in BRepFilletAPI_MakeChamfer::Build() from /usr/lib/x86_64-linux-gnu/libTKFillet.so.7+0x33
#8  0x7fff723be48e in PartDesign::Chamfer::execute() from /usr/lib/freecad-daily/lib/_PartDesign.so+0x60e
...

This output references functions located in libTKBRep.so, libTKFillet.so, etc., which are OCCT libraries. If this type of crashes occurs, the problem may need to be reported and solved in OCCT rather than in FreeCAD.

See the forum threads for more information:

The user is also responsible for the integrity of his or her own model. Depending on the model, it may be impossible to perform a fillet or chamfer if the body is not big enough to support that operation. For example, it wouldn't be possible to create a 10 mm fillet if an edge is separated only 5 mm from the next surface. In that case, the maximum radius for a fillet would be 5 mm; trying to use a larger value may result in a shape that doesn't compute, or even a crash. If using the exact limit of 5 mm doesn't work, it may be possible to use a very close approximation, like 4.9999 mm, to produce the same visible result.

Topological naming

Edge numbers are not completely stable, therefore it is advisable that you finish the main design work of your solid body before applying features like fillets and chamfers, otherwise edges could change name and filleted edges would likely become invalid. When the ÚdajeUse All Edges property (introduced in version 0.20) is true there is some protection from this. Because in such cases all the edges of the base object are used and there is no dependence on individual edge names.

Read more in topological naming problem.

Skriptování

Nástroj text-top=Fillet Návrh dílu Zaoblení může být použit v makru a z konzoly Pythonu použitím následující funkce:

The tool text-top=Fillet Fillet can be used in a macro, and, from the Python console using the following function:

Box = Box.makeFillet(3,[Box.Edges[0]]) # 1 Fillet
Box = Box.makeFillet(3,[Box.Edges[1],Box.Edges[2],Box.Edges[3],Box.Edges[4]]) # for several Fillets
  • 3 = úhel
  • Box.Edges[2] = Hrana s jejím číslem

Příklad:

import PartDesign
from FreeCAD import Base

Box = Part.makeBox(10,10,10)
Box = Box.makeFillet(3,[Box.Edges[0]]) # pour 1 Fillet
Box = Box.makeFillet(3,[Box.Edges[1],Box.Edges[2],Box.Edges[3],Box.Edges[4]]) # for several Fillets
Part.show(Box)