Part Part2DObject/de: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
 
(9 intermediate revisions by 3 users not shown)
Line 2: Line 2:
{{TOCright}}
{{TOCright}}


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


Line 8: Line 9:
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.
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 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.
<div class="mw-translate-fuzzy">
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.
</div>


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


{{Caption|Vereinfachtes Diagramm der Beziehungen zwischen den Kernobjekten in FreeCAD}}
<div class="mw-translate-fuzzy">
{{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.}}
</div>


<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 [[#Scripten|Scripten]] beschrieben.
<div class="mw-translate-fuzzy">
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.
</div>


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.
<div class="mw-translate-fuzzy">
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.
</div>


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 ==


Siehe [[Property/de|Eigenschaft]] für alle Eigenschaftstypen, die geskriptete Objekte haben können.
Siehe [[Property/de|Eigenschaft]] für alle Eigenschaftstypen, die geskriptete Objekte haben können.


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.
<div class="mw-translate-fuzzy">
Ein [[Part_Part2DObject/de|Part Teil2DObjekt]] ({{incode|PartDesign::Body}} Klasse) wird von einem [[Part_Feature/de|Part Formelement]] ({{incode|Part::Feature}} Klasse) abgeleitet, daher teilt sie alle Eigenschaften der letzteren.
</div>


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.
<div class="mw-translate-fuzzy">
Zusätzlich zu den in [[Part Feature/de|Part Formelement]] beschriebenen Eigenschaften hat das Part Teil2DObjekt im [[property editor/de|Eigenschaftseditor]] die folgenden Eigenschaften. Ausgeblendete Eigenschaften können unter Verwendung des {{MenuCommand/de|Alles anzeigen}} Befehl im Kontextmenü des [[property editor/de|Eigenschaftseditor]] angezeigt werden.
</div>


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


{{TitleProperty|Attachment}}
{{TitleProperty|Attachment}}


* {{PropertyData|Attacher Type|String|Hidden}}: class name of the attach engine object driving the attachment. It defaults to {{incode|Attacher::AttachEnginePlane}}.
* <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}}.
* {{PropertyData|Support|LinkSubList}}: it is the plane or face supporting the 2D geometry. It defaults to an empty list {{incode|[]}}.
* <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|[]}}.
* {{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_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}}.
* {{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_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}}.
* {{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_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}}.
* {{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}}.
* <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>
== Skripten ==
== Skripten ==


{{Emphasis|Siehe auch:}} [[FreeCAD_Scripting_Basics/de|FreeCAD Grundlagen Skripten]] und [[Scripted_objects/de|Skriptgenerierte Objekte]].
<div class="mw-translate-fuzzy">
{{Emphasis|Siehe auch:}} [[FreeCAD Scripting Basics/de|FreeCAD Skripten Grundlagen]], und [[scripted objects/de|geskriptete Objekte]].
</div>


Siehe [[Part_Feature/de|Part Formelemente]] zu allgemeinen Informationen über das Hinzufügen von Objekten zum Dokument.
Siehe [[Part_Feature/de|Part Formelemente]] zu allgemeinen Informationen über das Hinzufügen von Objekten zum Dokument.
Line 71: Line 62:
}}
}}


Für [[Python/de|Python]]-Subclassing sollte ein {{incode|Part::Part2DObjectPython}}-Objekt erstellt werden.
<div class="mw-translate-fuzzy">
Daher solltest du für [[Python/de|Python]] subclassing das Objekt {{incode|Part::Part2DObjectPython}} erstellen.
</div>


{{Code|code=
{{Code|code=

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"