Image

PolyMech CAD Tools (pm-cad)

Automatisieren Sie Ihren SolidWorks-Workflow über die Kommandozeile. PolyMech CAD Tools (alias pm-cad) ist ein Windows-erstes CLI- und Node.js-Toolkit, das SolidWorks-Baugruppen, -Teile und -Zeichnungen stapelweise in nachgelagerte Formate konvertiert – STEP, PDF, JPG, interaktive HTML-Webansichten, XLSX-Stücklisten und JSON-Metadaten – ohne repetitives GUI-„Speichern unter“-Klicken.

Wenn Sie Produkte in SolidWorks konstruieren und wiederholbare Exporte für Fertigung, Angebotserstellung, Dokumentation, Freigabepakete oder CI/CD benötigen, verwandelt pm-cad CAD-Ergebnisse in eine skriptbare, prüfbare Pipeline.

Was früher zwei Stunden manuelles Klicken dauerte, läuft jetzt als 30-Sekunden-Skript – zuverlässig, jedes Mal.


Warum pm-cad?

Engineering-Teams verlieren Stunden mit manuellen Export-Routinen: Modelle öffnen, Konfigurationen wechseln, neu aufbauen, PDFs, STEP-Dateien und Stücklisten exportieren – und alles nach jeder Änderung wiederholen. pm-cad ersetzt diese gesamte Last durch einen Befehl, der Hunderte von Dateien konsistent verarbeiten kann.

Problem pm-cad Lösung
Manuelles „Speichern unter“ für jedes Dateiformat Ein Befehl konvertiert ganze Ordner (Glob-Muster) in mehrere Ausgaben (z.B. step|pdf|jpg)
Keine einfache Möglichkeit, Stücklisten zu exportieren Generiert XLSX-Stücklisten direkt aus Baugruppen
HTML-Vorschauen erfordern eDrawings-Lizenzen Exportiert stapelweise interaktive HTML-Webansichten über die eDrawings-API (eDrawings ist kostenlos)
Konfigurationsvarianten sind mühsam Iteriert alle Konfigurationen automatisch mit ${CONFIGURATION}
Schwer in Build-Pipelines zu integrieren Nutzbar als CLI, Node.js-Bibliothek oder Grunt-Task

Was Sie mit pm-cad tun können

1) Batch-CAD-Konvertierung (SolidWorks → STEP/PDF/JPG)

Exportieren Sie Fertigungs- und Dokumentationsunterlagen aus Teilen, Baugruppen und Zeichnungen – ein Befehl, fertig:

2) Interaktive HTML-Webansichten (via eDrawings)

Erstellen Sie leichte, teilbare HTML-Vorschauen für Baugruppen und Teile – keine SolidWorks-Lizenz zum Betrachten nötig:

3) Excel-Stücklisten-Export (XLSX)

Erzeugen Sie strukturierte Stücklisten in Excel direkt aus Baugruppen, mit Unterstützung für:

4) Metadaten- & Konfigurations-Export (JSON)

Extrahieren Sie umfangreiche Baugruppen-Informationen für PLM, QA, Angebotserstellung und Analytik. Speisen Sie Massen- und Materialdaten direkt in Ihr Angebots-Tool ein, damit sich Anfragen von selbst erstellen:

5) Pack & Go (Referenzen zusammenführen)

Anders als SolidWorks’ integriertes Pack & Go ist pm-cads Version skriptbar, wiederholbar und CI/CD-fähig. Sammeln Sie eine Baugruppe und alle referenzierten Dateien in einem sauberen Ordner für:


Schnellstart

Zwei Befehle trennen Sie davon, nie wieder manuell „Speichern unter“ zu klicken:

# Global installieren
npm i @polymech/cad -g

# Baugruppe in STEP + PDF konvertieren
pm-cad sw --src="./cad/Global*.SLDASM" --dst="${SRC_DIR}/${SRC_NAME}.+(step|pdf)"

# Alle Optionen anzeigen
pm-cad --help

Installation

Via npm (empfohlen)

npm i @polymech/cad -g

Windows-Installer

Laden Sie PolyMechCAD-Setup.exe herunter und führen Sie es aus. Der Installer erkennt die Berechtigungen automatisch:

Beide Modi fügen pm-cad automatisch Ihrem PATH hinzu.


Alle Export-Formate automatisieren

Format-Konvertierungen (Glob-Muster + Multi-Ausgabe)

Konvertieren Sie zwischen unterstützten Formaten mit Glob-Mustern und Multi-Erweiterungs-Ausgaben – kein manuelles Datei-für-Datei-Klicken:

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

# Teile + Baugruppen → PDF + JPG (rekursiv)
pm-cad sw --src="./cad/**/*.+(SLDASM|SLDPRT)" --dst="${SRC_DIR}/${SRC_NAME}.+(pdf|jpg)"

# Baugruppe → Interaktive HTML-Webansicht (via eDrawings)
pm-cad sw --src="./cad/*.SLDASM" --dst="${SRC_DIR}/${SRC_NAME}.html"

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

Stückliste (BOM) → Excel (XLSX)

Extrahieren Sie strukturierte Stücklisten direkt aus Baugruppen – kein manuelles Tabellenkopieren aus SolidWorks:

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

Metadaten- & Konfigurations-Export (JSON)

Verwandeln Sie SolidWorks-Modelle in Daten für Automatisierung, Dashboards und Audits:

# Benutzerdefinierte Eigenschaften → JSON
pm-cad sw --src="./cad/*.SLDASM" --dst="${SRC_DIR}/${SRC_NAME}.json"

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

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

Pack & Go (Baugruppen-Referenzen zusammenführen)

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

Deterministische Ausgabepfade – nie wieder Dateien umbenennen

Erstellen Sie deterministische Ausgabepfade mit integrierten Variablen. Jede Ausgabedatei landet am richtigen Ort, mit dem richtigen Namen, jedes Mal:

Variable Beschreibung
${SRC_DIR} Verzeichnis der aktuellen Quelldatei
${SRC_NAME} Basisname ohne Erweiterung
${SRC_FILE_EXT} Dateierweiterung der Quelldatei
${CONFIGURATION} Name der aktuellen Modell-Konfiguration

Damit können Sie Exporte neben Quelldateien ablegen, Ordnerstrukturen spiegeln oder konfigurationsspezifische Ergebnisse erzeugen.


Glob-Muster-Syntax

Muster Trifft auf
*.SLDASM Alle Baugruppen im aktuellen Verzeichnis
**/*.SLDPRT Alle Teile, rekursiv
*.+(SLDASM|SLDPRT) Baugruppen und Teile
*.+(step|pdf|jpg) Mehrere Ausgabeformate

Integrations-Optionen

Dateimanager-Integration (Altap Salamander)

Registrieren Sie pm-cad als benutzerdefinierten Menübefehl (F9) für Rechtsklick-Konvertierungen:

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

Verwenden Sie --alt=true, um das Variablen-Präfix von $ auf & zu wechseln, wenn die Host-Anwendung $ für eigene Variablen verwendet.

Batch-Droplets (Drag & Drop)

Erstellen Sie eine .bat-Datei und ziehen Sie Dateien darauf:

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

Für Ordner:

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

Node.js-Bibliothek (programmatische Automatisierung)

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

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

Grunt-Task (Build-Pipeline)

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

grunt.registerMultiTask('cad-convert', 'SW-Dateien konvertieren', function () {
  const done = this.async();
  convert(this.data.items, { ...options }, this.data.output)
    .then(() => done());
});
// Gruntfile-Konfiguration
'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)' }
}

Unterstützte Formate

Eingabeformate

Format Erweiterung
SolidWorks-Baugruppe .SLDASM
SolidWorks-Teil .SLDPRT
SolidWorks-Zeichnung .SLDDRW
STEP .step, .stp

Ausgabeformate

Format Erweiterung Quelle Engine
STEP .step Teile, Baugruppen convert.exe
PDF .pdf Teile, Baugruppen, Zeichnungen convert.exe
JPEG .jpg Teile, Baugruppen, Zeichnungen convert.exe
HTML (eDrawings) .html Teile, Baugruppen ExportHTML.exe
JSON (Metadaten) .json Baugruppen model-reader.exe
JSON (Konfigurationen) -configs.json Baugruppen getconfigs.exe
Excel-Stückliste .xlsx Baugruppen bom.exe

Unter der Haube

pm-cad orchestriert eine native Toolchain, die in C# entwickelt wurde und direkt über COM Interop mit SolidWorks kommuniziert (mittels xCAD + SolidWorks Interop) und über die eDrawings-API mit eDrawings.

Binary Aufgabe
convert.exe Öffnet Modelle via COM und ruft SaveAs für STEP/PDF/JPG auf. Unterstützt PhotoView 360 Raytracing und Pack & Go.
model-reader.exe Durchläuft den Baugruppen-Baum und extrahiert komponentenbezogene Daten als Flat-JSON + hierarchisches .tree.json.
bom.exe Fügt eine Stücklisten-Tabelle via xCAD ein und exportiert nach XLSX. Unterstützt Vorlagen, BOM-Typen und Komponentenbilder.
ExportHTML.exe Headless eDrawings-API-Export – keine SolidWorks-Lizenz erforderlich.
getconfigs.exe Enumeriert alle Konfigurationen und serialisiert als JSON.

Extrahierte Daten (model-reader)

Für jede Komponente im Baugruppen-Baum extrahiert model-reader.exe:

Kategorie Felder
Benutzerdefinierte Eigenschaften Alle konfigurationsspezifischen + globalen benutzerdefinierten Eigenschaften (ausgewertete Werte)
Masseneigenschaften Masse, Dichte, Volumen, Oberfläche, Massenschwerpunkt (X/Y/Z)
Materialien Materialname + Datenbank pro Teil
Begrenzungsrahmen Min/Max X/Y/Z pro Komponente
Gleichungen Alle Gleichungsnamen und ausgewertete Werte
Modellzustände Fehlerzähler, Fehlercodes, Warnflags, betroffene Feature-Typen
Unterdrückung Komponenten-Unterdrückungsstatus

CLI-Optionen-Referenz

Rendering

Flag Standard Beschreibung
--renderer solidworks Render-Engine (solidworks oder photoview)
--quality 2 (Gut) Raytracing-Qualitätsstufe
--width 1024 Ausgabe-Bildbreite in Pixeln
--height 1024 Ausgabe-Bildhöhe in Pixeln
--view Render Kameraansicht-Name
--configuration Default Zu verwendende Modell-Konfiguration

BOM-Optionen

Flag Standard Beschreibung
--bom-config Default BOM-Konfiguration
--bom-type 2 BOM-Typ
--bom-detail 1 Detailgrad
--bom-template Benutzerdefinierte BOM-Tabellenvorlage
--bom-images false Komponentenbilder einschließen

Workflow

Flag Beschreibung
--dry Vorschau der Operationen ohne Ausführung
--cache Datei-Hash-Caching verwenden, um unveränderte Dateien zu überspringen
--save Modell nach Verarbeitung speichern
--rebuild Modell vor Export erzwungen neu aufbauen
--pack Pack-and-Go-Modus
--light Lightweight-Modus
--close SolidWorks nach jeder Konvertierung schließen
--alt & statt $ als Variablen-Präfix verwenden
--logLevel Mindest-Log-Level (debug, info, warn, error)

Voraussetzungen


Für wen pm-cad gemacht ist


FAQ

Erfordert der HTML-Export eine SolidWorks-Lizenz?

Nein. Der HTML-Export nutzt die eDrawings-API, die kostenlos ist. pm-cad führt einen Headless-Host aus – kein GUI, keine Lizenz.

Kann ich alle Konfigurationen automatisch exportieren?

Ja. Verwenden Sie ${CONFIGURATION} im Zielmuster und pm-cad iteriert jede Konfiguration.

Kann ich Exporte neben Quelldateien mit passenden Namen ablegen?

Ja. Verwenden Sie ${SRC_DIR} und ${SRC_NAME} für deterministische Ausgabepfade.

Ist es sicher, auf großen Baugruppen auszuführen?

pm-cad ist für Stapelverarbeitung ausgelegt und unterstützt Workflow-Kontrollen wie Caching (--cache), Rebuild-Steuerung (--rebuild), Lightweight-Modus (--light) und das Schließen von SolidWorks zwischen Jobs (--close), je nach Ihren Stabilitäts- und Leistungsanforderungen.


Erste Schritte

PolyMech CAD Tools bringt moderne Automatisierung zu SolidWorks-Ergebnissen: Batch-Exporte, Stückliste zu Excel, interaktive HTML-Vorschauen, Metadaten-Extraktion und Pack & Go – alles über ein skriptbares CLI oder eine Node.js-API.

Aufhören mit Speichern-unter-Klicken. Zuverlässige Exporte liefern.

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

Auf npm ansehen


Referenzen