Std Part/fr: Difference between revisions

From FreeCAD Documentation
No edit summary
(Updating to match new version of source page)
 
(39 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<languages/>
<languages/>

{{Docnav/fr
{{Docnav/fr
|
|
Line 22: Line 23:
{{Button|[[File:Std_Part.svg|16px]] [[Std_Part/fr|Std Part]]}} (appelé en interne [[App_Part/fr|App Part]]) est un conteneur à usage général qui conserve ensemble un groupe d'objets afin qu'ils puissent être déplacés ensemble en tant qu'unité dans la [[3D_view/fr|vue 3D]].
{{Button|[[File:Std_Part.svg|16px]] [[Std_Part/fr|Std Part]]}} (appelé en interne [[App_Part/fr|App Part]]) est un conteneur à usage général qui conserve ensemble un groupe d'objets afin qu'ils puissent être déplacés ensemble en tant qu'unité dans la [[3D_view/fr|vue 3D]].


L'élément Std Part a été développé pour être le bloc de construction de base pour créer des [[assembly/fr|assemblages]] mécaniques. En particulier, il est conçu pour organiser les objets qui ont une [[Part_TopoShape/fr|Part TopoShape]], comme [[Part_CreatePrimitives/fr|Part Primitives]], [[PartDesign_Body/fr|PartDesign Corps]], et d'autres [[Part_Feature/fr|Part Features]]. Std Part fournit un [[App_Origin/fr|objet Origin]] avec des axes X, Y et Z locaux et des plans standard, qui peuvent être utilisés comme référence pour positionner les objets contenus. De plus, des Std Parts peuvent être imbriquées dans d'autres Std Parts pour créer un grand assemblage à partir de sous-assemblages plus petits.
L'élément Std Part a été développé pour être le bloc de construction de base pour créer des [[assembly/fr|assemblages]] mécaniques. En particulier, il est conçu pour organiser les objets qui ont une [[Part_TopoShape/fr|Part TopoShape]], comme [[Part_CreatePrimitives/fr|Part Primitives]], [[PartDesign_Body/fr|PartDesign Corps]], et d'autres [[Part_Feature/fr|Part Features]]. Std Part fournit un [[#Origine|objet Origin]] avec des axes X, Y et Z locaux et des plans standard, qui peuvent être utilisés comme référence pour positionner les objets contenus. De plus, des Std Parts peuvent être imbriquées dans d'autres Std Parts pour créer un grand assemblage à partir de sous-assemblages plus petits.


Bien qu'elle soit principalement destinée aux corps solides, Std Part peut être utilisée pour gérer tout objet possédant une propriété [[Placement/fr|Positionnement]], elle peut donc également contenir [[Mesh_Feature/fr|Mesh Features]], [[Sketch/fr|Esquisses]] et d'autres objets dérivés de la classe [[App_GeoFeature/fr|App GeoFeature]].
Bien qu'elle soit principalement destinée aux corps solides, Std Part peut être utilisée pour gérer tout objet possédant une propriété [[Placement/fr|Positionnement]], elle peut donc également contenir [[Mesh_Feature/fr|Mesh Features]], [[Sketch/fr|Esquisses]] et d'autres objets dérivés de la classe [[App_GeoFeature/fr|App GeoFeature]].
Line 32: Line 33:
[[File:Std Part-tree.png]][[File:Std Part example.png]]
[[File:Std Part-tree.png]][[File:Std Part example.png]]


{{Caption|A gauche : éléments à l'intérieur d'une Std Part dans la [[Tree_view/fr|Vue en arborescence]]. À droite : les objets positionnés dans l'espace, référés à l'origine de Std Part.}}
{{Caption|À gauche : éléments à l'intérieur d'une Std Part dans la [[Tree_view/fr|Vue en arborescence]]. À droite : les objets positionnés dans l'espace, référés à l'origine de Std Part.}}


<span id="Usage"></span>
==Utilisation==
==Utilisation==


# Appuyez sur le bouton {{Button|[[File:Std_Part.svg|16px]] [[Std_Part/fr|Std Part]]}}. Un Part vide est créée et devient automatiquement ''[[Std_Part/fr#Statut_actif|actif]]''.
# Appuyez sur le bouton {{Button|[[File:Std_Part.svg|16px]] [[Std_Part/fr|Créer une pièce]]}}.
# Une pièce vide est créée et devient automatiquement ''[[#Statut_actif|active]]''.
# Pour ajouter des objets à un Part, sélectionnez-les dans la [[tree_view/fr|vue en arborescence]], puis faites-les glisser et déposez-les sur le Part.
# Pour supprimer des objets d'un Part, faites-les glisser hors du Part et sur l'étiquette du document en haut de la [[tree_view/fr|vue en arborescence]].
# Pour ajouter des objets à la pièce, sélectionnez-les dans la [[Tree_view/fr|Vue en arborescence]], puis faites-les glisser et déposez-les sur la pièce.
# Pour retirer des objets de la pièce, faites-les glisser hors de la pièce et déposez-les sur l'étiquette du document en haut de la [[Tree_view/fr|Vue en arborescence]].
# Vous pouvez également ajouter et supprimer des objets en modifiant la propriété {{PropertyData|Group}} de la pièce.


<span id="Notes"></span>
=== Remarques ===
== Remarques ==


* Depuis la v0.19, un objet donné ne peut appartenir qu'à un seul Part.
* Un objet ne peut appartenir qu'à une seule pièce.
* Les opérations 3D comme les [[Part_Boolean/fr|Part Opération booléenne]] ne peuvent pas être appliquées aux pièces. Par exemple, vous ne pouvez pas sélectionner deux pièces et effectuer un [[Part_Fuse/fr|Part Union]] ou un [[Part_Cut/fr|Part Soustraction]].
* Double-cliquez sur Part dans la [[tree_view/fr|vue en arborescence]] ou ouvrez le menu contextuel (clic droit) et sélectionnez {{MenuCommand|Toggle active part}} pour activer ou désactiver Part. Si un autre Part est actif, il sera désactivé. Voir [[Std_Part/fr#Statut_actif|status actif]] pour plus d'informations.

===Limitations===

* À l'heure actuelle, les méthodes [[Draft Snap/fr|Draft accrochage]] ne fonctionnent pas sur les conteneurs de Part sélectionnés ni sur les objets à l'intérieur de ceux-ci.
* Part n'a pas de [[Part_TopoShape/fr|forme topologique]] donc les opérations 3D comme les [[Part_Boolean/fr|Part Opérations booléennes]] ne peuvent pas être utilisées sur un Part lui-même. Par exemple, vous ne pouvez pas sélectionner deux Parts et effectuer une [[Part_Union/fr|Part Union]] ou une [[Part_Cut/fr|Part Soustraction]].
** Ces opérations booléennes ne fonctionnent que sur les objets contenus tant que ceux-ci sont dérivés de [[Part_Feature/fr|Part Feature]] et ont une [[Part_TopoShape/fr|forme topologique]].


<span id="Properties"></span>
==Propriétés==
==Propriétés==


[[Std_Part/fr|Std Part]] est appelée en interne [[App_Part/fr|App Part]] (classe {{incode|App::Part}}) et est dérivé d'une [[App_GeoFeature/fr|App GeoFeature]] (classe {{incode|App::GeoFeature}}). Il partage donc la plupart des propriétés de ce dernier.
[[Std_Part/fr|Std Part]], appelée en interne [[App_Part/fr|App Part]] (classe {{incode|App::Part}}), est dérivé de [[App_GeoFeature/fr|App GeoFeature]] (classe {{incode|App::GeoFeature}}) et hérite de toutes ses propriétés. Il possède également plusieurs propriétés supplémentaires. Notamment des propriétés qui l'aident à gérer les informations dans le contexte d'un assemblage, par exemple, {{PropertyData|Type}}, {{PropertyData|Id}}, {{PropertyData|License}}, {{PropertyData|LicenseURL}} and {{PropertyData|Group}}.


Ce sont les propriétés disponibles dans l'[[Property_editor/fr|éditeur de propriétés]]. Les propriétés masquées peuvent être affichées en utilisant la commande {{MenuCommand|Show all}} dans le menu contextuel de l'[[Property_editor/fr|éditeur de propriétés]].
En plus des propriétés décrites dans [[App_GeoFeature/fr|App GeoFeature]], la classe App Part possède des propriétés qui l'aident à gérer les informations dans le contexte d'un assemblage, par exemple, {{PropertyData|Type}}, {{PropertyData|Id}}, {{PropertyData|License}}, {{PropertyData|LicenseURL}}, {{PropertyData|Color}} et {{PropertyData|Group}}.

Ce sont les propriétés disponibles dans l'[[property editor/fr|éditeur de propriétés]]. Les propriétés masquées peuvent être affichées en utilisant la commande {{MenuCommand|Show all}} dans le menu contextuel de l'[[property editor/fr|éditeur de propriétés]].


<span id="Data"></span>
=== Données ===
=== Données ===


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


* {{PropertyData/fr|Type|String}} : une description de cet objet. Par défaut, il s'agit d'une chaîne vide {{value|""}}.
* {{PropertyData|Type|String}} : une description pour cet objet. Par défaut, il s'agit d'une chaîne vide {{value|""}}.
* {{PropertyData/fr|Id|String}} : une identification ou un numéro de pièce pour cet objet. Par défaut, il s'agit d'une chaîne vide {{value|""}}.
* {{PropertyData|Material|Link}} : le matériau de cet objet.
* {{PropertyData/fr|License|String}} : un champ pour spécifier la licence pour cet objet. Par défaut, il s'agit d'une chaîne vide {{value|""}}.
* {{PropertyData|Meta|Map|Hidden}} : avec des méta-informations supplémentaires. Par défaut, il est vide <code>{}</code>.
* {{PropertyData/fr|LicenseURL|String}} : un champ pour spécifier l'adresse Web de la licence ou du contrat pour cet objet. Par défaut, il s'agit d'une chaîne vide {{value|""}}.
* {{PropertyData|Id|String}} : une identification ou un numéro de pièce pour cet objet. Par défaut, il s'agit d'une chaîne vide {{value|""}}.
* {{PropertyData|Uid|UUID|Hidden}} : l'[https://fr.wikipedia.org/wiki/Universally_unique_identifier identificateur unique et universel] (UUID) (numéro de 128 bits) de l'objet. Il est attribué au moment de la création.
* {{PropertyData/fr|Color|Color}} : un tuple de quatre valeurs RGBA à virgule flottante {{value|(r,g,b,a)}} pour définir la couleur de l'objet; par défaut, c'est {{value|(1.0, 1.0, 1.0, 1.0)}} qui est affiché comme {{value|[255,255,255]}} sur la base 255, <span style="background-color:#fff; color:#000; border: 1px solid #888888; width:3em; height:12pt; padding: 2px 1em 2px;">white color</span>.
* {{PropertyData|License|String}} : champ permettant de spécifier la licence de cet objet. Par défaut, il s'agit d'une chaîne vide {{value|""}}.
* {{PropertyData/fr|Placement|Placement}} : la position de l'objet dans la [[3D view/fr|Vue 3D]]. Le placement est défini par un point {{incode|Base}} (vecteur) et une {{incode|Rotation}} (axe et angle). Voir [[Placement/fr|Positionnement]].
** {{PropertyData/fr|Angle}} : l'angle de rotation autour de {{PropertyData/fr|Axis}}. Par défaut, il s'agit de {{value|}} (zéro degré).
* {{PropertyData|LicenseURL|String}} : champ permettant de spécifier l'adresse web de la licence ou du contrat pour cet objet. Par défaut, il s'agit d'une chaîne vide {{value|""}}.
* {{PropertyData|Color|Color}} : un tuple de quatre valeurs RGBA à virgule flottante {{value|(r,g,b,a)}} pour définir la couleur de l'objet ; par défaut, il s'agit de {{value|(1.0, 1.0, 1.0, 1.0)}}, qui s'affiche comme {{value|[255,255,255]}} sur la base 255, <span style="background-color:#fff ; color:#000 ; border : 1px solid #888888; width:3em; height:12pt; padding: 2px 1em 2px;">couleur blanche</span>.
** {{PropertyData/fr|Axis}} : le vecteur unitaire qui définit l'axe de rotation pour le placement. Chaque composant est une valeur à virgule flottante entre {{value|0}} et {{value|1}}. Si une valeur est supérieure à {{value|1}}, le vecteur est normalisé de sorte que l'amplitude du vecteur est {{value|1}}. Par défaut, il s'agit de l'axe Z positif, {{value|(0, 0, 1)}}.
* {{PropertyData|Placement|Placement}} : la position de l'objet dans la [[3D_view/fr|Vue 3D]]. L'emplacement est défini par un point {{incode|Base}} (vecteur) et un {{incode|Rotation}} (axe et angle). Voir [[Placement/fr|Placement]].
** {{PropertyData/fr|Position}} : un vecteur avec les coordonnées 3D du point de base. Par défaut, c'est l'origine {{value|(0, 0, 0)}}.
* {{PropertyData/fr|Label|String}} : le nom modifiable par l'utilisateur de cet objet, c'est une chaîne UTF8 arbitraire.
** {{PropertyData|Angle}} : l'angle de rotation autour de {{PropertyData|Axis}}. Par défaut, il est {{value|0°}}. (zéro degré).
** {{PropertyData|Axis}} : le vecteur unitaire qui définit l'axe de rotation du placement. Chaque composante est une valeur à virgule flottante comprise entre {{value|0}} et {{value|1}}. Si une valeur est supérieure à {{value|1}}, le vecteur est normalisé de manière à ce que sa magnitude soit {{value|1}}. Par défaut, il s'agit de l'axe Z positif, {{value|(0, 0, 1)}}.
* {{PropertyData/fr|Group|LinkList}} : une liste d'objets référencés. Par défaut, il est vide {{value|[]}}.
** {{PropertyData|Position}} : un vecteur contenant les coordonnées 3D du point de base. Par défaut, il s'agit de l'origine {{value|(0, 0, 0)}}.

* {{PropertyData|Label|String}} : le nom modifiable par l'utilisateur de cet objet, il s'agit d'une chaîne UTF8 arbitraire.
===== Propriétés cachées de Données =====
* {{PropertyData|Label2|String|Hidden}} : 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 {{value|""}}.

* {{PropertyData/fr|Material|Map}} : carte avec les propriétés du matériau. Par défaut, il est <code>{}</code>.
* {{PropertyData|Expression Engine|ExpressionEngine|Hidden}} : une liste d'expressions. Par défaut, elle est vide {{value|[]}}.
* {{PropertyData|Visibility|Bool|Hidden}} : affichage ou non l'objet.
* {{PropertyData/fr|Meta|Map}} : carte avec des méta-informations supplémentaires. Par défaut, il est <code>{}</code>.
* {{PropertyData|Origin|Link|Hidden}} : l'objet [[App_OriginGroupExtension|App Origin]] qui sert de référence positionnelle pour tous les éléments énumérés dans {{PropertyData|Group}}.
* {{PropertyData/fr|Uid|UUID}} : l'identifiant universellement unique [https://en.wikipedia.org/wiki/Universally_unique_identifier universally unique identifier] (UUID) (numéro 128 bits) de l'objet. Ceci est attribué au moment de la création.
* {{PropertyData/fr|Label2|String}} : une description plus longue et modifiable par l'utilisateur de cet objet, c'est une chaîne UTF8 arbitraire qui peut inclure des retours à la ligne. Par défaut, il s'agit d'une chaîne vide {{value|""}}.
* {{PropertyData|Group|LinkList}} : une liste d'objets référencés. Par défaut, elle est vide {{value|[]}}.
* {{PropertyData/fr|Expression Engine|ExpressionEngine}} : une liste d'expressions. Par défaut, il est vide {{value|[]}}.
* {{PropertyData|_Group Touched|Bool|Hidden}} : indique si le groupe est touché ou non.
* {{PropertyData/fr|Visibility|Bool}} : afficher ou non l'objet.
* {{PropertyData/fr|Origin|Link}} : l'objet [[App_Origin/fr|App Origin]] qui est la référence de position pour tous les éléments répertoriés dans {{PropertyData|Group}}.
* {{PropertyData/fr|_ Group Touched|Bool}} : si le groupe est touché ou non.


<span id="View"></span>
=== Vue ===
=== Vue ===


{{TitleProperty|Display Options}}
App Part n'a que les cinq propriétés de la base [[App_FeaturePython/fr|App FeaturePython]] et n'a pas de propriétés masquées.


* {{PropertyView|Display Mode|Enumeration}} : {{value|Group}}.
{{TitleProperty/fr|Base}}
* {{PropertyView|Show In Tree|Bool}} : si la valeur est {{TRUE}}, l'objet apparaît dans la [[Tree_view/fr|Vue en arborescence]]. Sinon, il est défini comme invisible.
* {{PropertyView|Visibility|Bool}} : si elle est {{TRUE}}, l'objet apparaît dans la [[3D_view/fr|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 {{KEY|Espace}} du clavier.


{{TitleProperty|Selection}}
* {{PropertyView/fr|Display Mode|Enumeration}} : {{value|Group}}.
* {{PropertyView/fr|On Top When Selected|Enumeration}} : {{value|Disabled}} (default), {{value|Enabled}}, {{value|Object}}, {{value|Element}}.
* {{PropertyView/fr|Selection Style|Enumeration}} : {{value|Shape}} (défaut), {{value|BoundBox}}. Si l'option est {{value|Shape}}, la forme entière (sommets, arêtes et faces) sera mise en surbrillance dans la [[3D view/fr|vue 3D]] ; s'il s'agit de {{value|BoundBox}}, seul le cadre de sélection sera mis en surbrillance.
* {{PropertyView/fr|Show In Tree|Bool}} : s'il s'agit de {{TRUE}}, l'objet apparaît dans la [[Tree_view/fr|vue en arborescence]]. Sinon, il est défini comme invisible.
* {{PropertyView/fr|Visibility|Bool}} : s'il s'agit de {{TRUE}}, l'objet apparaît dans la [[3D_view/fr|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 {{KEY|Espace}} du clavier.


* {{PropertyView|On Top When Selected|Enumeration}} : {{value|Disabled}} (par défaut) (par défaut), {{value|Enabled}}, {{value|Object}}, {{value|Element}}.
== Concept d'assemblage ==
* {{PropertyView|Selection Style|Enumeration}} : {{value|Shape}}. (par défaut), {{value|BoundBox}}. Si l'option est {{value|Shape}}, la forme entière (sommets, arêtes et faces) sera mise en évidence dans la [[3D_view/fr|Vue 3D]] ; si elle est {{value|BoundBox}}, seule la boîte de délimitation sera mise en évidence.

Std Part est destiné à être le bloc de construction de base pour créer des assemblages. Contrairement à un [[PartDesign_Body/fr|PartDesign Corps]], un assemblage est censé être une collection d'éléments distincts et distinctifs qui sont connectés d'une manière ou d'une autre dans le monde physique, par exemple par pression, vis ou colle.

Exemples qui pourraient être des Parts :
* Une table en bois composée de pièces individuelles en bois (pieds, plateau) assemblées par de la colle ou des vis métalliques.
* Un roulement à billes composé de plusieurs billes en acier, d'une bague intérieure, d'un dispositif de retenue, d'un joint et d'une bague extérieure.
* Un assemblage d'une vis avec une rondelle et un écrou assorti.

[[File:PartDesign_Body_contiguous_separate.png|x200px]] [[File:PartDesign_Body_contiguous_assembly.png|x200px]]
{{Caption|A gauche : trois solides contigus individuels, chacun modélisé par un [[PartDesign_Body/fr|PartDesign Corps]]. À droite : les corps individuels réunis à l'intérieur d'un Std Part pour créer un assemblage.}}

De manière générale, lors de l'importation d'un fichier STEP dans le programme, l'assemblage principal et ses sous-assemblages seront importés en tant que conteneurs de Parts, chacun d'eux contenant une simple [[Part_Feature/fr|Part Feature]].


<span id="Detailed_explanation"></span>
==Explications détaillées==
==Explications détaillées==


<span id="Active_status"></span>
=== Statut actif ===
=== Statut actif ===


Un document ouvert peut contenir plusieurs Part. Un Part actif sera affiché dans la [[Tree_view/fr|vue en arborescence]] avec la couleur d'arrière-plan spécifiée par la valeur {{MenuCommand|Conteneur actif}} dans [[Preferences_Editor/fr#Couleurs|éditeur de préférences]] (par défaut, clair bleu). Une partie active sera également affichée en gras.
Un document ouvert peut contenir plusieurs parties. Mais une seule pièce peut être active. La partie active est affichée dans la [[Tree_view/fr|vue en arborescence]] avec la couleur de fond spécifiée par la valeur {{MenuCommand|Contenant actif}} dans l'[[Preferences_Editor/fr#Couleurs|éditeur de préférences]] (par défaut, bleu clair). Il sera également affiché avec du texte en gras.


Pour activer ou désactiver un Part :
Pour activer ou désactiver un Part :
* Double-cliquez dessus dans l'[[Tree_view/fr|arborescence]] ou
* Double-cliquez dessus dans l'[[Tree_view/fr|arborescence]] ou
* Ouvrez le menu contextuel (clic droit) et sélectionnez {{MenuCommand|Toggle active part}}.
* Ouvrez le menu contextuel (clic droit) et sélectionnez {{MenuCommand|Toggle active part}}.

{{Emphasis|Remarques:}}
* {{emphasis|active status}} de Parts a été développé en v0.17 en parallèle avec le {{emphasis|active status}} de [[PartDesign_Body/fr|PartDesign Corps]]. Cependant, à partir de la v0.19, ce statut ne sert plus à rien pour les Parts.
* Même lorsqu'un Part est actif, les objets nouvellement créés ne sont pas placés automatiquement à l'intérieur. Dans ce cas, faites simplement glisser ces nouveaux objets et déposez-les sur le Part souhaité.
* Un seul Part peut être actif à la fois.


[[File:Std_Part_active.png]]
[[File:Std_Part_active.png]]
Line 131: Line 112:
{{Caption|Document avec deux Std Parts, dont le second est actif.}}
{{Caption|Document avec deux Std Parts, dont le second est actif.}}


<span id="Origin"></span>
=== Origine ===
=== Origine ===


L'Origine se compose des trois axes standard (X, Y, Z) et de trois plans standard (XY, XZ et YZ). Les [[Sketch/fr|Esquisses]] et d'autres objets peuvent être attachés à ces éléments lors de leur création.
L'Origine se compose des trois axes standard (X, Y, Z) et de trois plans standard (XY, XZ et YZ). Les [[Sketch/fr|esquisses]] et d'autres objets peuvent être attachés à ces éléments lors de leur création.


[[File:Part_Origin_tree.png]] [[File:Part_Origin_view.png]]
[[File:Part_Origin_tree.png]] [[File:Part_Origin_view.png]]


{{Caption|A gauche: Part Origin dans la [[tree view/fr|vue en arborescence]] et telle qu'elle apparaît affichée dans la [[3D view/fr|vue 3D]]. A droite: représentation des éléments Origin dans la [[3D view/fr|Vue 3D]].}}
{{Caption|À gauche : Part Origin dans la [[Tree_view/fr|vue en arborescence]]. À droite : représentation des éléments Origin dans la [[3D_view/fr|Vue 3D]].}}


{{Emphasis|Remarque:}} L'origine est un [[App_Origin/fr|App Origin]] objet (de classe {{incode|App::Origin}}) tandis que les axes et les plans sont respectivement des objets de type {{incode|App::Line}} et {{incode|App::Plane}}. Chacun de ces éléments peut être masqué et non masqué individuellement avec la barre {{KEY|Espace}}. Cela est utile pour choisir la référence correcte lors de la création d'autres objets.
{{Emphasis|Remarque}} : L'origine est un [[App_OriginGroupExtension/fr|App Origin]] objet (de classe {{incode|App::Origin}}) tandis que les axes et les plans sont respectivement des objets de type {{incode|App::Line}} et {{incode|App::Plane}}. Chacun de ces éléments peut être masqué et non masqué individuellement avec la barre {{KEY|Espace}}. Cela est utile pour choisir la référence correcte lors de la création d'autres objets.


{{Emphasis|Remarque 2:}} tous les éléments à l'intérieur du Part sont référencés à l'origine du Part, ce qui signifie que le Part peut être déplacé et tourné en référence au système de coordonnées global sans affecter le placement des éléments à l'intérieur.
{{Emphasis|Remarque 2 :}} tous les éléments à l'intérieur du Part sont référencés à l'origine du Part, ce qui signifie que le Part peut être déplacé et tourné en référence au système de coordonnées global sans affecter le placement des éléments à l'intérieur.


<span id="Visibility_Management"></span>
=== Gestion de la visibilité ===
=== Gestion de la visibilité ===


Line 148: Line 131:


[[File:Part_Visibility_off.png]] [[File:Part_Visibility_on.png]]
[[File:Part_Visibility_off.png]] [[File:Part_Visibility_on.png]]
{{Caption|La visibilité de Std Part détermine si les objets regroupés sous lui sont affichés dans la [[3D view/fr|vue 3D]] ou non. A gauche: Part est masqué, donc aucun des objets ne sera affiché dans la [[3D view/fr|vue 3D]]. A droite: Part est visible, donc chaque objet contrôle sa propre visibilité.}}
{{Caption|La visibilité de Std Part détermine si les objets regroupés sous lui sont affichés dans la [[3D view/fr|vue 3D]] ou non. À gauche : Part est masqué, donc aucun des objets ne sera affiché dans la [[3D view/fr|vue 3D]]. À droite : Part est visible, donc chaque objet contrôle sa propre visibilité.}}

=== Héritage ===

Un [[Std_Part/fr|Std Part]] est formellement une instance de la classe {{incode|App::Part}} dont le parent est la base de [[App_GeoFeature/fr|App GeoFeature]] ({{incode|App::GeoFeature}} class) et est complété par une extension Origin.

[[File:FreeCAD_core_objects.svg|800px]]

{{Caption|Diagramme simplifié des relations entre les objets centraux du programme. La classe {{incode|App::Part}} est un simple conteneur qui a une position dans l'espace 3D et a une origine pour contrôler le placement des objets regroupés sous celui-ci}}


<span id="Scripting"></span>
== Script ==
== Script ==


{{Emphasis|Voir aussi:}} [[FreeCAD Scripting Basics/fr|Débuter avec les scripts]] et [[scripted objects/fr|Objets créés par script]].
{{Emphasis|Voir aussi :}} [[FreeCAD_Scripting_Basics/fr|Débuter avec les scripts]] et [[Scripted_objects/fr|Objets créés par script]].


Voir [[Part_Feature/fr|Part Feature]] pour les informations générales sur l'ajout d'objets au document.
Voir [[Part_Feature/fr|Part Feature]] pour les informations générales sur l'ajout d'objets au document.


Std Part ([[App_Part/fr|App Part]]) est créé avec la méthode {{incode|addObject()}} du document. Une fois que Part existe, d'autres objets peuvent y être ajoutés avec les méthodes {{incode|addObject()}} ou {{incode|addObjects()}} de Part.
Std Part ([[App_Part/fr|App Part]]) est créé avec la méthode {{incode|addObject()}} du document. Une fois que Part existe, d'autres objets peuvent y être ajoutés avec les méthodes {{incode|addObject()}} ou {{incode|addObjects()}}.

{{Code|code=
{{Code|code=
import FreeCAD as App
import FreeCAD as App


doc = App.newDocument()
doc = App.newDocument()
obj = App.ActiveDocument.addObject("App::Part", "Part")
part = App.ActiveDocument.addObject("App::Part", "Part")


bod1 = App.ActiveDocument.addObject("PartDesign::Body", "Body")
obj1 = App.ActiveDocument.addObject("PartDesign::Body", "Body")
bod2 = App.ActiveDocument.addObject("Part::Box", "Box")
obj2 = App.ActiveDocument.addObject("Part::Box", "Box")


obj.addObjects([bod1, bod2])
part.addObjects([obj1, obj2])
App.ActiveDocument.recompute()
App.ActiveDocument.recompute()
}}
}}


Vous ne pouvez pas créer un {{incode|App::Part}} scripté. Cependant, vous pouvez ajouter un comportement {{incode|App::Part}} à un objet {{incode|Part::FeaturePython}} scripté en utilisant le code suivant :
Part est un conteneur pour d'autres objets, elle n'a donc pas sa propre [[Shape/fr|Shape]] ([[Part_TopoShape/fr|Part TopoShape]]). Cependant, dans les [[Expressions/fr|expressions]] ou dans l'[[Spreadsheet_Workbench|atelier tableur]], il est utile d'obtenir la forme composée de tous les objets contenus dans Part. Cela peut être accompli en utilisant la pseudo-propriété {{incode|_shape}}, qui peut ensuite être utilisée pour extraire d'autres attributs.

{{Code|code=
{{Code|code=
class MyGroup(object):
=Part._shape.Edges[0].Length
def __init__(self, obj=None):
self.Object = obj
if obj:
self.attach(obj)

def dumps(self):
return

def loads(self, _state):
return

def attach(self, obj):
obj.addExtension("App::OriginGroupExtensionPython")
obj.Origin = FreeCAD.ActiveDocument.addObject("App::Origin", "Origin")

def onDocumentRestored(self, obj):
self.Object = obj

class ViewProviderMyGroup(object):
def __init__(self, vobj=None):
if vobj:
vobj.Proxy = self
self.attach(vobj)
else:
self.ViewObject = None

def attach(self, vobj):
vobj.addExtension("Gui::ViewProviderOriginGroupExtensionPython")
self.ViewObject = vobj

def dumps(self):
return None

def loads(self, _state):
return None

App.ActiveDocument.addObject("Part::FeaturePython",
"Group",
group.MyGroup(),
group.ViewProviderMyGroup(),
True)
}}
}}


Line 193: Line 212:
}}
}}


{{Std Base navi{{#translation:}}}}
{{Std_Base_navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{clear}}

Latest revision as of 09:02, 27 January 2024

Std Part

Emplacement du menu
Aucun
Ateliers
Tous
Raccourci par défaut
Aucun
Introduit dans la version
0.17
Voir aussi
Std Groupe, PartDesign Corps

Description

Std Part (appelé en interne App Part) est un conteneur à usage général qui conserve ensemble un groupe d'objets afin qu'ils puissent être déplacés ensemble en tant qu'unité dans la vue 3D.

L'élément Std Part a été développé pour être le bloc de construction de base pour créer des assemblages mécaniques. En particulier, il est conçu pour organiser les objets qui ont une Part TopoShape, comme Part Primitives, PartDesign Corps, et d'autres Part Features. Std Part fournit un objet Origin avec des axes X, Y et Z locaux et des plans standard, qui peuvent être utilisés comme référence pour positionner les objets contenus. De plus, des Std Parts peuvent être imbriquées dans d'autres Std Parts pour créer un grand assemblage à partir de sous-assemblages plus petits.

Bien qu'elle soit principalement destinée aux corps solides, Std Part peut être utilisée pour gérer tout objet possédant une propriété Positionnement, elle peut donc également contenir Mesh Features, Esquisses et d'autres objets dérivés de la classe App GeoFeature.

Ne pas confondre PartDesign Corps avec Std Part. Le premier est un objet spécifique utilisé dans l' Atelier PartDesign, destiné à modéliser un solide contigu unique au moyen de PartDesign Features. En revanche, Std Part n'est pas utilisée pour la modélisation, juste pour arranger différents objets dans l'espace, avec l'intention de créer des assemblages.

L'outil Std Part n'est pas défini par un atelier particulier mais par le système de base. Il se trouve donc dans la structure toolbar qui est disponible dans tous les ateliers. Pour grouper des objets arbitrairement sans tenir compte de leur position, utilisez Std Groupe. Cet objet n'affecte pas les placements des éléments qu'il contient, c'est essentiellement juste un dossier qui sert à garder la Vue en arborescence organisée.

À gauche : éléments à l'intérieur d'une Std Part dans la Vue en arborescence. À droite : les objets positionnés dans l'espace, référés à l'origine de Std Part.

Utilisation

  1. Appuyez sur le bouton Créer une pièce.
  2. Une pièce vide est créée et devient automatiquement active.
  3. Pour ajouter des objets à la pièce, sélectionnez-les dans la Vue en arborescence, puis faites-les glisser et déposez-les sur la pièce.
  4. Pour retirer des objets de la pièce, faites-les glisser hors de la pièce et déposez-les sur l'étiquette du document en haut de la Vue en arborescence.
  5. Vous pouvez également ajouter et supprimer des objets en modifiant la propriété DonnéesGroup de la pièce.

Remarques

Propriétés

Std Part, appelée en interne App Part (classe App::Part), est dérivé de App GeoFeature (classe App::GeoFeature) et hérite de toutes ses propriétés. Il possède également plusieurs propriétés supplémentaires. Notamment des propriétés qui l'aident à gérer les informations dans le contexte d'un assemblage, par exemple, DonnéesType, DonnéesId, DonnéesLicense, DonnéesLicenseURL and DonnéesGroup.

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éesType (String) : une description pour cet objet. Par défaut, il s'agit d'une chaîne vide "".
  • DonnéesMaterial (Link) : le matériau de cet objet.
  • Données (Hidden)Meta (Map) : avec des méta-informations supplémentaires. Par défaut, il est vide {}.
  • DonnéesId (String) : une identification ou un numéro de pièce pour cet objet. Par défaut, il s'agit d'une chaîne vide "".
  • Données (Hidden)Uid (UUID) : l'identificateur unique et universel (UUID) (numéro de 128 bits) de l'objet. Il est attribué au moment de la création.
  • DonnéesLicense (String) : champ permettant de spécifier la licence de cet objet. Par défaut, il s'agit d'une chaîne vide "".
  • DonnéesLicenseURL (String) : champ permettant de spécifier l'adresse web de la licence ou du contrat pour cet objet. Par défaut, il s'agit d'une chaîne vide "".
  • DonnéesColor (Color) : un tuple de quatre valeurs RGBA à virgule flottante (r,g,b,a) pour définir la couleur de l'objet ; par défaut, il s'agit de (1.0, 1.0, 1.0, 1.0), qui s'affiche comme [255,255,255] sur la base 255, couleur blanche.
  • DonnéesPlacement (Placement) : la position de l'objet dans la Vue 3D. L'emplacement est défini par un point Base (vecteur) et un Rotation (axe et angle). Voir Placement.
    • DonnéesAngle : l'angle de rotation autour de DonnéesAxis. Par défaut, il est . (zéro degré).
    • DonnéesAxis : le vecteur unitaire qui définit l'axe de rotation du placement. Chaque composante est une valeur à virgule flottante comprise entre 0 et 1. Si une valeur est supérieure à 1, le vecteur est normalisé de manière à ce que sa magnitude soit 1. Par défaut, il s'agit de l'axe Z positif, (0, 0, 1).
    • DonnéesPosition : un vecteur contenant 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, 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 l'objet.
  • Données (Hidden)Origin (Link) : l'objet App Origin qui sert de référence positionnelle pour tous les éléments énumérés dans DonnéesGroup.
  • DonnéesGroup (LinkList) : une liste d'objets référencés. Par défaut, elle est vide [].
  • Données (Hidden)_Group Touched (Bool) : indique si le groupe est touché ou non.

Vue

Display Options

  • VueDisplay Mode (Enumeration) : Group.
  • VueShow In Tree (Bool) : si la valeur est true, l'objet apparaît dans la Vue en arborescence. Sinon, il est défini comme invisible.
  • VueVisibility (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 du clavier.

Selection

  • VueOn Top When Selected (Enumeration) : Disabled (par défaut) (par défaut), Enabled, Object, Element.
  • 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 la Vue 3D ; si elle est BoundBox, seule la boîte de délimitation sera mise en évidence.

Explications détaillées

Statut actif

Un document ouvert peut contenir plusieurs parties. Mais une seule pièce peut être active. La partie active est affichée dans la vue en arborescence avec la couleur de fond spécifiée par la valeur Contenant actif dans l'éditeur de préférences (par défaut, bleu clair). Il sera également affiché avec du texte en gras.

Pour activer ou désactiver un Part :

  • Double-cliquez dessus dans l'arborescence ou
  • Ouvrez le menu contextuel (clic droit) et sélectionnez Toggle active part.

Document avec deux Std Parts, dont le second est actif.

Origine

L'Origine se compose des trois axes standard (X, Y, Z) et de trois plans standard (XY, XZ et YZ). Les esquisses et d'autres objets peuvent être attachés à ces éléments lors de leur création.

À gauche : Part Origin dans la vue en arborescence. À droite : représentation des éléments Origin dans la Vue 3D.

Remarque : L'origine est un App Origin objet (de classe App::Origin) tandis que les axes et les plans sont respectivement des objets de type App::Line et App::Plane. Chacun de ces éléments peut être masqué et non masqué individuellement avec la barre Espace. Cela est utile pour choisir la référence correcte lors de la création d'autres objets.

Remarque 2 : tous les éléments à l'intérieur du Part sont référencés à l'origine du Part, ce qui signifie que le Part peut être déplacé et tourné en référence au système de coordonnées global sans affecter le placement des éléments à l'intérieur.

Gestion de la visibilité

La visibilité d'un Part remplace la visibilité de tout objet qu'elle contient. Si Part est masqué, les objets qu'il contient seront également masqués, même si leur propriété individuelle VueVisibility est définie sur true. Si Part est visible, la VueVisibility de chaque objet détermine si l'objet est affiché ou non.

La visibilité de Std Part détermine si les objets regroupés sous lui sont affichés dans la vue 3D ou non. À gauche : Part est masqué, donc aucun des objets ne sera affiché dans la vue 3D. À droite : Part est visible, donc chaque objet contrôle sa propre visibilité.

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.

Std Part (App Part) est créé avec la méthode addObject() du document. Une fois que Part existe, d'autres objets peuvent y être ajoutés avec les méthodes addObject() ou addObjects().

import FreeCAD as App

doc = App.newDocument()
part = App.ActiveDocument.addObject("App::Part", "Part")

obj1 = App.ActiveDocument.addObject("PartDesign::Body", "Body")
obj2 = App.ActiveDocument.addObject("Part::Box", "Box")

part.addObjects([obj1, obj2])
App.ActiveDocument.recompute()

Vous ne pouvez pas créer un App::Part scripté. Cependant, vous pouvez ajouter un comportement App::Part à un objet Part::FeaturePython scripté en utilisant le code suivant :

class MyGroup(object):
    def __init__(self, obj=None):
        self.Object = obj
        if obj:
            self.attach(obj)

    def dumps(self):
        return

    def loads(self, _state):
        return

    def attach(self, obj):
        obj.addExtension("App::OriginGroupExtensionPython")
        obj.Origin = FreeCAD.ActiveDocument.addObject("App::Origin", "Origin")

    def onDocumentRestored(self, obj):
        self.Object = obj

class ViewProviderMyGroup(object):
    def __init__(self, vobj=None):
        if vobj:
            vobj.Proxy = self
            self.attach(vobj)
        else:
            self.ViewObject = None

    def attach(self, vobj):
        vobj.addExtension("Gui::ViewProviderOriginGroupExtensionPython")
        self.ViewObject = vobj

    def dumps(self):
        return None

    def loads(self, _state):
        return None

App.ActiveDocument.addObject("Part::FeaturePython",
                             "Group",
                             group.MyGroup(),
                             group.ViewProviderMyGroup(),
                             True)