PartDesign Verrundung

From FreeCAD Documentation
Revision as of 21:44, 11 December 2019 by Maker (talk | contribs) (Created page with "==Bekannte Probleme==")

PartDesign Fillet

Menu location
PartDesign → Fillet
Workbenches
PartDesign Arbeitsbereich
Default shortcut
None
Introduced in version
-
See also
Part Verrundung

Beschreibung

Dieses Werkzeug erstellt Verrundungen (Rundungen) an den ausgewählten Kanten eines Objekts. Ein neuer separater Verrundungseintrag (gefolgt von einer fortlaufenden Nummer, wenn bereits Verrundungen im Dokument vorhanden sind) wird im Projektbaum angelegt.

Wähle Kanten des Objekts vor dem Aufruf des Werkzeugs.
Setze den Radius in den Rundungsparametern.
Ein Verrundungsobjekt wird dem Modellbaum hinzugefügt.

Anwendung

  • Wähle eine einzelne oder mehrere Kanten oder eine Fläche auf einem Objekt aus und starte das Werkzeug, in dem Du entweder auf sein Symbol klickst oder in das Menü gehst. Wenn du eine Fläche ausgewählt hast, werden alle deine Kanten beim verrunden berücksichtigt.
  • Stelle in den Verrundungsparametern im Aufgabenbereich den Verrundungsradius entweder durch Eingabe des Wertes oder durch Anklicken der Auf- / Ab-Pfeile ein. Die angewandte Verrundung wird in Echtzeit angezeigt.
  • Wenn du weitere Kanten oder Flächen hinzufügen möchtest, klicke zuerst auf die Schaltfläche 'Add ref und wähle dann die Kante oder die Fläche aus.
  • Wenn Du Kanten oder Flächen entfernen möchtest, klicke auf die Schaltfläche Referenz entfernen. Alle Kanten und Flächen, die zuvor ausgewählt wurden, werden violett hervorgehoben. Wähle die Kante oder die zu entfernende Fläche aus.
  • Klicken Sie zum Bestätigen auf OK.
  • Bei einer Kette von Kanten, die tangential zueinander verlaufen, kann eine einzelne Kante ausgewählt werden; die Verrundung erstreckt sich entlang der Kette.
  • Um die Verrundung nach der Validierung der Funktion zu bearbeiten, doppelklicke entweder auf das Label Verrundung im Projektbaum oder klicke mit der rechten Maustaste darauf und wähle Verrundung bearbeiten.

PartDesign Verrundung vs. Part Abrunden

Part Design verrunden ist nicht mit seinem Part-Arbeitsbereich-Gegenstück zu verwechseln. Obwohl sie dasselbe Symbol verwenden, sind sie nicht identisch und werden nicht auf die gleiche Weise verwendet. Hier unterscheiden sie sich voneinander:

  • Das Part Design verrunden ist parametrisch . Nachdem eine Verrundung angewendet wurde, kann ihr Radius bearbeitet werden; Dies ist mit dem Part Abrunden nicht möglich.
  • Kanten müssen an einem Objekt ausgewählt werden, bevor PartDesign abrunden aktiviert wird. Mit Part Abrunden kann das Werkzeug gestartet werden, dann wird ein Volumenkörper ausgewählt, danach die Kanten.
  • Das Part Design verrunden erstellt einen separaten Fillet-Eintrag (gefolgt von einer fortlaufenden Nummer, wenn bereits vorhandene Fillets vorhanden sind) im Objektbaum. Das Part Abrunden wird zum übergeordneten Element des Objekts, auf das es angewendet wurde.
  • Die PartDesign Verrundung bietet eine Live-Vorschau der auf das Objekt angewendeten Verrundung, bevor die Funktion validiert wird.
  • Das Part Abrunden unterstützt variable Radien (mit einem Startradius und einem Endradius). Mit der PartDesign Verrundung funktioniert das nicht.

Bekannte Probleme

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.

Scripting

Das Werkzeug text-top=Fillet Kante oder Fläche verrunden kann in Makros und von der Python Console mit dieser Funktion benutzt werden:

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 = radius
  • Box.Edges[2] = Edge with its number


Beispiel:

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)