Draft Polyligne vers B-spline

    From FreeCAD Documentation
    This page is a translated version of the page Draft WireToBSpline and the translation is 100% complete.

    Draft WireToBSpline.svg Draft Polyligne vers B-spline

    Emplacement du menu
    Modification → Polyligne vers B-spline
    Ateliers
    Draft, Arch
    Raccourci par défaut
    Aucun
    Introduit dans la version
    -
    Voir aussi
    Draft Polyligne, Draft B-spline

    Description

    La commande Draft WireToBSpline.svg Draft Polyligne vers B-spline convertit les Draft Polylignes en Draft B-splines et inversement.

    Draft Wire2BSpline example.jpg

    Conversion d'une Draft Polyligne en Draft B-spline, et d'une Draft B-spline fermée en Draft Polyligne fermée.

    Utilisation

    1. Sélectionnez une Draft Polyligne ou une Draft B-spline.
    2. Il existe plusieurs façons de lancer la commande :
      • Appuyez sur le bouton Draft WireToBSpline.svg Polyligne vers B-spline.
      • Sélectionnez la Modification → Draft WireToBSpline.svg Polyligne vers B-spline dans le menu.
    3. Un nouvel objet est créé.

    Remarques

    • La commande peut générer une Draft Polyligne ou une Draft B-spline fermée et auto-sécante avec une face. Un tel objet ne s'affichera pas correctement dans la Vue 3D. Sa propriété DonnéesMake Face ou sa propriété DonnéesClosed doivent être définies sur false.

    Script

    Voir aussi : Autogenerated API documentation et FreeCAD Débuter avec les scripts.

    Pour convertir une polyligne en bspline, ou vice versa, passez la propriété Points de l'objet source à la méthode make_bspline, respectivement à la méthode make_wire de l'atelier Draft.

    Exemple:

    import FreeCAD as App
    import Draft
    
    doc = App.newDocument()
    
    p1 = App.Vector(1000, 1000, 0)
    p2 = App.Vector(2000, 1000, 0)
    p3 = App.Vector(2500, -1000, 0)
    p4 = App.Vector(3500, -500, 0)
    
    base_wire = Draft.make_wire([p1, p2, p3, p4])
    base_spline = Draft.make_bspline([-p1, -1.3*p2, -1.2*p3, -2.1*p4])
    
    points1 = base_wire.Points
    spline_from_wire = Draft.make_bspline(points1)
    
    points2 = base_spline.Points
    wire_from_spline = Draft.make_wire(points2)
    
    doc.recompute()