Transformer un nombre réel en texte

Forum destiné aux questions et discussions en français
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
User avatar
2cv001
Posts: 484
Joined: Wed Jan 01, 2020 9:30 am

Re: Transformer un nombre réel en texte

Post by 2cv001 »

Le fichier joint et quelques copies écran en complément
test3.FCStd
(35.96 KiB) Downloaded 51 times


?
Capture.JPG
Capture.JPG (103.68 KiB) Viewed 1287 times
Capture2.JPG
Capture2.JPG (31.53 KiB) Viewed 1292 times


En fait je voudrais pouvoir maitriser le nombre de zéro derrière la virgule de ce qui s'affiche sur ma pièce via le shapeString


Capture1.JPG
Capture1.JPG (51.92 KiB) Viewed 1292 times

A noter que si je remplace la propriété text qui contenait Spreadsheet.largeur
par round(Spreadsheet.largeur * 1000) / 1000)
ou round(Spreadsheet.largeur * 10) / 10)
ça s'affiche toujours avec 2 chiffres après la virgule. Comment faire pour en avoir par exemple 0 ou 1 chiffre derrière la virgule

testé en 0.19
OS: Windows 10 Version 2009
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.24276 (Git)
Build type: Release
Branch: releases/FreeCAD-0-19
Hash: a88db11e0a908f6e38f92bfc5187b13ebe470438
Python version: 3.8.6+
Qt version: 5.15.1
Coin version: 4.0.1
OCC version: 7.5.0
Locale: French/France (fr_FR)

mais aussi en 0.20

OS: Windows 10 Version 2009
Word size of FreeCAD: 64-bit
Version: 0.20.24787 (Git)
Build type: Release
Branch: master
Hash: ea96f1860164ff8a6751b21b3fb4d425fc87f5e5
Python version: 3.8.6+
Qt version: 5.15.2
Coin version: 4.0.1
OCC version: 7.5.0
Locale: French/France (fr_FR)
Macro Sketch Constraint From Spreadsheet :
https://wiki.freecad.org/Macro_Sketch_C ... adsheet/fr
User avatar
papyblaise
Veteran
Posts: 7868
Joined: Thu Jun 13, 2019 4:28 pm
Location: France

Re: Transformer un nombre réel en texte

Post by papyblaise »

Solution de gros bourrin (j'en entend qui disent "ça m’étonne pas :!: ) :
j'extrude avec Part , dégrade avec Draft (grosse flèche bleue vers le bas) et efface les solides en trop
Attachments
12.5.PNG
12.5.PNG (16.97 KiB) Viewed 1284 times
12.5.FCStd
(53.46 KiB) Downloaded 44 times
User avatar
Forthman
Veteran
Posts: 2650
Joined: Fri Apr 27, 2018 11:23 am
Location: Tarn-et-Garonne (82)

Re: Transformer un nombre réel en texte

Post by Forthman »

Justement j'ai eu besoin de faire quelque chose qui ressemble à ça il y a peu,
j'ai passé plusieurs heures à tester des trucs, en mélangeant des cours de Python et les expressions de Freecad
(ne jugez pas je ne suis pas informaticien :mrgreen: )
Capture d’écran_2021-04-30_11-30-51.png
Capture d’écran_2021-04-30_11-30-51.png (83.89 KiB) Viewed 1277 times





Mais quelle est donc ta formule magique à mettre en expression ??? cette attente est insoutenable !!! :mrgreen:

<<mon blabla de texte %g le reste du blabla si besoin>> %valeur
la lettre après le % correspond au format numérique comme on peut l'utiliser dans Techdraw (j'ai pas trouvé de doc, j'ai fait des essais)
quelques exemples :
%a affiche la valeur avec au moins un chiffre après la virgule + l'unité
%g affiche la valeur sans les 0 non significatifs
%.2f affiche systématiquement 2 chiffres après la virgule (la valeur est arrondie)

Si on veut mettre plusieurs valeurs, la seule solution que j'ai trouvé est de faire :
<<blabla %g>> %(valeur) + <<blabla2 %g>> %(valeur2)

le petit fichier exemple :
poids rond.FCStd
(52.13 KiB) Downloaded 59 times
User avatar
2cv001
Posts: 484
Joined: Wed Jan 01, 2020 9:30 am

Re: Transformer un nombre réel en texte

Post by 2cv001 »

@ Papyblaise
Effectivement, bien bourrin !
On doit bien pouvoir trouver mieux :D
Macro Sketch Constraint From Spreadsheet :
https://wiki.freecad.org/Macro_Sketch_C ... adsheet/fr
User avatar
papyblaise
Veteran
Posts: 7868
Joined: Thu Jun 13, 2019 4:28 pm
Location: France

Re: Transformer un nombre réel en texte

Post by papyblaise »

oui mais à défaut .....
tu peu le faire sur le texte seul , faut bien garder un peu de travail manuel , c'est demain la fête du boulot (quand yen reste :!: )
Attachments
12.5_1.PNG
12.5_1.PNG (13.84 KiB) Viewed 1256 times
User avatar
2cv001
Posts: 484
Joined: Wed Jan 01, 2020 9:30 am

Re: Transformer un nombre réel en texte

Post by 2cv001 »

Forthman wrote: Fri Apr 30, 2021 9:49 am

Mais quelle est donc ta formule magique à mettre en expression ??? cette attente est insoutenable !!! :mrgreen:

le petit fichier exemple :
Mais ça marche ton truc !!
Capture.JPG
Capture.JPG (27.14 KiB) Viewed 1253 times
test3.FCStd
(62.38 KiB) Downloaded 65 times
Macro Sketch Constraint From Spreadsheet :
https://wiki.freecad.org/Macro_Sketch_C ... adsheet/fr
User avatar
Forthman
Veteran
Posts: 2650
Joined: Fri Apr 27, 2018 11:23 am
Location: Tarn-et-Garonne (82)

Re: Transformer un nombre réel en texte

Post by Forthman »

Ouaip ! :D
Par contre je ne sais pas si c'est très académique :oops:
J'ai fait des essais en regardant ce que me disait Freecad lors de la saisie (ça a été long :P )
User avatar
Shalmeneser
Veteran
Posts: 9474
Joined: Wed Dec 23, 2020 12:04 am
Location: Fr

Re: Transformer un nombre réel en texte

Post by Shalmeneser »

La page TechDraw Dimensionnement géométrique et tolérance explique bien ces différents formats si on clique les liens proposés.

Mais je ne trouve rien sur %a (valeur avec au moins un chiffre après la virgule + l'unité)
User avatar
papyblaise
Veteran
Posts: 7868
Joined: Thu Jun 13, 2019 4:28 pm
Location: France

Re: Transformer un nombre réel en texte

Post by papyblaise »

La page TechDraw Dimensionnement géométrique et tolérance explique bien ces différents formats si on clique les liens proposés.
non seulement , mais ça me fais mettre le doigt sur de grandes quantités d'habillage de dessin que je ne soupçonnais pas (tolérances , soudures , géométrie ...) , je ne vai plus me laver les mains un moment pour ne pas perdre ce lien ..... :lol:
%a existe dans le tableau pour de l'hexadécimal
User avatar
Shalmeneser
Veteran
Posts: 9474
Joined: Wed Dec 23, 2020 12:04 am
Location: Fr

Re: Transformer un nombre réel en texte

Post by Shalmeneser »

Pourquoi cette différence de fonctionnement pour %a :
* Freecad : valeur avec au moins un chiffre après la virgule + l'unité
* Autre : hexadécimal en minuscule
Post Reply