Macro d'exportation en .svg et .stl pour FreeCAD.
  • Python 99.7%
  • Shell 0.3%
Find a file
2026-11-03 16:45:14 +00:00
PlaisirMaths BOM : clones nommés et sources de miroirs comptés comme pièces 2026-11-03 17:34:03 +01:00
.gitignore Package the export as the PlaisirMaths FreeCAD module, add BOM save observer 2026-10-31 10:28:44 +01:00
Align_View_to_Face.FCMacro maj 2025-05-15 16:15:40 +02:00
Align_View_to_Face.FCMacro.manifest maj 2025-05-15 16:15:40 +02:00
install.sh Package the export as the PlaisirMaths FreeCAD module, add BOM save observer 2026-10-31 10:28:44 +01:00
Macro_Align_View_to_Face.png maj 2025-05-15 16:15:40 +02:00
MultiExport.FCMacro Package the export as the PlaisirMaths FreeCAD module, add BOM save observer 2026-10-31 10:28:44 +01:00
README.md Collections as compounds, instance counting with clones, nested expansion 2026-11-01 18:53:10 +01:00

Plaisir-Maths pour FreeCAD (export, nomenclature, étiquettes)

Description

Module FreeCAD qui, à partir des fichiers de conception :

  • exporte les pièces en un clic : .step / .3mf pour l'impression 3D, .svg pour la découpe laser ;
  • tient la nomenclature (BOM) des collections dans l'arbre du document et l'écrit dans <Document>.bom.json (lu par l'application Plaisir-Maths) et <Document>.BOM.md ;
  • produit des étiquettes de boîtes de stockage avec QR code.

Installation

Le code est un module FreeCAD, PlaisirMaths/, testé avec FreeCAD 1.1. Pour l'installer :

./install.sh            # copie vers ~/.local/share/FreeCAD/v1-1/Mod/PlaisirMaths

puis redémarrer FreeCAD. Le module ajoute :

  • une barre d'outils Plaisir-Maths, visible dans tous les ateliers : Exporter, BOM, Options d'export, Export personnalisé, Ajouter les propriétés, Ménage, Appliquer la table des références, BOM à l'enregistrement ;
  • un observateur qui écrit la BOM à chaque enregistrement ; il se désactive avec le bouton « BOM à l'enregistrement » (paramètre User parameter:BaseApp/Preferences/Macros/PlaisirMaths/EcritureAutomatique) ;
  • la bibliothèque de matériaux Plaisir-Maths de l'atelier Materials, lue dans Plaisir-Maths/CONCEPTION/Matériaux/ (Nextcloud).

MultiExport.FCMacro n'est plus qu'un lanceur de la fenêtre « Export personnalisé » ; il nécessite le module installé.

Utilisation

Organiser le document

  1. Pièces : l'étiquette d'une pièce se termine par _STEP (pièce 3D ; l'ancien _STL est traité de la même façon) ou _SVG (découpe laser).
  2. Collections : chaque collection est un composé (Part::Compound) ou un groupe de l'arbre dont le nom se termine par _COLL, par exemple COMPTEUR_COLL pour la collection COMPTEUR. Elle contient les instances de ses pièces, telles qu'on les monte : la pièce elle-même, ses clones Draft (clones de clones compris) ou des liens. La quantité d'une pièce est son nombre d'instances dans la collection. Une collection placée dans une autre (ou clonée dedans, comme 4 pieds dans un compteur) y est développée : ses pièces y comptent autant de fois. Tout élément d'une collection est une pièce de la BOM ; seules les pièces _STEP/_SVG produisent des fichiers à l'export. Une pièce _STEP/_SVG rangée dans aucune collection n'est ni exportée ni comptée (elle est signalée).
  3. Matériaux : dans l'onglet Données de chaque pièce, propriété Shape Material, choisir un matériau de la bibliothèque Plaisir-Maths (PLA basic noir, CTP bouleau 4mm…). Pour une pièce composée de plusieurs éléments (composé, fusion), on donne un matériau à chaque élément : la BOM les liste du plus volumineux au plus petit.
  4. Quantités : bouton BOM, voir ci-dessous.

Procédure

  1. Ajouter les propriétés : groupe PlaisirMaths sur chaque pièce, pm_quantite et pm_remarque sur chaque membre des groupes _COLL.
  2. Appliquer la table des références : références, versions et noms validés.
  3. BOM : vérifier les collections, ajuster les quantités, ajouter les pièces hors CAO, lire les avertissements.
  4. Enregistrer (Ctrl+S) : la BOM est écrite automatiquement.
  5. Exporter : un fichier par pièce dans <Document>-Export/, puis la BOM réécrite avec fichiers.

« Exporter » et « Écrire la BOM » proposent d'enregistrer le document s'il a des modifications non enregistrées : la BOM porte l'empreinte du fichier enregistré et doit le décrire.

Fenêtre BOM

Le bouton BOM ouvre une fenêtre qui liste chaque collection et ses pièces : nom, objet (et nombre d'instances), quantité par exemplaire de la collection, matériaux, référence, procédé, remarque (modifiable par double-clic), puis les pièces rangées dans aucune collection et les avertissements, recalculés à chaque modification. Cliquer sur une ligne sélectionne l'objet. Boutons :

  • Ajouter une pièce hors CAO… : vis, tige, notice, carton… ; crée un objet sans géométrie dans la collection choisie, avec nom, quantité, procédé (achat par défaut), référence et matériau ;
  • Couleurs depuis les matériaux : donne à chaque pièce (et à chacun de ses éléments) la couleur de son matériau ; les pièces sans matériau gardent leur couleur ;
  • Actualiser : relire l'arbre après y avoir déplacé des pièces ;
  • Exporter et Écrire la BOM.

La quantité d'une pièce présente en plusieurs instances (clones, liens, collection développée) est leur total : elle se change en ajoutant ou supprimant des clones dans l'assemblage. Celle d'une pièce présente une seule fois se modifie directement (propriété pm_quantite de l'instance). Toutes les modifications s'annulent par Ctrl+Z.

Exporter

Le bouton Exporter exporte chaque pièce rangée dans au moins un groupe _COLL une fois (les quantités servent à la production, pas aux fichiers) dans <Document>-Export/, à côté du .FCStd :

  • <étiquette>.step (couleurs par face) et, en option, <étiquette>.3mf pour les pièces 3D ;
  • <étiquette>.svg pour les pièces _SVG (contour projeté dans la direction de découpe) ;
  • en option, <étiquette>_etiquette.svg : l'étiquette de stockage.

Le dossier est vidé des fichiers de l'export précédent (.step, .3mf, .stl, .svg) avant d'être réécrit ; les autres fichiers et sous-dossiers ne sont pas touchés. Les formats et les étiquettes se règlent avec Options d'export.

Export personnalisé ouvre l'ancienne fenêtre d'export (dossier daté <Document>-AAAA-MM-JJ-Exports/<HH:MM:SS>/) pour les besoins particuliers : choix des pièces et du nombre d'exemplaires (ou « Collection × N »), calepinage SVG sur le plateau de la découpeuse (dimensions par défaut de la Trotec), fichier 3D combiné (les pièces y deviennent un seul élément), sauvegarde de la sélection dans un VarSet (Save / Load).

Étiquettes de stockage

Une étiquette SVG de 150 × 100 mm par pièce, pour les boîtes de rangement :

  • à gauche, un rendu 3D isométrique (chaque élément avec la couleur de son matériau) et une vue de dessus au trait avec cotes hors-tout et épaisseur ;
  • à droite, le pm_nom, la référence avec sa version (PM-CE-1012-003), les collections et quantités, le document d'origine et un QR code de la référence.

Une pièce sans pm_reference reçoit une étiquette « Référence à attribuer », sans QR code. Le document de travail n'est pas modifié : le rendu passe par un document temporaire.

Référence

Propriétés PlaisirMaths

Propriété Sur Contenu Pré-remplie avec
pm_reference pièce PM-CE-XXXX ou PM-CO-XXXX, sans la version —
pm_version pièce numéro de version (0 = non renseigné) —
pm_nom pièce nom stable affiché dans l'application l'étiquette sans _STEP/_STL/_SVG ni _P1S
pm_procede pièce impression_3d, decoupe_laser, impression_dtf, pressage_a_chaud, decoupe_atelier, achat decoupe_laser pour _SVG, achat hors CAO, impression_3d sinon
pm_materiaux pièce matériaux saisis à la main, utilisés seulement si aucun matériau FreeCAD n'est choisi —
pm_poids_g pièce poids mesuré en grammes (0 = non mesuré) —
pm_exporter pièce faux pour l'écarter de la BOM et de l'export sans la renommer vrai
pm_quantite instance dans une collection (pièce, clone ou lien) nombre que compte cette instance 1
pm_remarque membre d'une collection remarque de nomenclature —

Une valeur déjà saisie n'est jamais modifiée par « Ajouter les propriétés », qui peut être relancée à tout moment.

Bibliothèque de matériaux

Un fichier .FCMat par matériau (couleur, densité) dans Plaisir-Maths/CONCEPTION/Matériaux/ (paramètre DossierMateriaux pour l'imposer), généré à partir de WebApp/MATERIAUX.md par materiaux.generer_bibliotheque(), qui ne modifie jamais un fichier existant. On peut ajouter des matériaux avec l'éditeur de matériaux de FreeCAD ; ils sont partagés par Nextcloud. Un matériau choisi hors de cette bibliothèque est signalé dans la BOM.

Ménage

Le bouton Ménage aide à trier les anciennes pièces : pour chaque pièce, visible ou masquée, objets qui la prennent comme entrée, présence dans le dernier export, doublon probable (même nom, ou même volume et même boîte englobante à 0,1 % près). Les pièces décochées passent à pm_exporter = Faux ; rien n'est renommé ni supprimé. Avec les collections, il suffit souvent de ne pas ranger une pièce dans un groupe _COLL.

Table des références

Les références PM-CE-XXXX ne sont jamais numérotées par le module seul : elles passent par CONCEPTION/Table des références.csv (séparateur ;), une ligne par pièce : document ; objet_cao ; suggestion ; pm_reference ; pm_version ; pm_nom ; pm_procede ; remarques. Cette table, déjà appliquée, fait foi : on la complète à la main pour les nouvelles pièces (plages par jeu : Maths et Sport 1000, ADP 1100, HexaGo 1200, H7 Junior 1300, H11 1400, H14 Luxe 1500, Labycoop 1600, Ressources 1900). Appliquer la table des références n'écrit pm_reference et pm_version que s'ils sont vides, pm_nom et pm_procede que s'ils ont encore leur valeur pré-remplie ; les différences sont signalées comme conflits.

Fichiers <Document>.bom.json et <Document>.BOM.md

À chaque enregistrement d'un document qui contient des pièces ou des collections, le module écrit à côté du .FCStd :

  • <Document>.bom.json : la nomenclature au format plaisir-maths-bom version 1 (pièces, lignes de nomenclature par collection, paramètres = cellules nommées des tableurs, empreinte SHA-256 du .FCStd, avertissements). Les chemins sont relatifs au dossier Plaisir-Maths qui contient le document (paramètre Racine pour l'imposer) ;
  • <Document>.BOM.md : le même contenu lisible, une section par collection puis les avertissements.

Le JSON est écrit même si la nomenclature est incomplète : les problèmes (référence ou matériau manquant, doublon, pièce orpheline, quantité invalide, lien qui ne désigne pas une pièce…) sont listés dans avertissements. Une erreur pendant cette écriture n'empêche jamais l'enregistrement du document. Les fichiers du dernier export restent listés dans fichiers aux enregistrements suivants, tant qu'ils existent, jusqu'au prochain export.

Les anciennes feuilles Nomenclature et PiecesHorsCAO ne sont plus lues (un avertissement le signale si elles contiennent des données) ; elles peuvent être supprimées.

Formats

  • STEP : la couleur de chaque face est embarquée (entités de couleur AP214). À ce jour, BambuStudio et PrusaSlicer l'ignorent à l'import.
  • 3MF : géométrie seule (pas de couleur ni de matériau) avec cette version de FreeCAD.