Draft WireToBSpline: Difference between revisions

From FreeCAD Documentation
(Module to Workbench renaming.)
No edit summary
Line 36: Line 36:
# Select a [[Draft_Wire|Draft Wire]] or a [[Draft_BSpline|Draft BSpline]].
# Select a [[Draft_Wire|Draft Wire]] or a [[Draft_BSpline|Draft BSpline]].
# There are several ways to invoke the command:
# There are several ways to invoke the command:
#* Press the {{Button|[[Image:Draft_WireToBSpline.svg|16px]] [[Draft_WireToBSpline|Draft WireToBSpline]]}} button.
#* Press the {{Button|[[Image:Draft_WireToBSpline.svg|16px]] [[Draft_WireToBSpline|Draft Wire to B-spline]]}} button.
#* Select the {{MenuCommand|Modification → [[Image:Draft_WireToBSpline.svg|16px]] Wire to B-spline}} option from the menu.
#* Select the {{MenuCommand|Modification → [[Image:Draft_WireToBSpline.svg|16px]] Wire to B-spline}} option from the menu.
# A new object is created.
# A new object is created.
Line 48: Line 48:


<!--T:8-->
<!--T:8-->
See also: [https://freecad.github.io/SourceDoc/ Autogenerated API documentation] and [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]].
See also: [https://freecad.github.io/SourceDoc/ Autogenerated API documentation] and [[FreeCAD_Scripting_Basics|FreeCAD Scripting Basics]].


<!--T:9-->
<!--T:9-->
To convert a wire to a bspline, or vice versa, pass the {{incode|Points}} property of the source object to the {{incode|[[Draft BSpline#Scripting|make_bspline]]}} method, or respectively the {{incode|[[Draft_Wire#Scripting|make_wire]]}} method, of the Draft module.
To convert a wire to a bspline, or vice versa, pass the {{incode|Points}} property of the source object to the {{incode|[[Draft_BSpline#Scripting|make_bspline]]}} method, or respectively the {{incode|[[Draft_Wire#Scripting|make_wire]]}} method, of the Draft module.


<!--T:10-->
<!--T:10-->

Revision as of 20:26, 24 November 2021

Draft WireToBSpline

Menu location
Modification → Wire to B-spline
Workbenches
Draft, Arch
Default shortcut
None
Introduced in version
-
See also
Draft Wire, Draft BSpline

Description

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

Usage

  1. Select a Draft Wire or a Draft BSpline.
  2. There are several ways to invoke the command:
  3. A new object is created.

Notes

  • 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 DataMake Face property, or its DataClosed property, must be set to false.

Scripting

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 method, or respectively the make_wire 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()