Draft WireToBSpline
Menu location |
---|
Drafting → Wire to BSpline |
Workbenches |
Draft, Arch |
Default shortcut |
None |
Introduced in version |
- |
See also |
Draft Wire, Draft BSpline |
Contents |
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
- Select a Draft Wire or a Draft BSpline. The tool is disabled if no object is selected.
- 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 DataMake Face to false
to see the new shape, or set DataClosed 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)
- Basics: Coordinates, Constraining, Snapping (Near, Extension, Parallel, Grid, Endpoint, Midpoint, Perpendicular, Angle, Center, Ortho, Intersection, Special, Dimensions, Working plane)
- Drawing: Line, Polyline, Fillet, Circle, Arc, Arc 3 points, Ellipse, Polygon, Rectangle, Text, Dimension, BSpline, Point, ShapeString, Facebinder, Cubic Bezier Curve, Bezier Curve, Label
- Modifying: Move, Rotate, Offset, Trimex, Join, Split, Upgrade, Downgrade, Scale, Edit, SubelementHighlight, Wire to BSpline, Add point, Delete point, Shape 2D View, Draft to Sketch, Array, LinkArray, Polar Array, Circular Array, Path Array, Path LinkArray, Point Array, Clone, Drawing, Mirror, Stretch
- Utilities: Set working plane, Finish line, Close line, Undo line, Toggle construction mode, Toggle continue mode, Apply style, Toggle display mode, Add to group, Select group contents, Toggle snap, Toggle grid, Show snap bar, Heal, Flip Dimension, VisGroup, Slope, AutoGroup, Set Working Plane Proxy, Add to Construction group
- Additional: Preferences, Import Export Preferences (DXF/DWG, SVG, OCA, DAT); Draft API

- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties; Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base; Arch, Draft, FEM, Image, Inspection, Mesh, OpenSCAD, Part, PartDesign, Path, Points, Raytracing, Reverse Engineering, Sketcher, Spreadsheet, Start, Surface, TechDraw, Test Framework, Web
- Deprecated or unmaintained workbenches: Complete, Drawing, Robot
- Hubs: User hub, Power users hub, Developer hub