App FeaturePython

From FreeCAD Documentation
Revision as of 19:57, 10 September 2020 by Renatorivo (talk | contribs) (Created page with "* {{PropertyView|Proxy|PythonObject}}: una classe di provider di visualizzazione personalizzata associata a questo oggetto.")
Other languages:

Introduzione

Un oggetto App FeaturePython, o formalmente un App::FeaturePython, è una semplice istanza di App DocumentObject in Python.

Questo è un oggetto semplice che per impostazione predefinita non ha molte proprietà, ad esempio nessun posizionamentoforma topologica. Questo oggetto è per uso generale e, fornendolo di proprietà, può essere utilizzato per gestire diversi tipi di dati.

Diagramma semplificato delle relazioni tra gli oggetti principali del programma. La classe App::FeaturePython è una semplice implementazione di App::DocumentObject che può essere utilizzata per qualsiasi scopo, poiché di default non ha una forma topologica.

Utilizzo

Un App FeaturePython è un oggetto interno, quindi non può essere creato dall'interfaccia grafica. È pensato per essere sottoclassato da classi che gestiranno diversi tipi di dati.

Vedere Script per ulteriori informazioni.

Proprietà

Un oggetto App FeaturePython (classe App::FeaturePython) è derivato dall'oggetto base App DocumentObject (classe App::DocumentObject), pertanto condivide tutte le proprietà di quest'ultimo.

Oltre alle proprietà descritte in App DocumentObject, FeaturePython ha un provider di visualizzazione di base, quindi appare nella vista ad albero.

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

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

  • DatiLabel (String): il nome di questo oggetto modificabile dall'utente, è una stringa UTF8 arbitraria.

Proprietà dati nascoste

  • DatiExpression Engine (ExpressionEngine): un elenco di espressioni. Di default, è vuota [].
  • DatiLabel2 (String): una descrizione di questo oggetto più lunga e modificabile dall'utente, è una stringa UTF8 arbitraria che può includere nuove righe. Di default, è una stringa vuota "".
  • DatiProxy (PythonObject): una classe personalizzata associata a questo oggetto.
  • DatiVisibility (Bool): se visualizzare l'oggetto o no.

Vista

These properties correspond to the basic properties of the base viewprovider, Gui::ViewProviderDocumentObject, that is inherited by all viewproviders in the software.

Display Options

  • VistaDisplay Mode (Enumeration): di default è vuota.
  • VistaShow In Tree (Bool): se è true, l'oggetto appare nella vista ad albero. Altrimenti, è impostato come invisibile.
  • VistaVisibility (Bool): se è true, l'oggetto appare nella vista 3D; altrimenti, è invisibile. Questa proprietà può essere attivata e disattivata premendo la barra Spazio sulla tastiera.

Selection

  • VistaOn Top When Selected (Enumeration): Disabled (default), Enabled, Object, Element.
  • VistaSelection Style (Enumeration): Shape (default), BoundBox. If the option is Shape, the entire shape (vertices, edges, and faces) will be highlighted in the 3D view; if it is BoundBox only the bounding box will be highlighted.

Proprietà vista nascoste

Base

  • VistaProxy (PythonObject): una classe di provider di visualizzazione personalizzata associata a questo oggetto.

Script

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

Vedere Part Feature per le informazioni generali sull'aggiunta di oggetti al programma.

Una App FeaturePython viene creata con il metodo addObject() del documento

import FreeCAD as App

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

Per esempio, gli elemnti Testo, Dimensione, e Piano di lavoro proxy di Draft sono oggetti App::FeaturePython oggetti con un'icona personalizzata e proprietà aggiuntive. Conservano i dati ma non sono in effetti Part TopoShape.

Se l'oggetto desiderato deve avere un posizionamento, una forma, un allegato o altre proprietà complesse, è meglio creare una delle classi più complesse, ad esempio, App GeoFeature, Part Feature, o Part Part2DObject.