Draft Fillet: Difference between revisions

From FreeCAD Documentation
(Docnav fixed with additional tools)
No edit summary
(14 intermediate revisions by 5 users not shown)
Line 2: Line 2:
<translate>
<translate>


<!--T:1-->
{{Docnav|[[Draft_Wire|Wire]]|[[Draft_Circle|Circle]]|[[Draft_Module|Draft]]|IconL=Draft_Wire.svg|IconC=Workbench_Draft.svg|IconR=Draft_Circle.svg}}
{{Docnav

|[[Draft_Wire|Wire]]
|[[Draft_Circle|Circle]]
|[[Draft_Module|Draft]]
|IconL=Draft_Wire.svg
|IconR=Draft_Circle.svg
|IconC=Workbench_Draft.svg
}}


<!--T:2-->
{{GuiCommand
{{GuiCommand
|Name=Draft Fillet
|Name=Draft Fillet
|MenuLocation=Draft → Fillet
|MenuLocation=Draft → Fillet
|Workbenches=[[Draft Module|Draft]]
|Workbenches=[[Draft_Module|Draft]]
|SeeAlso=[[Draft Line|Draft Line]], [[Draft Wire|Draft Wire]]
|Version=0.19
|Version=0.19
|SeeAlso=[[Draft_Line|Draft Line]], [[Draft_Wire|Draft Wire]]
}}
}}


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


<!--T:4-->
The [[Draft Fillet|Draft Fillet]] tool creates a fillet, a rounded corner, between to simple [[Draft Line|Draft Lines]]. Alternatively, it can create a chamfer, a straight edge, between those two lines.
The [[Draft_Fillet|Draft Fillet]] tool creates a fillet, a rounded corner, between to simple [[Draft_Line|Draft Lines]]. Alternatively, it can create a chamfer, a straight edge, between those two lines.


</translate>
</translate>
[[Image:Draft_Fillet_example.png|400px]]
[[Image:Draft_Fillet_example.png|400px]]
<translate>
<translate>
<!--T:5-->

{{Caption|Several fillets and chamfers created between two lines}}
{{Caption|Several fillets and chamfers created between two lines}}


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


<!--T:7-->
# Select two [[Draft Line|Draft Lines]] already placed on the document, and which meet at one point.
# Select two [[Draft Line|Draft Lines]] already placed on the document, and which meet at one point.
# Press the {{Button|[[Image:Draft Fillet.svg|16px]] [[Draft Fillet|Draft Fillet]]}} button.
# Press the {{Button|[[Image:Draft Fillet.svg|16px]] [[Draft Fillet|Draft Fillet]]}} button.
# Choose the radius of fillet, and then hit {{Button|Enter}}.
# Choose the radius of fillet, and then hit {{Button|Enter}}.


<!--T:8-->
Notes:
Notes:
* If the radius is too large that the produced arc would not be tangent to one of the lines, the operation will not succeed.
* If the radius is too large that the produced arc would not be tangent to one of the lines, the operation will not succeed.
* Only single lines are supported at the moment; [[Draft Wire|Draft Wires]], that is, lines with multiple points, may not produce the desired result.
* Only single lines are supported at the moment; [[Draft Wire|Draft Wires]], that is, lines with multiple points, may not produce the desired result.


===Alternative creation of fillets and chamfers===
===Alternative creation of fillets and chamfers=== <!--T:9-->


<!--T:10-->
A [[Draft Wire|Draft Wire]] that has at least three points can also create a fillet or a chamfer.
A [[Draft Wire|Draft Wire]] that has at least three points can also create a fillet or a chamfer.


<!--T:11-->
# Select two [[Draft Line|Draft Lines]] already placed on the document, and which meet at one point.
# Select two [[Draft Line|Draft Lines]] already placed on the document, and which meet at one point.
# Press the {{Button|[[Image:Draft Wire.svg|16px]] [[Draft Fillet|Draft Wire]]}} button. This will fuse the two lines into a single Wire object.
# Press the {{Button|[[Image:Draft Wire.svg|16px]] [[Draft Fillet|Draft Wire]]}} button. This will fuse the two lines into a single Wire object.
# In the [[property editor|property editor]], enter the desired numerical value for {{PropertyData|Fillet Radius}} or {{PropertyData|Chamfer Size}}.
# In the [[property editor|property editor]], enter the desired numerical value for {{PropertyData|Fillet Radius}} or {{PropertyData|Chamfer Size}}.


<!--T:12-->
This method works also when joining two different polylines.
This method works also when joining two different polylines.


==Options==
==Options== <!--T:13-->


<!--T:14-->
* Check the "Delete original objects" checkbox if you want to delete the two original lines, and leave only the new fillet object.
* Check the "Delete original objects" checkbox if you want to delete the two original lines, and leave only the new fillet object.
* Check the "Create chamfer" checkbox if you want to create a straight edge, instead of a rounded edge, between the two lines.
* Check the "Create chamfer" checkbox if you want to create a straight edge, instead of a rounded edge, between the two lines.
* Press {{KEY|Esc}} or the {{Button|Close}} button to abort the current command.
* Press {{KEY|Esc}} or the {{Button|Close}} button to abort the current command.


==Properties==
==Properties== <!--T:15-->


<!--T:16-->
A Fillet object shares most properties from a [[Draft Wire|Draft Wire]], however, only some of these properties are applicable to the Fillet.
A Fillet object shares most properties from a [[Draft Wire|Draft Wire]], however, only some of these properties are applicable to the Fillet.


===Data===
===Data=== <!--T:17-->


<!--T:18-->
* {{PropertyData|Start}}: (read-only) specifies the start point.
* {{PropertyData|Start}}: (read-only) specifies the start point.
* {{PropertyData|End}}: (read-only) specifies the end point.
* {{PropertyData|End}}: (read-only) specifies the end point.
Line 60: Line 77:
* {{PropertyData|Fillet Radius}}: (read-only) radius with which the fillet was created.
* {{PropertyData|Fillet Radius}}: (read-only) radius with which the fillet was created.


===View===
===View=== <!--T:19-->


<!--T:20-->
* {{PropertyView|End Arrow}}: if it is {{TRUE}} it will display a symbol at the last point of the line, so it can be used as an annotation line.
* {{PropertyView|End Arrow}}: if it is {{TRUE}} it will display a symbol at the last point of the line, so it can be used as an annotation line.
* {{PropertyView|Arrow Size}}: specifies the size of the symbol displayed at the end of the line.
* {{PropertyView|Arrow Size}}: specifies the size of the symbol displayed at the end of the line.
* {{PropertyView|Arrow Type}}: specifies the type of symbol displayed at the end of the line, which can be "Dot", "Circle", "Arrow", "Tick", or "Tick-2".
* {{PropertyView|Arrow Type}}: specifies the type of symbol displayed at the end of the line, which can be "Dot", "Circle", "Arrow", "Tick", or "Tick-2".


==Scripting==
==Scripting== <!--T:21-->
{{Emphasis|See also:}} [[Draft API]] and [[FreeCAD Scripting Basics]].




<!--T:28-->
The Fillet tool can be used in [[macros|macros]] and from the [[Python]] console by using the following function:
{{Emphasis|See also:}} [[Draft API|Draft API]] and [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]].

<!--T:22-->
The Fillet tool can be used in [[macros|macros]] and from the [[Python|Python]] console by using the following function:
</translate>
</translate>
{{Code|code=
{{Code|code=
Fillet = makeFillet([line1, line2], radius=100, chamfer=False, delete=False)
fillet = make_fillet([line1, line2], radius=100, chamfer=False, delete=False)
}}
}}
<translate>
<translate>


<!--T:23-->

* Creates a {{incode|Fillet}} object between lines {{incode|line1}} and {{incode|line2}}, using {{incode|radius}} for the curvature.
* Creates a {{incode|Fillet}} object between lines {{incode|line1}} and {{incode|line2}}, using {{incode|radius}} for the curvature.
* If {{incode|chamfer}} is {{incode|True}} it will create a straight edge with the length of {{incode|radius}}, instead of a rounded edge.
* If {{incode|chamfer}} is {{incode|True}} it will create a straight edge with the length of {{incode|radius}}, instead of a rounded edge.
* If {{incode|delete}} is {{incode|True}} it will delete the given {{incode|line1}} and {{incode|line2}}, and leave only the new object.
* If {{incode|delete}} is {{incode|True}} it will delete the given {{incode|line1}} and {{incode|line2}}, and leave only the new object.


<!--T:24-->

Example:
Example:
</translate>
</translate>
Line 88: Line 109:
import FreeCAD as App
import FreeCAD as App
import Draft
import Draft
doc = App.newDocument()
import DraftFillet


p1 = App.Vector(0, 0, 0)
p1 = App.Vector(0, 0, 0)
Line 94: Line 115:
p3 = App.Vector(2000, 0, 0)
p3 = App.Vector(2000, 0, 0)


Line1 = Draft.makeLine(p1, p2)
line1 = Draft.make_line(p1, p2)
Line2 = Draft.makeLine(p2, p3)
line2 = Draft.make_line(p2, p3)
App.ActiveDocument.recompute()
doc.recompute()


Fillet = DraftFillet.makeFillet([Line1, Line2], radius=500)
fillet = Draft.make_fillet([line1, line2], radius=500)
doc.recompute()
}}
}}
<translate>
<translate>


<!--T:25-->
{{Docnav
|[[Draft_Wire|Wire]]
|[[Draft_Circle|Circle]]
|[[Draft_Module|Draft]]
|IconL=Draft_Wire.svg
|IconR=Draft_Circle.svg
|IconC=Workbench_Draft.svg
}}


{{Docnav|[[Draft_Wire|Wire]]|[[Draft_Circle|Circle]]|[[Draft_Module|Draft]]|IconL=Draft_Wire.svg|IconC=Workbench_Draft.svg|IconR=Draft_Circle.svg}}
{{Draft Tools navi}}
{{Userdocnavi}}
</translate>
</translate>
{{Draft Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{clear}}
{{clear}}

Revision as of 15:14, 29 November 2020

Draft Fillet

Menu location
Draft → Fillet
Workbenches
Draft
Default shortcut
None
Introduced in version
0.19
See also
Draft Line, Draft Wire

Description

The Draft Fillet tool creates a fillet, a rounded corner, between to simple Draft Lines. Alternatively, it can create a chamfer, a straight edge, between those two lines.

Several fillets and chamfers created between two lines

Usage

  1. Select two Draft Lines already placed on the document, and which meet at one point.
  2. Press the Draft Fillet button.
  3. Choose the radius of fillet, and then hit Enter.

Notes:

  • If the radius is too large that the produced arc would not be tangent to one of the lines, the operation will not succeed.
  • Only single lines are supported at the moment; Draft Wires, that is, lines with multiple points, may not produce the desired result.

Alternative creation of fillets and chamfers

A Draft Wire that has at least three points can also create a fillet or a chamfer.

  1. Select two Draft Lines already placed on the document, and which meet at one point.
  2. Press the Draft Wire button. This will fuse the two lines into a single Wire object.
  3. In the property editor, enter the desired numerical value for DataFillet Radius or DataChamfer Size.

This method works also when joining two different polylines.

Options

  • Check the "Delete original objects" checkbox if you want to delete the two original lines, and leave only the new fillet object.
  • Check the "Create chamfer" checkbox if you want to create a straight edge, instead of a rounded edge, between the two lines.
  • Press Esc or the Close button to abort the current command.

Properties

A Fillet object shares most properties from a Draft Wire, however, only some of these properties are applicable to the Fillet.

Data

  • DataStart: (read-only) specifies the start point.
  • DataEnd: (read-only) specifies the end point.
  • DataLength: (read-only) specifies the length of the entire segment.
  • DataFillet Radius: (read-only) radius with which the fillet was created.

View

  • ViewEnd Arrow: if it is true it will display a symbol at the last point of the line, so it can be used as an annotation line.
  • ViewArrow Size: specifies the size of the symbol displayed at the end of the line.
  • ViewArrow Type: specifies the type of symbol displayed at the end of the line, which can be "Dot", "Circle", "Arrow", "Tick", or "Tick-2".

Scripting

See also: Draft API and FreeCAD Scripting Basics.

The Fillet tool can be used in macros and from the Python console by using the following function:

fillet = make_fillet([line1, line2], radius=100, chamfer=False, delete=False)
  • Creates a Fillet object between lines line1 and line2, using radius for the curvature.
  • If chamfer is True it will create a straight edge with the length of radius, instead of a rounded edge.
  • If delete is True it will delete the given line1 and line2, and leave only the new object.

Example:

import FreeCAD as App
import Draft
doc = App.newDocument()

p1 = App.Vector(0, 0, 0)
p2 = App.Vector(1000, 1000, 0)
p3 = App.Vector(2000, 0, 0)

line1 = Draft.make_line(p1, p2)
line2 = Draft.make_line(p2, p3)
doc.recompute()

fillet = Draft.make_fillet([line1, line2], radius=500)
doc.recompute()