Image

PolyMech CAD Tools (pm-cad)

Automatisez votre flux de travail SolidWorks depuis la ligne de commande. PolyMech CAD Tools (alias pm-cad) est un toolkit CLI et Node.js conçu pour Windows qui convertit par lots les assemblages, pièces et plans SolidWorks en formats prêts pour l'aval — STEP, PDF, JPG, vues web HTML interactives, nomenclatures XLSX et métadonnées JSON — sans clics répétitifs « Enregistrer sous ».

Si vous concevez des produits dans SolidWorks et avez besoin d'exports reproductibles pour la fabrication, les devis, la documentation, les packages de livraison ou le CI/CD, pm-cad transforme les livrables CAO en un pipeline scriptable et auditable.

Ce qui prenait deux heures de clics manuels s'exécute désormais en 30 secondes de script — de manière cohérente, à chaque fois.


Pourquoi pm-cad ?

Les équipes d'ingénierie perdent des heures dans des routines d'export manuelles : ouvrir des modèles, changer de configurations, reconstruire, exporter des PDF, des fichiers STEP et des nomenclatures — puis tout recommencer après chaque modification. pm-cad remplace toute cette charge par une seule commande capable de traiter des centaines de fichiers, de manière cohérente.

Problème Solution pm-cad
« Enregistrer sous » manuel pour chaque format Une commande convertit des dossiers entiers (patterns glob) en sorties multiples (ex. `step
Pas de moyen simple d'exporter les nomenclatures Génère des nomenclatures XLSX directement à partir des assemblages
Les aperçus HTML nécessitent des licences eDrawings Exporte par lots des vues web HTML interactives via l'API eDrawings (eDrawings est gratuit)
Les variantes de configuration sont fastidieuses Itère toutes les configurations automatiquement avec ${CONFIGURATION}
Difficile à intégrer dans les pipelines de build Utilisez-le comme CLI, bibliothèque Node.js ou tâche Grunt

Ce que vous pouvez faire avec pm-cad

1) Conversion CAO par lots (SolidWorks → STEP/PDF/JPG)

Exportez les livrables de fabrication et de documentation depuis pièces, assemblages et plans — une commande, c'est fait :

2) Vues web HTML interactives (via eDrawings)

Créez des aperçus HTML légers et partageables pour les assemblages et les pièces — aucune licence SolidWorks n'est nécessaire pour les visualiser :

3) Export de nomenclature Excel (XLSX)

Générez des nomenclatures structurées dans Excel directement à partir des assemblages, avec support pour :

4) Export de métadonnées et configurations (JSON)

Extrayez l'intelligence d'assemblage riche pour PLM, QA, devis et analyses. Alimentez les données de masse + matériau directement dans votre outil de devis pour que les demandes de prix se construisent toutes seules :

5) Pack & Go (aplatir les références)

Contrairement au Pack & Go intégré de SolidWorks, la version de pm-cad est scriptable, reproductible et compatible CI/CD. Rassemblez un assemblage et tous les fichiers référencés dans un dossier propre pour :


Démarrage rapide

Vous êtes à deux commandes de ne plus jamais faire un « Enregistrer sous » manuel :

# Installation globale
npm i @polymech/cad -g

# Convertir un assemblage en STEP + PDF
pm-cad sw --src="./cad/Global*.SLDASM" --dst="${SRC_DIR}/${SRC_NAME}.+(step|pdf)"

# Voir toutes les options
pm-cad --help

Installation

Via npm (recommandé)

npm i @polymech/cad -g

Installeur Windows

Téléchargez et exécutez PolyMechCAD-Setup.exe. L'installeur détecte automatiquement les privilèges :

Les deux modes ajoutent pm-cad à votre PATH automatiquement.


Automatisez chaque format d'export

Conversions de format (patterns glob + sorties multiples)

Convertissez entre les formats supportés en utilisant des patterns glob et des sorties multi-extensions — sans clic fichier par fichier :

# Assemblage → STEP
pm-cad sw --src="./cad/**/*.SLDASM" --dst="${SRC_DIR}/${SRC_NAME}.step"

# Pièces + Assemblages → PDF + JPG (récursif)
pm-cad sw --src="./cad/**/*.+(SLDASM|SLDPRT)" --dst="${SRC_DIR}/${SRC_NAME}.+(pdf|jpg)"

# Assemblage → Vue web HTML interactive (via eDrawings)
pm-cad sw --src="./cad/*.SLDASM" --dst="${SRC_DIR}/${SRC_NAME}.html"

# Diagrammes Draw.io → PNG
pm-cad sw --src="./docs/**/*.drawio" --dst="${SRC_DIR}/${SRC_NAME}.png"

Nomenclature (BOM) → Excel (XLSX)

Extrayez des nomenclatures structurées directement des assemblages — pas de copier-coller manuel de tableaux depuis SolidWorks :

pm-cad sw --src="./cad/**/*.SLDASM" --dst="${SRC_DIR}/${SRC_NAME}.xlsx"

Export de métadonnées et configurations (JSON)

Transformez les modèles SolidWorks en données utilisables dans l'automatisation, les tableaux de bord et les audits :

# Propriétés personnalisées → JSON
pm-cad sw --src="./cad/*.SLDASM" --dst="${SRC_DIR}/${SRC_NAME}.json"

# Toutes les configurations → JSON
pm-cad sw --src="./cad/*.SLDASM" --dst="${SRC_DIR}/${SRC_NAME}-configs.json"

# Export STEP + HTML par configuration
pm-cad sw --src="./cad/*.SLDASM" --dst="${SRC_DIR}/${SRC_NAME}-${CONFIGURATION}.+(step|html)"

Pack & Go (aplatir les références d'assemblage)

pm-cad pack --src="./cad/Global*.SLDASM" --dst="./packed"

Chemins de sortie déterministes — plus jamais de renommage de fichier

Construisez des chemins de sortie déterministes en utilisant les variables intégrées. Chaque fichier de sortie atterrit au bon endroit, avec le bon nom, à chaque fois :

Variable Description
${SRC_DIR} Répertoire du fichier source courant
${SRC_NAME} Nom de base sans extension
${SRC_FILE_EXT} Extension du fichier source
${CONFIGURATION} Nom de la configuration du modèle courant

Cela facilite le maintien des exports à côté des sources, la reproduction de structures de dossiers ou la production de livrables spécifiques à la configuration.


Syntaxe des patterns glob

Pattern Correspond à
*.SLDASM Tous les assemblages du répertoire courant
**/*.SLDPRT Toutes les pièces, récursivement
*.+(SLDASM|SLDPRT) Assemblages et pièces
*.+(step|pdf|jpg) Formats de sortie multiples

Options d'intégration

Intégration gestionnaire de fichiers (Altap Salamander)

Enregistrez pm-cad comme commande de menu personnalisée (F9) pour les conversions par clic droit :

Command:    pm-cad
Arguments:  sw --src="$(FullName)" --dst="&{SRC_DIR}/&{SRC_NAME}.+(step)"

Utilisez --alt=true pour changer le préfixe de variable de $ à & lorsque l'application hôte utilise $ pour ses propres variables.

Droplets batch (glisser-déposer)

Créez un fichier .bat et glissez-déposez des fichiers dessus :

@echo off
pm-cad sw --src="%~1" --dst="${SRC_DIR}/${SRC_NAME}.+(html)"

Pour les dossiers :

@echo off
pm-cad sw --src="%~1/**/*.+(SLDASM|SLDPRT)" --dst="${SRC_DIR}/${SRC_NAME}.+(html)"

Bibliothèque Node.js (automatisation programmatique)

import { convert } from '@polymech/cad/cad/sw-lib';

await convert({
  src: './cad/**/*.SLDASM',
  dst: '${SRC_DIR}/${SRC_NAME}.+(step|pdf)',
  verbose: true,
  skip: true
});

Tâche Grunt (pipeline de build)

const cad = require('@polymech/cad/cad/sw-lib');

grunt.registerMultiTask('cad-convert', 'Convertir fichiers SW', function () {
  const done = this.async();
  convert(this.data.items, { ...options }, this.data.output)
    .then(() => done());
});
// Configuration Gruntfile
'cad-convert': {
  step: { items: products, output: '${SRC_DIR}/${SRC_NAME}.+(step)' },
  html: { items: products, output: '${SRC_DIR}/../resources/${SRC_NAME}.+(html)' },
  bom:  { items: products, output: '${SRC_DIR}/../resources/${SRC_NAME}.+(xlsx)' }
}

Formats supportés

Formats d'entrée

Format Extension
Assemblage SolidWorks .SLDASM
Pièce SolidWorks .SLDPRT
Plan SolidWorks .SLDDRW
STEP .step, .stp

Formats de sortie

Format Extension Source Moteur
STEP .step Pièces, Assemblages convert.exe
PDF .pdf Pièces, Assemblages, Plans convert.exe
JPEG .jpg Pièces, Assemblages, Plans convert.exe
HTML (eDrawings) .html Pièces, Assemblages ExportHTML.exe
JSON (métadonnées) .json Assemblages model-reader.exe
JSON (configurations) -configs.json Assemblages getconfigs.exe
Nomenclature Excel .xlsx Assemblages bom.exe

Sous le capot

pm-cad orchestre une chaîne d'outils native construite en C# qui communique directement avec SolidWorks via COM interop (utilisant xCAD + SolidWorks Interop) et avec eDrawings via l'API eDrawings.

Binaire Rôle
convert.exe Ouvre les modèles via COM et appelle SaveAs pour STEP/PDF/JPG. Supporte le rendu PhotoView 360 ray-trace et Pack & Go.
model-reader.exe Parcourt l'arborescence d'assemblage et extrait les données par composant en JSON plat + .tree.json hiérarchique.
bom.exe Insère un tableau de nomenclature via xCAD et exporte en XLSX. Supporte modèles, types de BOM et images de composants.
ExportHTML.exe Export headless de l'API eDrawings — aucune licence SolidWorks requise.
getconfigs.exe Énumère toutes les configurations et sérialise en JSON.

Données extraites (model-reader)

Pour chaque composant de l'arborescence d'assemblage, model-reader.exe extrait :

Catégorie Champs
Propriétés personnalisées Toutes les propriétés personnalisées spécifiques à la configuration + globales (valeurs évaluées)
Propriétés de masse Masse, Densité, Volume, Surface, Centre de masse (X/Y/Z)
Matériaux Nom du matériau + base de données par pièce
Boîte englobante Min/Max X/Y/Z par composant
Équations Tous les noms d'équations et valeurs évaluées
États du modèle Compteur What's Wrong, codes d'erreur, indicateurs d'avertissement, types de features affectés
Suppression État de suppression du composant

Référence des options CLI

Rendu

Option Défaut Description
--renderer solidworks Moteur de rendu (solidworks ou photoview)
--quality 2 (Bon) Niveau de qualité du ray trace
--width 1024 Largeur de l'image de sortie en pixels
--height 1024 Hauteur de l'image de sortie en pixels
--view Render Nom de la vue caméra
--configuration Default Configuration du modèle à utiliser

Options de nomenclature

Option Défaut Description
--bom-config Default Configuration de la nomenclature
--bom-type 2 Type de nomenclature
--bom-detail 1 Niveau de détail
--bom-template Modèle de tableau de nomenclature personnalisé
--bom-images false Inclure les images des composants

Flux de travail

Option Description
--dry Aperçu des opérations sans exécution
--cache Utiliser le cache de hash de fichier pour ignorer les fichiers inchangés
--save Enregistrer le modèle après traitement
--rebuild Forcer la reconstruction du modèle avant l'export
--pack Mode Pack and Go
--light Mode léger
--close Fermer SolidWorks après chaque conversion
--alt Utiliser & au lieu de $ pour le préfixe de variable
--logLevel Niveau de log minimum (debug, info, warn, error)

Prérequis


À qui s'adresse pm-cad


FAQ

L'export HTML nécessite-t-il une licence SolidWorks ?

Non. L'export HTML utilise l'API eDrawings, qui est gratuit. pm-cad exécute un hôte headless — pas d'interface graphique, pas de licence.

Puis-je exporter toutes les configurations automatiquement ?

Oui. Utilisez ${CONFIGURATION} dans le pattern de destination et pm-cad itère chaque configuration.

Puis-je garder les exports à côté des fichiers sources avec des noms correspondants ?

Oui. Utilisez ${SRC_DIR} et ${SRC_NAME} pour des chemins de sortie déterministes.

Est-ce sûr de lancer sur de grands assemblages ?

pm-cad est conçu pour le traitement par lots et supporte des contrôles de flux comme le cache (--cache), le contrôle de reconstruction (--rebuild), le mode léger (--light) et la fermeture de SolidWorks entre les jobs (--close) selon vos besoins de stabilité et de performance.


Commencer

PolyMech CAD Tools apporte l'automatisation moderne aux livrables SolidWorks : exports par lots, nomenclature vers Excel, aperçus HTML interactifs, extraction de métadonnées et Pack & Go — le tout depuis un CLI scriptable ou une API Node.js.

Arrêtez de cliquer sur Enregistrer sous. Commencez à livrer des exports fiables.

npm i @polymech/cad -g
pm-cad --help

Voir sur npm


Références