Std Part/it: Difference between revisions

From FreeCAD Documentation
No edit summary
(Updating to match new version of source page)
 
(15 intermediate revisions by one other user not shown)
Line 39: Line 39:
==Utilizzo==
==Utilizzo==


# Premere il pulsante {{Button|[[File:Std_Part.svg|16px]] [[Std_Part/it|Crea una parte]]}}.
<div class="mw-translate-fuzzy">
# Premere il pulsante {{Button|[[File:Std_Part.svg|16px]] [[Std_Part/it|Parte]]}}. Viene creata una parte vuota che diventa automaticamente ''[[Std_Part/it#Stato attivo|attiva]]''.
# Viene creata una parte vuota che diventa automaticamente ''[[Std_Part/it#Active_status|attiva]]''.
# Per aggiungere oggetti a una parte, trascinarli e rilasciarli sulla parte nella [[tree_view/it|vista ad albero]].
# Per aggiungere oggetti alla parte, selezionarli nella [[Tree_view/it|Vista ad albero]] e trascinarli e rilasciarli sulla parte.
# Per rimuovere oggetti da una parte, trascinarli fuori dalla parte e sull'etichetta del documento nella parte superiore della [[tree_view/it|vista ad albero]].
# Per rimuovere oggetti dalla parte, trascinarli fuori dalla parte e sull'etichetta del documento nella parte superiore della [[Tree_view/it|Vista ad albero]].
# Gli oggetti possono anche essere aggiunti e rimossi modificando la proprietà {{PropertyData|Group}} della Parte.
</div>


<span id="Notes"></span>
<span id="Notes"></span>
== Note ==
<div class="mw-translate-fuzzy">
===Note===
</div>


* Un oggetto può appartenere solo ad una singola Parte.
<div class="mw-translate-fuzzy">
* Le operazioni 3D come [[Part_Boolean/it|Part Boolean]] non possono essere applicate alle parti. Ad esempio, non è possibile selezionare due parti ed eseguire una [[Part_Fuse/it|Part Fusione]] o un [[Part_Cut|Part Sottrazione]].
* A partire dalla v0.19, un dato oggetto può appartenere solo ad una singola Parte.
* Fare doppio clic sulla Parte nella [[tree view/it|vista ad albero]] o aprire il menu contestuale (tasto destro del mouse) e selezionare {{MenuCommand|Attiva/disattiva la parte}} per attivare o disattivare la Parte. Se un'altra Parte è attiva, sarà disattivata. Vedere [[Std_Part/it#Stato_attivo|Stato attivo]] per maggiori informazioni.
</div>


<span id="Properties"></span>
<span id="Properties"></span>
== Proprietà ==
== Proprietà ==


La [[Std_Part/it|Parte]], chiamata internamente [[App_Part/it|App Part]] (classe {{incode|App::Part}}), è derivata dalla [[App_GeoFeature/it|App GeoFeature]] ({{incode |App::GeoFeature}}) ed eredita tutte le sue proprietà. Ha anche diverse proprietà aggiuntive. In particolare le proprietà che l'aiutano a gestire le informazioni nel contesto di un assieme, ad esempio, {{PropertyData|Type}}, {{PropertyData|Id}}, {{PropertyData|License}}, {{PropertyData|LicenseURL}} e { {DatiProprietà|Group}}.
<div class="mw-translate-fuzzy">
Una [[Std_Part/it|Parte]] è internamente chiamata [[App_Part/it|App Part]] ({{incode|App::Part}} class), e deriva da un [[App_GeoFeature/it|App GeoFeature]] ({{incode|App::GeoFeature}} class), quindi condivide la maggior parte delle proprietà di quest'ultimo.
</div>


Queste sono le proprietà disponibili nell'[[Property_editor/it|editor delle proprietà]]. Le proprietà nascoste possono essere mostrate usando il comando {{MenuCommand|Mostra tutto}} nel menu contestuale dell'[[Property_editor/it|editor delle proprietà]].
<div class="mw-translate-fuzzy">
Queste sono le proprietà disponibili nell'[[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à]].
</div>


<span id="Data"></span>
<span id="Data"></span>
Line 71: Line 63:
{{TitleProperty|Base}}
{{TitleProperty|Base}}


<div class="mw-translate-fuzzy">
* {{PropertyData|Type|String}}: una descrizione per questo oggetto. Per impostazione predefinita, è una stringa vuota {{value|""}}.
* {{PropertyData|Type|String}}: una descrizione per questo oggetto. Per impostazione predefinita, è una stringa vuota {{value|""}}.
* {{PropertyData|Material|Link}}: il materiale per questo oggetto.
* {{PropertyData|Meta|Map|Hidden}}: mappa con metainformazioni aggiuntive. Per impostazione predefinita, <code>{}</code> è vuoto.
* {{PropertyData|Id|String}}: un numero di identificazione o un numero di parte per questo oggetto. Per impostazione predefinita, è una stringa vuota {{value|""}}.
* {{PropertyData|Id|String}}: un numero di identificazione o un numero di parte per questo oggetto. Per impostazione predefinita, è una stringa vuota {{value|""}}.
* {{PropertyData|Uid|UUID|Hidden}}: l'[https://en.wikipedia.org/wiki/Universally_unique_identifier identificatore univoco universale] (UUID) (numero a 128 bit) dell'oggetto. Questo viene assegnato al momento della creazione.
* {{PropertyData|License|String}}: un campo per specificare la licenza per questo oggetto. Per impostazione predefinita, è una stringa vuota {{value|""}}.
* {{PropertyData|License|String}}: un campo per specificare la licenza per questo oggetto. Per impostazione predefinita, è una stringa vuota {{value|""}}.
* {{PropertyData|LicenseURL|String}}: un campo per specificare l'indirizzo web della licenza o del contratto per questo oggetto. Per impostazione predefinita, è una stringa vuota {{value|""}}.
* {{PropertyData|LicenseURL|String}}: un campo per specificare l'indirizzo web della licenza o del contratto per questo oggetto. Per impostazione predefinita, è una stringa vuota {{value|""}}.
* {{PropertyData|Color|Color}}: una serie di quattro valori RGBA a virgola mobile {{value|(r,g,b,a)}} per definire il colore dell'oggetto; di default è {{value|(1.0, 1.0, 1.0, 1.0)}}, che viene visualizzato come {{value|[255,255,255]}} su 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|Color|Color}}: una serie di quattro valori RGBA a virgola mobile {{value|(r,g,b,a)}} per definire il colore dell'oggetto; di default è {{value|(1.0, 1.0, 1.0, 1.0)}}, che viene visualizzato come {{value|[255,255,255]}} su 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|Placement|Placement}}: la posizione dell'oggetto nella [[3D view/it|vista 3D]]. Il posizionamento è definito da un punto {{incode|Base}} (vettore), e una {{incode|Rotazione}} (asse e angolo). Vedi [[Placement/it|Posizionamento]].
* {{PropertyData|Placement|Placement}}: la posizione dell'oggetto nella [[3D_view/it|vista 3D]]. Il posizionamento è definito da un punto {{incode|Base}} (vettore), e una {{incode|Rotazione}} (asse e angolo). Vedi [[Placement/it|Posizionamento]].
** {{PropertyData|Angle}}: l'angolo di rotazione intorno al {{PropertyData|Axis}}. Per impostazione predefinita, è {{value|0°}} (zero gradi).
** {{PropertyData|Angle}}: l'angolo di rotazione intorno al {{PropertyData|Axis}}. Per impostazione predefinita, è {{value|0°}} (zero gradi).
** {{PropertyData|Axis}}: il vettore che definisce l'asse di rotazione per il posizionamento. Ogni componente è un valore in virgola mobile tra {{value|0}} e {{value|1}}. Se un valore è superiore a {{value|1}}, il vettore è normalizzato in modo che la grandezza del vettore sia {{value|1}}. Per impostazione predefinita, l'asse Z è positivo, {{value|(0, 0, 1)}}.
** {{PropertyData|Axis}}: il vettore che definisce l'asse di rotazione per il posizionamento. Ogni componente è un valore in virgola mobile tra {{value|0}} e {{value|1}}. Se un valore è superiore a {{value|1}}, il vettore è normalizzato in modo che la grandezza del vettore sia {{value|1}}. Per impostazione predefinita, l'asse Z è positivo, {{value|(0, 0, 1)}}.
** {{PropertyData|Position}}: un vettore con coordinate 3D nel punto base. Per impostazione predefinita, è l'origine {{value|(0, 0, 0)}}.
** {{PropertyData|Position}}: un vettore con coordinate 3D nel punto base. Per impostazione predefinita, è l'origine {{value|(0, 0, 0)}}.
* {{PropertyData|Label|String}}: il nome modificabile dall'utente di questo oggetto, è una stringa arbitraria UTF8.
* {{PropertyData|Label|String}}: il nome modificabile dall'utente di questo oggetto, è una stringa arbitraria UTF8.
* {{PropertyData|Label2|String|Hidden}}: una descrizione più lunga e modificabile dall'utente di questo oggetto, è una stringa UTF8 arbitraria che può includere ritorni a capo. Per impostazione predefinita, è una stringa vuota {{value|""}}.
* {{PropertyData|Expression Engine|ExpressionEngine|Hidden}}: un elenco di espressioni. Per impostazione predefinita, è vuoto {{value|[]}}.
* {{PropertyData|Visibility|Bool|Hidden}}: se visualizzare o meno l'oggetto.
* {{PropertyData|Origin|Link|Hidden}}: l'oggetto [[App_OriginGroupExtension/it|App Origin]] che è il riferimento posizionale per tutti gli elementi elencati in {{PropertyData|Group}}.
* {{PropertyData|Group|LinkList}}: un elenco di oggetti di riferimento. Per impostazione predefinita, è vuoto {{value|[]}}.
* {{PropertyData|Group|LinkList}}: un elenco di oggetti di riferimento. Per impostazione predefinita, è vuoto {{value|[]}}.
* {{PropertyData|_ Group Touched|Bool|Hidden}}: se il gruppo viene toccato o meno.
</div>


<span id="View"></span>
<span id="View"></span>
Line 91: Line 89:


* {{PropertyView|Display Mode|Enumeration}}: {{value|Group}}.
* {{PropertyView|Display Mode|Enumeration}}: {{value|Group}}.
* {{PropertyView|Show In Tree|Bool}}: if it is {{TRUE}}, the object appears in the [[Tree_view|Tree view]]. Otherwise, it is set as invisible.
* {{PropertyView|Show In Tree|Bool}}: se è {{TRUE}}, l'oggetto appare nella [[Tree_view/it|Vista ad albero]]. Altrimenti viene impostato come invisibile.
* {{PropertyView|Visibility|Bool}}: if it is {{TRUE}}, the object appears in the [[3D_view|3D view]]; otherwise it is invisible. By default this property can be toggled on and off by pressing the {{KEY|Space}} bar in the keyboard.
* {{PropertyView|Visibility|Bool}}: se è {{TRUE}}, l'oggetto appare nella [[3D_view/it|vista 3D]]; altrimenti è invisibile. Per impostazione predefinita, questa proprietà può essere attivata e disattivata premendo la barra {{KEY|Space}} sulla tastiera.


{{TitleProperty|Selection}}
{{TitleProperty|Selection}}


* {{PropertyView|On Top When Selected|Enumeration}}: {{value|Disabled}} (default), {{value|Enabled}}, {{value|Object}}, {{value|Element}}.
* {{PropertyView|On Top When Selected|Enumeration}}: {{value|Disabled}} (default), {{value|Enabled}}, {{value|Object}}, {{value|Element}}.
* {{PropertyView|Selection Style|Enumeration}}: {{value|Shape}} (default), {{value|BoundBox}}. If the option is {{value|Shape}}, the entire shape (vertices, edges, and faces) will be highlighted in the [[3D_view|3D view]]; if it is {{value|BoundBox}} only the bounding box will be highlighted.
* {{PropertyView|Selection Style|Enumeration}}: {{value|Shape}} (default), {{value|BoundBox}}. Se l'opzione è {{value|Shape}}, l'intera forma (vertici, bordi e facce) verrà evidenziata nella [[3D_view/it|vista 3D]]; se è {{value|BoundBox}} verrà evidenziato solo il riquadro di delimitazione.


<span id="Detailed_explanation"></span>
<span id="Detailed_explanation"></span>
Line 105: Line 103:
===Stato attivo===
===Stato attivo===


Un documento aperto può contenere più Parti. Ma solo una Parte può essere attiva. Viene visualizzata la parte attiva nella [[Tree_view/it|vista ad albero]] con il colore di sfondo specificato per il {{MenuCommand|Contenitore attivo}}, per impostazione predefinita il colore in [[Preferences_Editor/it#Colori|editor delle preferenze]] è azzurro. Essa sarà anche mostrata con testo in grassetto.
<div class="mw-translate-fuzzy">
Un documento aperto può contenere più Parti. Una parte attiva verrà visualizzata nella [[Tree_view/it|vista ad albero]] con il colore di sfondo specificato per il {{MenuCommand|Contenitore attivo}}, per impostazione predefinita il colore in [[Preferences_Editor/it#Colori|editor delle preferenze]] è azzurro. Una parte attiva sarà anche mostrata in grassetto.
</div>


<div class="mw-translate-fuzzy">
Per attivare o disattivare un Parte:
Per attivare o disattivare un Parte:
* Doppio click nella [[Tree_view/it|vista ad albero]], oppure
* Doppio click nella [[Tree_view/it|vista ad albero]], oppure
* Aprire il menu contestuale (click tasto destro) e selezionare {{MenuCommand|Attivare la parte}}.
* Aprire il menu contestuale (click tasto destro) e selezionare {{MenuCommand|Attivare la parte}}.
</div>


[[File:Std_Part_active.png]]
[[File:Std_Part_active.png]]
Line 126: Line 120:
[[File:Part_Origin_tree.png]] [[File:Part_Origin_view.png]]
[[File:Part_Origin_tree.png]] [[File:Part_Origin_view.png]]


{{Caption|A sinistra: Origine di Part nella [[Tree_view/it|vista ad albero]]. A destra: rappresentazione degli elementi Origine nella [[3D_view/it|vista 3D]].}}
<div class="mw-translate-fuzzy">
{{Caption|A sinistra: Origine di Part nella [[tree view/it|vista ad albero]].</br> A destra: rappresentazione degli elementi Origine nella [[3D view/it|vista 3D]].}}
</div>


{{Emphasis|Nota:}} l'origine è un oggetto [[App_OriginGroupExtension/it|App Origin]]({{incode|App::Origin}} class), mentre gli assi e i piani sono rispettivamente oggetti di tipo {{incode|App::Linea}} e {{incode|App::Piano}}. Ognuno di questi elementi può essere nascosto e non nascosto singolarmente con la barra {{KEY|Spazio}}; questo è utile per scegliere il riferimento corretto quando si creano altri oggetti.
<div class="mw-translate-fuzzy">
{{Emphasis|Nota:}} l'origine è un oggetto [[App_Origin/it|App Origin]]({{incode|App::Origin}} class), mentre gli assi e i piani sono rispettivamente oggetti di tipo {{incode|App::Linea}} e {{incode|App::Piano}}. Ognuno di questi elementi può essere nascosto e non nascosto singolarmente con la barra {{KEY|Spazio}}; questo è utile per scegliere il riferimento corretto quando si creano altri oggetti.
</div>


{{Emphasis|Nota 2:}} tutti gli elementi all'interno della Parte sono riferiti all'Origine della Parte, il che significa che la Parte può essere spostata e ruotata in riferimento al sistema globale di coordinate senza influenzare il posizionamento degli elementi all'interno.
{{Emphasis|Nota 2:}} tutti gli elementi all'interno della Parte sono riferiti all'Origine della Parte, il che significa che la Parte può essere spostata e ruotata in riferimento al sistema globale di coordinate senza influenzare il posizionamento degli elementi all'interno.
Line 147: Line 137:
==Script==
==Script==


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


Vedere [[Part_Feature/it|Funzione Part]] per le informazioni generali sull'aggiunta di oggetti al documento.
Vedere [[Part_Feature/it|Funzione Part]] per le informazioni generali sull'aggiunta di oggetti al documento.


<div class="mw-translate-fuzzy">
Una Parte ([[App_Part/it|App Part]]) viene creata con il metodo del documento {{incode|addObject()}}. Una volta che una Parte esiste, altri oggetti possono essere aggiunti ad essa con i metodi di questa Parte {{incode|addObject()}} o {{incode|addObjects()}}.
Una Parte ([[App_Part/it|App Part]]) viene creata con il metodo del documento {{incode|addObject()}}. Una volta che una Parte esiste, altri oggetti possono essere aggiunti ad essa con i metodi di questa Parte {{incode|addObject()}} o {{incode|addObjects()}}.
</div>


{{Code|code=
{{Code|code=
Line 170: Line 156:
}}
}}


Non si può creare uno script {{incode|App::Part}}. Tuttavia, è possibile aggiungere un comportamento {{incode|App::Part}} a uno script {{incode|Part::FeaturePython}} usando il seguente codice:
<div class="mw-translate-fuzzy">
Non si può creare uno script {{incode|App::Part}}. Tuttavia, è possibile aggiungere un ruolo {{incode|App::Part}} a uno script {{incode|Part::FeaturePython}} usando il seguente codice:
</div>


{{Code|code=
{{Code|code=
Line 181: Line 165:
self.attach(obj)
self.attach(obj)


def __getstate__(self):
def dumps(self):
return
return


def __setstate__(self, _state):
def loads(self, _state):
return
return


Line 206: Line 190:
self.ViewObject = vobj
self.ViewObject = vobj


def __getstate__(self):
def dumps(self):
return None
return None


def __setstate__(self, _state):
def loads(self, _state):
return None
return None



Latest revision as of 09:02, 27 January 2024

Parte

Posizione nel menu
Nessuno
Ambiente
Tutti
Avvio veloce
Nessuno
Introdotto nella versione
0.17
Vedere anche
Gruppo, PartDesign Corpo

Descrizione

Una Parte (internamente chiamata App Part) è un contenitore per scopi generali che contiene un gruppo di oggetti in modo che essi possano essere spostati in blocco come una singola unità nella vista 3D.

L'elemento Parte è stato sviluppato per essere l'elemento di base per creare assemblaggi meccanici. In particolare, ha lo scopo di disporre oggetti che hanno una forma topologica, come le primitive di Part, i corpi di PartDesign, e altre funzioni di Part. Parte fornisce un Origine con assi X, Y e Z locali e piani standard; questa origine viene utilizzata come riferimento per posizionare e collegare quegli altri oggetti. Inoltre, le Parti possono essere nidificate all'interno di altre Parti per creare un grande assieme da sotto-assiemi più piccoli.

Sebbene sia destinato principalmente a corpi solidi, Parte può essere utilizzato per gestire qualsiasi oggetto che abbia una proprietà Posizionamento, quindi può anche contenere Funzioni Mesh, schizzi e altri oggetti derivati dalla classe App GeoFeature.

Non confondere il Corpo di PartDesign con la Parte. Il primo è un oggetto specifico utilizzato in PartDesign, destinato a modellare un singolo solido contiguo mediante le funzioni di PartDesign. Invece, la Parte non viene utilizzata per la modellazione, ma solo per disporre diversi oggetti nello spazio, per creare degli assemblaggi.

Lo strumento Parte non è definito da un particolare ambiente di lavoro, ma dal sistema base; di conseguenza lo si trova nella barra degli strumenti struttura, che è disponibile in tutti gli ambienti di lavoro. Per raggruppare gli oggetti arbitrariamente senza considerare la loro posizione, utilizzare Gruppo; questo oggetto non influenza i posizionamenti degli elementi che contiene, è essenzialmente solo una cartella che viene utilizzata per mantenere organizzata la vista ad albero.

A sinistra: elementi all'interno di una Parte nella Vista ad albero. A destra: oggetti posizionati nello spazio, riferiti all'Origine della Parte.

Utilizzo

  1. Premere il pulsante Crea una parte.
  2. Viene creata una parte vuota che diventa automaticamente attiva.
  3. Per aggiungere oggetti alla parte, selezionarli nella Vista ad albero e trascinarli e rilasciarli sulla parte.
  4. Per rimuovere oggetti dalla parte, trascinarli fuori dalla parte e sull'etichetta del documento nella parte superiore della Vista ad albero.
  5. Gli oggetti possono anche essere aggiunti e rimossi modificando la proprietà DatiGroup della Parte.

Note

  • Un oggetto può appartenere solo ad una singola Parte.
  • Le operazioni 3D come Part Boolean non possono essere applicate alle parti. Ad esempio, non è possibile selezionare due parti ed eseguire una Part Fusione o un Part Sottrazione.

Proprietà

La Parte, chiamata internamente App Part (classe App::Part), è derivata dalla App GeoFeature (App::GeoFeature) ed eredita tutte le sue proprietà. Ha anche diverse proprietà aggiuntive. In particolare le proprietà che l'aiutano a gestire le informazioni nel contesto di un assieme, ad esempio, DatiType, DatiId, DatiLicense, DatiLicenseURL e { {DatiProprietà|Group}}.

Queste sono le proprietà disponibili nell'editor delle proprietà. Le proprietà nascoste possono essere mostrate usando il comando Mostra tutto nel menu contestuale dell'editor delle proprietà.

Dati

Base

  • DatiType (String): una descrizione per questo oggetto. Per impostazione predefinita, è una stringa vuota "".
  • DatiMaterial (Link): il materiale per questo oggetto.
  • Dati (Hidden)Meta (Map): mappa con metainformazioni aggiuntive. Per impostazione predefinita, {} è vuoto.
  • DatiId (String): un numero di identificazione o un numero di parte per questo oggetto. Per impostazione predefinita, è una stringa vuota "".
  • Dati (Hidden)Uid (UUID): l'identificatore univoco universale (UUID) (numero a 128 bit) dell'oggetto. Questo viene assegnato al momento della creazione.
  • DatiLicense (String): un campo per specificare la licenza per questo oggetto. Per impostazione predefinita, è una stringa vuota "".
  • DatiLicenseURL (String): un campo per specificare l'indirizzo web della licenza o del contratto per questo oggetto. Per impostazione predefinita, è una stringa vuota "".
  • DatiColor (Color): una serie di quattro valori RGBA a virgola mobile (r,g,b,a) per definire il colore dell'oggetto; di default è (1.0, 1.0, 1.0, 1.0), che viene visualizzato come [255,255,255] su base 255, white color.
  • DatiPlacement (Placement): la posizione dell'oggetto nella vista 3D. Il posizionamento è definito da un punto Base (vettore), e una Rotazione (asse e angolo). Vedi Posizionamento.
    • DatiAngle: l'angolo di rotazione intorno al DatiAxis. Per impostazione predefinita, è (zero gradi).
    • DatiAxis: il vettore che definisce l'asse di rotazione per il posizionamento. Ogni componente è un valore in virgola mobile tra 0 e 1. Se un valore è superiore a 1, il vettore è normalizzato in modo che la grandezza del vettore sia 1. Per impostazione predefinita, l'asse Z è positivo, (0, 0, 1).
    • DatiPosition: un vettore con coordinate 3D nel punto base. Per impostazione predefinita, è l'origine (0, 0, 0).
  • DatiLabel (String): il nome modificabile dall'utente di questo oggetto, è una stringa arbitraria UTF8.
  • Dati (Hidden)Label2 (String): una descrizione più lunga e modificabile dall'utente di questo oggetto, è una stringa UTF8 arbitraria che può includere ritorni a capo. Per impostazione predefinita, è una stringa vuota "".
  • Dati (Hidden)Expression Engine (ExpressionEngine): un elenco di espressioni. Per impostazione predefinita, è vuoto [].
  • Dati (Hidden)Visibility (Bool): se visualizzare o meno l'oggetto.
  • Dati (Hidden)Origin (Link): l'oggetto App Origin che è il riferimento posizionale per tutti gli elementi elencati in DatiGroup.
  • DatiGroup (LinkList): un elenco di oggetti di riferimento. Per impostazione predefinita, è vuoto [].
  • Dati (Hidden)_ Group Touched (Bool): se il gruppo viene toccato o meno.

Vista

Display Options

  • VistaDisplay Mode (Enumeration): Group.
  • VistaShow In Tree (Bool): se è true, l'oggetto appare nella Vista ad albero. Altrimenti viene impostato come invisibile.
  • VistaVisibility (Bool): se è true, l'oggetto appare nella vista 3D; altrimenti è invisibile. Per impostazione predefinita, questa proprietà può essere attivata e disattivata premendo la barra Space sulla tastiera.

Selection

  • VistaOn Top When Selected (Enumeration): Disabled (default), Enabled, Object, Element.
  • VistaSelection Style (Enumeration): Shape (default), BoundBox. Se l'opzione è Shape, l'intera forma (vertici, bordi e facce) verrà evidenziata nella vista 3D; se è BoundBox verrà evidenziato solo il riquadro di delimitazione.

Spiegazione dettagliata

Stato attivo

Un documento aperto può contenere più Parti. Ma solo una Parte può essere attiva. Viene visualizzata la parte attiva nella vista ad albero con il colore di sfondo specificato per il Contenitore attivo, per impostazione predefinita il colore in editor delle preferenze è azzurro. Essa sarà anche mostrata con testo in grassetto.

Per attivare o disattivare un Parte:

  • Doppio click nella vista ad albero, oppure
  • Aprire il menu contestuale (click tasto destro) e selezionare Attivare la parte.

Documento con due Parti, di cui la seconda è attiva.

Origine

L'Origine è costituita dai tre assi standard (X, Y, Z) e da tre piani standard (XY, XZ e YZ). A questi elementi possono essere collegati, al momento della creazione, Schizzi e altri oggetti.

A sinistra: Origine di Part nella vista ad albero. A destra: rappresentazione degli elementi Origine nella vista 3D.

Nota: l'origine è un oggetto App Origin(App::Origin class), mentre gli assi e i piani sono rispettivamente oggetti di tipo App::Linea e App::Piano. Ognuno di questi elementi può essere nascosto e non nascosto singolarmente con la barra Spazio; questo è utile per scegliere il riferimento corretto quando si creano altri oggetti.

Nota 2: tutti gli elementi all'interno della Parte sono riferiti all'Origine della Parte, il che significa che la Parte può essere spostata e ruotata in riferimento al sistema globale di coordinate senza influenzare il posizionamento degli elementi all'interno.

Gestione della visibilità

La visibilità della Parte sostituisce la visibilità di qualsiasi oggetto in essa contenuto. Se la Parte è nascosta, anche gli oggetti in essa contenuti saranno nascosti, anche se la loro proprietà individuale VistaVisibilità è impostata su true. Se la Parte è visibile, allora la VistaVisibilità di ogni oggetto determina se l'oggetto è mostrato o meno.

La visibilità della parte Std determina se gli oggetti raggruppati sotto di essa sono mostrati o meno nella vista 3D .
A sinistra: la Parte è nascosta, quindi nessuno degli oggetti sarà mostrato nella vista 3D.
Destra: la Parte è visibile, quindi ogni oggetto controlla la propria visibilità.

Script

Vedere anche: Script di base per FreeCAD, e script di oggetti.

Vedere Funzione Part per le informazioni generali sull'aggiunta di oggetti al documento.

Una Parte (App Part) viene creata con il metodo del documento addObject(). Una volta che una Parte esiste, altri oggetti possono essere aggiunti ad essa con i metodi di questa Parte addObject() o 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()

Non si può creare uno script App::Part. Tuttavia, è possibile aggiungere un comportamento App::Part a uno script Part::FeaturePython usando il seguente codice:

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)