Parte

From FreeCAD Documentation
This page is a translated version of the page Std Part and the translation is 100% complete.

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)