Draft Circle: Difference between revisions

From FreeCAD Documentation
mNo edit summary
(21 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Page_in_progress}}
<languages/>
<languages/>
<translate>
<translate>
Line 19: Line 20:
|Shortcut={{KEY|C}} {{KEY|I}}
|Shortcut={{KEY|C}} {{KEY|I}}
|Version=0.7
|Version=0.7
|SeeAlso=[[Draft_Arc|Draft Arc]], [[Draft_Ellipse|Draft Ellipse]], [[Macro_CirclePlus|Macro CirclePlus]]
|SeeAlso=[[Draft_Arc|Draft Arc]], [[Draft_Arc_3Points|Draft Arc 3Points]]
}}
}}


Line 25: Line 26:


<!--T:2-->
<!--T:2-->
The Circle tool creates a circle in the current [[Draft_SelectPlane|work plane]] by entering two points, the center and the radius, or by picking tangents, or any combination of those. It uses the [[Draft_Linestyle|Draft Linestyle]] set on the [[Draft_Tray|Draft Tray]].
The [[Image:Draft_Circle.svg|24px]] [[Draft_Circle|Draft Circle]] command creates a circle in the current [[Draft_SelectPlane|working plane]] by entering two points, the center and the radius, or by picking tangents, or any combination of those. It uses the [[Draft_Linestyle|Draft Linestyle]] set on the [[Draft_Tray|Draft Tray]].


<!--T:11-->
<!--T:11-->
A Draft Circle can be turned into an arc by setting its {{PropertyData|First Angle}} and {{PropertyData|Last Angle}} properties to different values.
This tool works the same way as the [[Draft_Arc|Draft Arc]] tool, except that it creates a full circumference. To draw an ellipse use [[Draft_Ellipse|Draft Ellipse]].


</translate>
</translate>
Line 43: Line 44:
#* Select the {{MenuCommand|Drafting → [[Image:Draft_Circle.svg|16px]] Circle}} option from the menu.
#* Select the {{MenuCommand|Drafting → [[Image:Draft_Circle.svg|16px]] Circle}} option from the menu.
#* Use the keyboard shortcut: {{KEY|C}} then {{KEY|I}}.
#* Use the keyboard shortcut: {{KEY|C}} then {{KEY|I}}.
# Click a first point on the 3D view, or type a [[Draft_Coordinates|coordinate]] and press the {{Button|[[Image:Draft_AddPoint.svg|16px]] [[Draft_AddPoint|add point]]}} button.
# Click the first point in the [[3D_view|3D view]], or type [[Draft_Coordinates|coordinates]] and press the {{Button|[[Image:Draft_AddPoint.svg|16px]] Enter point}} button.
# Click a second point on the 3D view, or enter a radius value.
# Click the second point in the [[3D_view|3D view]], or enter a {{MenuCommand|Radius}}.

<!--T:12-->
The circle can be edited by double clicking on the element in the tree view, or by pressing the {{Button|[[Image:Draft Edit.svg|16px]] [[Draft Edit|Draft Edit]]}} button. Then you can move the center and radius points to a new position.

<!--T:13-->
The circle can be turned into an arc after creation, by setting its first angle and last angle properties to different values.


==Options==
==Options==


<!--T:5-->
<!--T:5-->
* The primary use of the circle tool is by picking two points, the centre and a point on the circumference.
* The primary use of the circle command is by picking two points, the center and a point on the circumference.
** By pressing {{KEY|Alt}}, you can select a tangent instead of picking a point. You can therefore construct several types of circles by selecting one, two or three tangents.
** By pressing {{KEY|Alt}}, you can select a tangent instead of picking a point. You can therefore construct several types of circles by selecting one, two or three tangents.
* To enter coordinates manually, simply enter the numbers, then press {{KEY|Enter}} between each X, Y and Z component. You can press the {{Button|[[Image:Draft_AddPoint.svg|16px]] [[Draft_AddPoint|add point]]}} button when you have entered the desired values to insert the point.
* To enter coordinates manually, simply enter the numbers, then press {{KEY|Enter}} between each X, Y and Z component. You can press the {{Button|[[Image:Draft_AddPoint.svg|16px]] Enter point}} button when you have entered the desired values to insert the point.
* Press {{KEY|T}} or click the checkbox to toggle ''continue'' mode. If continue mode is on, the Circle tool will restart after you finish the circle, allowing you to draw another one without pressing the tool button again.
* Press {{KEY|T}} or click the checkbox to toggle ''continue'' mode. If continue mode is on, the Circle command will restart after you finish the circle, allowing you to draw another one without pressing the command button again.
* Press {{KEY|L}} or click the checkbox to toggle ''filled'' mode. If filled mode is on, the circle will create a filled face ({{PropertyData|Make Face}} {{TRUE}}); if not, the circle will not make a face ({{PropertyData|Make Face}} {{FALSE}}).
* Press {{KEY|L}} or click the checkbox to toggle ''filled'' mode. If filled mode is on, the circle will create a filled face ({{PropertyData|Make Face}} {{TRUE}}); if not, the circle will not make a face ({{PropertyData|Make Face}} {{FALSE}}).
* Hold {{KEY|Ctrl}} while drawing to force [[Draft_Snap|snapping]] your point to the nearest snap location, independently of the distance.
* Hold {{KEY|Ctrl}} while drawing to force [[Draft_Snap|snapping]] your point to the nearest snap location, independently of the distance.
* Hold {{KEY|Shift}} while drawing to [[Draft_Constrain|constrain]] your second point horizontally or vertically in relation to the first one.
* Hold {{KEY|Shift}} while drawing to [[Draft_Constrain|constrain]] your second point horizontally or vertically in relation to the first one.
* 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.

==Notes==

<!--T:12-->
* A Draft Circle can be edited with the [[Draft_Edit|Draft Edit]] command.


==Properties==
==Properties==


See also: [[property_editor|Property editor]].
<!--T:6-->

A Circle object shares all properties from a [[Draft Arc|Draft Arc]], but some properties only make sense for the circle.
A Draft Circle object is derived from a [[Part_Part2DObject|Part Part2DObject]] and inherits all its properties. It also has the following additional properties:


===Data===
===Data===

{{TitleProperty|Draft}}


<!--T:14-->
<!--T:14-->
* {{PropertyData|First Angle}}: specifies the starting angle of the circle; normally 0&#176;.
* {{PropertyData|Area|Area}}: (read-only) specifies the area of the face of the circle. The value will be {{value|0.0}} if {{PropertyData|Make Face}} if {{FALSE}} or the face cannot be created.
* {{PropertyData|Last Angle}}: specifies the ending angle of the circle; normally 0&#176;.
* {{PropertyData|First Angle|Angle}}: specifies the start angle of the circle, normally {{value|0&#176;}}.
* {{PropertyData|Radius}}: specifies the radius of the circle.
* {{PropertyData|Last Angle|Angle}}: specifies the end angle of the circle, normally {{value|0&#176;}}.
* {{PropertyData|Make Face}}: specifies if the Circle makes a face or not. If it is {{TRUE}} a face is created, otherwise only the circumference is considered part of the object. This property only works if the shape is a full circumference.
* {{PropertyData|Make Face|Bool}}: specifies if the circle makes a face or not. If it is {{TRUE}} a face is created, otherwise only the perimeter is considered part of the object. This property only works if the {{PropertyData|First Angle}} and {{PropertyData|Last Angle}} have the same value. Note that {{value|0&#176;}} and {{value|360&#176;}} are not considered the same.
* {{PropertyData|Radius|Length}}: specifies the radius of the circle.
:For it to be a full circle {{PropertyData|First Angle}} and {{PropertyData|Last Angle}} should have the same value; otherwise, a [[Draft Arc|Draft Arc]] is displayed. The values 0&#176; and 360&#176; aren't considered the same, so if these two values are used, the circle will not form a face.


===View===
===View===

{{TitleProperty|Draft}}


<!--T:15-->
<!--T:15-->
* {{PropertyView|Pattern}}: specifies a [[Draft Pattern|Draft Pattern]] with which to fill the face of the circle. This property only works if {{PropertyData|Make Face}} is {{TRUE}}, and if {{PropertyView|Display Mode}} is "Flat Lines".
* {{PropertyView|Pattern|Enumeration}}: specifies the [[Draft_Pattern|Draft Pattern]] with which to fill the face of the circle. This property only works if {{PropertyData|Make Face}} is {{TRUE}} and if {{PropertyView|Display Mode}} is {{value|Flat Lines}}.
* {{PropertyView|Pattern Size}}: specifies the size of the [[Draft Pattern|Draft Pattern]].
* {{PropertyView|Pattern Size|Float}}: specifies the size of the [[Draft_Pattern|Draft Pattern]].


==Scripting==
==Scripting==


<!--T:7-->
<!--T:7-->
See also: [[Draft API|Draft API]] and [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]].
See also: [https://www.freecadweb.org/api Autogenerated API documentation] and [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]].


<!--T:16-->
<!--T:16-->
To create a Draft Circle use the {{incode|make_circle}} method ({{Version|0.19}}) of the Draft module. This method replaces the deprecated {{incode|makeCircle}} method.
The Circle tool can be used in [[macros|macros]] and from the [[Python|Python]] console by using the following function:


</translate>
</translate>
{{Code|code=
{{Code|code=
Circle = makeCircle(radius, placement=None, face=None, startangle=None, endangle=None, support=None)
circle = make_circle(radius, placement=None, face=None, startangle=None, endangle=None, support=None)
Circle = makeCircle(Part.Edge, placement=None, face=None, startangle=None, endangle=None, support=None)
circle = make_circle(Part.Edge, placement=None, face=None, startangle=None, endangle=None, support=None)
}}
}}
<translate>
<translate>


<!--T:8-->
<!--T:8-->
* Creates a {{incode|Circle}} object with given {{incode|radius}} in millimeters.
* Creates a {{incode|circle}} object with given {{incode|radius}} in millimeters.
** {{incode|radius}} can also be a {{incode|Part.Edge}}, whose {{incode|Curve}} attribute must be a {{incode|Part.Circle}}.
** {{incode|radius}} can also be a {{incode|Part.Edge}}, whose {{incode|Curve}} attribute must be a {{incode|Part.Circle}}.
* If a {{incode|placement}} is given, it is used; otherwise the shape is created at the origin.
* If {{incode|placement}} is {{incode|None}} the shape is created at the origin.
* If {{incode|face}} is {{incode|True}}, the circle will make a face, that is, it will appear filled.
* If {{incode|face}} is {{incode|True}}, the circle will make a face, that is, it will appear filled.
* If {{incode|startangle}} and {{incode|endangle}} are given in degrees, and have different values, they are used and the object appears as a [[Draft Arc|Draft Arc]].
* If {{incode|startangle}} and {{incode|endangle}} are given in degrees, and have different values, they are used and the object appears as a [[Draft Arc|Draft Arc]].
Line 110: Line 115:
</translate>
</translate>
{{Code|code=
{{Code|code=
import FreeCAD, Draft
import FreeCAD as App
import Draft

doc = App.newDocument()

circle1 = Draft.make_circle(200)


zaxis = App.Vector(0, 0, 1)
Circle1 = Draft.makeCircle(200)
p2 = App.Vector(1000, 1000, 0)
place2 = App.Placement(p2, App.Rotation(zaxis, 0))
circle2 = Draft.make_circle(500, placement=place2)


ZAxis = FreeCAD.Vector(0, 0, 1)
p3 = App.Vector(-1000, -1000, 0)
place3 = App.Placement(p3, App.Rotation(zaxis, 0))
p2 = FreeCAD.Vector(1000, 1000, 0)
circle3 = Draft.make_circle(750, placement=place3)
place2 = FreeCAD.Placement(p2, FreeCAD.Rotation(ZAxis, 0))
Circle2 = Draft.makeCircle(500, placement=place2)


doc.recompute()
p3 = FreeCAD.Vector(-1000, -1000, 0)
place3 = FreeCAD.Placement(p3, FreeCAD.Rotation(ZAxis, 0))
Circle3 = Draft.makeCircle(750, placement=place3)
}}
}}
<translate>
<translate>

Revision as of 09:18, 30 March 2021

This documentation is a work in progress. Please don't mark it as translatable since it will change in the next hours and days.

Draft Circle

Menu location
Drafting → Circle
Workbenches
Draft, Arch
Default shortcut
C I
Introduced in version
0.7
See also
Draft Arc, Draft Arc 3Points

Description

The Draft Circle command creates a circle in the current working plane by entering two points, the center and the radius, or by picking tangents, or any combination of those. It uses the Draft Linestyle set on the Draft Tray.

A Draft Circle can be turned into an arc by setting its DataFirst Angle and DataLast Angle properties to different values.

Circle defined by two points

Usage

  1. There are several ways to invoke the command:
    • Press the Draft Circle button.
    • Select the Drafting → Circle option from the menu.
    • Use the keyboard shortcut: C then I.
  2. Click the first point in the 3D view, or type coordinates and press the Enter point button.
  3. Click the second point in the 3D view, or enter a Radius.

Options

  • The primary use of the circle command is by picking two points, the center and a point on the circumference.
    • By pressing Alt, you can select a tangent instead of picking a point. You can therefore construct several types of circles by selecting one, two or three tangents.
  • To enter coordinates manually, simply enter the numbers, then press Enter between each X, Y and Z component. You can press the Enter point button when you have entered the desired values to insert the point.
  • Press T or click the checkbox to toggle continue mode. If continue mode is on, the Circle command will restart after you finish the circle, allowing you to draw another one without pressing the command button again.
  • Press L or click the checkbox to toggle filled mode. If filled mode is on, the circle will create a filled face (DataMake Face true); if not, the circle will not make a face (DataMake Face false).
  • Hold Ctrl while drawing to force snapping your point to the nearest snap location, independently of the distance.
  • Hold Shift while drawing to constrain your second point horizontally or vertically in relation to the first one.
  • Press Esc or the Close button to abort the current command.

Notes

  • A Draft Circle can be edited with the Draft Edit command.

Properties

See also: Property editor.

A Draft Circle object is derived from a Part Part2DObject and inherits all its properties. It also has the following additional properties:

Data

Draft

  • DataArea (Area): (read-only) specifies the area of the face of the circle. The value will be 0.0 if DataMake Face if false or the face cannot be created.
  • DataFirst Angle (Angle): specifies the start angle of the circle, normally .
  • DataLast Angle (Angle): specifies the end angle of the circle, normally .
  • DataMake Face (Bool): specifies if the circle makes a face or not. If it is true a face is created, otherwise only the perimeter is considered part of the object. This property only works if the DataFirst Angle and DataLast Angle have the same value. Note that and 360° are not considered the same.
  • DataRadius (Length): specifies the radius of the circle.

View

Draft

  • ViewPattern (Enumeration): specifies the Draft Pattern with which to fill the face of the circle. This property only works if DataMake Face is true and if ViewDisplay Mode is Flat Lines.
  • ViewPattern Size (Float): specifies the size of the Draft Pattern.

Scripting

See also: Autogenerated API documentation and FreeCAD Scripting Basics.

To create a Draft Circle use the make_circle method (introduced in version 0.19) of the Draft module. This method replaces the deprecated makeCircle method.

circle = make_circle(radius, placement=None, face=None, startangle=None, endangle=None, support=None)
circle = make_circle(Part.Edge, placement=None, face=None, startangle=None, endangle=None, support=None)
  • Creates a circle object with given radius in millimeters.
    • radius can also be a Part.Edge, whose Curve attribute must be a Part.Circle.
  • If placement is None the shape is created at the origin.
  • If face is True, the circle will make a face, that is, it will appear filled.
  • If startangle and endangle are given in degrees, and have different values, they are used and the object appears as a Draft Arc.

Example:

import FreeCAD as App
import Draft

doc = App.newDocument()

circle1 = Draft.make_circle(200)

zaxis = App.Vector(0, 0, 1)
p2 = App.Vector(1000, 1000, 0)
place2 = App.Placement(p2, App.Rotation(zaxis, 0))
circle2 = Draft.make_circle(500, placement=place2)

p3 = App.Vector(-1000, -1000, 0)
place3 = App.Placement(p3, App.Rotation(zaxis, 0))
circle3 = Draft.make_circle(750, placement=place3)

doc.recompute()