Std Group/it: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
Line 20: Line 20:
==Descrizione==
==Descrizione==


<div class="mw-translate-fuzzy">
Un [[Std_Group/it|Gruppo]] (chiamato internamente [[App_DocumentObjectGroup/it|App DocumentObjectGroup]]) è un contenitore per scopi generici che consente di raggruppare diversi tipi di oggetti nella [[tree_view/it|vista ad albero]], indipendentemente dal tipo di dati. È usato come una semplice cartella per classificare e organizzare gli oggetti nel modello, al fine di mantenere una struttura logica. I gruppi possono essere nidificati all'interno di altri gruppi.
Un [[Std_Group/it|Gruppo]] (chiamato internamente [[App_DocumentObjectGroup/it|App DocumentObjectGroup]]) è un contenitore per scopi generici che consente di raggruppare diversi tipi di oggetti nella [[tree_view/it|vista ad albero]], indipendentemente dal tipo di dati. È usato come una semplice cartella per classificare e organizzare gli oggetti nel modello, al fine di mantenere una struttura logica. I gruppi possono essere nidificati all'interno di altri gruppi.
</div>


Lo strumento Gruppo non è definito da un particolare ambiente di lavoro, ma dal sistema base; di conseguenza lo si ritrova nella {{MenuCommand|barra degli strumenti struttura}}, che è disponibile in tutti gli [[Workbenches/it|ambienti di lavoro]].
Lo strumento Gruppo non è definito da un particolare ambiente di lavoro, ma dal sistema base; di conseguenza lo si ritrova nella {{MenuCommand|barra degli strumenti struttura}}, che è disponibile in tutti gli [[Workbenches/it|ambienti di lavoro]].
Line 38: Line 40:
# Per rimuovere degli oggetti da un gruppo, trascinarli fuori dal gruppo, sull'etichetta del documento nella parte superiore della [[tree_view/it| vista ad albero]].
# Per rimuovere degli oggetti da un gruppo, trascinarli fuori dal gruppo, sull'etichetta del documento nella parte superiore della [[tree_view/it| vista ad albero]].
</div>
</div>

=== Note ===

*L'oggetto Gruppo non influisce sulle posizioni nella [[3D_view/it|Vista 3D]] degli elementi che contiene; è essenzialmente solo una cartella che viene utilizzata per mantenere organizzata la [[tree_view/it|vista ad albero]].
*Il Gruppo può anche essere creato nella [[Python console|Python console]] e sotto-classificato per creare speciali "gruppi" come indicato nella sezione [[Std_Group/it#Script|Script]].


== Proprietà ==
== Proprietà ==


<div class="mw-translate-fuzzy">
Un [[Std_Group/it|Gruppo]] è internamente chiamato [[App_DocumentObjectGroup/it|App DocumentObjectGroup]] ({{incode|App::DocumentObjectGroup}} class), è derivato dall'oggetto base [[App_DocumentObject/it|App DocumentObject]] ({{incode|App::DocumentObject}} class), pertanto condivide tutte le proprietà di quest'ultimo.
Un [[Std_Group/it|Gruppo]] è internamente chiamato [[App_DocumentObjectGroup/it|App DocumentObjectGroup]] ({{incode|App::DocumentObjectGroup}} class), è derivato dall'oggetto base [[App_DocumentObject/it|App DocumentObject]] ({{incode|App::DocumentObject}} class), pertanto condivide tutte le proprietà di quest'ultimo.
</div>


<div class="mw-translate-fuzzy">
Oltre alle proprietà descritte in [[App_FeaturePython/it|App FeaturePython]], che è l'istanza più elementare di un [[App_DocumentObject/it|App DocumentObject]], l'App DocumentObjectGroup ha la proprietà {{PropertyData|Group}}.
Oltre alle proprietà descritte in [[App_FeaturePython/it|App FeaturePython]], che è l'istanza più elementare di un [[App_DocumentObject/it|App DocumentObject]], l'App DocumentObjectGroup ha la proprietà {{PropertyData|Group}}.
</div>

Queste sono le proprietà disponibili nel [[property editor/it|editore delle proprietà]]. Le proprietà nascoste possono essere mostrate usando il comando {{MenuCommand|Mostra tutto}} nel menu contestuale dell'[[property editor/it|editore delle proprietà]].


=== Dati ===
=== Dati ===
Line 56: Line 55:
{{TitleProperty|Base}}
{{TitleProperty|Base}}


<div class="mw-translate-fuzzy">
* {{PropertyData|Label|String}}: il nome modificabile dall'utente di questo oggetto, è una stringa UTF8 arbitraria.
* {{PropertyData|Label|String}}: il nome modificabile dall'utente di questo oggetto, è una stringa UTF8 arbitraria.
* {{PropertyData|Group|LinkList}}: un elenco di oggetti referenziati. Di default, è vuoto {{value|[]}}.
* {{PropertyData|Group|LinkList}}: un elenco di oggetti referenziati. Di default, è vuoto {{value|[]}}.
</div>

====Proprietà dati nascoste====

* {{PropertyData|Proxy|PythonObject}}: una classe personalizzata associata a questo oggetto. Questa esiste solo per la versione [[Python/it|Python]]. Vedere [[Std_Group/it#Script|Script]].

===Vista===

{{TitleProperty|Base}}

Vedere [[App_FeaturePython/it|App FeaturePython]] per le proprietà di base della vista.

====Proprietà vista nascoste====

* {{PropertyView|Proxy|PythonObject}}: una classe del provider di visualizzazione personalizzata associata a questo oggetto. Questo esiste solo per la versione [[Python/it|Python]]. Vedere [[Std_Group/it#Script|Script]].

==Eredità==

Un [[Std Group/it|Gruppo]] è formalmente un'istanza della classe {{incode|App::DocumentObjectGroup}}, il cui parente è [[App_DocumentObject/it|App DocumentObject]] ({{incode|App::DocumentObject}} class), e viene incrementato con un'estensione del Gruppo.

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

{{Caption|Schema semplificato delle relazioni tra gli oggetti principali del programma. La classe {{incode|App::DocumentObjectGroup}} è un semplice contenitore che utilizza l'estensione Gruppo per poter contenere qualsiasi tipo di oggetto.}}


== Script ==
== Script ==


<div class="mw-translate-fuzzy">
{{Emphasis|Vedere anche:}} [[FreeCAD Scripting Basics/it|Script di base per FreeCAD]], e [[scripted objects/it|script di oggetti]].
{{Emphasis|Vedere anche:}} [[FreeCAD Scripting Basics/it|Script di base per FreeCAD]], e [[scripted objects/it|script di oggetti]].
</div>


Vedi [[Part_Feature/it|Funzione Part]] per le informazioni generali su come aggiungere oggetti al documento.
Vedi [[Part_Feature/it|Funzione Part]] per le informazioni generali su come aggiungere oggetti al documento.


<div class="mw-translate-fuzzy">
Un Gruppo ([[App_DocumentObjectGroup|App DocumentObjectGroup]]) è creato con il metodo del documento {{incode|addObject()}}. Una volta che un Gruppo esiste, altri oggetti possono essere aggiunti ad esso con i metodi {{incode|addObject()}} o {{incode|addObjects()}}.
Un Gruppo ([[App_DocumentObjectGroup|App DocumentObjectGroup]]) è creato con il metodo del documento {{incode|addObject()}}. Una volta che un Gruppo esiste, altri oggetti possono essere aggiunti ad esso con i metodi {{incode|addObject()}} o {{incode|addObjects()}}.
</div>

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


doc = App.newDocument()
doc = App.newDocument()
obj = App.ActiveDocument.addObject("App::DocumentObjectGroup", "Group")
group = App.ActiveDocument.addObject("App::DocumentObjectGroup", "Group")


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])
group.addObjects([obj1, obj2])
App.ActiveDocument.recompute()
App.ActiveDocument.recompute()
}}
}}
Line 103: Line 87:
Questo {{incode|App::DocumentObjectGroup}} di base non ha un oggetto Proxy, quindi non può essere pienamente utilizzato per la sotto-classe.
Questo {{incode|App::DocumentObjectGroup}} di base non ha un oggetto Proxy, quindi non può essere pienamente utilizzato per la sotto-classe.


<div class="mw-translate-fuzzy">
Pertanto, per la sottoclasse [[Python/it|Python]], è necessario creare l'oggetto {{incode|App::DocumentObjectGroupPython}}.
Pertanto, per la sottoclasse [[Python/it|Python]], è necessario creare l'oggetto {{incode|App::DocumentObjectGroupPython}}.
</div>


{{Code|code=
{{Code|code=
Line 131: Line 117:
}}
}}


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

Revision as of 08:07, 22 February 2022

Crea Gruppo

Posizione nel menu
Vista ad albero → Cliccare col destro sul nome del documento → Crea gruppo
Ambiente
Tutti
Avvio veloce
Nessuno
Introdotto nella versione
-
Vedere anche
Parte, Seleziona gruppo, Aggiungi al gruppo

Descrizione

Un Gruppo (chiamato internamente App DocumentObjectGroup) è un contenitore per scopi generici che consente di raggruppare diversi tipi di oggetti nella vista ad albero, indipendentemente dal tipo di dati. È usato come una semplice cartella per classificare e organizzare gli oggetti nel modello, al fine di mantenere una struttura logica. I gruppi possono essere nidificati all'interno di altri gruppi.

Lo strumento Gruppo non è definito da un particolare ambiente di lavoro, ma dal sistema base; di conseguenza lo si ritrova nella barra degli strumenti struttura, che è disponibile in tutti gli ambienti di lavoro.

Per raggruppare gli oggetti 3D come una singola unità, con l'intenzione di creare degli assiemi, utilizzare Parte.

Vari elementi all'interno di Gruppo nella vista ad albero.

Utilizzo

  1. Fare clic sul nome del documento nella vista ad albero, aprire il menu di scelta rapida (clic con il tasto destro) e scegliere Crea gruppo.
  2. In alternativa premere il pulsante Gruppo nella barra degli strumenti della struttura. Viene creato un gruppo vuoto.
  3. Per aggiungere degli oggetti a un gruppo, selezionarli nella vista ad albero, quindi trascinarli e rilasciarli sul gruppo.
  4. Per rimuovere degli oggetti da un gruppo, trascinarli fuori dal gruppo, sull'etichetta del documento nella parte superiore della vista ad albero.

Proprietà

Un Gruppo è internamente chiamato App DocumentObjectGroup (App::DocumentObjectGroup class), è derivato dall'oggetto base App DocumentObject (App::DocumentObject class), pertanto condivide tutte le proprietà di quest'ultimo.

Oltre alle proprietà descritte in App FeaturePython, che è l'istanza più elementare di un App DocumentObject, l'App DocumentObjectGroup ha la proprietà DatiGroup.

Dati

Base

  • DatiLabel (String): il nome modificabile dall'utente di questo oggetto, è una stringa UTF8 arbitraria.
  • DatiGroup (LinkList): un elenco di oggetti referenziati. Di default, è vuoto [].

Script

Vedi Funzione Part per le informazioni generali su come aggiungere oggetti al documento.

Un Gruppo (App DocumentObjectGroup) è creato con il metodo del documento addObject(). Una volta che un Gruppo esiste, altri oggetti possono essere aggiunti ad esso con i metodi addObject() o addObjects().

import FreeCAD as App

doc = App.newDocument()
group = App.ActiveDocument.addObject("App::DocumentObjectGroup", "Group")

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

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

Questo App::DocumentObjectGroup di base non ha un oggetto Proxy, quindi non può essere pienamente utilizzato per la sotto-classe.

Pertanto, per la sottoclasse Python, è necessario creare l'oggetto App::DocumentObjectGroupPython.

import FreeCAD as App

doc = App.newDocument()
obj = App.ActiveDocument.addObject("App::DocumentObjectGroupPython", "Name")
obj.Label = "Custom label"

Per esempio, un Analisi FEM è un oggetto App::DocumentObjectGroupPython con un'icona personalizzata e proprietà aggiuntive.

Link