| 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. |
| Autore |
| 2cv001 |
| Download |
| Link |
| Raccolta di macro Come installare le macro Personalizzare la toolbar |
| Versione macro |
| beta |
| Data ultima modifica |
| 22-02-2024 |
| Versioni di FreeCAD |
| All |
| Scorciatoia |
| Nessuna |
| Vedere anche |
| Nessuno |
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.
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",
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.
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.
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.
ver 25/02/2024 da 2cv001 Alias_For_Table_For_Object.FCMacro