Draft Polyligne vers B-spline

From FreeCAD Documentation
Revision as of 11:28, 30 November 2019 by Mario52 (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

Voir aussi: Draft API et FreeCAD Script de Base.

Il n'y a pas d'interface de programmation disponible pour l'outil WireToBSpline. Cependant, créer un nouvel objet à partir des points d'un autre est simple.

L'attribut Points d'un objet est une liste avec les points qui le composent. Cette liste peut être transmise aux fonctions qui construisent la géométrie. Chaque point est défini par son FreeCAD.Vector en millimètres.

Exemple:

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)