Funzione Part

From FreeCAD Documentation
Revision as of 15:18, 16 December 2019 by FuzzyBot (talk | contribs) (Updating to match new version of source page)

Introduzione

Un oggetto Part Feature, o formalmente un Part::Feature, è un elemento semplice a cui è associato un Shape topologico che può essere visualizzato nella Vista 3D.

Diagramma semplificato delle relazioni tra gli oggetti principali in FreeCAD. La classe Part::Feature è l'origine della maggior parte degli oggetti 2D (Draft, Sketcher) e 3D (Part, PartDesign).

Utilizzo

Part Feature è un oggetto interno, quindi non può essere creato dall'interfaccia grafica, ma solo dalla console Python come descritto nel paragrafo Script.

L'oggetto Part::Feature è definito in Part ma può essere usato come classe base per script di oggetti in tutti gli ambienti che producono forme geometriche 2D e 3D. Ad esempio, è la classe genitrice del Corpo PartDesign e di Part Part2DObject, che à specializzata in forme 2D (planari).

Un oggetto Part::Feature ha proprietà semplici come il posizionamento e le proprietà vista per definire l'aspetto dei suoi vertici, bordi e facce. Gli ambienti possono aggiungere altre proprietà a questo elemento di base per produrre un oggetto con un comportamento complesso.

Proprietà

Vedere Proprietà per tutti i tipi di proprietà che possono avere oggetti con script.

Queste sono le proprietà disponibili nell'editor delle proprietà.

Dati

Base

  • DatiPlacement: la posizione dell'oggetto nella Vista 3D. Il posizionamento è definito da un punto Base (vettore) e una Rotation (asse e angolo). Vedere Posizionamento.
    • DatiAngle: l'angolo di rotazione attorno al DatiAxis.
    • DatiAxis: il vettore unitario che definisce l'asse di rotazione per il posizionamento. Ogni valore è compreso tra 0 e 1. Se un valore è superiore a 1, il vettore viene normalizzato in modo che l'entità del vettore sia 1.
    • DatiPosition: le coordinate 3D del punto base del posizionamento.
  • DatiLabel: la descrizione modificabile dall'utente di questo oggetto.

Vista

La maggior parte degli oggetti in FreeCAD ha quello che viene chiamato un "fornitore di viste", che è una classe che definisce l'aspetto visivo dell'oggetto nella vista 3D e nella vista ad albero. Il fornitore di viste predefinito degli oggetti Part Feature definisce le seguenti proprietà. Anche gli oggetti con script derivati da Part Feature hanno accesso a queste proprietà.

Base

  • VistaAngular Deflection: accompagna VistaDeviation. È un altro modo per specificare la precisione con cui generare la mesh per il rendering sullo schermo o durante l'esportazione. Il valore predefinito è 28,5 gradi o 0,5 radianti. Minore è il valore, più uniforme sarà l'aspetto nella vista 3D e più fine sarà la mesh che verrà esportata.
  • VistaBounding Box: se è true, l'oggetto mostra il parallelepipedo che lo contiene nella vista 3D.
  • VistaDeviation: accompagna VistaAngular Deflection. È un altro modo per specificare la precisione con cui generare la mesh per il rendering sullo schermo o durante l'esportazione. Il valore predefinito è 28,5 gradi o 0,5 radianti. Minore è il valore, più uniforme sarà l'aspetto nella vista 3D e più fine sarà la mesh che verrà esportata.
  • VistaDisplay Mode: Flat lines (visualizzazione normale con facce piene), Ombreggiato (bordi leggeri), Wireframe (solo reticolo e facce vuote), Punti (solo vertici).
  • VistaDraw Style: Solid, Dashed, Dotted, Dashdot; definisce lo stile dei bordi nella vista 3D.
  • VistaLighting: Two side, One side; l'illuminazione proviene da due lati o un lato nella vista 3D.
  • VistaLine Color: una tupla di tre valori (r,g,b) per definire il colore dei bordi nella vista 3D.
  • VistaLine Width: un flottante che determina la larghezza in pixel dei bordi nella vista 3D.
  • VistaOn Top When Selected: Disabled, Enabled, Object, Element.
  • VistaPoint Color: una tupla di tre valori (r,g,b) per definire il colore dei vertici nella vista 3D.
  • VistaPoint Size: un flottante che determina la dimensione in pixel dei vertici nella vista 3D.
  • VistaSelectable: se è true, l'oggetto può essere selezionato con il puntatore nella vista 3D. Altrimenti, l'oggetto non può essere selezionato fino a quando questa opzione non è impostata su true.
  • VistaSelection Style: Shape, BoundBox.
  • VistaShape Color: una tupla di tre valori (r,g,b) per definire il colore delle facce nella vista 3D.
  • VistaShow In Tree: se è true, l'oggetto appare nella vista ad albero. Altrimenti, è impostato come invisibile.
  • VistaTransparency: un valore da 0 a 100 che determina il livello di trasparenza delle facce nella vista 3D. Un valore di 100 indica facce completamente invisibili; le facce che sono invisibili possono comunque essere selezionate se VistaSelectable è true.
  • VistaVisibility: se è true, l'oggetto appare nella vista 3D; altrimenti non è visibile. Per impostazione predefinita, questa proprietà può essere attivata e disattivata premendo la barra Spazio sulla tastiera.

The formula to calculate this is

deviation in mm = (w + h + d)/3 * value_in_percent/100

where w, h, d are the bounding box dimensions.

  • VistaDisplay Mode: Flat Lines (regular visualization), Shaded (soft edges), Wireframe (no faces), Points (only vertices).
  • VistaDraw Style: Solid, Dashed, Dotted, Dashdot; defines the style of the edges in the 3D view.
  • VistaLighting: Two side, One side; the illumination comes from two sides or one side in the 3D view.
  • VistaLine Color: a tuple of three values (r,g,b) to define the color of the edges in the 3D view.
  • VistaLine Width: a float that determines the width in pixels of the edges in the 3D view.
  • VistaOn Top When Selected: Disabled, Enabled, Object, Element.
  • VistaPoint Color: a tuple of three values (r,g,b) to define the color of the vertices in the 3D view.
  • VistaPoint Size: a float that determines the size in pixels of the vertices in the 3D view.
  • VistaSelectable: if it is true, the object can be picked with the pointer in the 3D view. Otherwise, the object cannot be selected until this option is set to true.
  • VistaSelection Style: Shape, BoundBox.
  • VistaShape Color: a tuple of three values (r,g,b) to define the color of the faces in the 3D view.
  • VistaShow In Tree: if it is true, the object appears in the tree view. Otherwise, it is set as invisible.
  • VistaTransparency: a float from 0 to 100 that determines the level of transparency of the faces in the 3D view. A value of 100 indicates completely invisible faces; the faces are invisible but they can still be picked as long as VistaSelectable is true.
  • VistaVisibility: if it is true, the object appears in the 3D view; otherwise it is invisible. By default this property can be toggled on and off by pressing the Space bar in the keyboard.

Script

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

Un oggetto Part Feature viene creato con il metodo addObject() del documento.

import FreeCAD as App

doc = App.newDocument()
obj = App.ActiveDocument.addObject("Part::Feature", "Name")
obj.Label = "Custom label"
  • Il primo argomento indica il tipo di oggetto, in questo caso, "Part::Feature".
  • Il secondo argomento è una stringa che definisce l'attributo Name. Se non viene fornito, per impostazione predefinita è "Part__Feature".
    • Il Name viene stabilito al momento della creazione; non può essere modificato in seguito.
    • Il Name può includere solo caratteri alfanumerici semplici e il trattino basso, [_0-9a-zA-Z]. Se vengono forniti altri simboli, questi verranno convertiti in caratteri di sottolineatura; per esempio, "A+B:C*" viene convertito in "A_B_C_".
    • Il Name deve essere unico in tutto il documento. Se vengono creati più oggetti con lo stesso nome, viene aggiunto un numero sequenziale per distinguerli, ad esempio, "Name001", "Name002", etc.
  • Se lo si desidera, l'attributo Label può essere modificato in un testo più significativo.
    • Di default, Label è uguale a Name.
    • A differenza di Name, Label può accettare qualsiasi stringa UTF8, inclusi accenti e spazi. Poiché la vista ad albero visualizza Label, è buona norma cambiare Label in una stringa più descrittiva.
    • Di default, Label deve essere univoco. Questo comportamento può essere modificato nell'editor delle preferenze, Modifica → Preferenze → Generale → Documento → Consenti la duplicazione delle etichette nel documento.