Draft Polyligne vers B-spline

From FreeCAD Documentation
Revision as of 09:15, 6 October 2019 by David69 (talk | contribs)

Filaire vers BSpline Draft

Emplacement du menu
Draft → Filaire vers BSpline
Ateliers
Atelier Draft, Atelier Arch
Raccourci par défaut
Aucun
Introduit dans la version
-
Voir aussi
Filaire Draft, BSpline Draft

Description

Cet outil convertit les objets Filaire Draft en BSpline Draft et inversement.

Conversion d'un fil en B-Spline et un B-Spline fermé en un fil fermé

Utilisation

  1. Sélectionnez un Filaire Draft ou un BSpline Draft. L'outil est désactivé si aucun objet n'est sélectionné.
  2. Appuyez sur le bouton Filaire vers BSpline Draft.

Un nouvel objet sera créé. L'objet d'origine ne sera pas modifié.

Remarque: si un fil fermé avec des arêtes vives est utilisé pour créer une spline, le nouvel objet peut avoir des segments de courbe se croisant automatiquement et peut ne pas être visible dans la vue 3D. Si c'est le cas, définissez manuellement DonnéesMake Face à false pour afficher la nouvelle forme ou sur DonnéesClosed à false pour créer une forme ouverte.

Options

Il n'y a pas d'options pour cet outil. Cela fonctionne avec l'objet sélectionné ou non.

Script

Non disponible, le but ici, est de créer un nouvel objet, avec les points d'un autre objet facilement, par exemple :

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.

  • Si l'objet actif est un Wire:
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)