底图连线

From FreeCAD Documentation
Revision as of 05:11, 22 June 2019 by Wconly (talk | contribs) (Created page with "{{emphasis|请注意:}} 不同线段的首尾准确重合才能进行融合,反之则反。必要时,可以手动调整线段首尾端点的坐标,...")

Draft Wire

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

描绘

利用连线工具可创建一条折线(一系列互连的线段)。本工具利用底图工具栏中的底图线条样式进行绘制。除了允许用户输入2个以上的点之外,连线工具与底图线段工具的行为完全相同。

B样条工具与连线工具的功能相似,区别仅在于前者中的每条线段为曲线而非直线。利用Use Draft WireToBSpline工具可令两者互相转换。

多点定一连线

如何使用

  1. 按下 Draft Wire按钮,或先按W键再按I键。
  2. 在3D视图中点击第一个点,或输入一个坐标再按 add point按钮。
  3. 在3D视图中单击另一个点,或输入一个坐标再按 add point按钮。
  4. Esc键或Close按钮来结束本次编辑。

双击树状视图中的元素或点击 Draft Edit按钮即可编辑连线。接下来,您可以将其中的点移到一个新位置,或点击 add point remove point按钮再点选连线来增添其中的点。

融合多条线段

如果选中了若干条相连的线段,并按下 Draft Wire按钮,便会将它们转换为一条连线并退出当前的命令。introduced in version 0.17

请注意: 不同线段的首尾准确重合才能进行融合,反之则反。必要时,可以手动调整线段首尾端点的坐标,或利用Draft Snap搭配Draft Endpoint模式来令端点重合。

Options

  • Press A or the Finish button to finish the wire, leaving it open.
  • Press O or the Close button to close the wire, that is, a segment will be added from the last point to the first one to form a face. At least three points are required to form a face.
  • Press W or the Wipe button to remove the line segments already placed, but keep editing the wire from the last point.
  • Press U or the Set WP button to adjust the current working plane in the orientation of the last point.
  • Press X, Y or Z after a point to constrain the next 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 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 next point are relative to the last 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 Wire tool will restart after you finish the wire, allowing you to draw another one without pressing the tool button again.
  • Press L or click the checkbox to toggle filled mode. If filled mode is on, a closed wire will create a filled face (数据Make Face true); if not, the closed wire will not make a face (数据Make Face false).
Note: the wire should not be filled if it intersects itself, as it won't create a proper face. If the wire is filled but no shape is visible, manually set 数据Make Face to false to see the wire.
  • 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 next point horizontally or vertically in relation to the last 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; line segments already placed will remain.

Properties

A Wire object shares all properties from a Draft Line, however, most properties only make sense for a Wire.

Data

  • 数据Start: specifies the first point in the wire.
  • 数据End: specifies the last point in the wire, not counting the initial point if the wire is closed.
  • 数据Closed: specifies if the wire is closed or not. If the wire is initially open, this value is false; setting it to true will draw a line segment to close the wire. If the wire is initially closed, this value is true; setting it to false will remove the last line segment, and make the wire open.
  • 数据Chamfer Size: specifies the size of the chamfers (straight segments) created on the corners of the wire.
  • 数据Fillet Radius: specifies the radius of the fillets (arc segments) created on the corners of the wire.
  • 数据Make Face: specifies if the wire makes a face or not. If it is true a face is created, otherwise only the edges are considered part of the object. This property only works if 数据Closed is true.
Note: do not set 数据Make Face to true if the wire intersects itself, as it won't create a proper face.
  • 数据Subdivisions: specifies the number of interior nodes in each segment of the wire. introduced in version 0.16
  • 数据Length: (read-only) specifies the length of the entire wire.

View

  • 视图End Arrow: if it is true it will display a symbol at the last point of the wire, so it can be used as an annotation line.
  • 视图Arrow Size: specifies the size of the symbol displayed at the end of the wire.
  • 视图Arrow Type: specifies the type of symbol displayed at the end of the wire, which can be "Dot", "Circle", "Arrow", or "Tick".
  • 视图Pattern: specifies a Draft Pattern with which to fill the face of the closed wire. This property only works if 数据Make Face is true, and if 视图Display Mode is "Flat Lines".
  • 视图Pattern Size: specifies the size of the Draft Pattern.

Scripting

See also: Draft API and FreeCAD Scripting Basics.

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

Wire = makeWire(pointslist, closed=False, placement=None, face=None, support=None)
Wire = makeWire(Part.Wire, closed=False, placement=None, face=None, support=None)
  • Creates a Wire object with the given list of points, pointslist.
    • Each point in the list is defined by its FreeCAD.Vector, with units in millimeters.
    • Alternatively, the input can be a Part.Wire, from which points are extracted.
  • If closed is True, or if the first and last points are identical, the wire is closed.
  • If a placement is given, it is used; otherwise the shape is created at the origin.
  • If face is True, and the wire is closed, the wire will make a face, that is, it will appear filled.

Example:

import FreeCAD, Draft

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

Wire1 = Draft.makeWire([p1, p2, p3], closed=True)
Wire2 = Draft.makeWire([p1, 2*p3, 1.3*p2], closed=True)
Wire3 = Draft.makeWire([1.3*p3, p1, -1.7*p2], closed=True)