Difference between revisions of "Part Part2DObject/it"

From FreeCAD Documentation
Jump to: navigation, search
(Created page with "== Introduzione ==")
(Updating to match new version of source page)
 
(29 intermediate revisions by 2 users not shown)
Line 3: Line 3:
 
== Introduzione ==
 
== Introduzione ==
  
A [[Part Part2DObject|Part Part2DObject]], or formally a {{incode|Part::Part2DObject}}, is a simple element with a topological {{incode|Shape}} associated that can be displayed in the [[3D view|3D view]].
+
[[File:Tree_Part2D.svg|32px]]
 +
 
 +
<div class="mw-translate-fuzzy">
 +
Un [[Part Part2DObject/it|Part Part2DObject]], o formalmente un {{incode|Part::Part2DObject}}, è un elemento semplice a cui è associato un {{incode|Shape}} topologico che può essere visualizzato nella [[3D view/it|Vista 3D]].
 +
</div>
 +
 
 +
{{Incode|Part::Part2DObject}} è derivato da una [[Part Feature/it|Part Feature]], ma è specializzato nella geometria 2D, dato che la sua forma è posizionata su un piano. Il piano è definito dalla sua proprietà {{PropertyData|Placement}} (posizione, normale e rotazione). Tuttavia, il piano può anche essere definito supportando elementi geometrici, come il piano creato da tre vertici arbitrari o una faccia di un corpo solido.
 +
 
 +
[[File:FreeCAD_core_objects.svg|800px]]
 +
 
 +
<div class="mw-translate-fuzzy">
 +
{{Caption|Diagramma semplificato delle relazioni tra gli oggetti principali in FreeCAD. La classe {{incode|Part::Part2DObject}} è specializzata per le forme 2D, quindi è la classe di base per gli oggetti planari creati con gli ambienti Draft e Sketcher.}}
 +
</div>
 +
 
 +
== Utilizzo ==
 +
 
 +
[[Part Part2DObject|Part Part2DObject]] è un oggetto interno, quindi non può essere creato dall'interfaccia grafica, ma solo dalla [[Python console/it|console Python]] come descritto nel paragrafo [[Part_Part2DObject/it#Script|Script]].
 +
 
 +
{{Incode|Part::Part2DObject}} è definito nell'ambiente [[Part Workbench/it|Part]] ma può essere usato come classe base per gli [[scripted objects/it|oggetti da script]] in tutti gli [[Workbenches/it|ambienti] ] che producono forme geometriche 2D. Ad esempio, è l'oggetto base per gli ([[Sketcher_SketchObject/it|Sketcher SketchObject]]) degli schizzi e per la maggior parte degli oggetti creati con [[Draft Workbench/it|Draft]].
 +
 
 +
I workbench possono aggiungere diverse proprietà a questo elemento di base per produrre un oggetto con comportamento complesso.
 +
 
 +
== Proprietà ==
  
The {{incode|Part::Part2DObject}} is derived from a [[Part Feature|{{incode|Part::Feature}}]], but is specialized for 2D geometry, given that its shape will lie on a plane. This plane is defined by its {{PropertyData|Placement}} property (position, normal, and rotation). However, the plane can also be defined by supporting geometrical elements, such as the plane created by three arbitrary vertices, or a face of a solid body.
+
Vedere [[Property/it|Proprietà]] per tutti i tipi di proprietà che possono avere gli oggetti con script.
  
The {{incode|Part::Part2DObject}} is defined in the [[Part Workbench|Part Workbench]] but can be used as the base class for [[scripted objects|scripted objects]] in all [[Workbenches|workbenches]] that produce 2D geometrical shapes. For example, it is the base object for sketches ({{incode|Sketcher::SketchObject}}) in the [[Sketcher Workbench|Sketcher Workbench]], and for most objects created in the [[Draft Workbench|Draft Workbench]].
+
Un [[Part_Part2DObject/it|Part Part2DObject]] (classe {{incode|Part::Part2DObject}}) è derivato da una [[Part_Feature/it|Part Feature]] (classe {{incode|Part::Feature}}), pertanto condivide tutte le proprietà di quest'ultimo.
  
Workbenches can add more properties to this basic element to produce an object with complex behavior.
+
<div class="mw-translate-fuzzy">
 +
Oltre alle proprietà descritte in [[Part Feature/it|Part Feature]], Part Part2DObject ha le seguenti proprietà nell'[[property editor/it|editor delle proprietà]].
 +
</div>
  
[[File:Tree_Part2D.svg|32px]]
+
=== Dati ===
 +
 
 +
<div class="mw-translate-fuzzy">
 +
{{TitleProperty|Attachment}}
 +
* {{PropertyData|Map Mode}}: "Deactivated" di default. Questa proprietà definisce il piano che l'oggetto utilizza come riferimento per la geometria 2D. Facendo clic sui puntini di sospensione (tre puntini), a destra del campo di immissione si apre il pannello [[Part Attachment/it|Part Attachment]] della [[task panel/it|scheda azioni]] che consente di selezionare il piano di supporto selezionando diversi elementi nella [[3D view/it|vista 3D]]. Le diverse modalità sono: Deactivated, Translate origin, Object's XY, Object's XZ, Object's YZ, Plane face, Tangent to surface, Normal to edge, Frenet NB, Frenet TN, Frenet TB, Concentric, Revolution section, Plane by 3 points, Normal to 3 points, Folding, Inertia 2-3, Align O-N-X, Align O-N-Y, Align O-X-Y, Align O-X-N, Align O-Y-N, Align O-Y-X.
 +
</div>
 +
 
 +
Vedere [[Part Attachment/it|Part Attachment]] per ulteriori informazioni su tutte le modalità di associazione.
  
== Properties ==
+
The following two properties are normally hidden. They become visible once {{PropertyData|Map Mode}} is something other than {{value|Deactivated}}.
 +
* {{PropertyData|Map Reversed|Bool}}: it defaults to {{FALSE}}; if it is {{TRUE}} the Z direction will be reversed. For example, a [[sketch|sketch]] will be flipped upside down.
 +
* {{PropertyData|Attachment Offset|Placement}}: the position of the object in the [[3D view|3D view]], with respect to the attachment object's placement. The placement is defined by a {{incode|Base}} point (vector), and a {{incode|Rotation}} (axis and angle). See [[Placement|Placement]].
  
See [[Property|Property]] for all property types that scripted objects can have.
+
==== Hidden properties Data ====
  
In addition to the properties described in [[Part Feature|Part Feature]], the Part Part2DObject has the following properties in the [[property editor|property editor]].
+
{{TitleProperty|Base}}
  
=== Data ===
+
* {{PropertyData|Proxy|PythonObject}}: a custom class associated with this object. This only exists for the [[Python|Python]] version. See [[Part_Part2DObject#Scripting|Scripting]].
  
 
{{TitleProperty|Attachment}}
 
{{TitleProperty|Attachment}}
* {{PropertyData|Map Mode}}: "Deactivated" by default. This property determines a plane which the object will use as reference for 2D geometry. Clicking on the ellipsis (three dots), to the right of the entry field opens the [[Part Attachment|Part Attachment]] [[task panel|task panel]] that allows selecting the supporting plane by picking different elements in the [[3D view|3D view]]. The different modes are: Deactivated, Translate origin, Object's XY, Object's XZ, Object's YZ, Plane face, Tangent to surface, Normal to edge, Frenet NB, Frenet TN, Frenet TB, Concentric, Revolution section, Plane by 3 points, Normal to 3 points, Folding, Inertia 2-3, Align O-N-X, Align O-N-Y, Align O-X-Y, Align O-X-N, Align O-Y-N, Align O-Y-X. See [[Part Attachment|Part Attachment]] for more information on all mapping modes.
 
  
=== View ===
+
* {{PropertyData|Attacher Type|String}}: class name of the attach engine object driving the attachment. It defaults to {{incode|Attacher::AttachEnginePlane}}.
 +
* {{PropertyData|Support|LinkSubList}}: it is the plane or face supporting the 2D geometry. It defaults to an empty list {{incode|[]}}.
 +
* {{PropertyData|Map Path Parameter|Float}}: sets point of curve to map a [[sketch|sketch]] to. It goes from {{value|0}} to {{value|1}}, which corresponds to the {{value|start}} and {{value|end}}. It defaults to {{value|0}}.
 +
 
 +
===Vista===
  
 +
<div class="mw-translate-fuzzy">
 
{{TitleProperty|Grid}}
 
{{TitleProperty|Grid}}
* {{PropertyView|Grid Size}}: a float that determines the size of the spacing of the local grid lines in the [[3D view|3D view]].
+
* {{PropertyView|Grid Size}}: un valore che determina la dimensione della spaziatura delle linee della griglia locale nella [[3D view/it|vista 3D]].
* {{PropertyView|Grid Snap}}: if {{TRUE}} the grid can be used to snap points.
+
* {{PropertyView|Grid Snap}}: se è {{TRUE}} la griglia può essere utilizzata per agganciare i punti.
* {{PropertyView|Grid Style}}: Dashed or Light; the style of the grid lines.
+
* {{PropertyView|Grid Style}}: Dashed or Light; lo stile delle linee della griglia.
* {{PropertyView|Show Grid}}: if {{TRUE}} a grid local to the object will be displayed in the [[3D view|3D view]]. This grid is independent of the [[Draft_ToggleGrid|Draft grid]].
+
* {{PropertyView|Show Grid}}: se è {{TRUE}} nella [[3D view/it|vista 3D]] viene visualizzata una griglia locale all'oggetto. Questa griglia è indipendente dalla griglia di [[Draft_ToggleGrid/it|Draft]].
* {{PropertyView|Tight Grid}}: if {{TRUE}} the local grid will be localized around the origin of the shape, otherwise it will extend itself more.
+
* {{PropertyView|Tight Grid}}: se è {{TRUE}} la griglia locale è localizzata attorno all'origine della forma, altrimenti si estende oltre.
 +
</div>
 +
 
 +
==== Hidden properties View ====
 +
 
 +
{{TitleProperty|Base}}
  
== Scripting ==
+
* {{PropertyView|Proxy|PythonObject}}: a custom view provider class associated with this object. This only exists for the [[Python|Python]] version. See [[Part_Part2DObject#Scripting|Scripting]].
  
{{Emphasis|See also:}} [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]], and [[scripted objects|scripted objects]].
+
All other view properties, including hidden properties, are those of the base [[Part_Feature|Part Feature]] object.
  
See [[Part_Feature|Part Feature]] for the general information.
+
== Script ==
  
A Part Part2DObject is created with the {{incode|addObject()}} method of the document.
+
{{Emphasis|Vedere anche:}} [[FreeCAD Scripting Basics/it|Script di base per FreeCAD]], e [[scripted objects/it|script di oggetti]].
 +
 
 +
<div class="mw-translate-fuzzy">
 +
Vedere [[Part_Feature/it|Part Feature]] per le informazioni generali.
 +
</div>
 +
 
 +
<div class="mw-translate-fuzzy">
 +
Un Part Part2DObject viene creato con il metodo {{incode|addObject()}} del documento.
 +
</div>
 
{{Code|code=
 
{{Code|code=
 +
import FreeCAD as App
 +
 +
doc = App.newDocument()
 
obj = App.ActiveDocument.addObject("Part::Part2DObject", "Name")
 
obj = App.ActiveDocument.addObject("Part::Part2DObject", "Name")
 
obj.Label = "Custom label"
 
obj.Label = "Custom label"
 
}}
 
}}
  
{{Part Tools navi}}
+
This basic {{incode|Part::Part2DObject}} doesn't have a Proxy object so it can't be fully used for sub-classing.
 +
 
 +
Therefore, for [[Python|Python]] subclassing, you should create the {{incode|Part::Part2DObjectPython}} object.
 +
 
 +
{{Code|code=
 +
import FreeCAD as App
 +
 
 +
doc = App.newDocument()
 +
obj = App.ActiveDocument.addObject("Part::Part2DObjectPython", "Name")
 +
obj.Label = "Custom label"
 +
}}
 +
 
 +
For example, most tools from the [[Draft_Workbench|Draft Workbench]], like [[Draft_Line|Draft Line]], [[Draft_Rectangle|Draft Rectangle]], [[Draft_Polygon|Draft Polygon]], etc., are {{incode|Part::Part2DObjectPython}} objects with a custom icon and additional properties.
 +
 
 +
<div class="mw-translate-fuzzy">
 +
{{Part Tools navi/it}}
 +
</div>
  
{{Userdocnavi}}
+
{{Userdocnavi/it}}

Latest revision as of 16:47, 18 January 2020

Other languages:
Deutsch • ‎English • ‎français • ‎italiano

Introduzione

Tree Part2D.svg

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

Part::Part2DObject è derivato da una Part Feature, ma è specializzato nella geometria 2D, dato che la sua forma è posizionata su un piano. Il piano è definito dalla sua proprietà DataPlacement (posizione, normale e rotazione). Tuttavia, il piano può anche essere definito supportando elementi geometrici, come il piano creato da tre vertici arbitrari o una faccia di un corpo solido.

FreeCAD core objects.svg

Diagramma semplificato delle relazioni tra gli oggetti principali in FreeCAD. La classe Part::Part2DObject è specializzata per le forme 2D, quindi è la classe di base per gli oggetti planari creati con gli ambienti Draft e Sketcher.

Utilizzo

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

Part::Part2DObject è definito nell'ambiente Part ma può essere usato come classe base per gli oggetti da script in tutti gli [[Workbenches/it|ambienti] ] che producono forme geometriche 2D. Ad esempio, è l'oggetto base per gli (Sketcher SketchObject) degli schizzi e per la maggior parte degli oggetti creati con Draft.

I workbench possono aggiungere diverse proprietà a questo elemento di base per produrre un oggetto con comportamento complesso.

Proprietà

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

Un Part Part2DObject (classe Part::Part2DObject) è derivato da una Part Feature (classe Part::Feature), pertanto condivide tutte le proprietà di quest'ultimo.

Oltre alle proprietà descritte in Part Feature, Part Part2DObject ha le seguenti proprietà nell'editor delle proprietà.

Dati

Attachment

  • DataMap Mode: "Deactivated" di default. Questa proprietà definisce il piano che l'oggetto utilizza come riferimento per la geometria 2D. Facendo clic sui puntini di sospensione (tre puntini), a destra del campo di immissione si apre il pannello Part Attachment della scheda azioni che consente di selezionare il piano di supporto selezionando diversi elementi nella vista 3D. Le diverse modalità sono: Deactivated, Translate origin, Object's XY, Object's XZ, Object's YZ, Plane face, Tangent to surface, Normal to edge, Frenet NB, Frenet TN, Frenet TB, Concentric, Revolution section, Plane by 3 points, Normal to 3 points, Folding, Inertia 2-3, Align O-N-X, Align O-N-Y, Align O-X-Y, Align O-X-N, Align O-Y-N, Align O-Y-X.

Vedere Part Attachment per ulteriori informazioni su tutte le modalità di associazione.

The following two properties are normally hidden. They become visible once DataMap Mode is something other than Deactivated.

  • DataMap Reversed (Bool): it defaults to False; if it is True the Z direction will be reversed. For example, a sketch will be flipped upside down.
  • DataAttachment Offset (Placement): the position of the object in the 3D view, with respect to the attachment object's placement. The placement is defined by a Base point (vector), and a Rotation (axis and angle). See Placement.

Hidden properties Data

Base

  • DataProxy (PythonObject): a custom class associated with this object. This only exists for the Python version. See Scripting.

Attachment

  • DataAttacher Type (String): class name of the attach engine object driving the attachment. It defaults to Attacher::AttachEnginePlane.
  • DataSupport (LinkSubList): it is the plane or face supporting the 2D geometry. It defaults to an empty list [].
  • DataMap Path Parameter (Float): sets point of curve to map a sketch to. It goes from 0 to 1, which corresponds to the start and end. It defaults to 0.

Vista

Grid

  • ViewGrid Size: un valore che determina la dimensione della spaziatura delle linee della griglia locale nella vista 3D.
  • ViewGrid Snap: se è True la griglia può essere utilizzata per agganciare i punti.
  • ViewGrid Style: Dashed or Light; lo stile delle linee della griglia.
  • ViewShow Grid: se è True nella vista 3D viene visualizzata una griglia locale all'oggetto. Questa griglia è indipendente dalla griglia di Draft.
  • ViewTight Grid: se è True la griglia locale è localizzata attorno all'origine della forma, altrimenti si estende oltre.

Hidden properties View

Base

  • ViewProxy (PythonObject): a custom view provider class associated with this object. This only exists for the Python version. See Scripting.

All other view properties, including hidden properties, are those of the base Part Feature object.

Script

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

Vedere Part Feature per le informazioni generali.

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

import FreeCAD as App

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

This basic Part::Part2DObject doesn't have a Proxy object so it can't be fully used for sub-classing.

Therefore, for Python subclassing, you should create the Part::Part2DObjectPython object.

import FreeCAD as App

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

For example, most tools from the Draft Workbench, like Draft Line, Draft Rectangle, Draft Polygon, etc., are Part::Part2DObjectPython objects with a custom icon and additional properties.