FreeCAD Logo FreeCAD 1.0
  • Anglais Afrikaans Arabe Biélorusse Catalan Tchèque Allemand Grec Espagnol Espagnol Basque Finnois Philippin Français Galicien Croate Hongrois Indonésien Italien Japonais Kabyle Coréen Lituanien Néerlandais Norvégien classique Polonais Portugais Portugais Roumain Russe Slovaque Slovène Serbe Suédois Turc Ukrainien Valencien Vietnamien Chinois Chinois
  • Fonctions
  • Télécharger
  • Blog
  • Documentation
    Index de la documentation Premiers pas Documentation pour les utilisateurs Manuel de FreeCAD Documentation des ateliers Documentation sur le codage en Python Documentation pour les développeurs Tutoriels Foire aux questions Politique de confidentialité À propos de FreeCAD
  • Contribuer
    Comment aider Sponsor Signaler un bogue Faire une demande de modification (PR) Emplois et financements Guide pour les contributions Manuel pour les développeurs Traductions
  • Communauté
    Code de conduite Forum The FPA GitHub GitLab Codeberg Mastodon Matrix IRC IRC via Webchat Gitter Discord Reddit Twitter Facebook LinkedIn Calendrier
  • ♥ Donate

Donate

$
Informations SEPA
Veuillez configurer votre virement bancaire SEPA pour:
Beneficiary: The FreeCAD project association
IBAN: BE04 0019 2896 4531
BIC/SWIFT: GEBABEBBXXX
Agence bancaire: BNP Paribas Fortis
Adresse: Rue de la Station 64, 1360 Perwez, Belgium

While Stripe doesn't support monthly donations, you can still become a sponsor! Simply make a one-time donation equivalent to 12 months of support, and you'll gain access to the corresponding sponsoring tier. It's an easy and flexible way to contribute.

If you are not sure or not able to commit to a regular donation, but still want to help the project, you can do a one-time donation, of any amount.

Choose freely the amount you wish to donate one time only.

You can support FreeCAD by sponsoring it as an individual or organization through various platforms. Sponsorship provides a steady income for developers, allowing the FPA to plan ahead and enabling greater investment in FreeCAD. To encourage sponsorship, we offer different tiers, and unless you choose to remain anonymous, your name or company logo will be featured on our website accordingly.

from 1 USD / 1 EUR per month. You will not have your name displayed here, but you will have helped the project a lot anyway. Together, normal sponsors maintain the project on its feet as much as the bigger sponsors.

from 25 USD / 25 EUR per month. Your name or company name is displayed on this page.

from 100 USD / 100 EUR per month. Your name or company name is displayed on this page, with a link to your website, and a one-line description text.

from 200 USD / 200 EUR per month. Your name or company name and logo displayed on this page, with a link to your website and a custom description text. Companies that have helped FreeCAD early on also appear under Gold sponsors.

Instead of donating each month, you might find it more comfortable to make a one-time donation that, when divided by twelve, would give you right to enter a sponsoring tier. Don't hesitate to do so!

Choose freely the amount you wish to donate each month.

Please inform your forum name or twitter handle as a notein your transfer, or reach to us, so we can give you proper credits!

Macro Sketch Constraint From Spreadsheet

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 : 02.03
Date dernière modification : 2025/10/27
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
02.03
Dernière modification
2025/10/27
Version(s) FreeCAD
Toutes
Raccourci clavier
None
Voir aussi
None

Description

Contactez-moi sur le forum FreeCAD en cas de problème.

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")
<class="rawcodeurl"><a href="https://raw.githubusercontent.com/2cv001/FreeCAD-macros/master/Spreadsheet/Sketch_Constraint_From_Spreadsheet.FCMacro">raw code</a>


Utilisation

Création automatique d'objets

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.

Création automatique d'alias

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 manuel où vous sélectionnez vous-même les cellules contenant du texte pour l'alias et un mode automatique.
  • et un mode automatique :

Mode automatique

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 :

Alias automatic creation

Alias automatic creation Alias automatic creation

Mode manuel

Pour utiliser le mode manuel, ne cochez pas l'option "Automatic alias".

Alias creation

Alias creation

Création de contraintes

1) Sélectionnez :

  • une ligne,
  • deux points (extrémité d'une ligne, centre d'un cercle, etc.)
  • ou une contrainte de longueur.

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 propriétés des objets. Si vous cliquez, par exemple, sur la propriété Length d'une protrusion, puis sur une cellule avec la valeur souhaitée, la propriété Length de la protrusion est automatiquement modifiée.

Utiliser des formules

Principe : la macro transforme l'alias avant de l'insérer dans l'expression du paramètre ou de la dimension. Elle remplace les mots-clés par des opérations pour tout ce qui suit la chaîne de caractères f (f pour fonction).

Exemple d'utilisation :

Si votre alias est : radius_f__mul_2_plu_1
l'expression sera :
<<datas>>.radius_f__mul_2_plu_1 * 2 + 1
Ainsi, si vous avez, par exemple, la valeur 5 dans la cellule, le paramètre ou la dimension prendra la valeur 5 * 2 + 1, ce qui est égale à 11.

Un extrait du code montrant les opérations possibles et les formules à utiliser :

formulaSeparator = '_f_'
dicoFormula = {
    '_div_':'/',
    '_mul_':'*',
    '_plu_':'+',
    '_mor_':'+',
    '_les_':'-',
    '_moi_':'-',
    '_pg_':'(',
    '_lp_':'(',
    '_pd_': ')',
    '_rp_': ')',
}

Rayon → diamètre

Une case à cocher vous permet de diviser la valeur par 2 directement dans la formule. Cela est très pratique, par exemple, lorsque vous souhaitez saisir un diamètre qui sera converti en rayon. Un cas typique est une ligne dans une esquisse utilisée comme profil pour une révolution.

Liens

  • Forum de discussion (français)
  • Forum discussion (English)
  • Liste des macros
  • Comment installer des macros
  • Personnaliser la barre d'outils

Crédits

Merci à openBrain, mario52 et onekk pour leur aide sur le code!
Merci à Syres pour les tests, revues 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.

Script

Icône de la barre d'outils

Code

ver 02.03 2025/10/27 by 2cv001 Macro_Sketch_Constraint_From_Spreadsheet.FCMacro

Téléchargement

Download latest version of the macro

Cette page est extraite de https://wiki.freecad.org/Macro_Sketch_Constraint_From_Spreadsheet

Contactez-nous !
Forum GitHub Mastodon Matrix IRC Gitter.im Discord Reddit Twitter Facebook LinkedIn

© L'équipe FreeCAD. Crédits des images de la page d'accueil (de haut en bas) : ppemawm, r-frank, epileftric, regis, rider_mortagnais, bejant.

Ce projet est soutenu par : , KiCad Services Corp. et autres parrains

GitHubAméliorer cette page sur GitHub