Macro Alias For Table For Object
| Description |
|---|
| Cette macro crée automatiquement des alias dans un tableau bidimensionnel en utilisant les noms des lignes et des colonnes. Une deuxième fonction permet de créer un lien entre une cellule et une valeur de propriété d'un objet. |
| Auteur |
| 2cv001 |
| Téléchargement |
| Liens |
| Page des macros Comment installer une macro Comment créer une barre d'outils |
| Version Macro |
| beta |
| Dernière modification |
| 2024-02-22 |
| Version(s) FreeCAD |
| Toutes |
| Raccourci clavier |
| None |
| Voir aussi |
| None |
Description
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")
Cette macro crée automatiquement des alias dans un tableau bidimensionnel en utilisant les noms des lignes et des colonnes. Une deuxième fonction permet de créer un lien entre une cellule et une valeur de propriété d'un objet. Pour pouvoir utiliser cette fonction, il suffit de placer le nom de l'objet concerné dans la colonne et le nom de la propriété dans la ligne.
La syntaxe des alias créé par la macro est la suivante : LabelObject_Property.
La macro peut également remplir automatiquement les valeurs des propriétés des objets (comme le corps, l'esquisse, etc.) sur la base de ces alias.
Utilisation
Création automatique d'alias
Remplissez une feuille de calcul avec une colonne contenant des étiquettes d'objets (corps, esquisse, protrusion, ...) et une ligne correspondant aux propriétés. Dans le code, vous trouverez la correspondance entre les propriétés et ce qu'il faut mettre dans cette ligne. Voir dico= ci-dessous.
Par exemple, utilisez posy pour la propriété Placement.Base.y.
Sélectionnez les cellules du tableau avec la colonne des étiquettes d'objet et la ligne des propriétés, puis exécutez la macro et cochez la première option :
La macro créera des alias avec la syntaxe suivante : LabelObjet_Propriété. Par exemple : BodyRect_posy.
Partie du dico (vérifiez le code de la macro pour le dico complet) :
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",
Valeurs automatiques dans les propriétés
Sélectionnez certaines cellules du tableau avec les valeurs et les alias créés précédemment. Exécutez la macro et sélectionnez la deuxième option (les deux options peuvent être sélectionnées en même temps pour les enchaîner).
La macro attribuera des valeurs aux propriétés via une expression faisant référence à l'alias des cellules. Désormais, si vous changez une valeur dans le tableau, la valeur de la propriété changera et tout sera recalculé.
Exemples
Protrusion
Contraintes d'esquisse
Donnez un nom à la contrainte (ici : Width) (Faites attention à la casse.) Ajoutez une colonne avec le nom de cette contrainte dans la ligne des propriétés, et ajoutez une ligne avec l'étiquette de l'esquisse (ici : Sketch). Exécutez la macro.
Crédits
Cette macro a été développée sur la base d'une idée suggérée par Esprit. Un grand merci également à lui pour les nombreuses idées et tests qu'il a réalisés.
Informations sur les versions
ver 25/02/2024 par 2cv001 Alias_For_Table_For_Object.FCMacro







