Macro FCInfo/fr

Macro FCInfo

Description
Donne des informations sur la forme sélectionnée et peut afficher une conversion de la longueur, de l'inclinaison (degrés, radians, grades, pourcentage), de la surface, du volume et du poids dans différentes unités (métriques et impériales). La macro fonctionne désormais aussi pour les éléments d'une esquisse en mode édition.


Version française

Version macro : 1.30c
Date dernière modification : 2025/01/28
Version FreeCAD : Toutes
Téléchargement : Icône de la barre d'outils
Auteur: Mario52

Auteur
Mario52
Téléchargement
Icône de la barre d'outils
Liens
Version Macro
1.30c
Dernière modification
2025/01/28
Version(s) FreeCAD
Toutes
Raccourci clavier
None
Voir aussi
Arch Prendre des cotes, Macro SimpleProperties, Macro FCInfoGlass

Description

Donne des informations sur la forme sélectionnée et peut afficher une conversion de la longueur, de l'inclinaison (degrés, radians, grades, pourcentage), de la surface, du volume et du poids dans différentes unités (métriques et impériales). La macro fonctionne désormais aussi pour les éléments d'une esquisse en mode édition.

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://gist.githubusercontent.com/mario52a/8d40ab6c018c2bde678f/raw/2ba412bef3a9a5a0c6da4f3be18513a585f3a301/FCInfo_en_Ver_1-30c-rmu_Docked.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://gist.githubusercontent.com/mario52a/8d40ab6c018c2bde678f/raw/2ba412bef3a9a5a0c6da4f3be18513a585f3a301/FCInfo_en_Ver_1-30c-rmu_Docked.FCMacro")
<class="rawcodeurl"><a href="https://gist.githubusercontent.com/mario52a/8d40ab6c018c2bde678f/raw/2ba412bef3a9a5a0c6da4f3be18513a585f3a301/FCInfo_en_Ver_1-30c-rmu_Docked.FCMacro">raw code</a>


FCInfo

Utilisation

Sélectionnez un objet et lancez l'application, ou lancez d'abord l'application puis sélectionnez un objet. L'objet est analysé et une boîte de dialogue s'ouvre avec les informations recueillies. A chaque nouvelle sélection, l'unité de longueur est remise à mm et l'unité d'angle à degrés décimaux.

Fenêtre supérieure
Fenêtre supérieure


Secteur 1 : Document

FCInfo Document

(vous pouvez mettre à false la variable switch_setVisible_GBox_001_Document pour cacher la boîte).

Secteur 2 : Coordonnées au point cliqué

FCInfo Coordinate

(vous pouvez mettre à false la variable switch_setVisible_GBox_002_Coordinate_Mouse pour cacher la boîte).

Secteur 3 : Couleur au point

FCInfo Color_on_point

(vous pouvez mettre à false la variable switch_setVisible_GBox_003_Color pour cacher la Box).

Secteur 4 : Composants Mesh

FCInfo Composant Mesh

Si la sélection est un objet maillé, une nouvelle fenêtre "Components" est affichée et donne :

(vous pouvez mettre à false la variable switch_setVisible_GBox_004_Object_Mesh pour cacher la Boîte)

Secteur 5 : Unités

FCInfo Units

(vous pouvez mettre à false la variable switch_setVisible_GBox_005_Value_Unit pour cacher la boîte)

Secteur 6 : Inclinaison

FCInfo Inclination

(vous pouvez mettre à false la variable switch_setVisible_GBox_006_Inclination pour cacher la boîte)

Secteur 7 : Surface et volume

FCInfo Surface and Volume

(vous pouvez mettre à false la variable switch_setVisible_GBox_007_Surface_and_Volume pour cacher la boîte).

Secteur 8 : Coût

FCInfo Cost

0.027 Eu

10,0000 Eu (par Kg)
(vous pouvez mettre à false la variable switch_setVisible_GBox_008_Cost_And_Price pour cacher la boîte).

Secteur 9 : Boîte englobante

FCInfo BoundBox

(vous pouvez mettre à false la variable switch_setVisible_GBox_009_BoundBox pour cacher la boîte).

Secteur 10 : Centre

FCInfo Center of...

(vous pouvez mettre à false la variable switch_setVisible_GBox_010_Center_Mass pour cacher la boîte).

Secteur 11 : Centre d'inertie

FCInfo Inertia

idem le poids

(vous pouvez mettre à false la variable switch_setVisible_GBox_011_Inertia pour cacher la boîte).

Secteur 12 : Feuille de calcul

FCInfo Disabled

(vous pouvez mettre à false la variable switch_setVisible_GBox_012_SpreadSheet pour cacher la boîte).

Secteur 13 : Création d'une feuille de calcul

FCInfo SpreedSheet

Option pour sauvegarder ou lire la feuille de calcul avec différents séparateurs, Tabulation, Virgule, Point-virgule, Espace
La tabulation est le séparateur pour l'[Spreadsheet_Workbench/fr|atelier Spreadsheet] de FreeCAD
Le nombre de ces quatre séparateurs est calculé pour aider en cas d'inconnu
Les VIRGULES étaient les anciens séparateurs de la macro FCInfo (01.16 et avant)
Depuis la version 01.17, pour être compatible avec le tableur FreeCAD, la TABULATION est le séparateur par défaut
Si vous voulez convertir votre ancienne feuille de calcul FCInfo : ouvrez-la dans FCInfo et enregistrez-la avec l'option Tabulation cochée.
(vous pouvez cocher à false la variable switch_setVisible_GBox_013_SpreadSheet_Creation' pour cacher la boîte).

Secteur 14 : Principales commandes

FCInfo Main

Si l'option est 1 mode fly (User parameter:BaseApp/Preferences/Macros/FCMmacros/FCInfo/seTPositionFlyRightLeft) ce bouton n'est pas visible.

(vous pouvez mettre à false la variable switch_setVisible_GBox_014_Main_Tools pour cacher la boîte).

Une fois la macro lancée, la macro reste active et la fenêtre reste visible. Il faut quitter la macro par la touche Quitte. Si vous quittez par la petite croix, la fenêtre disparaît et la macro reste en mémoire, les données continuent de s'afficher dans la vue rapport de FreeCAD. Vous devrez quitter FreeCAD pour vider la mémoire.

Options

Les unités utilisées

Unités de longueur :

km, hm, dam, m, dm, cm, mm, µm, nm, pm, fm, inch, link, foot, yard, perch, chain, furlong, mile, league, nautique.

Unités d'angle :

  1. degré décimal, ex : 174.831872611°
  2. degré minute seconde, ex : 174° 49' 54.741401''
  3. radian, ex : 3.05139181449 rad
  4. grade, ex : 194.257636235 gon ou gr
  5. pourcent, ex : 30° = 57.74%

Compréhension de l'affichage des angles dans FCInfo.

Unités de masse :

ton, quintal, kg, hg, dag, gram, dg, cg, mg, µg, ng, pg, fg, gr (grain), dr (drachm), oz (once), oz t (once troy),
lb t (livre troy), lb (livre av), st (stone), qtr (quarter), cwt (hundredweight), tonneau fr, ct

Configuration de FCInfo


(section GroupBox) vous permet de n'afficher que la ou les section(s) souhaitées (uniquement visuelles) false ou true.

Tous les calculs sont fait sans tenir conte de cette option

Script

Copiez le contenu de la macro dans un fichier nommé "FCInfo.FCMacro"

Ou, directement dans l'interface de FreeCAD.
Les icônes doivent se trouver dans le même répertoire que la macro.
Télécharger les images en vous positionnant sur les icônes puis faites clic droit de la souris "Enregistrer l'image sous" (ne pas modifier le nom)

PS : le code est trop long pour être contenu dans la page du wiki (pour le moment les pages du wiki n'acceptent que 64 KB). Le code de la macro a été placé dans le forum

Téléchargez le fichier FCInfo docké à droite


(Ou sur le forum. )

PS : cette macro utilise la fonction getSelection() et la liste des objets commence à 1 ex: pour un cube Edge1 à Edge12 (arêtes) et le code qui liste les arêtes dans la console Python commence à 0 ex: pour un cube Edge[0] à Edge[11]
Cette différence est tout à fait normale, le compteur de la liste/tableau dans OpenCascade commence toujours à 1 et pas à 0.

Limitations

Toujours utiliser le bouton Exit. Si vous quittez le programme sans passer par le bouton Exit, le programme reste en mémoire et continue à s'exécuter et l'affichage continue dans le "rapport de visualisation". Vous devez quitter FreeCAD pour l’effacer de la mémoire.
Seuls les 200 premiers éléments de l’objet sont visibles dans le tableau. Si il y a plus de 200 éléments dans l’objet, un signal sera affiché par (! +200). La liste complète des données est visible dans le fichier sauvegardé par le bouton Save.

Si la fenêtre de la macro n'est pas visible au lancement, regardez en bas de la fenêtre :


en projet :
lecture du fichier directement dans un tableau. fait
correspondances des "Edges" et de leurs coordonnées fait
association d'une substance à sa masse volumique

inclinaison sur l'élément plutôt que sur l'objet global fait
incrustation à droite dans l'interface de FreeCAD fait

Version

ver "1.30c" 2025/01/28 : remplacé connect comboBox pour Arch Linux

remplacé:

QtCore.QObject.connect(self.comboBox_Unit, QtCore.SIGNAL(u"currentIndexChanged(QString)"), self.SIGNAL_comboPoids_Changed)

par:

self.comboBox_Unit.currentTextChanged.connect(self.SIGNAL_comboPoids_Changed)

ver "1.30b" 2025/01/20 : remplacé les slash Windows "\" par les slash Python "/"

ver "1.30" 2025/01/02 : effacé toutes les références à PySide PySide2 et QtWidgets modifé (Qt) Save file

#
import PySide2
from PySide2 import QtGui , QtCore, QtWidgets
from PySide2.QtWidgets import QComboBox
from PySide2.QtWidgets import QMessageBox
from PySide2.QtWidgets import QTableWidget, QApplication
from PySide2.QtGui import *
from PySide2.QtCore import *
from PySide2.QtWidgets import *

            OpenName, Filter = PySide2.QtWidgets.QFileDialog.getOpenFileName(None, u"Read a txt file", setPathLatestDirectory, "*.FCInfo *.csv *.asc *.txt;;FCInfo (*.FCInfo);;Cvs (*.csv);;Ascii (*.asc);;TXT (*.txt);;(*.*);;(*)")#PySide2

remplacé et changé la commande par

#
import PySide
try:
    from PySide import QtWidgets
    from PySide.QtWidgets import *
except Exception:
    None
from PySide import QtGui , QtCore
from PySide.QtGui import *
from PySide.QtCore import *

            OpenName, Filter = QFileDialog.getOpenFileName(None, u"Read a txt file", setPathLatestDirectory, "*.FCInfo *.csv *.asc *.txt;;FCInfo (*.FCInfo);;Cvs (*.csv);;Ascii (*.asc);;TXT (*.txt);;(*.*);;(*)")#PySide

ver "1.29b" 2024/05/10 PySide2 modifier l'inertie " MatrixX1*uniteM en (MatrixX1*uniteM) " et ajouter l'inertie à l'interface

ver 1.29 2024/05/06 french version fr PySide6 par sylvainbx https://gist.github.com/sylvainbx/af09a30be3e1427de56305825331fb29 merci sylvainbx

ver 1.28b 1.28c 2023/10/30 orthographe

ver 1.28 01/09/2023 modifié le nom des variables, possibilité de masquer chaque secteur, sauvegarder les données directement dans le document, le rayon de la surface, ajouter un bouton webWiki et webForum

ver 1.27 2023/06/30 optimiser la feuille de style, corriger la position gauche/droite et restaurer la vue après l'édition du sketcher

self.PB_00_Decrement.setStyleSheet("background-color: white; border:2px solid rgb(215, 10, 22);")      # bord white and red

remplacé par

self.PB_00_Decrement.setStyleSheet("QPushButton {background-color: white; border:2px solid rgb(215, 10, 22)};")      # bord white and red

Ajout de

FreeCAD.ActiveDocument.openTransaction(u"FCInfo")    # memorise les actions (avec annuler restore)
FreeCAD.ActiveDocument.commitTransaction()           # restore les actions  (avec annuler restore)
#FreeCAD.ActiveDocument.abortTransaction()            # abandonne les actions(avec annuler restore)
try:
        self.window.setAttribute(QtCore.Qt.WA_DeleteOnClose, True)    # destroy
        self.window.deleteLater()                                     # destroy
        self.window.destroy()                                         # destroy
except Exception:
        None

How do i exit from FreeCAD instead of Python?

instead:

self.window.hide()

et j'ai ajouté la possibilité d'afficher ou non la fenêtre "Message d'erreur" "Faux" par défaut, si vous voulez activer la fenêtre d'avertissement allez à :

FreeCAD >Menu >Tools >Edit parameters... >BaseApp/Preferences/Macros/FCMmacros/FCInfo > switchWarning

Liens

Voir aussi : Arch Survey Arch Prise de cotes

Vous pouvez faire part de vos commentaires sur le forum Info Workbench - Help with icons please.
Ici un autre post traitant de FCInfo Macro