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:
|
||||
# Solid Edge starten oder verbinden
|
||||
se_app = win32com.client.Dispatch("SolidEdge.Application")
|
||||
se_app.Visible = False
|
||||
se_app.Visible = True
|
||||
|
||||
documents = se_app.Documents
|
||||
|
||||
|
||||
Reference in New Issue
Block a user