App FeaturePython

From FreeCAD Documentation
Revision as of 20:41, 14 May 2020 by Renatorivo (talk | contribs) (Created page with "====Proprietà vista nascoste====")
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

Base

  • VistaDisplay Mode (Enumeration): di default è vuota.
  • 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 contenotore
  • 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.

Proprietà vista nascoste

  • VistaProxy (PythonObject): a custom view provider class associated with this object.

Script

See also: FreeCAD Scripting Basics, and scripted objects.

See Part Feature for the general information on adding objects to the program.

An App FeaturePython is created with the addObject() method of the document.

import FreeCAD as App

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

For example, the Draft Text, Draft Dimension, and Working plane proxy elements of the Draft Workbench are App::FeaturePython objects with a custom icon and additional properties. They hold data but not an actual Part TopoShape.

If the desired object should have a placement, a shape, an attachment, or other complex properties, it is better to create one of the more complex classes, for example, App GeoFeature, Part Feature, or Part Part2DObject.