Draft Line: Difference between revisions

From FreeCAD Documentation
mNo edit summary
(Improve code example)
(22 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
<translate>
<translate>
<!--T:17-->
{{Docnav
|
|[[Draft_Wire|Wire]]
|[[Draft_Module|Draft]]
|IconC=Workbench_Draft.svg
|IconR=Draft_Wire.svg
}}

<!--T:1-->
<!--T:1-->
{{GuiCommand
{{GuiCommand
Line 6: Line 15:
|MenuLocation=Draft → Line
|MenuLocation=Draft → Line
|Workbenches=[[Draft Module|Draft]], [[Arch Module|Arch]]
|Workbenches=[[Draft Module|Draft]], [[Arch Module|Arch]]
|Shortcut=L I
|Shortcut={{KEY|L}} {{KEY|I}}
|SeeAlso=[[Draft Wire|Draft Wire]], [[Draft Point]]
|SeeAlso=[[Draft Wire|Draft Wire]], [[Draft Point|Draft Point]]
|Version=0.7
|Version=0.7
}}
}}


==Description== <!--T:2-->
==Description== <!--T:20-->
The Line tool creates a straight line defined by two points. It uses the [[Draft Linestyle]] set on the [[Draft Tray]]. The Line tool behaves exactly like the [[Draft Wire]] tool, except that it stops after two points.


<!--T:3-->
<!--T:2-->
The Line tool creates a straight line defined by two points. It uses the [[Draft Linestyle|Draft Linestyle]] set on the [[Draft Tray|Draft Tray]]. The Line tool behaves exactly like the [[Draft Wire|Draft Wire]] tool, except that it stops after two points.

</translate>
[[Image:Draft_Line_example.jpg|400px]]
[[Image:Draft_Line_example.jpg|400px]]
<translate>
<!--T:3-->
{{Caption|Line created by two points}}

==Usage== <!--T:21-->


==How to use== <!--T:4-->
<!--T:4-->
# Press the {{Button|[[Image:Draft Line.svg|16px]] [[Draft Line]]}} button, or press {{KEY|L}} then {{KEY|I}} keys.
# Press the {{Button|[[Image:Draft Line.svg|16px]] [[Draft Line|Draft Line]]}} button, or use the {{KEY|Draft}} → {{KEY|[[Image:Draft Line.svg|16px]] [[Draft Line|Line]]}} from the top menu, or use the keyboard shortcut: {{KEY|L}} then {{KEY|I}} keys.
# 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 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 a second 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 a second 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.


<!--T:10-->
The line 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]]}} button. Then you can move the points to a new position.
The line 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 points to a new position.


===Fusing single lines===
===Fusing single lines=== <!--T:11-->
If several connected [[Draft Line|Draft Lines]] are selected they can be fused into a wire by pressing the {{Button|[[Image:Draft Upgrade.svg|16px]] [[Draft Upgrade]]}} tool; however, this wire will not be editable. To create an editable wire, use {{Button|[[Image:Draft Upgrade.svg|16px]] [[Draft Upgrade]]}} three more times on the new shapes (wire, closed wire, face). You can also fuse the original lines with the {{Button|[[Image:Draft Wire.svg|16px]] [[Draft Wire]]}} tool.
If several connected [[Draft Line|Draft Lines]] are selected they can be fused into a wire by pressing the {{Button|[[Image:Draft Upgrade.svg|16px]] [[Draft Upgrade|Draft Upgrade]]}} tool; '''however''', this wire will not be editable. '''To create an editable wire''', use {{Button|[[Image:Draft Upgrade.svg|16px]] [[Draft Upgrade|Draft Upgrade]]}} three more times on the new shapes (wire, closed wire, face). You can also fuse the original lines with the {{Button|[[Image:Draft Wire.svg|16px]] [[Draft Wire|Draft Wire]]}} tool.


<!--T:12-->
A wire can also be created from a single line by adding another point anywhere along its length. To do this, press the {{Button|[[Image:Draft_AddPoint.svg|16px]] [[Draft_AddPoint|add point]]}} button, and click anywhere on the line.
'''Note:''' A wire can also be created from a single line by adding another point anywhere along its length. To do this, press the {{Button|[[Image:Draft_AddPoint.svg|16px]] [[Draft_AddPoint|add point]]}} button, and click anywhere on the line.


==Options== <!--T:5-->
==Options== <!--T:5-->
* Press {{KEY|X}}, {{KEY|Y}} or {{KEY|Z}} after the first point to constrain the second point on the given axis.
* Press {{KEY|X}}, {{KEY|Y}} or {{KEY|Z}} after the first point to constrain the second point on the given axis.
* To enter coordinates manually, simply enter the numbers, then press {{KEY|Enter}} between each X, Y and Z component.
* To enter coordinates manually, simply enter the numbers, then press {{KEY|Enter}} between each X, Y and Z component.
** You can also define the polar coordinates of the point by giving a value to "Length" and "Angle". Click on the checkbox next to "Angle" to constrain the pointer to the specified angle. You can press the {{Button|[[Image:Draft_AddPoint.svg|16px]] [[Draft_AddPoint|add point]]}} button when you have the desired values to insert the point.
** You can also define the polar coordinates of the point by giving a value to "Length" and "Angle". Click on the checkbox next to "Angle" to constrain the pointer to the specified angle.
** You can press the {{Button|[[Image:Draft_AddPoint.svg|16px]] [[Draft_AddPoint|add point]]}} button when you have the desired values to insert the point.
* Press {{KEY|R}} or click the checkbox to toggle ''relative'' mode. If relative mode is on, the coordinates of the second point are relative to the first one; if not, they are absolute, taken from the origin (0,0,0).
* Press {{KEY|R}} or click the checkbox to toggle ''relative'' mode. If relative mode is on, the coordinates of the second point are relative to the first one; if not, they are absolute, taken from the origin (0,0,0).
* Press {{KEY|T}} or click the checkbox to toggle ''continue'' mode. If continue mode is on, the Line tool will restart after you give the second point, allowing you to draw another line segment without pressing the tool button again.
* Press {{KEY|T}} or click the checkbox to toggle ''continue'' mode. If continue mode is on, the Line tool will restart after you give the second point, allowing you to draw another line segment without pressing the tool button again.
* 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|Ctrl}}+{{KEY|Z}} or press the {{button|[[Image:Draft UndoLine.png|12px]] [[Draft_UndoLine|Undo]]}} button to undo the last point.
* Press {{KEY|Ctrl}}+{{KEY|Z}} or press the {{button|[[Image:Draft_UndoLine.svg|12px]] [[Draft_UndoLine|Undo]]}} button to undo the last point.
* 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== <!--T:6-->
==Properties== <!--T:6-->
A Line object shares all properties from a [[Draft Wire]], however, only some of these properties are applicable to the Line.
A Line object shares all properties from a {{Button|[[Image:Draft_Wire.svg|16px]] [[Draft Wire|Draft Wire]]}}, however, only some of these properties are applicable to the Line.


===Data===
===Data=== <!--T:13-->
* {{PropertyData|Start}}: specifies the start point.
* {{PropertyData|Start}}: specifies the start point.
* {{PropertyData|End}}: specifies the end point.
* {{PropertyData|End}}: specifies the end point.
Line 49: Line 68:
* {{PropertyData|Length}}: (read-only) specifies the length of the segment.
* {{PropertyData|Length}}: (read-only) specifies the length of the segment.


===View===
===View=== <!--T:14-->
* {{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.
Line 55: Line 74:


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


<!--T:15-->
The Line tool can be used in [[macros]] and from the [[Python]] console by using the following function:
The Line tool can be used in [[macros|macros]] and from the [[Python|Python]] console by using the following function:
</translate>
</translate>
{{Code|code=
{{Code|code=
Line 75: Line 95:
</translate>
</translate>
{{Code|code=
{{Code|code=
import FreeCAD, Draft
import FreeCAD as App
import Draft


_doc = App.newDocument()
p1 = FreeCAD.Vector(0, 0, 0)

p2 = FreeCAD.Vector(1000, 500, 0)
p3 = FreeCAD.Vector(-250, -500, 0)
p1 = App.Vector(0, 0, 0)
p4 = FreeCAD.Vector(500, 1000, 0)
p2 = App.Vector(1000, 500, 0)
p3 = App.Vector(-250, -500, 0)
p4 = App.Vector(500, 1000, 0)


Line1 = Draft.makeLine(p1, p2)
Line1 = Draft.makeLine(p1, p2)
Line2 = Draft.makeLine(p3, p4)
Line2 = Draft.makeLine(p3, p4)
_doc.recompute()
}}
}}
<translate>


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

</translate>
{{Draft Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{clear}}
{{clear}}
{{Draft Tools navi}}
{{Userdocnavi}}
[[Category:Draft]]

Revision as of 14:39, 4 May 2020

Draft Line

Menu location
Draft → Line
Workbenches
Draft, Arch
Default shortcut
L I
Introduced in version
0.7
See also
Draft Wire, Draft Point

Description

The Line tool creates a straight line defined by two points. It uses the Draft Linestyle set on the Draft Tray. The Line tool behaves exactly like the Draft Wire tool, except that it stops after two points.

Line created by two points

Usage

  1. Press the Draft Line button, or use the Draft Line from the top menu, or use the keyboard shortcut: L then I keys.
  2. Click a first point on the 3D view, or type a coordinate and press the add point button.
  3. Click a second point on the 3D view, or type a coordinate and press the add point button.

The line can be edited by double clicking on the element in the tree view, or by pressing the Draft Edit button. Then you can move the points to a new position.

Fusing single lines

If several connected Draft Lines are selected they can be fused into a wire by pressing the Draft Upgrade tool; however, this wire will not be editable. To create an editable wire, use Draft Upgrade three more times on the new shapes (wire, closed wire, face). You can also fuse the original lines with the Draft Wire tool.

Note: A wire can also be created from a single line by adding another point anywhere along its length. To do this, press the add point button, and click anywhere on the line.

Options

  • Press X, Y or Z after the first point to constrain the second point on the given axis.
  • To enter coordinates manually, simply enter the numbers, then press Enter between each X, Y and Z component.
    • You can also define the polar coordinates of the point by giving a value to "Length" and "Angle". Click on the checkbox next to "Angle" to constrain the pointer to the specified angle.
    • You can press the add point button when you have the desired values to insert the point.
  • Press R or click the checkbox to toggle relative mode. If relative mode is on, the coordinates of the second point are relative to the first one; if not, they are absolute, taken from the origin (0,0,0).
  • Press T or click the checkbox to toggle continue mode. If continue mode is on, the Line tool will restart after you give the second point, allowing you to draw another line segment without pressing the tool button again.
  • 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 Ctrl+Z or press the Undo button to undo the last point.
  • Press Esc or the Close button to abort the current command.

Properties

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

Data

  • DataStart: specifies the start point.
  • DataEnd: specifies the end point.
  • DataSubdivisions: specifies the number of interior nodes in the line. introduced in version 0.16
  • DataLength: (read-only) specifies the length of the segment.

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", or "Tick".

Scripting

See also: Draft API and FreeCAD Scripting Basics.

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

Line = makeLine(p1, p2)
Line = makeLine(LineSegment)
Line = makeLine(Shape)
  • Creates a Line object between points p1 and p2, each defined by its FreeCAD.Vector, with units in millimeters.
  • Creates a Line object from a Part.LineSegment.
  • Creates a Line object from the first vertex to the last vertex of the given Shape.

Example:

import FreeCAD as App
import Draft

_doc = App.newDocument()

p1 = App.Vector(0, 0, 0)
p2 = App.Vector(1000, 500, 0)
p3 = App.Vector(-250, -500, 0)
p4 = App.Vector(500, 1000, 0)

Line1 = Draft.makeLine(p1, p2)
Line2 = Draft.makeLine(p3, p4)
_doc.recompute()