Macro Alias For Table For Object/it

Icona macro generica. Crea la tua icona personale con lo stesso nome della macro Macro Alias For Table For Object

Descrizione
Questa macro crea automaticamente alias in una tabella bidimensionale utilizzando i nomi di righe e colonne.

Una seconda funzione può creare un collegamento tra una cella e il valore di una proprietà in un oggetto.
Per poter utilizzare questa funzione, è sufficiente inserire il nome dell'oggetto in questione nella colonna e il nome della proprietà nella riga.

Versione macro: beta
Ultima modifica: 22-02-2024
Versione FreeCAD: All
Autore: 2cv001

Autore
2cv001
Download
Link
Versione macro
beta
Data ultima modifica
22-02-2024
Versioni di FreeCAD
All
Scorciatoia
Nessuna
Vedere anche
Nessuno

Descrizione

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")

Questa macro crea automaticamente alias in una tabella bidimensionale utilizzando i nomi di righe e colonne. Una seconda funzione può creare un collegamento tra una cella e il valore di una proprietà di un oggetto. Per poter utilizzare questa funzione, è sufficiente inserire il nome dell'oggetto in questione nella colonna e il nome della proprietà nella riga.

La sintassi per l'alias creato dalla macro è: LabelObject_Property.

La macro può anche compilare automaticamente i valori delle proprietà degli oggetti (ad esempio corpo, schizzo, ecc.) in base a questi alias.

Utilizzo

Creazione automatica di alias

Preparare un foglio di calcolo con una colonna contenente le etichette degli oggetti (Body, Sketch, Pad, ...) e una riga corrispondente alle proprietà. Nel codice si troverà la corrispondenza tra le proprietà e cosa inserire in questa riga. Vedere dico= di seguito.

Ad esempio, utilizzare posy per la proprietà Placement.Base.y.

Selezionare le celle nella tabella con la colonna delle etichette degli oggetti e la riga delle proprietà, quindi eseguire la macro e selezionare la prima opzione:

La macro creerà alias con questa sintassi: LabelObject_Property. Ad esempio: BodyRect_posy.

Parte del dico (controllare il codice della macro per il dico completo):

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",

Valori automatici nelle proprietà

Selezionare alcune celle nella tabella con valori e alias creati in precedenza. Eseguire la macro e selezionare la seconda opzione (entrambe le opzioni possono essere selezionate contemporaneamente per concatenarle).

La macro assegnerà i valori alle proprietà tramite un'espressione che fa riferimento all'alias delle celle. D'ora in poi, se si modifica un valore nella tabella, il valore della proprietà cambierà e tutto verrà ricalcolato.


Esempi

Pad

Vincoli schizzo

Assegnare un nome al vincolo (in questo caso: Width) (fare attenzione alle maiuscole/minuscole). Aggiungere una colonna con questo nome di vincolo nella riga delle proprietà e aggiungere una riga con l'etichetta dello schizzo (in questo caso: Schizzo). Eseguire la macro.

Ringraziamenti

Questa macro è stata sviluppata partendo da un'idea suggerita da Esprit. Si ringrazia inoltre Esprit per le numerose idee e i test che ha svolto.

Informazioni sulle versioni

ver 25/02/2024 da 2cv001 Alias_For_Table_For_Object.FCMacro

Codice