Description |
---|
Macro qui, par un simple clic sur une cellule du tableur, ajoute une contrainte de longueur à une ligne, un cercle ou entre 2 points en utilisant un alias ou une adresse de cellule du tableur (ex. C2). Les modifications futures de la feuille de calcul mettront à jour la contrainte. La macro peut créer des alias pour vous. Il suffit de sélectionner une ligne, deux points ou une contrainte, de cliquer sur une cellule de la feuille de calcul et d'exécuter la macro. Vous pouvez sélectionner des lignes, des points aux extrémités d'une ligne, des points, des cercles ou des arcs de cercle. Version macro : 01.05 Date dernière modification : 2025-01-23 Version FreeCAD : Toutes Téléchargement : Icône de la barre d'outils Auteur: 2cv001 |
Auteur |
2cv001 |
Téléchargement |
Icône de la barre d'outils |
Liens |
Page des macros Comment installer une macro Comment créer une barre d'outils |
Version Macro |
01.05 |
Dernière modification |
2025-01-23 |
Version(s) FreeCAD |
Toutes |
Raccourci clavier |
None |
Voir aussi |
None |
Contactez-moi si quelque chose ne va pas.
Macro qui, par un simple clic sur une cellule du tableur, ajoute une contrainte de longueur à une ligne ou entre 2 points en utilisant un alias ou une adresse de cellule du tableur (ex. C2). Les modifications ultérieures de la feuille de calcul mettront à jour la contrainte. La macro peut créer des alias pour vous.
Il suffit de sélectionner 1 ligne, 2 points ou une contrainte, de cliquer sur une cellule du tableur et d'exécuter la macro. Vous pouvez sélectionner des polylignes, des points aux extrémités d'une ligne, des points, des cercles ou des arcs de cercle.
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/FreeCAD-macros/master/Spreadsheet/Sketch_Constraint_From_Spreadsheet.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/FreeCAD-macros/master/Spreadsheet/Sketch_Constraint_From_Spreadsheet.FCMacro")
Si vous exécutez la macro et que vous n'avez pas encore créé de feuille de calcul, de corps ou d'esquisse, la macro vous propose de les créer et ouvre ensuite l'esquisse en mode édition et la feuille de calcul afin que vous puissiez commencer à la remplir.
Ce n'est pas obligatoire, mais il est préférable d'utiliser des alias dans votre feuille de calcul. La macro peut créer des alias à partir des textes contenus dans les cellules.
Deux modes :
Un mode automatique où les alias sont automatiquement créés en utilisant une zone de texte définie par une cellule. La zone comprend la cellule et celles qui se trouvent en dessous. Ces textes correspondent au nom de l'alias. L'alias est créé à droite de son texte." La cellule désignée (ici A3) est éditable dans ces boîtes de dialogue :
Pour utiliser le mode manuel, ne cochez pas l'option "Automatic alias".
1) Sélectionnez :
2) Cliquez sur une cellule de la feuille de calcul, avec ou sans alias, qui contient une valeur numérique :
3) Lancez la macro.
4) Sélectionnez le type de contrainte souhaité :
Si la cellule a un alias, la propriété de longueur de la contrainte sera quelque chose comme "Spreadsheet.alias". Dans le cas contraire, il s'agira de quelque chose comme "Spreadsheet.D4".
5) Si la contrainte provoque un conflit dans l'esquisse et que la case "conflict detection" est cochée, la macro propose de supprimer la nouvelle contrainte :
Si vous sélectionnez une contrainte existante, vous pouvez remplacer sa valeur par une valeur provenant d'une feuille de calcul :
La macro peut également gérer une géométrie externe provenant d'une autre esquisse :
Pour être encore plus précis, si, par exemple, une ligne est horizontale plutôt que verticale, à l'ouverture de la boîte de dialogue, le focus sera sur le bouton permettant d'appliquer une contrainte horizontale. Si la ligne est verticale et non horizontale, le focus sera sur le bouton permettant d'appliquer une contrainte verticale. Dans les deux cas, il vous suffit d'appuyer sur la touche Entrée si vous êtes satisfait de votre choix.
La macro fonctionne également pour les protusions (propriété Length), les poches (propriété Length), les filets (propriété Radius), les chanfreins (propriété Size) et les épaisseurs (propriété Value). Si vous cliquez sur un protusion, par exemple, puis sur une cellule avec la valeur souhaitée, la propriété Length de la protusion est automatiquement modifiée.
Merci à openBrain, mario52 et onekk pour leur aide sur le code!
Merci à Syres pour les tests et pour l'aide sur le format dans le code.
Merci à Roy043 et David69 pour les diverses révisions et améliorations du wiki.
Merci à L'ami René pour les tests et les idées.
ver 01.06 2025/01/28 by 2cv001 Macro_Sketch_Constraint_From_Spreadsheet.FCMacro