Mesh Feature

From FreeCAD Documentation
Revision as of 20:59, 29 July 2020 by David69 (talk | contribs)
Other languages:

Introduction

Un objet File:Tree Mesh.svg Mesh Feature ou officiellement un Mesh::Feature est un élément simple avec un mesh objet qui lui est associé et 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".

Veuillez noter 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, il a donc des propriétés différentes.

Diagramme simplifié des relations entre les objets centraux du programme. La classe Mesh::Feature est à l'origine de la plupart des objets possédant un maillage triangulaire. Ces objets sont créés à partir de l'atelier Mesh ou en important des fichiers STL, OBJ et des formats de maillage similaires.

Utilisation

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 objets scripté 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.

Propriétés

Part Feature (classe Mesh::Feature) est dérivé de la classe de base App GeoFeature (classe App::GeoFeature), de ce fait partage toutes les propriétés de cette dernière.

Outre les propriétés décrites dans App GeoFeature, Mesh Feature possède la propriété DonnéesMesh qui contrôle le type de géométrie affiché dans la vue 3D. Elle stocke Mesh MeshObject de cet objet. Il s'agit de la géométrie affichée dans la Vue 3D.

Les autres propriétés de cet objet sont celles liées à l'apparence de son Mesh MeshObject, y compris VueCrease Angle, VueLighting, VueLine Color, VueLine Transparency, VueLine Width, VueOpen Edges, VuePoint Size ainsi que la propriété masquée VueColoring.

Voir Propriétés pour tous les types de propriétés que les objets crées par script peuvent avoir.

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 Show all dans le menu contextuel de l'éditeur de propriétés.

Données

Base

  • DonnéesMesh (MeshKernel): une classe Mesh MeshObject associée à cet objet. Elle répertorie le nombre de Points, Edges et Faces du maillage.
  • DonnéesPlacement (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.
    • DonnéesAngle: l'angle de rotation autour de DonnéesAxis. Par défaut, (zéro degré).
    • DonnéesAxis: le vecteur unitaire qui définit l'axe de rotation du placement. Chaque composant est une valeur à virgule flottante entre 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).
    • DonnéesPosition: un vecteur avec les coordonnées 3D du point de base. Par défaut, il s'agit de l'origine (0, 0, 0).
  • DonnéesLabel (String): le nom modifiable par l'utilisateur de cet objet, c'est une chaîne UTF8 arbitraire.
Propriétés cachées de Données

Base

  • DonnéesExpression Engine (ExpressionEngine): une liste d'expressions. Par défaut, vide [].
  • DonnéesLabel2 (String): description plus longue et modifiable par l'utilisateur de cet objet, il s'agit d'une chaîne UTF8 arbitraire. Par défaut, il s'agit d'une chaîne vide "".
  • DonnéesProxy (PythonObject): une classe personnalisée associée à cet objet. Cela n'existe que pour la version Python. Voir Script.
  • DonnéesVisibility (Bool): affiche ou non l'objet.

Vue

La plupart des objets dans FreeCAD ont ce qu'on appelle un "fournisseur de vues", c'est-à-dire une classe qui définit l'apparence visuelle de l'objet dans la vue 3D et dans la vue en arborescence . Le fournisseur de vue par défaut des objets Mesh Feature définit les propriétés suivantes. Les objets scriptés dérivés de Mesh Feature auront également accès à ces propriétés.

Base

  • VueBounding Box (Bool): s'il est true, l'objet affichera le cadre de délimitation dans la vue 3D.
  • VueCrease Angle (FloatConstraint):
  • VueDisplay Mode (Enumeration): Shaded (sans arêtes), Wireframe (sans faces), Flat Lines (visualisation régulière), Points (uniquement les sommets).
  • VueLighting (Enumeration): One side (par défaut), Two side. L'éclairage provient de deux côtés ou d'un côté dans la vue 3D.
  • VueLine Color (Color): un tuple de trois valeurs RVB à virgule flottante (r,g,b) pour définir la couleur des arêtes dans la vue 3D; par défaut, il s'agit de (0.0, 0.0, 0.0), qui s'affiche sous la forme [0,0,0] en base 255, complètement noir.
  • VueLine Transparency (Percent): un entier de 0 à 100 (un pourcentage) qui détermine le niveau de transparence des arêtes dans la Vue 3D. Une valeur de 100 indique des arêtes complètement invisibles; les bords sont invisibles mais ils peuvent toujours être choisis tant que VueSelectable est true.
  • VueLine Width (FloatConstraint): valeur en flottant qui détermine la largeur en pixels des bords dans la vue 3D. La valeur par défaut est 1.0.
  • VueOn Top When Selected (Enumeration): Disabled (par défaut), Enabled, Object, Element.
  • VueOpen Edges (Bool): la valeur par défaut est false.
  • VuePoint Size (FloatConstraint): similaire à VueLine Width, définit la taille des sommets.
  • VueSelectable (Bool): s'il est 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.
  • VueSelection Style (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 vue 3D; s'il s'agit de BoundBox, seul le cadre englobant sera mis en surbrillance.
  • VueShape Color (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 sous la forme [204,204,204] sur la base 255, un gris clair.
  • VueShow In Tree (Bool): s'il vaut true, l'objet apparaît dans la vue en arborescence. Sinon, il est défini comme invisible.
  • VueTransparency (Percent): un entier de 0 à 100 (un pourcentage) qui détermine le niveau de transparence des faces dans la 3D vue. Une valeur de 100 indique des faces complètement invisibles; les faces sont invisibles mais elles peuvent toujours être sélectionnées tant que VueSelectable est true.
  • VueVisibility (Bool): s'il est true, l'objet apparaît dans la vue 3D; sinon, il est invisible. Par défaut, cette propriété peut être activée et désactivée en appuyant sur la barre Espace du clavier.
Propriétés cachées de Données

Base

  • VueColoration (Bool): par défaut false.
  • VueProxy (PythonObject): une classe de fournisseur de vue personnalisée associée à cet objet. N'existe que pour la version Python. Voir Script.
  • VueShape Material (Material): un App Material associé à cet objet. Par defaut, vide.

Script

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 programme.

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"

Ce Mesh::Feature de base n'a pas d'objet Proxy, il ne peut donc pas être entièrement utilisé pour la sous-classification.

Par conséquent, pour la sous-classe 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"