Surface Remplissage

From FreeCAD Documentation
Revision as of 19:50, 1 October 2020 by David69 (talk | contribs) (Created page with "Surface Remplissage (classe {{incode|Surface::Filling}}) est dérivée de la classe de base Part Feature (classe {{incode|Part::Feat...")
Other languages:

Cette documentation n'est pas terminée. Merci de nous aider et de contribuer à la documentation.

Modèle GuiCommand explique comment les commandes doivent être documentées. Parcourez Category:UnfinishedDocu pour voir d'autres pages incomplètes comme celle-ci. Voir Category:Command_Reference pour toutes les commandes.

Voir Écrire une page Wiki pour apprendre à éditer les pages du wiki, et aller à Contribuer à FreeCAD pour apprendre d'autres façons de contribuer.

Surface Remplissage

Emplacement du menu
Surface → Filling...
Ateliers
Surface
Raccourci par défaut
Aucun
Introduit dans la version
0.17
Voir aussi
Aucun

Description

Surface Remplissage crée une surface à partir d'une série d'arêtes limites connectées.

La surface peut être modifiée en ajoutant des arêtes et des sommets de contrainte que la surface doit traverser.

Exemple de surface remplie, délimitée par quatre arêtes situées dans le plan XY; (à gauche) uniquement les quatre arêtes et (à droite) une courbe supplémentaire dans l'espace définissant la courbure de la surface

Utilisation

  1. Assurez-vous d'avoir au moins trois arêtes ou courbes dans l'espace formant un contour fermé. Par exemple, ceux-ci peuvent être créés avec des outils de l' atelier Draft ou de l' atelier Sketcher . L'utilisation de trois arêtes créerait une surface triangulaire; quatre arêtes une surface quadrilatérale.
    • En option, les courbes peuvent être dessinées à l'intérieur du contour fermé, sans nécessairement toucher les bords. Ces courbes peuvent être utilisées pour contrôler la courbure de la surface résultante.
    • De même, un certain nombre de sommets peuvent être utilisés dans le même but pour indiquer où la surface doit passer.
  2. Appuyez sur le bouton Surface fill.
  3. Dans la section Filling, appuyez sur Add edge.
  4. Utilisez le pointeur pour sélectionner les arêtes souhaitées dans la Vue 3D. Un aperçu de la forme finale sera affiché après avoir sélectionné des arêtes valides qui forment un contour fermé.
    • Facultativement, pour contrôler la courbure de la surface, allez dans la section Unbound bords, appuyez sur Add edge, et choisissez les arêtes souhaitées dans la Vue 3D .
    • Facultativement, pour contrôler la courbure au moyen de sommets, allez dans la section Vertices, appuyez sur Add vertex, et choisissez les sommets désirés dans la Vue 3D .
  5. Appuyez sur OK pour terminer l'opération.

Les arêtes de base qui forment le contour fermé, ainsi que les sommets et arêtes auxiliaires, peuvent appartenir à des courbes 2D de Draft ou de Sketcher mais peut également appartenir à des objets solides 3D tels que ceux créés avec Part ou PartDesign.

Options

  • Dans la section Filling.
    • Add edge: appuyez une fois pour commencer à sélectionner les arêtes dans la Vue 3D. Les lignes individuelles telles que Draft BSplines et Sketcher BSplines peuvent être choisies ainsi que n'importe quelle arête des objets solides, comme ceux des PartDesign Corps et des Part Primitives.
    • Remove edge: appuyez une fois pour commencer à choisir les arêtes dans la Vue 3D. Celles-ci doivent être des arêtes précédemment sélectionnées avec Add edge.
  • Right mouse button: ouvrez le menu contextuel et sélectionnez Remove ou appuyez sur Suppr au clavier pour supprimer le bord actuellement sélectionné dans la liste.


  • Dans la section Unbound Edges, des boutons similaires Add edge et Remove edge sont disponibles pour sélectionner des arêtes de support afin de contrôler la courbure de la surface d'origine.
  • Dans la section Filling, des boutons similaires Add vertex et Remove vertex sont disponibles, dans ce cas pour sélectionner les sommets de support.
  • Appuyez sur Cancel ou Echap pour abandonner l'opération en cours.

Propriétés

Surface Remplissage (classe Surface::Filling) est dérivée de la classe de base Part Feature (classe Part::Feature via la sous-classe Part::Spline), elle partage donc toutes les propriétés de cette dernière.

In addition to the properties described in Part Feature, the Surface Filling has the following properties in the property editor.

Data

Filling

  • DonnéesProperty: description de la propriété
  • VueProperty: description de la propriété

View

Base

  • VueControl Points (Bool): it defaults to false; if set to true, it will show an overlay with the control points of the surface.

Scripting

See also: FreeCAD Scripting Basics.

The Surface Filling tool can be used in macros and from the Python console by adding the Surface::Filling object.

  • The edges to be used to define the surface must be assigned as a LinkSubList to the BoundaryEdges property of the object.
  • Auxiliary edges and vertices must be assigned as a LinkSubLists to the UnboundEdges and Points properties of the object.
  • All objects with edges need to be computed before they can be used as input for the properties of the Filling object.
import FreeCAD as App
import Draft

doc = App.newDocument()

a = App.Vector(-20, -20, 0)
b = App.Vector(-18, 25, 0)
c = App.Vector(60, 26, 0)
d = App.Vector(33, -20, 0)

points1 = [a, App.Vector(-20, -8, 0), App.Vector(-17, 7, 0), b]
obj1 = Draft.make_bspline(points1)

points2 = [b, App.Vector(0, 25, 0), c]
obj2 = Draft.make_bspline(points2)

points3 = [c, App.Vector(37, 4, 0), d]
obj3 = Draft.make_bspline(points3)

points4 = [d, App.Vector(-2, -18, 0), a]
obj4 = Draft.make_bspline(points4)
doc.recompute()

surf = doc.addObject("Surface::Filling", "Surface")
surf.BoundaryEdges = [(obj1, "Edge1"),
                      (obj2, "Edge1"),
                      (obj3, "Edge1"),
                      (obj4, "Edge1")]
doc.recompute()

# ---------------------------------------------------------
points_spl = [App.Vector(-10, 0, 2),
              App.Vector(4, 0, 7),
              App.Vector(18, 0, -5),
              App.Vector(25, 0, 0),
              App.Vector(30, 0, 0)]
aux_edge = Draft.make_bspline(points_spl)
doc.recompute()

surf.UnboundEdges = [(aux_edge, "Edge1")]
doc.recompute()

# ---------------------------------------------------------
aux_v1 = Draft.make_line(App.Vector(-13, -12, 5),
                         App.Vector(-13, -12, -5))
aux_v2 = Draft.make_line(App.Vector(-3, 18, 5),
                         App.Vector(-3, 18, -5))
doc.recompute()

surf.Points = [(aux_v1, "Vertex2"),
               (aux_v2, "Vertex1")]
doc.recompute()