Jump to content

Makro Alias für Tabelle für Objekt

From FreeCAD Documentation
This page is a translated version of the page Macro Alias For Table For Object and the translation is 100% complete.

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.
Um diese Funktion nutzen zu können, müssen Sie lediglich den Namen des entsprechenden Objekts in die Spalte und den Namen der Eigenschaft in die Zeile eingeben.

Versionsmakro : beta
Datum der letzten Änderung : 2024-02-22
FreeCAD version : Alle
Autor: 2cv001

Autor
2cv001
Herunterladen
Links
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

Code