Draft WireToBSpline/ru

From FreeCAD Documentation
Revision as of 14:59, 1 December 2020 by FuzzyBot (talk | contribs) (Updating to match new version of source page)

Draft WireToBSpline

Системное название
Draft WireToBSpline
Расположение в меню
Черчение → Направляющая в BSpline
Верстаки
Draft, Arch
Быстрые клавиши
Нет
Представлено в версии
-
См. также
Нет

Description

The Draft WireToBSpline tool converts Draft Wires to Draft BSplines, and vice-versa.

Convert a wire to a B-Spline, and a closed B-Spline to a closed wire

Usage

  1. Select a Draft Wire or a Draft BSpline. The tool is disabled if no object is selected.
  2. Press the Draft WireToBSpline button.

A new object will be created; the original object will not be modified.

Note: if a closed wire with sharp edges is used to create a spline, the new object may have self intersecting curve segments, and may not be visible in the 3D view. If this is the case, manually set ДанныеMake Face to false to see the new shape, or set ДанныеClosed to false to create an open shape.

Options

There are no options for this tool. Either it works with the selected object or not.

Scripting

See also: Draft API and FreeCAD Scripting Basics.

There is no programming interface available for the WireToBSpline tool; however, creating a new object from the points of another is simple.

The Points attribute of an object is a list with the points that comprise that object; this list can be passed to functions that build geometry. Each point is defined by its FreeCAD.Vector, with units in millimeters.

Example:

import FreeCAD, Draft

# Make a spline from the points of a wire
p1 = FreeCAD.Vector(1000, 1000, 0)
p2 = FreeCAD.Vector(2000, 1000, 0)
p3 = FreeCAD.Vector(2500, -1000, 0)
p4 = FreeCAD.Vector(3500, -500, 0)

base_wire = Draft.makeWire([p1, p2, p3, p4])

points1 = base_wire.Points
spline = Draft.makeBSpline(points1)

# Make a wire from the points of a spline
base_spline = Draft.makeBSpline([-p1, -1.3*p2, -1.2*p3, -2.1*p4])

points2 = base_spline.Points
Wire = Draft.makeWire(points2)