Makro Alias für Tabelle für Objekt
| Beschreibung |
|---|
| Dieses Makro erstellt automatisch Aliase in einer zweidimensionalen Tabelle unter Verwendung der Namen der Zeilen und Spalten. Eine zweite Funktion kann eine Verknüpfung zwischen einer Zelle und einem Eigenschaftswert in einem Objekt herstellen. |
| Autor |
| 2cv001 |
| Herunterladen |
| Links |
| Makros Rezepte Wie man Makros installiert Symbolleisten anpassen |
| Macro-Version |
| beta |
| Datum der letzten Änderung |
| 2024-02-22 |
| FreeCAD-Version(s) |
| Alle |
| Standardverknüpfung |
| None |
| Siehe auch |
| None |
Beschreibung
Temporary code for external macro link. Do not use this code. This code is used exclusively by Addon Manager. Link for optional manual installation: Macro
# This code is copied instead of the original macro code
# to guide the user to the online download page.
# Use it if the code of the macro is larger than 64 KB and cannot be included in the wiki
# or if the RAW code URL is somewhere else in the wiki.
from PySide import QtGui, QtCore
diag = QtGui.QMessageBox(QtGui.QMessageBox.Information,
"Information",
"This macro must be downloaded from this link\n"
"\n"
"https://raw.githubusercontent.com/2cv001/Alias_For_Table_For_Object.FCMacro/refs/heads/main/Alias_For_Table_For_Object.FCMacro" + "\n"
"\n"
"Quit this window to access the download page")
diag.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
diag.setWindowModality(QtCore.Qt.ApplicationModal)
diag.exec_()
import webbrowser
webbrowser.open("https://raw.githubusercontent.com/2cv001/Alias_For_Table_For_Object.FCMacro/refs/heads/main/Alias_For_Table_For_Object.FCMacro")
Dieses Makro erstellt automatisch Aliase in einer zweidimensionalen Tabelle unter Verwendung der Namen der Zeilen und Spalten. Eine zweite Funktion kann eine Verknüpfung zwischen einer Zelle und einem Eigenschaftswert eines Objekts herstellen. Um diese Funktion nutzen zu können, muss lediglich der Namen des entsprechenden Objekts in die Spalte und den Namen der Eigenschaft in die Zeile eingeben werden.
Die Syntax für den vom Makro erstellten Alias lautet: LabelObject_Property.
Das Makro kann auch automatisch Eigenschaftswerte von Objekten (wie Körper, Skizze usw.) basierend auf diesen Aliasen ausfüllen.
Anwendung
Automatische Alias-Erzeugung
Eine Tabelle mit einer Spalte ausfüllen, die Objektbezeichnungen enthält (Körper, Skizze, Block, ...), und einer Zeile, die den Eigenschaften entspricht. Im Code findet man die Entsprechungen zwischen den Eigenschaften und den Angaben, die in diese Zeile einzutragen sind. Siehe dico= unten.
Beispielsweise posy verwenden für die Eigenschaft Placement.Base.y.
Die Zellen in der Tabelle mit der Spalte Objektbezeichnungen und der Zeile Eigenschaften auswählen, dann das Makro ausführen und die erste Option aktivieren:
Das Makro erstellt Aliase mit dieser Syntax: LabelObject_Property. Zum Beispiel: BodyRect_posy.
Teil des dico (den vollständigen dico findet man im Code des Makros):
dico={
"posx" : "Placement.Base.x",
"posy" : "Placement.Base.y",
"posz" : "Placement.Base.z",
"posX" : "Placement.Base.x",
"posY" : "Placement.Base.y",
"posZ" : "Placement.Base.z",
"angle": "Placement.Rotation.Angle",
"ang" : "Placement.Rotation.Angle",
"axisx": "Placement.Rotation.Axis.x",
"axisy": "Placement.Rotation.Axis.y",
"axisz": "Placement.Rotation.Axis.z",
"axeX" : "Placement.Rotation.Axis.x",
"axeY" : "Placement.Rotation.Axis.y",
"axeZ" : "Placement.Rotation.Axis.z",
"attachementX" : "AttachmentOffset.Base.x",
"attachementY" : "AttachmentOffset.Base.y",
"attachementZ" : "AttachmentOffset.Base.z",
"attachementAngle" : "AttachmentOffset.Rotation.Angle",
"attachementAxisX" : "AttachmentOffset.Rotation.Axis.x",
"attachementAxisY" : "AttachmentOffset.Rotation.Axis.y",
"attachementAxisZ" : "AttachmentOffset.Rotation.Axis.z",
"Length" : "Length",
"Length2": "Length2",
"Radius" : "Radius",
"Height" : "Height",
"FirstAngle" : "FirstAngle",
"SecondAngle": "SecondAngle",
"Angle1" : "Angle1",
"Angle2" : "Angle2",
"Angle3" : "Angle3",
Automatische Werte in Eigenschaften
Einige Zellen in der Tabelle mit zuvor erstellten Werten und Aliasnamen auswählen. Das Makro ausführen und die zweite Option wählen (beide Optionen können gleichzeitig ausgewählt werden, um sie miteinander zu verknüpfen).
Das Makro weist den Eigenschaften Werte über einen Ausdruck zu, der auf den Alias der Zellen verweist. Wenn man von nun an einen Wert in der Tabelle ändert, ändert sich der Eigenschaftswert und alles wird neu berechnet.
Beispiele
Aufpolsterung
Skizzen-Randbedingungen
Der Randbedingung einen Namen geben (hier: Breite) (auf die Groß-/Kleinschreibung achten). In der Zeile Eigenschaften eine Spalte mit diesem Randbedinungs-Namen hinzufügen und eine Zeile mit der Bezeichnung der Skizze hinzufügen (hier: Skizze). Das Makro ausführen.
Danksagung
Dieses Makro wurde auf Grundlage einer Idee von Esprit entwickelt. Vielen Dank auch an ihn für die zahlreichen Ideen und Tests, die er durchgeführt hat.
Versionsinformation
ver 25/02/2024 von 2cv001 Alias_For_Table_For_Object.FCMacro







