Part Part2DObject/de: Difference between revisions

From FreeCAD Documentation
(Created page with "== Eigenschaften ==")
No edit summary
 
(33 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{TOCright}}


<span id="Introduction"></span>
== Einführung ==
== Einführung ==


[[File:Tree_Part2D.svg|32px]]
[[File:Tree_Part2D.svg|32px]]


Ein [[Part Part2DObject/de|Part Teil2DObjekt]], oder formal ein {{incode|Part::Part2DObject}}, ist ein einfaches Element mit einer [[Part_TopoShape/de|topologische Form]], das in der [[3D view/de|3D Ansicht]] angezeigt werden kann.
Ein [[Part_Part2DObject/de|Part Part2DObject]], oder formal ein {{incode|Part::Part2DObject}}, ist ein einfaches Element mit einer [[Part_TopoShape/de|topologischen Form]], das in der [[3D_view/de|3D-Ansicht]] angezeigt werden kann.


Das {{incode|Part::Part2DObject}} ist von einem [[Part Feature/de|Part Formelement]] abgeleitet, ist aber auf 2D Geometrie spezialisiert, da seine Form auf einer Ebene liegen wird. Diese Ebene wird durch die {{PropertyData/de|Platzierung}} Eigenschaft definiert (Position, Normale und Rotation). Die Ebene kann aber auch durch unterstützende geometrische Elemente definiert werden, wie z.B. die Ebene, die durch drei beliebige Knoten erzeugt wird, oder eine Fläche eines Volumenkörpers.
Das {{incode|Part::Part2DObject}} ist von dem [[Part Feature/de|Part Formelement]] abgeleitet, ist aber auf 2D-Geometrie spezialisiert, da seine Form auf einer Ebene liegen wird. Diese Ebene wird durch die {{PropertyData/de|Placement}} definiert (Position, Normale und Rotation). Die Ebene kann aber auch durch unterstützende geometrische Elemente definiert werden, wie z.B. die Ebene, die durch drei beliebige Knoten erzeugt wird, oder eine Fläche eines Volumenkörpers.


[[File:FreeCAD_core_objects.svg|800px]]
[[File:FreeCAD_core_objects.svg|800px]]


{{Caption|Vereinfachtes Diagramm der Beziehungen zwischen den Kernobjekten im Programm. Die Klasse {{incode|Part::Part2DObject}} ist auf 2D Formen spezialisiert, so dass sie die Basisklasse für planare Objekte ist, die mit den Werkbänken Draft und Sketcher erstellt werden. Sie enthält eine Erweiterung, mit der sie an Flächen und Ebenen angehängt werden kann.}}
{{Caption|Vereinfachtes Diagramm der Beziehungen zwischen den Kernobjekten in FreeCAD}}


<span id="Usage"></span>
==Anwendung==
==Anwendung==


Das [[Part Part2DObject/de|Part2DObject]] ist ein internes Objekt, kann also nicht von der grafischen Oberfläche aus erzeugt werden, sondern nur von der [[Python console/de|Python Konsole]], wie im Abschnitt [[Part_Part2DObject#Scripting|Scripting]] beschrieben.
Das [[Part Part2DObject/de|Part2DObject]] ist ein internes Objekt, kann also nicht von der grafischen Oberfläche aus erzeugt werden, sondern nur von der [[Python_console/de|Python-Konsole]], wie im Abschnitt [[#Scripten|Scripten]] beschrieben.


Das {{incode|Part::Part2DObject}} ist im [[Part Workbench/de|Part Arbeitsbereich]] festgelegt, kann aber als Basisklasse für [[scripted objects/de|geskriptete Objekte]] in allen [[Workbenches/de|Arbeitsbereichen]] die geometrische 2D Formen erzeugen, verwendet werden. Beispielsweise ist sie das Basisobjekt für Skizzen ([[Sketcher_SketchObject/de|Skizzierer SkizzeObjekt]]), und für die meisten Objekte, die mit der [[Draft Workbench/de|Draft Workbench]] erstellt werden.
Das {{incode|Part::Part2DObject}} ist im Arbeitsbereich [[Part_Workbench/de|Part]] festgelegt, kann aber als Basisklasse für [[scripted objects/de|skriptgenerierte Objekte]] in allen [[Workbenches/de|Arbeitsbereichen]] die geometrische 2D-Formen erzeugen, verwendet werden. Beispielsweise ist sie das Basisobjekt für Skizzen ([[Sketcher_SketchObject/de|Sketcher SketchObjekt]]), und für die meisten Objekte, die mit dem Arbeitsbereich [[Draft_Workbench/de|Draft]] erstellt werden.


Arbeitsbereiche können diesem Grundelement weitere Eigenschaften hinzufügen, um ein Objekt mit komplexem Verhalten zu erzeugen.
Arbeitsbereiche können diesem Grundelement weitere Eigenschaften hinzufügen, um ein Objekt mit komplexem Verhalten zu erzeugen.


<span id="Properties"></span>
== Eigenschaften ==
== Eigenschaften ==


See [[Property|Property]] for all property types that scripted objects can have.
Siehe [[Property/de|Eigenschaft]] für alle Eigenschaftstypen, die geskriptete Objekte haben können.


A [[Part_Part2DObject|Part Part2DObject]] ({{incode|Part::Part2DObject}} class) is derived from a [[Part_Feature|Part Feature]] ({{incode|Part::Feature}} class), therefore it shares all the latter's properties.
Das [[Part_Part2DObject/de|Part Part2DObjekt]] (Klasse {{incode|Part:: Part2DObject}}) wird von einem [[Part_Feature/de|Part Formelement]] (Klasse{{incode|Part::Feature}}) abgeleitet und erbt alle seiner Eigenschaften.


Das Part Part2DObjekt hat außerdem die folgenden zusätzlichen Eigenschaften im [[property editor/de|Eigenschafteneditor]]. Ausgeblendete Eigenschaften können unter Verwendung des Befehls {{MenuCommand|Alles anzeigen}} im Kontextmenü des [[Property_editor/de|Eigenschaftseditors]] angezeigt werden.
In addition to the properties described in [[Part Feature|Part Feature]], the Part Part2DObject has the following properties in the [[property editor|property editor]]. Hidden properties can be shown by using the {{MenuCommand|Show all}} command in the context menu of the [[property editor|property editor]].


<span id="Data"></span>
=== Data ===
=== Daten ===


{{TitleProperty|Attachment}}
{{TitleProperty|Attachment}}
* {{PropertyData|Map Mode|Enumeration}}: {{value|Deactivated}} by default. This property determines a plane which the object will use as reference for 2D geometry. Clicking on the ellipsis {{KEY|...}} (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: {{value|Deactivated}}, {{value|Translate origin}}, {{value|Object's XY}}, {{value|Object's XZ}}, {{value|Object's YZ}}, {{value|Plane face}}, {{value|Tangent to surface}}, {{value|Normal to edge}}, {{value|Frenet NB}}, {{value|Frenet TN}}, {{value|Frenet TB}}, {{value|Concentric}}, {{value|Revolution section}}, {{value|Plane by 3 points}}, {{value|Normal to 3 points}}, {{value|Folding}}, {{value|Inertia 2-3}}, {{value|Align O-N-X}}, {{value|Align O-N-Y}}, {{value|Align O-X-Y}}, {{value|Align O-X-N}}, {{value|Align O-Y-N}}, {{value|Align O-Y-X}}.


* <div id="Property_Attacher_Type"></div>{{PropertyData|Attacher Type|String|Hidden}}: class name of the attach engine object driving the attachment. It defaults to {{incode|Attacher::AttachEnginePlane}}.
See [[Part Attachment|Part Attachment]] for more information on all mapping modes.
* <div id="Property_Support"></div>{{PropertyData|Support|LinkSubList}}: it is the plane or face supporting the 2D geometry. It defaults to an empty list {{incode|[]}}.
* <div id="Property_Map_Mode"></div>{{PropertyData|Map Mode|Enumeration}}: {{value|Deactivated}} by default. This property determines a plane which the object will use as reference for 2D geometry. Clicking on the ellipsis {{KEY|...}} (three dots), to the right of the entry field starts the [[Part_EditAttachment|Part EditAttachment]] command that allows selecting the supporting plane by picking different elements in the [[3D_view|3D view]]. The different modes are: {{value|Deactivated}}, {{value|Translate origin}}, {{value|Object's XY}}, {{value|Object's XZ}}, {{value|Object's YZ}}, {{value|Plane face}}, {{value|Tangent to surface}}, {{value|Normal to edge}}, {{value|Frenet NB}}, {{value|Frenet TN}}, {{value|Frenet TB}}, {{value|Concentric}}, {{value|Revolution section}}, {{value|Plane by 3 points}}, {{value|Normal to 3 points}}, {{value|Folding}}, {{value|Inertia 2-3}}, {{value|Align O-N-X}}, {{value|Align O-N-Y}}, {{value|Align O-X-Y}}, {{value|Align O-X-N}}, {{value|Align O-Y-N}}, {{value|Align O-Y-X}}.
* <div id="Property_Map_Reversed"></div>{{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. Hidden if {{PropertyData|Map Mode}} is {{value|Deactivated}}.
* <div id="Property_Map_Path"></div>{{PropertyData|Map Path Parameter|Float|Hidden}}: 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}}.
* <div id="Property_Attachment_Offset"></div>{{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]]. Hidden if {{PropertyData|Map Mode}} is {{value|Deactivated}}.


<span id="Scripting"></span>
The following two properties are normally hidden. They become visible once {{PropertyData|Map Mode}} is something other than {{value|Deactivated}}.
== Skripten ==
* {{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]].


{{Emphasis|Siehe auch:}} [[FreeCAD_Scripting_Basics/de|FreeCAD Grundlagen Skripten]] und [[Scripted_objects/de|Skriptgenerierte Objekte]].
==== Hidden properties Data ====


Siehe [[Part_Feature/de|Part Formelemente]] zu allgemeinen Informationen über das Hinzufügen von Objekten zum Dokument.
{{TitleProperty|Base}}


Ein Teil2DObjekt wird mit der {{incode|addObject()}} Methode des Dokuments erstellt.
* {{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}}

* {{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}}.

=== View ===

{{TitleProperty|Grid}}
* {{PropertyView|Grid Size|Length}}: the size of the spacing of the local grid lines in the [[3D view|3D view]]; it defaults to {{value|10 mm}}.
* {{PropertyView|Grid Snap|Bool}}: it defaults to {{FALSE}}; if {{TRUE}} the grid can be used to snap points.
* {{PropertyView|Grid Style|Enumeration}}: the style of the grid lines; {{value|Dashed}} (default) or {{value|Light}}.
* {{PropertyView|Show Grid|Bool}}: it defaults to {{FALSE}}; 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|Tight Grid|Bool}}: if {{TRUE}} (default) the local grid will be localized around the origin of the shape, otherwise it will extend itself more.

==== Hidden properties View ====

{{TitleProperty|Base}}

* {{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]].

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

== Scripting ==

{{Emphasis|See also:}} [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]], and [[scripted objects|scripted objects]].

See [[Part_Feature|Part Feature]] for the general information on adding objects to the document.

A Part2DObject is created with the {{incode|addObject()}} method of the document.
{{Code|code=
{{Code|code=
import FreeCAD as App
import FreeCAD as App
Line 84: Line 62:
}}
}}


Für [[Python/de|Python]]-Subclassing sollte ein {{incode|Part::Part2DObjectPython}}-Objekt erstellt werden.
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=
{{Code|code=
Line 96: Line 72:
}}
}}


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.


{{Part Tools navi{{#translation:}}}}
{{Document_objects_navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{clear}}

Latest revision as of 22:10, 1 April 2023

Einführung

Ein Part Part2DObject, oder formal ein Part::Part2DObject, ist ein einfaches Element mit einer topologischen Form, das in der 3D-Ansicht angezeigt werden kann.

Das Part::Part2DObject ist von dem Part Formelement abgeleitet, ist aber auf 2D-Geometrie spezialisiert, da seine Form auf einer Ebene liegen wird. Diese Ebene wird durch die Daten-EigenschaftPlacement definiert (Position, Normale und Rotation). Die Ebene kann aber auch durch unterstützende geometrische Elemente definiert werden, wie z.B. die Ebene, die durch drei beliebige Knoten erzeugt wird, oder eine Fläche eines Volumenkörpers.

Vereinfachtes Diagramm der Beziehungen zwischen den Kernobjekten in FreeCAD

Anwendung

Das Part2DObject ist ein internes Objekt, kann also nicht von der grafischen Oberfläche aus erzeugt werden, sondern nur von der Python-Konsole, wie im Abschnitt Scripten beschrieben.

Das Part::Part2DObject ist im Arbeitsbereich Part festgelegt, kann aber als Basisklasse für skriptgenerierte Objekte in allen Arbeitsbereichen die geometrische 2D-Formen erzeugen, verwendet werden. Beispielsweise ist sie das Basisobjekt für Skizzen (Sketcher SketchObjekt), und für die meisten Objekte, die mit dem Arbeitsbereich Draft erstellt werden.

Arbeitsbereiche können diesem Grundelement weitere Eigenschaften hinzufügen, um ein Objekt mit komplexem Verhalten zu erzeugen.

Eigenschaften

Siehe Eigenschaft für alle Eigenschaftstypen, die geskriptete Objekte haben können.

Das Part Part2DObjekt (Klasse Part:: Part2DObject) wird von einem Part Formelement (KlassePart::Feature) abgeleitet und erbt alle seiner Eigenschaften.

Das Part Part2DObjekt hat außerdem die folgenden zusätzlichen Eigenschaften im Eigenschafteneditor. Ausgeblendete Eigenschaften können unter Verwendung des Befehls Alles anzeigen im Kontextmenü des Eigenschaftseditors angezeigt werden.

Daten

Attachment

  • Daten (Hidden)Attacher Type (String): class name of the attach engine object driving the attachment. It defaults to Attacher::AttachEnginePlane.
  • DatenSupport (LinkSubList): it is the plane or face supporting the 2D geometry. It defaults to an empty list [].
  • DatenMap Mode (Enumeration): 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 starts the Part EditAttachment command that allows selecting the supporting plane by picking different elements in the 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.
  • DatenMap 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. Hidden if DatenMap Mode is Deactivated.
  • Daten (Hidden)Map 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.
  • DatenAttachment 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 if DatenMap Mode is Deactivated.

Skripten

Siehe auch: FreeCAD Grundlagen Skripten und Skriptgenerierte Objekte.

Siehe Part Formelemente zu allgemeinen Informationen über das Hinzufügen von Objekten zum Dokument.

Ein Teil2DObjekt wird mit der addObject() Methode des Dokuments erstellt.

import FreeCAD as App

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

Für Python-Subclassing sollte ein Part::Part2DObjectPython-Objekt erstellt werden.

import FreeCAD as App

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