- GuiCommand: Name: Draft WireToBSpline MenuLocation: Modification -> Wire to B-spline Workbenches: Draft_Workbench, Arch_Workbench SeeAlso: Draft_Wire, Draft_BSpline
The Draft WireToBSpline command converts Draft Wires to Draft BSplines and vice versa.
*Converting a Draft Wire to a Draft BSpline, and a closed Draft BSpline to a closed Draft Wire*- Select a Draft Wire or a Draft BSpline.
- There are several ways to invoke the command:
- Press the Draft WireToBSpline button.
- Select the Modification → Wire to B-spline option from the menu.
- A new object is created.
- The command may result in a closed, self-intersecting Draft Wire or Draft BSpline with a face. Such an object will not display properly in the 3D view. Its Make Face property, or its Closed property, must be set to
False
.
See also: Autogenerated API documentation and FreeCAD Scripting Basics.
To convert a wire to a bspline, or vice versa, pass the Points
property of the source object to the [make_bspline](Draft_BSpline#Scripting.md)
method, or respectively the [make_wire](Draft_Wire#Scripting.md)
method, of the Draft module.
Example:
import FreeCAD as App
import Draft
doc = App.newDocument()
p1 = App.Vector(1000, 1000, 0)
p2 = App.Vector(2000, 1000, 0)
p3 = App.Vector(2500, -1000, 0)
p4 = App.Vector(3500, -500, 0)
base_wire = Draft.make_wire([p1, p2, p3, p4])
base_spline = Draft.make_bspline([-p1, -1.3*p2, -1.2*p3, -2.1*p4])
points1 = base_wire.Points
spline_from_wire = Draft.make_bspline(points1)
points2 = base_spline.Points
wire_from_spline = Draft.make_wire(points2)
doc.recompute()
⏵ documentation index > Draft > Draft WireToBSpline