Draft WireToBSpline/en: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
 
(3 intermediate revisions by the same user not shown)
Line 4: Line 4:
|[[Draft_Downgrade|Downgrade]]
|[[Draft_Downgrade|Downgrade]]
|[[Draft_Draft2Sketch|Draft2Sketch]]
|[[Draft_Draft2Sketch|Draft2Sketch]]
|[[Draft_Module|Draft]]
|[[Draft_Workbench|Draft]]
|IconL=Draft_Downgrade.svg
|IconL=Draft_Downgrade.svg
|IconR=Draft_Draft2Sketch.svg
|IconR=Draft_Draft2Sketch.svg
Line 13: Line 13:
|Name=Draft WireToBSpline
|Name=Draft WireToBSpline
|MenuLocation=Modification → Wire to B-spline
|MenuLocation=Modification → Wire to B-spline
|Workbenches=[[Draft_Module|Draft]], [[Arch_Module|Arch]]
|Workbenches=[[Draft_Workbench|Draft]], [[Arch_Workbench|Arch]]
|SeeAlso=[[Draft_Wire|Draft Wire]], [[Draft_BSpline|Draft BSpline]]
|SeeAlso=[[Draft_Wire|Draft Wire]], [[Draft_BSpline|Draft BSpline]]
}}
}}
Line 22: Line 22:


[[Image:Draft_Wire2BSpline_example.jpg|400px]]
[[Image:Draft_Wire2BSpline_example.jpg|400px]]
{{Caption|Converting a Draft Wire to a Draft BSpline, and a closed Draft BSpline to a closed Draft Wire}}
{{Caption|Converting a wire to a B-spline, and a closed B-spline to a closed wire}}


==Usage==
==Usage==
Line 28: Line 28:
# 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|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 38: Line 38:
==Scripting==
==Scripting==


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]].


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 B-spline, 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.


Example:
Example:
Line 71: Line 71:
|[[Draft_Downgrade|Downgrade]]
|[[Draft_Downgrade|Downgrade]]
|[[Draft_Draft2Sketch|Draft2Sketch]]
|[[Draft_Draft2Sketch|Draft2Sketch]]
|[[Draft_Module|Draft]]
|[[Draft_Workbench|Draft]]
|IconL=Draft_Downgrade.svg
|IconL=Draft_Downgrade.svg
|IconR=Draft_Draft2Sketch.svg
|IconR=Draft_Draft2Sketch.svg

Latest revision as of 07:42, 10 April 2024

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 wire to a B-spline, and a closed B-spline to a closed wire

Usage

  1. Select a Draft Wire or a Draft BSpline.
  2. There are several ways to invoke the command:
    • Press the Wire to B-spline button.
    • Select the Modification → Wire to B-spline option from the menu.
  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 B-spline, 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()