Surface Filling/fr: Difference between revisions

From FreeCAD Documentation
(Created page with "La surface peut être modifiée en ajoutant des arêtes et des sommets de contrainte que la surface doit traverser.")
No edit summary
(24 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{UnfinishedDocu{{#translation:}}}}
{{Docnav/fr
{{Docnav/fr
|
|
Line 31: Line 30:
==Utilisation==
==Utilisation==


# 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'[[File:Workbench_Draft.svg|24px]] [[Draft_Module/fr|atelier Draft]] ou de l' [[File:Workbench_Sketcher.svg|24px]] [[Sketcher_Workbench/fr|atelier Sketcher]] . L'utilisation de trois arêtes créerait une surface triangulaire; quatre arêtes une surface quadrilatérale.
<div class="mw-translate-fuzzy">
#* 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.
# Appuyez sur le bouton {{Button|[[File:Filling.svg|24px]] '''Surface filling...'''}}.
#* De même, un certain nombre de sommets peuvent être utilisés dans le même but pour indiquer où la surface doit passer.
# Étapes détaillées selon besoin.
# Appuyez sur le bouton {{Button|[[File:Surface_Filling.svg|16px]] [[Surface_Filling/fr|Surface fill]]}}.
# Définissez les options et appuyez sur {{Button|OK}}.
# Dans la section {{MenuCommand|Boundary}}, appuyez sur {{Button|Add edge}}.
</div>
# Utilisez le pointeur pour sélectionner les arêtes souhaitées dans la [[3D_view/fr|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é.
#* En option, allez dans la section {{MenuCommand|Curvature: non-boundary edges}}, appuyez sur {{Button|Add edge}}, et choisissez les arêtes souhaitées dans la [[3D_view/fr|Vue 3D]] .
#* En option, allez dans la section {{MenuCommand|Curvature: non-boundary vertices}}, appuyez sur {{Button|Add vertex}}, et choisissez les sommets désirés dans la [[3D_view/fr|Vue 3D]] .
# Appuyez sur {{Button|OK}} pour terminer l'opération.


The base edges that form the closed contour, as well as the auxiliary vertices and edges, can belong to 2D curves from [[File:Workbench_Draft.svg|24px]] [[Draft_Module|Draft]] or the [[File:Workbench_Sketcher.svg|24px]] [[Sketcher_Workbench|Sketcher]], but can also belong to 3D solid objects such as those created with the [[File:Workbench_Part.svg|24px]] [[Part_Module|Part]] or [[File:Workbench_PartDesign.svg|24px]] [[PartDesign_Workbench|PartDesign Workbenches]].
Les arêtes de base qui forment le contour fermé, ainsi que les sommets et arêtes auxiliaires, peuvent appartenir à des courbes 2D de [[File:Workbench_Draft.svg|24px]] [[Draft_Module/fr|Draft]] ou de [[File:Workbench_Sketcher.svg|24px]] [[Sketcher_Workbench/fr|Sketcher]] mais peut également appartenir à des objets solides 3D tels que ceux créés avec [[File:Workbench_Part.svg|24px]] [[Part_Module/fr|Part]] ou [[File:Workbench_PartDesign.svg|24px]] [[PartDesign_Workbench/fr|PartDesign]].


==Options==
==Options==


* Inside the {{MenuCommand|Filling}} section.
* Dans la section {{MenuCommand|Boundary}}.
** {{Button|Add edge}}: press once to start picking edges in the [[3D_view|3D view]]. Individual lines such as {{Button|[[File:Draft_BSpline.svg|16px]] [[Draft_BSpline|Draft BSplines]]}} and {{Button|[[File:Sketcher_CreateBSpline.svg|16px]] [[Sketcher_CreateBSpline|Sketcher BSplines]]}} can be chosen, as well as any edge from solid objects, like those of {{Button|[[File:PartDesign_Body.svg|16px]] [[PartDesign_Body|PartDesign Bodies]]}} and {{Button|[[File:Part_Primitives.svg|16px]] [[Part_Primitives|Part Primitives]]}}.
** {{Button|Add edge}}: appuyez une fois pour commencer à sélectionner {{MenuCommand|Boundary edges}} (les bords) dans la [[3D_view/fr|Vue 3D]]. Les arêtes droites telles que {{Button|[[File:Draft_Wire.svg|16px]] [[Draft_Wire/fr|Draft Fils]]}} et {{Button|[[File:Sketcher_CreatePolyline.svg|16px]] [[Sketcher_CreatePolyline/fr|Sketcher Polylignes]]}} ou les arêtes courbes telles que {{Button|[[File:Draft_BSpline.svg|16px]] [[Draft_BSpline|Draft BSplines]]}} et {{Button|[[File:Sketcher_CreateBSpline.svg|16px ]] [[Sketcher_CreateBSpline/fr|Sketcher BSplines]]}} peuvent être prises ainsi que n'importe quelle arête d'objets solides, comme celles des {{Button|[[File:PartDesign_Body.svg|16px]] [[PartDesign_Body/fr|PartDesign Corps]]}} et des {{Button|[[File:Part_Primitives.svg|16px]] [[Part_Primitives/fr|Part Primitives]]}}.
** {{Button|Remove edge}}: press once to start picking edges in the [[3D_view|3D view]]; these must be edges that were previously picked with {{Button|Add edge}}.
** {{Button|Remove edge}}: appuyez une fois pour commencer à choisir les arêtes dans la [[3D_view/fr|Vue 3D]]. Ces arêtes doivent avoir été préalablement sélectionnées avec {{Button|Add edge}}.
* {{KEY|Right mouse button}}: open the context menu and select {{Button|Remove}}, or press {{KEY|Del}} in the keyboard, to remove the currently selected edge in the list.
* {{KEY|Right mouse button}}: ouvrez le menu contextuel et sélectionnez {{Button|Remove}} ou appuyez sur {{KEY|Suppr}} au clavier pour supprimer le bord actuellement sélectionné dans la liste.


* Section {{MenuCommand|Curvature: non-boundary edges}}. Le bouton {{Button|Add edge}} permet de sélectionner des arêtes auxiliaires (lignes droites ou B-Splines) pour contrôler la courbure de la surface. La surface sera forcée de passer à travers ces bords auxiliaires. Cela fonctionne mieux lorsque les arêtes auxiliaires se trouvent à l'intérieur de la région délimitée par {{MenuCommand|Boundary bords}}.

* Section {{MenuCommand|Curvature: non-boundary vertices}}. Similaire aux arêtes non-frontières (non-boundary edges), l'utilisateur peut choisir des sommets auxiliaires pour contrôler la courbure. Ces sommets peuvent être autonomes {{Button|[[File:Draft_Point.svg|16px]] [[Draft_Point/fr|Draft Points]]}} ou {{Button|[[File:Part_Point.svg|16px]] [[Part_Point/fr|Part Points]]}} ou peut appartenir à n'importe quelle arête (lignes droites ou B-Splines) ou être un sommet d'angle dans un objet solide. Dans ce cas, la surface sera contrainte de passer par ces points auxiliaires.
* Inside the {{MenuCommand|Unbound Edges}} section similar {{Button|Add edge}} and {{Button|Remove edge}} buttons are available to pick supporting edges to control the curvature of the original surface.
* Appuyez sur {{Button|Cancel}} ou {{KEY|Echap}} pour abandonner l'opération en cours.
* Inside the {{MenuCommand|Filling}} section similar {{Button|Add vertex}} and {{Button|Remove vertex}} buttons are available, in this case to pick supporting vertices.
* Press {{Button|Cancel}} or {{KEY|Esc}} to abort the current operation.


==Propriétés==
==Propriétés==


A [[Surface_Filling|Surface Filling]] ({{incode|Surface::Filling}} class) is derived from the basic [[Part_Feature|Part Feature]] ({{incode|Part::Feature}} class, through the {{incode|Part::Spline}} subclass), therefore it shares all the latter's properties.
[[Surface_Filling/fr|Surface Remplissage]] (classe {{incode|Surface::Filling}}) est dérivée de la classe de base [[Part_Feature/fr|Part Feature]] (classe {{incode|Part::Feature}} via la sous-classe {{incode|Part::Spline}}), elle partage donc toutes les propriétés de cette dernière.


In addition to the properties described in [[Part_Feature|Part Feature]], the Surface Filling has the following properties in the [[property_editor|property editor]].
Outre les propriétés décrites dans [[Part Feature/fr|Part Feature]], Surface Remplissage a les propriétés suivantes dans l'[[property_editor/fr|éditeur de propriétés]].


=== Data ===
===Données===


{{TitleProperty|Filling}}
{{TitleProperty|Filling}}


* {{PropertyData/fr|Boundary Edges|LinkSubList}}: bords de frontière; C0 est requis pour les arêtes sans face correspondante.
<div class="mw-translate-fuzzy">
* {{PropertyData/fr|Property}}: description de la propriété
* {{PropertyData/fr|Boundary Faces|StringList}}:
* {{PropertyData/fr|Boundary Order|IntegerList}}: ordre de contrainte sur les faces limites; {{Value|0}}, {{Value|1}} et {{Value|2}} sont possibles.
* {{PropertyView/fr|Property}}: description de la propriété
* {{PropertyData/fr|Bords non liés|LinkSubList}}: bords de contrainte non liés; C0 est requis pour les arêtes sans face correspondante.
</div>
* {{PropertyData/fr|Unbound Faces|StringList}}:
* {{PropertyData/fr|Unbound Order|IntegerList}}: ordre de contrainte sur les faces non liées; {{Value|0}}, {{Value|1}} et {{Value|2}} sont possibles.
* {{PropertyData/fr|Free Faces|LinkSubList}}: contrainte libre sur une face.
* {{PropertyData/fr|Free Order|IntegerList}}: ordre de contrainte sur les faces libres.
* {{PropertyData/fr|Points|LinkSubList}}: points de contrainte sur la surface.
* {{PropertyData/fr|Initial Face|LinkSub}}: surface initiale à utiliser.
* {{PropertyData/fr|Degree|Integer}}: degré de départ, la valeur par défaut est {{Value|3}}.
* {{PropertyData/fr|Points On Curve|Integer}}: nombre de points sur une arête pour la contrainte.
* {{PropertyData/fr|Iterations|Integer}}: nombre d'itérations, la valeur par défaut est {{Value|2}}.
* {{PropertyData/fr|Anisotropy|Bool}}: il vaut par défaut {{FALSE}}.
* {{PropertyData/fr|Tolerance2d|Float}}: tolérance 2D, la valeur par défaut est {{Value|0.0}}.
* {{PropertyData/fr|Tolerance3d|Float}}: tolérance 3D, la valeur par défaut est {{Value|0.0}}.
* {{PropertyData/fr|Tol Angular|Float}}: tolérance G1, la valeur par défaut est {{Value|0.01}}.
* {{PropertyData/fr|Tol Curvature|Float}}: tolérance G2, la valeur par défaut est {{Value|0.10}}.
* {{PropertyData/fr|Maximum Degree|Integer}}: degré maximum de la courbe, la valeur par défaut est {{Value|8}}.
* {{PropertyData/fr|Maximum Segments|Integer}}: nombre maximum de segments, la valeur par défaut est {{Value|9}}.


=== View ===
=== Vue ===


{{TitleProperty|Base}}
{{TitleProperty|Base}}


* {{PropertyView|Control Points|Bool}}: it defaults to {{FALSE}}; if set to {{TRUE}}, it will show an overlay with the control points of the surface.
* {{PropertyView/fr|Control Points|Bool}}: la valeur par défaut est {{FALSE}}. Mis à {{TRUE}}, elle affichera une superposition avec les points de contrôle de la surface.

== Limitations ==

Le code de surface du noyau de modélisation interne [[OpenCASCADE/fr|OpenCASCADE]] est fragile et ne peut pas gérer correctement les entrées erronées. Les situations suivantes peuvent causer des problèmes et faire planter le programme, elles doivent donc être évitées:
* Ajouter des {{PropertyData/fr|Boundary Edges}} à cela résulterait en plusieurs faces fermées. Dans ce cas, ces arêtes doivent être ajoutées en tant que {{PropertyData/fr|Unbound Edges}} pour contrôler uniquement la courbure.
* Utilisation des {{PropertyData/fr|Boundary Edges}} paramétriques (par exemple {{Button|[[File:Draft_BSpline.svg|16px]] [[Draft_BSpline/fr|Draft BSplines]]}}) qui, une fois recalculés, ne parviennent pas à produire une frontière fermée. Autrement dit, les arêtes à utiliser comme {{PropertyData/fr|Boundary Edges}} doivent toujours former une forme fermée, même si leurs propriétés internes changent.


== Scripting ==
== Script ==


{{Emphasis|See also:}} [[FreeCAD_Scripting_Basics|FreeCAD Scripting Basics]].
{{Emphasis|Voir aussi:}} [[FreeCAD_Scripting_Basics/fr|FreeCAD Script de base]].


The Surface Filling tool can be used in [[macros|macros]] and from the [[Python|Python]] console by adding the {{incode|Surface::Filling}} object.
L'outil Remplissage de Surface peut être utilisé dans [[macros/fr|macros]] et depuis la console [[Python/fr|Python]] en ajoutant l'objet {{incode|Surface :: Filling}}.
* The edges to be used to define the surface must be assigned as a [[LinkSubList|LinkSubList]] to the {{incode|BoundaryEdges}} property of the object.
* Les arêtes à utiliser pour définir la surface doivent être affectées en tant que [[LinkSubList/fr|LinkSubList]] à la propriété {{incode|BoundaryEdges}} de l'objet.
* Auxiliary edges and vertices must be assigned as a [[LinkSubList|LinkSubLists]] to the {{incode|UnboundEdges}} and {{incode|Points}} properties of the object.
* Les arêtes et les sommets auxiliaires doivent être affectés en tant que [[LinkSubList/fr|LinkSubLists]] aux propriétés {{incode|UnboundEdges}} et {{incode|Points}} de l'objet.
* Tous les objets avec des arêtes doivent être calculés avant de pouvoir être utilisés comme entrée pour les propriétés de l'objet Filling.
* All objects with edges need to be computed before they can be used as input for the properties of the Filling object.


{{Code|code=
{{Code|code=

Revision as of 12:13, 4 October 2020

Other languages:

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 Boundary, 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é.
    • En option, allez dans la section Curvature: non-boundary edges, appuyez sur Add edge, et choisissez les arêtes souhaitées dans la Vue 3D .
    • En option, allez dans la section Curvature: non-boundary 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 Boundary.
    • Add edge: appuyez une fois pour commencer à sélectionner Boundary edges (les bords) dans la Vue 3D. Les arêtes droites telles que Draft Fils et Sketcher Polylignes ou les arêtes courbes telles que Draft BSplines et Sketcher BSplines peuvent être prises ainsi que n'importe quelle arête d'objets solides, comme celles des PartDesign Corps et des Part Primitives.
    • Remove edge: appuyez une fois pour commencer à choisir les arêtes dans la Vue 3D. Ces arêtes doivent avoir été préalablement 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.
  • Section Curvature: non-boundary edges. Le bouton Add edge permet de sélectionner des arêtes auxiliaires (lignes droites ou B-Splines) pour contrôler la courbure de la surface. La surface sera forcée de passer à travers ces bords auxiliaires. Cela fonctionne mieux lorsque les arêtes auxiliaires se trouvent à l'intérieur de la région délimitée par Boundary bords.
  • Section Curvature: non-boundary vertices. Similaire aux arêtes non-frontières (non-boundary edges), l'utilisateur peut choisir des sommets auxiliaires pour contrôler la courbure. Ces sommets peuvent être autonomes Draft Points ou Part Points ou peut appartenir à n'importe quelle arête (lignes droites ou B-Splines) ou être un sommet d'angle dans un objet solide. Dans ce cas, la surface sera contrainte de passer par ces points auxiliaires.
  • 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.

Outre les propriétés décrites dans Part Feature, Surface Remplissage a les propriétés suivantes dans l'éditeur de propriétés.

Données

Filling

  • DonnéesBoundary Edges (LinkSubList): bords de frontière; C0 est requis pour les arêtes sans face correspondante.
  • DonnéesBoundary Faces (StringList):
  • DonnéesBoundary Order (IntegerList): ordre de contrainte sur les faces limites; 0, 1 et 2 sont possibles.
  • DonnéesBords non liés (LinkSubList): bords de contrainte non liés; C0 est requis pour les arêtes sans face correspondante.
  • DonnéesUnbound Faces (StringList):
  • DonnéesUnbound Order (IntegerList): ordre de contrainte sur les faces non liées; 0, 1 et 2 sont possibles.
  • DonnéesFree Faces (LinkSubList): contrainte libre sur une face.
  • DonnéesFree Order (IntegerList): ordre de contrainte sur les faces libres.
  • DonnéesPoints (LinkSubList): points de contrainte sur la surface.
  • DonnéesInitial Face (LinkSub): surface initiale à utiliser.
  • DonnéesDegree (Integer): degré de départ, la valeur par défaut est 3.
  • DonnéesPoints On Curve (Integer): nombre de points sur une arête pour la contrainte.
  • DonnéesIterations (Integer): nombre d'itérations, la valeur par défaut est 2.
  • DonnéesAnisotropy (Bool): il vaut par défaut false.
  • DonnéesTolerance2d (Float): tolérance 2D, la valeur par défaut est 0.0.
  • DonnéesTolerance3d (Float): tolérance 3D, la valeur par défaut est 0.0.
  • DonnéesTol Angular (Float): tolérance G1, la valeur par défaut est 0.01.
  • DonnéesTol Curvature (Float): tolérance G2, la valeur par défaut est 0.10.
  • DonnéesMaximum Degree (Integer): degré maximum de la courbe, la valeur par défaut est 8.
  • DonnéesMaximum Segments (Integer): nombre maximum de segments, la valeur par défaut est 9.

Vue

Base

  • VueControl Points (Bool): la valeur par défaut est false. Mis à true, elle affichera une superposition avec les points de contrôle de la surface.

Limitations

Le code de surface du noyau de modélisation interne OpenCASCADE est fragile et ne peut pas gérer correctement les entrées erronées. Les situations suivantes peuvent causer des problèmes et faire planter le programme, elles doivent donc être évitées:

  • Ajouter des DonnéesBoundary Edges à cela résulterait en plusieurs faces fermées. Dans ce cas, ces arêtes doivent être ajoutées en tant que DonnéesUnbound Edges pour contrôler uniquement la courbure.
  • Utilisation des DonnéesBoundary Edges paramétriques (par exemple Draft BSplines) qui, une fois recalculés, ne parviennent pas à produire une frontière fermée. Autrement dit, les arêtes à utiliser comme DonnéesBoundary Edges doivent toujours former une forme fermée, même si leurs propriétés internes changent.

Script

Voir aussi: FreeCAD Script de base.

L'outil Remplissage de Surface peut être utilisé dans macros et depuis la console Python en ajoutant l'objet Surface :: Filling.

  • Les arêtes à utiliser pour définir la surface doivent être affectées en tant que LinkSubList à la propriété BoundaryEdges de l'objet.
  • Les arêtes et les sommets auxiliaires doivent être affectés en tant que LinkSubLists aux propriétés UnboundEdges et Points de l'objet.
  • Tous les objets avec des arêtes doivent être calculés avant de pouvoir être utilisés comme entrée pour les propriétés de l'objet Filling.
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()