Füge umfassende Dokumentation für die Skripte create_assemblies, save_stl und read_variables hinzu; aktualisiere save_stl.py, um die Sichtbarkeit von Solid Edge zu aktivieren.
This commit is contained in:
@@ -0,0 +1,128 @@
|
|||||||
|
# Dokumentation: create_assemblies, save_stl & read_variables
|
||||||
|
|
||||||
|
## 1. create_assemblies
|
||||||
|
|
||||||
|
### Zweck
|
||||||
|
Das Skript erstellt für jede .par-Datei im Eingabeordner eine neue .asm-Baugruppe, indem es eine Platzhalter-Baugruppe (dummy.asm) kopiert und darin die Platzhalter-Komponente (dummy.par) durch die jeweilige .par-Datei ersetzt.
|
||||||
|
|
||||||
|
### Aufrufmöglichkeiten
|
||||||
|
|
||||||
|
#### Über die Batch-Datei (empfohlen unter Windows):
|
||||||
|
```bat
|
||||||
|
bin\create_assemblies.bat --in <Eingabeordner> --out <Ausgabeordner>
|
||||||
|
```
|
||||||
|
- Die Batch-Datei setzt Umgebungsvariablen und ruft das Python-Skript mit den übergebenen Parametern auf.
|
||||||
|
|
||||||
|
#### Direkt über die Kommandozeile:
|
||||||
|
```sh
|
||||||
|
python lib/create_assemblies.py --in <Eingabeordner> --out <Ausgabeordner>
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Parameter:
|
||||||
|
- `--in`: Pfad zum Ordner mit .par-Dateien (optional, Standard: Umgebungsvariable PROJECT_INPUT oder ./input)
|
||||||
|
- `--out`: Zielordner für die erzeugten .asm-Dateien (optional, Standard: ./work)
|
||||||
|
|
||||||
|
### Input/Output
|
||||||
|
|
||||||
|
- **Input:**
|
||||||
|
- .par-Dateien im angegebenen Eingabeordner
|
||||||
|
- dummy.asm und dummy.par im data/-Verzeichnis (werden als Vorlage und Platzhalter verwendet)
|
||||||
|
- **Output:**
|
||||||
|
- Für jede .par-Datei wird eine .asm-Datei im Ausgabeverzeichnis erzeugt.
|
||||||
|
- Temporäre Dateien (_temp.asm, .cfg) werden nach Verarbeitung gelöscht.
|
||||||
|
|
||||||
|
### Hinweise
|
||||||
|
- Solid Edge muss installiert sein, da das Skript über COM darauf zugreift.
|
||||||
|
- Die Platzhalter-Komponente in dummy.asm muss exakt dummy.par heißen.
|
||||||
|
- Fehlerhafte oder fehlende Platzhalter werden übersprungen und führen nicht zum Abbruch des gesamten Prozesses.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. save_stl
|
||||||
|
|
||||||
|
### Zweck
|
||||||
|
Das Skript exportiert alle .asm-Baugruppen in einem Ordner als STL-Dateien. Es dient dazu, die zuvor erzeugten Baugruppen für die Weiterverarbeitung (z.B. 3D-Druck) bereitzustellen.
|
||||||
|
|
||||||
|
### Aufrufmöglichkeiten
|
||||||
|
|
||||||
|
#### Über die Batch-Datei (empfohlen unter Windows):
|
||||||
|
```bat
|
||||||
|
bin\save_stl.bat --in <Eingabeordner> --out <Ausgabeordner>
|
||||||
|
```
|
||||||
|
- Die Batch-Datei setzt Umgebungsvariablen und ruft das Python-Skript mit den übergebenen Parametern auf.
|
||||||
|
|
||||||
|
#### Direkt über die Kommandozeile:
|
||||||
|
```sh
|
||||||
|
python lib/save_stl.py --in <Eingabeordner> --out <Ausgabeordner>
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Parameter:
|
||||||
|
- `--in`: Pfad zum Ordner mit .asm-Dateien (optional, Standard: Umgebungsvariable PROJECT_WORK oder ./work)
|
||||||
|
- `--out`: Zielordner für die STL-Dateien (optional, Standard: ./work/STL_Export)
|
||||||
|
|
||||||
|
### Input/Output
|
||||||
|
|
||||||
|
- **Input:**
|
||||||
|
- .asm-Dateien im angegebenen Eingabeordner (z.B. aus create_assemblies)
|
||||||
|
- **Output:**
|
||||||
|
- Für jede .asm-Datei wird eine .stl-Datei im Ausgabeverzeichnis erzeugt.
|
||||||
|
- Temporäre .cfg- und .log-Dateien werden nach dem Export gelöscht.
|
||||||
|
|
||||||
|
### Hinweise
|
||||||
|
- Solid Edge muss installiert sein, da das Skript über COM darauf zugreift.
|
||||||
|
- Das Skript ist robust gegenüber Fehlern beim Export einzelner Dateien (Fehler werden gemeldet, der Prozess läuft weiter).
|
||||||
|
- Nach dem Export werden überflüssige .cfg- und .log-Dateien im Eingabe- und Ausgabeverzeichnis entfernt.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. read_variables
|
||||||
|
|
||||||
|
### Zweck
|
||||||
|
Das Skript liest aus allen .par-Dateien in einem Verzeichnis die benutzerdefinierten Variablen 'Mittiges_Koordinatensystem_X_Translation' und 'Mittiges_Koordinatensystem_Y_Translation' aus und speichert die Werte als Breite und Höhe in einer JSON-Datei.
|
||||||
|
|
||||||
|
### Aufrufmöglichkeiten
|
||||||
|
|
||||||
|
#### Über die Kommandozeile oder Batch-Datei:
|
||||||
|
```sh
|
||||||
|
python lib/read_variables.py --in <Eingabeordner> --out <Ausgabeordner>
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Parameter:
|
||||||
|
- `--in`: Pfad zum Ordner mit .par-Dateien (optional, Standard: Umgebungsvariable PROJECT_INPUT oder ./input)
|
||||||
|
- `--out`: Zielordner für die JSON-Ausgabe (optional, Standard: Umgebungsvariable PROJECT_WORK oder ./work)
|
||||||
|
|
||||||
|
### Input/Output
|
||||||
|
|
||||||
|
- **Input:**
|
||||||
|
- .par-Dateien im angegebenen Eingabeordner
|
||||||
|
- **Output:**
|
||||||
|
- Eine JSON-Datei im Ausgabeverzeichnis, benannt nach dem Eingabeordner (z.B. input.json), mit folgendem Aufbau:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"Dateiname_ohne_Endung": {
|
||||||
|
"breite": <Wert>,
|
||||||
|
"hoehe": <Wert>
|
||||||
|
},
|
||||||
|
...
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Hinweise
|
||||||
|
- Solid Edge muss installiert sein, da das Skript über COM darauf zugreift.
|
||||||
|
- Die Variablen werden mit 2000 multipliziert und auf drei Nachkommastellen gerundet.
|
||||||
|
- Falls eine .par-Datei die benötigten Variablen nicht enthält, wird sie übersprungen.
|
||||||
|
- Fehlerhafte Dateien führen nicht zum Abbruch des gesamten Prozesses.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
- **Umgebungsvariablen:**
|
||||||
|
Die Batch-Dateien rufen vorab setenv.bat auf, um Umgebungsvariablen wie PROJECT_LIB, PROJECT_WORK, PROJECT_INPUT, PROJECT_DATA zu setzen. Diese sollten korrekt konfiguriert sein.
|
||||||
|
- **Voraussetzungen:**
|
||||||
|
- Python (mit win32com)
|
||||||
|
- Solid Edge (für COM-Zugriff)
|
||||||
|
- **Fehlerbehandlung:**
|
||||||
|
Fehlerhafte oder fehlende Dateien werden übersprungen, der Prozess läuft weiter.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Wenn du eine Beispielkonfiguration oder weitere Details (z.B. zu setenv.bat oder den Umgebungsvariablen) benötigst, sag gerne Bescheid!
|
||||||
@@ -10,7 +10,7 @@ def export_assemblies_to_stl(input_dir, output_dir):
|
|||||||
try:
|
try:
|
||||||
# Solid Edge starten oder verbinden
|
# Solid Edge starten oder verbinden
|
||||||
se_app = win32com.client.Dispatch("SolidEdge.Application")
|
se_app = win32com.client.Dispatch("SolidEdge.Application")
|
||||||
se_app.Visible = False
|
se_app.Visible = True
|
||||||
|
|
||||||
documents = se_app.Documents
|
documents = se_app.Documents
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user