Draftː Polilinea in B-spline

From FreeCAD Documentation
Revision as of 22:30, 15 March 2019 by Renatorivo (talk | contribs)

Polilinea in B-spline

Posizione nel menu
Draft → Polilinea in Spline
Ambiente
Draft, Architettura
Avvio veloce
Nessuno
Introdotto nella versione
-
Vedere anche
Polilinea, B-spline

Descrizione

Questo strumento converte i segmenti di una linea spezzata, qui definita DWire, in curve di tipo B-spline, e viceversa.

Conversione di una polilinea in una B-Spline e di una B-spline chiusa in un contorno chiuso

Utilizzo

  1. Selezionare una linea Wire o una BSpline. Lo strumento è disabilitato se nessun oggetto è selezionato.
  2. Premere il pulsante Da Wire a BSpline

Crea un nuovo oggetto; l'oggetto originale non viene modificato.

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 DatiMake Face to false to see the new shape, or set DatiClosed to false to create an open shape.

Opzioni

Non ci sono opzioni per questo strumento. O funziona con l'oggetto selezionato o non funziona.

Script

Vedere anche: Draft API e Nozioni di base sugli script di FreeCAD.

Per lo strumento WireToBSpline non è disponibile un'interfaccia di programmazione; tuttavia, creare un nuovo oggetto dai punti di un altro è semplice.

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.

Esempio:

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)