Draft WireToBSpline: Difference between revisions

From FreeCAD Documentation
(If a self intersecting curve is produced, set Make Face to FALSE to see the shape; or make it open to avoid self intersection.)
(Code introduction)
Line 37: Line 37:


<!--T:9-->
<!--T:9-->
Not available, but creating a new object with the points from another one is easy, for example:
There is no programming interface available for the WireToBSpline tool, however, creating a new object from the points of another is simple.

The {{incode|Points}} attribute of an object is a list with the points that compose that object; this list can be passed to functions that build geometry.
Each point is defined by its {{incode|FreeCAD.Vector}}.


<!--T:10-->
<!--T:10-->
* If the active object is a wire:
If the active object is a wire:


</translate>
</translate>

Revision as of 02:15, 14 November 2018

Draft WireToBSpline

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

Description

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

How to use

  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 converted to 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 compose that object; this list can be passed to functions that build geometry. Each point is defined by its FreeCAD.Vector.

If the active object is a wire:

import FreeCAD,Draft
points = FreeCAD.ActiveDocument.ActiveObject.Points
Draft.makeBSpline(points)
  • if the active object is a bspline
import FreeCAD,Draft
points = FreeCAD.ActiveDocument.ActiveObject.Points
Draft.makeWire(points)