Part Formelement
Einleitung
Ein Part Formelement-Objekt, oder formal ein Part:: Feature, ist ein einfaches Element mit einer topologischen Form, das in der 3D-Ansicht angezeigt werden kann.
Das Part-Formelement ist die Elternklasse der meisten 2D-(Draft-, Sketcher-) und 3D- (Part-, PartDesign-) Objekte, mit Ausnahme von Polygonnetzen, die normalerweise auf demMesh Formelement oder dem FEM Polygonnetz-Objekt für FEM-Objekte basieren.
Vereinfachtes Diagramm der Beziehungen zwischen den Kernobjekten in FreeCAD
Anwendung
Das Part-Formelement ist ein internes Objekt, kann also nicht von der grafischen Oberfläche aus erstellt werden, sondern nur von der Python-Konsole aus, wie im Abschnitt Skripten beschrieben.
Das Part::Feature wird im Arbeitsbereich Part definiert, kann aber als Basisklasse für skriptgenerierte Objekte in allen Arbeitsbereichen verwendet werden, die 2D- und 3D-Geometrieformen erstellen. Im Wesentlichen sind alle im Arbeitsbereich Part erstellten Objekte Instanzen eines Part::Features.
Das Part::Feature ist auch die Elternklasse des PartDesign Körpers, der PartDesign Formelemente und der Part Part2DObjekte, die auf 2D-(planare) Formen spezialisiert ist.
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-Formelement (Klasse Part::Feature) wird von dem Grundelement App GeoFeature (Klasse App::GeoFeature) abgeleitet, und erbt alle seine Eigenschaften. Es besitzt auch einige zusätzliche Eigenschaften. Hervorzuheben ist eine Daten-EigenschaftShape, die die Part TopoForm des Objekts speichert. Dies ist die Geometrie, die in der 3D-Ansicht gezeigt wird. Andere Eigenschaften die dieses Objekt besitzt, sind solche die die Darstellung der TopoForm beeinflussen.
Diese sind die im Eigenschafteneditor vorhandenen Eigenschaften. Ausgeblendete Eigenschaften können mit dem Befehl Ausgeblendete anzeigen im Kontextmenü des Eigenschafteneditors angezeigt werden.
Daten
Base
- Daten-Eigenschaft (versteckt)Proxy (
PythonObject): Eine benutzerdefinierte Klasse, die mit diesem Objekt verknüpft ist. Diese existiert nur für die Python-Version. Siehe Scripting. - Daten-Eigenschaft (versteckt)Shape (
PartShape): Ein mit diesem Objekt verbundene Part TopoForm. - Daten-EigenschaftShape Material (
Material): das Material des Objekts. - Daten-EigenschaftPlacement (
Placement): die Position des Objekts. Die Platzierung wird durch einenBasis-Punkt (Vektor) und eineRotation(Achse und Winkel) definiert. Siehe Positionierung.- Angle: Der Drehwinkel um die Daten-EigenschaftAxis. Standardmäßig ist er
0°(null Grad). - Axis: Der Einheitsvektor, der die Drehachse für die Platzierung definiert. Jede Komponente ist ein Fließkommawert zwischen
0und1. Liegt ein Wert über1, wird der Vektor so normalisiert, dass seine Größe1beträgt. Standardmäßig ist dies die positive Z-Achse(0, 0, 1). - Position: Ein Vektor mit den 3D-Koordinaten des Basispunkts. Standardmäßig ist dies der Ursprung
(0, 0, 0).
- Angle: Der Drehwinkel um die Daten-EigenschaftAxis. Standardmäßig ist er
- Daten-Eigenschaft (versteckt)_ Element Map Version (
String): In Arbeit. eingeführt in 1.1 - Daten-EigenschaftLabel (
String): Der vom Benutzer editierbare Name dieses Objekts, es handelt sich um eine beliebige UTF8-Zeichenkette. - Daten-Eigenschaft (versteckt)Label2 (
String): Eine längere, vom Benutzer bearbeitbare Beschreibung dieses Objekts. Es handelt sich um eine beliebige UTF8-Zeichenkette, die Zeilenumbrüche enthalten kann. Standardmäßig ist es eine leere Zeichenkette"". - Daten-Eigenschaft (versteckt)Expression Engine (
ExpressionEngine): Eine Liste von Ausdrücken. Standardmäßig ist sie leer[]. - Daten-Eigenschaft (versteckt)Visibility (
Bool): ob das Objekt angezeigt werden soll oder nicht.
Ansicht
Die meisten Objekte in FreeCAD verfügen über einen sogenannten Viewprovider, eine Klasse, die das visuelle Erscheinungsbild des Objekts in der 3D-Ansicht und in der Baumansicht definiert. Der Standard-Viewprovider von Part Formelement-Objekten definiert die folgenden Eigenschaften. Skriptbasierte Objekte, die von Part Formelement abgeleitet sind, haben ebenfalls Zugriff auf diese Eigenschaften.
Base
- Ansicht (hidden)Proxy (
PythonObject): Eine benutzerdefinierte Viewprovider-Klasse, die mit diesem Objekt verknüpft ist. Diese existiert nur für die Python-Version. Siehe Skripten. - Ansicht (Hidden)Transform Origin (
Placement): Speichert den von Std Bewegen verwendeten Ursprung. eingeführt in 1.1
Anzeigeoptionen
- AnsichtBounding Box (
Bool): Wenn dies zutrifft, wird das Objekt die Begrenzungsbox in der 3D-Ansicht anzeigen. - AnsichtDisplay Mode (
Enumeration):Flat Lines(reguläre Visualisierung),Shaded(keine Kanten),Wireframe(keine Flächen),Points(nur Knoten). - AnsichtShow In Tree (
Bool): Wenn true (wahr), wird das Objekt in der Baumansicht angezeigt, andernfalls wird es in der Baumansicht ausgeblendet. Sobald ein Objekt in der Baumansicht unsichtbar ist, kann man es wieder anzeigen, indem das Kontextmenü über dem Namen des Dokuments geöffnet wird (Rechtsklick) undIn der Baumansicht ausgeblendete Elemente anzeigen ausgewählt wird. Dann kann das ausgeblendete Element ausgewählt und AnsichtShow In Tree wieder auf
truegesetzt werden. - AnsichtShow Placement (
Bool): Wenn true (wahr), wird ein Koordinatensystem angezeigt, das die Daten-EigenschaftPlacement des Objekts angibt. eingeführt in 1.1 - AnsichtVisibility (
Bool): Wenn true (wahr), erscheint das Objekt in der 3D-Ansicht; andernfalls ist es unsichtbar. Standardmäßig kann diese Eigenschaft durch Drücken der Leertaste ein- und ausgeschaltet werden.
Objektstil
- AnsichtAngular Deflection (
Angle): Dies ist eine Ergänzung zu AnsichtDeviation. Es handelt sich um eine weitere Möglichkeit, die Feinheit der Netzgenerierung für die Darstellung auf dem Bildschirm oder beim Export festzulegen. Der Standardwert ist28,5 Gradoder0,5 Radiant. Dies ist der Maximalwert. Je kleiner der Wert, desto glatter ist das Erscheinungsbild und desto feiner ist das exportierte Netz. - AnsichtDeviation (
FloatConstraint): Dies ist eine Ergänzung zu AnsichtAngular Deflection. Es handelt sich um eine weitere Möglichkeit, die Feinheit der Netzgenerierung für die Darstellung auf dem Bildschirm oder beim Export festzulegen. Der Standardwert ist0,5 %. Dies ist der Maximalwert. Je kleiner der Wert, desto glatter ist das Erscheinungsbild und desto feiner ist das exportierte Netz. - AnsichtDraw Style (
Enumeration):Solid(Standard),Dashed,Dotted,Dashdot; definiert den Stil der Kanten. - AnsichtLighting (
Enumeration):Two side(Standard),One side; die Beleuchtung kommt aus zwei Seiten oder einer Seite in der 3D-Ansicht. - AnsichtLine Color (
Color): ein Tupel aus vier RGBA-Werten mit Gleitkomma, um die Farbe der Kanten zu definieren. - Ansicht (hidden)Line Color Array (
ColorList): Eine Liste von RGBA-Tupeln, die Farben definieren, ähnlich wie AnsichtLine Color. - Ansicht (hidden)Line Material (
Material): Ein App-Material, das mit den Kanten in diesem Objekt verknüpft ist. Standardmäßig ist es leer. - AnsichtLine Width (
FloatConstraint): Eine Fließkommazahl, die die Breite der Kanten in Pixeln bestimmt.
- AnsichtPoint Color (
Color): Ähnlich zu AnsichtLine Color, legt die Farbe der Eckpunkte fest. - Ansicht (hidden)Point Color Array (
ColorList): Es handelt sich um eine Liste von RGBA-Tupeln, die Farben definieren, ähnlich wie AnsichtPoint Color. - Ansicht (hidden)Point Material (
Material): Ein App-Material die mit den Eckpunkten in diesem Objekt verbunden sind. Standardmäßig ist es leer. - AnsichtPoint Size (
FloatConstraint): Ähnlich zu AnsichtLine Width, legt die Größe der Eckpunkte fest. - AnsichtShape Appearance (
MaterialList): Eine Liste von App-Materialien Festlegen des Aussehens des Objekts. Standardmäßig enthält die Liste ein einzelnes Element, das dann für alle Flächen des Objekts verwendet wird. Alternativ kann sie für jede Fläche ein separates App-Material enthalten. Siehe Part FarbeProFläche. Im Eigenschafteneditor wird nur das erste App-Material angezeigt. Wenn es bearbeitet wird, erhält man eine Liste mit einem einzigen Element. Ein App-Material hat die folgenden Eigenschaften:- Diffuse Color: siehe hier für eine Erklärung dieser und der nächsten Farben.
- Ambient Color
- Specular Color
- Emissive Color
- Shininess
- Transparency
- AnsichtTransparency (
Percent): Eine ganze Zahl zwischen0und100, die den Grad der Transparenz der Flächen bestimmt. Der Wert100bedeutet, dass die Flächen vollständig unsichtbar sind. Die Flächen sind zwar unsichtbar, können aber dennoch ausgewählt werden, solange AnsichtSelectable auftruegesetzt ist. Durch Ändern dieser Eigenschaft wird auch die Liste AnsichtShape Appearance des Objekts geändert. Die resultierende Liste enthält dann nur noch einen einzigen Eintrag.
Selection
- AnsichtOn Top When Selected (
Enumeration): Steuert die Art und Weise, wie die Auswahl in der 3D-Ansicht erfolgt, wenn das Objekt eine Form hat und viele Objekte teilweise von anderen verdeckt sind. Die Standardeinstellung istDisabled, was bedeutet, dass keine besondere Hervorhebung erfolgt;Enabledbedeutet, dass das Objekt bei Auswahl über allen anderen Objekten angezeigt wird;Objectbedeutet, dass das Objekt nur dann oben angezeigt wird, wenn das gesamte Objekt in der Baumansicht ausgewählt ist;Elementbedeutet, dass das Objekt nur dann oben angezeigt wird, wenn ein Unterelement (Eckpunkt, Kante, Fläche) in der 3D-Ansicht ausgewählt ist. - AnsichtSelectable (
Bool): Wenn true, kann das Objekt mit dem Zeiger in der 3D-Ansicht ausgewählt werden. Andernfalls kann das Objekt nur in der Baumansicht ausgewählt werden. - AnsichtSelection Style (
Enumeration): Steuert die Art und Weise, wie das Objekt hervorgehoben wird. Wenn esShapeist, wird die gesamte Form (Eckpunkte, Kanten und Flächen) in der 3D-Ansicht hervorgehoben; wenn esBoundBoxist, erscheint ein Begrenzungsrahmen um das Objekt herum, der hervorgehoben wird.
Verdrehwinkel und Winkelabweichung
Parameter für Verdrehwinkel und Winkelabweichung: d < lineare Abweichung, α < Winkelabweichung.
Die Abweichung ist ein Wert in Prozent, der mit den Abmaßen in mm der Bounding-Box des Objekts zusammenhängt. Die Abweichung in mm kann wie folgt berechnet werden:
deviation_in_mm = (w + h + d)/3 * deviation/100
wobei w, h, d die Begrenzungsrahmen Abmessungen sind.
Skripten
Siehe auch: Grundlagen der Skripterstellung in FreeCAD und Skriptgenerierte Objekte.
Ein Part Formelement wird mit der addObject() Methode des Dokuments erstellt.
import FreeCAD as App
doc = App.newDocument()
obj = App.ActiveDocument.addObject("Part::Feature", "Name")
obj.Label = "Custom label"
Für Python-Subclassing sollte ein Part::FeaturePython-Objekt erstellt werden.
import FreeCAD as App
doc = App.newDocument()
obj = App.ActiveDocument.addObject("Part::FeaturePython", "Name")
obj.Label = "Custom label"
Namen
Siehe auch: Objektname für weitere Informationen zu den Eigenschaften von Name.
Die addObject-Methode hat zwei Basis-String-Argumente.
- Das erste Argument gibt den Objekttyp an, in diesem Fall
"Part::FeaturePython". - Das zweite Argument ist eine Zeichenfolge, die das Attribut
Namedefiniert. Wenn es nicht angegeben wird, wird standardmäßig derselbe Name wie die Klasse verwendet, also"Part__FeaturePython". DerNamedarf nur einfache alphanumerische Zeichen und den Unterstrich[_0-9a-zA-Z]enthalten. Wenn andere Symbole angegeben werden, werden diese in Unterstriche umgewandelt; beispielsweise wird"A+B:C*"in"A_B_C_"umgewandelt.
Beschriftung
Falls gewünscht, kann das Attribut Label in einen aussagekräftigeren Text geändert werden.
- Das
Labelkann jede UTF8-Zeichenkette akzeptieren, einschließlich Akzente und Leerzeichen. Da die Baumansicht dasLabelanzeigt, empfiehlt es sich, dasLabelin eine aussagekräftigere Zeichenkette zu ändern. - Standardmäßig ist
Labelgenau wieNameeindeutig. Dieses Verhalten kann jedoch im Einstellungseditor geändert werden: Bearbeiten → Einstellungen → Allgemein → Dokument → Doppelte Objektbezeichnungen in einem Dokument zulassen. Das bedeutet, dassLabelim Allgemeinen innerhalb desselben Dokuments wiederholt vorkommen kann. Beim Testen eines bestimmten Elements sollte sich der Benutzer daher eher aufNameals aufLabelverlassen.
- Core: App DocumentObject
- Basic: App FeaturePython, App GeoFeature, Part Feature, Mesh Feature, Fem FemMeshObject
- Internal shapes: Part TopoShape, Mesh MeshObject, Fem FemMesh
- Structure: App DocumentObjectGroup (Std Group), App Part (Std Part), App Link (Std LinkMake)
- Derived: Part Part2DObject, Sketcher SketchObject, PartDesign Body, PartDesign Feature
- Erste Schritte
- Installation: Herunterladen, Windows, Linux, Mac, Zusätzliche Komponenten, Docker, AppImage, Ubuntu Snap
- Grundlagen: Über FreeCAD, Graphische Oberfläche, Mausbedienung, Auswahlmethoden, Objektname, Voreinstellungseditor, Arbeitsbereiche, Dokumentstruktur, Objekteigenschaften, FreeCAD unterstützen, Spenden
- Hilfe: Anleitungen, Videoanleitungen
- Arbeitsbereiche: Std Base, Arch, Assembly, BIM, CAM, Draft, FEM, Inspection, Material, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework