Introduction
Un objet App GeoFeature, ou officiellement App::GeoFeature
, est la classe de base de la plupart des objets qui afficheront des éléments géométriques dans la Vue 3D car il inclut une propriété DonnéesPlacement.
Diagramme simplifié des relations entre les objets centraux dans Freecad
Utilisation
App GeoFeature est un objet interne, il ne peut donc pas être créé à partir de l'interface graphique. Il n'est généralement pas destiné à être utilisé directement, mais il peut plutôt être sous-classé pour obtenir un objet nu qui n'a qu'une propriété DonnéesPlacement de base pour définir sa position dans la vue 3D.
Certains des objets dérivés les plus importants sont les suivants :
- La classe Part Feature, le parent de la plupart des objets 2D et 3D formes topologiques.
- La classe Mesh Feature, le parent de la plupart des objets fabriqués à partir de maillages, pas des solides.
- La classe Fem FemMeshObject, le parent des maillages d'éléments finis créés avec l'atelier FEM.
- La classe CAM Feature, le parent des chemins créés avec l'atelier CAM pour une utilisation dans l'usinage CNC.
- La classe App Part, qui définit les Std Parts qui peuventt être utilisés comme conteneurs de corps pour effectuer des assemblages.
Lorsque vous créez cet objet dans Python, au lieu de sous-classer App::GeoFeature
, vous devez sous-classer App::GeometryPython
car ce dernier inclut une valeur par défaut fournisseur de vues et attributs Proxy
pour l'objet lui-même et son fournisseur de vues. Voir Script.
Propriétés App GeoFeature
Voir Propriétés pour tous les types de propriétés que les objets crées par script peuvent avoir.
App GeoFeature (classe App::GeoFeature
) est dérivée de la classe de base App DocumentObject. (classe App::DocumentObject
) et hérite de toutes ses propriétés. En outre, il possède une propriété DonnéesPlacement, qui contrôle sa position dans la vue 3D.
Propriétés App GeometryPython
Voir Propriétés pour tous les types de propriétés que les objets scriptés peuvent avoir.
La classe App GeometryPython (classe App::GeometryPython
) est dérivée de la classe de base App GeoFeature (classe App::GeoFeature
) et hérite de toutes ses propriétés. Elle possède également plusieurs propriétés supplémentaires.
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 Afficher les propriétés cachées dans le menu contextuel de l'éditeur de propriétés.
Données
Base
- Données (Hidden)Proxy (
PythonObject
) : une classe personnalisée associée à cet objet. - DonnéesPlacement (
Placement
): la position de l'objet dans la Vue 3D. Le placement est défini par un pointBase
(vecteur) et unRotation
(axe et angle). Voir Positionnement.- DonnéesAngle: l'angle de rotation autour de DonnéesAxis. Par défaut
0°
(zéro degré). - DonnéesAxis: le vecteur unitaire qui définit l'axe de rotation pour le placement. Chaque composant est une valeur à virgule flottante entre
0
et1
. Si une valeur est supérieure à1
, le vecteur est normalisé de sorte que l'amplitude du vecteur est1
. 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, c'est l'origine
(0, 0, 0)
.
- DonnéesAngle: l'angle de rotation autour de DonnéesAxis. Par défaut
- DonnéesLabel (
String
): le nom modifiable par l'utilisateur de cet objet, il s'agit d'une chaîne UTF8 arbitraire. - Données (Hidden)Label2 (
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""
. - Données (Hidden)Expression Engine (
ExpressionEngine
) : une liste d'expressions. Par défaut, elle est vide[]
. - Données (Hidden)Visibility (
Bool
) : affichage ou non de l'objet.
Vue
Base
- Vue (hidden)Proxy (
PythonObject
): une classe personnalisée de viewprovider associée à cet objet.
Display Options
- VueBounding Box (
Bool
): mis àtrue
, l'objet affichera le cadre de délimitation dans la Vue 3D. - VueDisplay Mode (
Enumeration
): voir les informations dans App FeaturePython. - VueShow In Tree (
Bool
): voir les informations dans App FeaturePython. - VueVisibility (
Bool
): voir les informations dans App FeaturePython.
Object Style
- VueShape Color (
Color
): un tuple de trois valeurs RVB à virgule flottante(r,g,b)
pour définir la couleur des faces dans la Vue 3D. Par défaut, il s'agit de(0.8, 0.8, 0.8)
, qui s'affiche sous la forme[204, 204, 204]
sur la base 255, un light gray . - Vue (Hidden)Shape Material (
Material
): un App Material associé à cet objet. Par defaut, vide. - VueTransparency (
Percent
): un entier de0
à100
qui détermine le niveau de transparence des faces dans la Vue 3D. Une valeur de100
indique des faces complètement invisibles. Les faces sont invisibles mais elles peuvent toujours être sélectionnées tant que VueSelectable esttrue
.
Selection
- VueOn Top When Selected (
Enumeration
): voir les informations dans App FeaturePython. - VueSelectable (
Bool
): s'il esttrue
, 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 surtrue
. - VueSelection Style (
Enumeration
): voir les informations dans App FeaturePython.
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 document.
Un GeoFeature est créé avec la méthode addObject()
du document. Si vous souhaitez créer un objet avec une 2D ou 3D forme topologique, il peut être préférable de créer l'une des sous-classes spécialisées pour la manipulation des formes, par exemple, Part Feature ou Part Part2DObject.
import FreeCAD as App
doc = App.newDocument()
obj = App.ActiveDocument.addObject("App::GeoFeature", "Name")
obj.Label = "Custom label"
Pour la sous-classification de Python, vous devez créer l'objet App::GeometryPython
.
import FreeCAD as App
doc = App.newDocument()
obj = App.ActiveDocument.addObject("App::GeometryPython", "Name")
obj.Label = "Custom label"
Cette page est extraite de https://wiki.freecad.org/App_GeoFeature