Un objet Mesh Feature, ou formellement un Mesh::Feature
, est un élément simple avec un objet de maillage associé qui peut être affiché dans la vue 3D.
Une fonction de maillage (Mesh Feature) est conceptuellement similaire à une Part Feature. Le premier est l'objet de base pour les éléments avec des informations de "maillage", tandis que le second est l'objet de base pour les éléments avec des informations de "forme géométrique".
Notez que l' atelier FEM utilise également des maillages, mais dans ce cas, il utilise un objet différent, appelé FEM FemMeshObject (classe Fem::FemMeshObject
). Cet objet n'est pas dérivé de la fonction de maillage et possède des propriétés différentes.
Diagramme simplifié des relations entre les objets centraux dans Freecad
Presque tous les objets maillés créés par les commandes disponibles dans l'interface graphique de l'atelier Mesh sont des Mesh Features. Les objets maillés paramétriques créés par la commande Mesh Solide régulier sont les seules exceptions. Un Mesh Feature peut également être créé à partir de la console Python comme décrit dans la section Script.
L'objet Mesh::Feature
est défini dans l'atelier Mesh mais peut être utilisé comme classe de base pour les objets scriptés dans tous les ateliers générant des formes géométriques 2D et 3D.
Un Mesh::Feature
a des propriétés simples comme un placement et des propriétés visuelles pour définir l'apparence de ses arêtes et faces.
Voir Propriétés pour tous les types de propriétés que les objets crées par script peuvent avoir.
La classe Mesh Feature (classe Mesh::Feature
) est dérivée de App GeoFeature de base. (classe App::GeoFeature
) et hérite de toutes ses propriétés. Elle possède également plusieurs propriétés supplémentaires, notamment une propriété DonnéesMesh, qui stocke son Mesh MeshObject. Il s'agit de la géométrie qui est affichée dans la vue 3D.
Ce sont les propriétés disponibles dans l'éditeur de propriétés. Les propriétés masquées peuvent être affichées en utilisant la commande Tout afficher dans le menu contextuel de l'éditeur de propriétés.
Base
PythonObject
) : une classe personnalisée associée à cet objet. Ceci n'existe que pour la version en Python. Voir Script.MeshKernel
): une classe Mesh MeshObject associée à cet objet. Elle répertorie le nombre de Points
, Edges
et Faces
du maillage.Placement
): la position de l'objet dans la vue 3D. Le placement est défini par un Base
point (vecteur) et un Rotation
(axe et angle). Voir Placement.
0°
(zéro degré).0
et 1
. Si une valeur est supérieure à 1
, le vecteur est normalisé de sorte que la norme du vecteur soit 1
. Par défaut, il s'agit de l'axe Z positif, (0, 0, 1)
.(0, 0, 0)
.String
): le nom modifiable par l'utilisateur de cet objet, c'est une chaîne UTF8 arbitraire.String
) : une description plus longue, modifiable par l'utilisateur, de cet objet. Il s'agit d'une chaîne UTF8 arbitraire qui peut inclure des nouvelles lignes. Par défaut, il s'agit d'une chaîne vide ""
.ExpressionEngine
) : une liste d'expressions. Par défaut, elle est vide []
.Bool
) : affichage ou non de l'objet.
Base
PythonObject
) : une classe personnalisée de viewprovider associée à cet objet. Ceci n'existe que pour la version en Python. Voir Script.Display Options
Bool
) : si la valeur est true
, l'objet affichera la boîte englobante dans la vue 3D.Enumeration
) : Shaded
(pas d'arêtes), Wireframe
(pas de faces), Flat Lines
(affichage classique), Points
(uniquement les sommets).Bool
) : si la valeur est true
, l'objet apparaît dans la Tree view. Sinon, il est défini comme invisible.Bool
) : si elle est true
, l'objet apparaît dans la vue 3D ; sinon, il est invisible. Par défaut, cette propriété peut être activée ou désactivée en appuyant sur la barre Espace.Object Style
Bool
) : la valeur par défaut est false
.FloatConstraint
) :Enumeration
) : Un côté
. (par défaut), Two side
; l'éclairage provient de deux côtés ou d'un seul côté dans la vue 3D.Color
) : un tuple de trois valeurs RVB à virgule flottante (r,g,b)
pour définir la couleur des bords dans la vue 3D ; par défaut, il s'agit de (0.0, 0.0, 0.0)
, qui est affiché comme [0,0,0]
sur la base 255, complètement noir.Percent
) : un nombre entier de 0
à 100
(un pourcentage) qui détermine le niveau de transparence des bords dans la vue 3D. Une valeur de 100
indique des bords complètement invisibles ; les bords sont invisibles mais peuvent toujours être sélectionnés tant que VueSelectable est true
.FloatConstraint
) : un flottant qui détermine la largeur en pixels des bords dans la vue 3D. La valeur par défaut est 1.0
.Bool
) : la valeur par défaut est false
.FloatConstraint
) : similaire à VueLine Width, définit la taille des sommets.Color
) : similaire à VueLine Color, définit la couleur des faces. La valeur par défaut est (0.8, 0.8, 0.8)
, qui s'affiche comme [204,204,204]
sur la base 255, un gris clair.Material
) : un App Material associé à cet objet. Par défaut, il est vide.Percent
) : un nombre entier compris entre 0
et 100
(un pourcentage) qui détermine le niveau de transparence des faces dans la vue 3D. Une valeur de 100
indique des faces complètement invisibles ; les faces sont invisibles mais peuvent toujours être sélectionnées tant que VueSelectable est true
.Selection
Enumeration
) : Disabled
(par défaut), Enabled
, Object
, Element
.Bool
) : si elle vaut true
, l'objet peut être sélectionné avec le pointeur dans la vue 3D. Sinon, l'objet ne peut pas être sélectionné tant que cette option n'est pas définie sur true
.Enumeration
) : Shape
(par défaut), BoundBox
. Si l'option est Shape
, la forme entière (sommets, arêtes et faces) sera mise en évidence dans la vue 3D ; si elle est BoundBox
, seule la boîte de délimitation sera mise en évidence.
Voir aussi : Débuter avec les scripts et Objets créés par script.
Voir Part Feature pour les informations générales sur l'ajout d'objets au document.
Un Mesh Feature est créée avec la méthode addObject()
du document.
import FreeCAD as App
doc = App.newDocument()
obj = App.ActiveDocument.addObject("Mesh::Feature", "Name")
obj.Label = "Custom label"
Pour la sous-classification de Python, vous devez créer l'objet Mesh::FeaturePython
.
import FreeCAD as App
doc = App.newDocument()
obj = App.ActiveDocument.addObject("Mesh::FeaturePython", "Name")
obj.Label = "Custom label"