merge fix
This commit is contained in:
+1
-1
@@ -4,7 +4,7 @@ if [%1]==[] goto usage
|
|||||||
for /F %%i in ("%1") do set FILENAME=%%~ni
|
for /F %%i in ("%1") do set FILENAME=%%~ni
|
||||||
|
|
||||||
|
|
||||||
call setenv.bat
|
call C:\10-Develop\gitrepos\kabellaengen\bin\setenv.bat
|
||||||
|
|
||||||
|
|
||||||
echo --hole Positionen
|
echo --hole Positionen
|
||||||
|
|||||||
+34
-1
@@ -8,4 +8,37 @@ set SHORTCUT=%INSTALL_DIR%\create_cables.lnk
|
|||||||
set TARGET=%PROJECT_BIN%\getexdraw.bat
|
set TARGET=%PROJECT_BIN%\getexdraw.bat
|
||||||
set ICON=%PROJECT_DOC%\img\Icons\Icon_Gemini2.ico
|
set ICON=%PROJECT_DOC%\img\Icons\Icon_Gemini2.ico
|
||||||
|
|
||||||
powershell -Command "$s=(New-Object -COM WScript.Shell).CreateShortcut('%SHORTCUT%');$s.TargetPath='%TARGET%';$s.IconLocation='%ICON%';$s.Save()"
|
@echo off
|
||||||
|
setlocal enabledelayedexpansion
|
||||||
|
|
||||||
|
@echo off
|
||||||
|
(
|
||||||
|
if [%1]==[] goto usage
|
||||||
|
for /F %%i in ("%1") do set FILENAME=%%~ni
|
||||||
|
|
||||||
|
|
||||||
|
call %%PROJECT_BIN%%\setenv.bat
|
||||||
|
|
||||||
|
|
||||||
|
echo --hole Positionen
|
||||||
|
call getpositions.bat --filename %1 -s -r -w %FILENAME%_positions.json
|
||||||
|
echo --erzeuge Graph mit Routing
|
||||||
|
call routing.bat --filename %FILENAME%_positions.json -w %FILENAME%_todraw.json
|
||||||
|
echo --zeichne Kabel in dxf Datei
|
||||||
|
call draw_dxf.bat --filename %FILENAME%_todraw.json --new %FILENAME%_cables.dxf -x %FILENAME%_cables.xlsx --copy_layer %FILENAME%_reduziert.dxf --origin %1
|
||||||
|
|
||||||
|
move %PROJECT_WORK%\%FILENAME%_* %INSTALL_DIR%
|
||||||
|
pause
|
||||||
|
endlocal
|
||||||
|
|
||||||
|
goto :eof
|
||||||
|
|
||||||
|
|
||||||
|
:usage
|
||||||
|
@echo Usage: %0 ^<dxfinWorkOrdner.dxf^>
|
||||||
|
exit /B 1
|
||||||
|
goto :eof
|
||||||
|
) > _getexdraw.bat
|
||||||
|
|
||||||
|
REM Icon anlegen
|
||||||
|
REM powershell -Command "$s=(New-Object -COM WScript.Shell).CreateShortcut('%SHORTCUT%');$s.TargetPath='%TARGET%';$s.IconLocation='%ICON%';$s.Save()"
|
||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
REM ~dp0 steht für das Verzeichnis, in der diese Datei liegt
|
REM ~dp0 steht für das Verzeichnis, in der diese Datei liegt
|
||||||
pushd %~dp0\..
|
pushd %~dp0\..
|
||||||
|
|
||||||
set PROJECT=C:\10-Develop\kabellaengen
|
set PROJECT=C:\10-Develop\gitrepos\kabellaengen
|
||||||
set PROJECT_BIN=%PROJECT%\bin
|
set PROJECT_BIN=%PROJECT%\bin
|
||||||
set PROJECT_CFG=%PROJECT%\cfg
|
set PROJECT_CFG=%PROJECT%\cfg
|
||||||
set PROJECT_DOC=%PROJECT%\doc
|
set PROJECT_DOC=%PROJECT%\doc
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ Die Platzierung der Elektronikkomponenten bleibt manuell, doch die Übergabe des
|
|||||||
---
|
---
|
||||||
|
|
||||||
## 1/4 Ausgangslage
|
## 1/4 Ausgangslage
|
||||||
Ziel war die Automatisierung der Verkabelung großer Industrieanlagen, um manuelle und fehleranfällige Prozesse zu eliminieren und stets den kürzesten Kabelweg zu ermitteln. Ein umfassendes Fehler-Management ermöglicht die frühzeitige Erkennung von Layout- und Spezifikationsfehlern. So können mehrere Verkabelungsvarianten effizient verglichen werden.
|
Ziel war die Automatisierung der Verkabelung großer Industrieanlagen, um manuelle und fehleranfällige Prozesse zu eliminieren und stets den kürzesten Kabelweg zu ermitteln. Ein umfassendes Fehler-Management ermöglicht die frühzeitige Erkennung von Layout- und Spezifikationsfehlern. So können mehrere Verkabelungsvarianten auch effizient miteinander verglichen werden.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -32,25 +32,26 @@ Entwicklung eines Tools, das Kabellängen automatisch auf Basis von DXF-CAD-Zeic
|
|||||||
|
|
||||||
**Entscheidungsfindung:**
|
**Entscheidungsfindung:**
|
||||||
- Analyse manueller Arbeitsschritte
|
- Analyse manueller Arbeitsschritte
|
||||||
- Validierung durch Pilotlayouts
|
- Erstellung von typischen Pilotlayouts aus vorhandenen Projekten
|
||||||
- Entscheidung für Eigenentwicklung wegen hoher Anpassbarkeit
|
- Abwägung einer Eigenentwicklung gegenüber einer kommerziellen Lösung
|
||||||
|
|
||||||
**Konzeption:**
|
**Konzeption:**
|
||||||
- Anforderungen an Layoutinterpretation, Routinglogik und Ausgabeformate
|
- Anforderungen an Layout, Routinglogik und Ausgabeformate
|
||||||
- Schnittstellen zu CAD, Excel und ERP (Artikelnummern)
|
- Schnittstellen zu CAD, Excel und ERP (Artikelnummern)
|
||||||
|
- Definition der Schnittstellen und Verwendung der Anwendung
|
||||||
- Konfigurierbares Regelwerk zur Betriebsmittelerkennung
|
- Konfigurierbares Regelwerk zur Betriebsmittelerkennung
|
||||||
- Technische Rahmenbedingungen: Python-Umgebung, Layerstruktur, Attributformate
|
- Technische Rahmenbedingungen: Python-Umgebung, Layerstrukturen und Attribute der Blöcke oder Elemente in der DXF Datei
|
||||||
|
|
||||||
**Lösung:**
|
**Lösung:**
|
||||||
Das Tool liest DXF-Dateien ein, berechnet Kabelwege automatisch und liefert Excel-Listen sowie modifizierte DXF-Dateien zur direkten Weiterverwendung. Alles erfolgt automatisiert ohne Benutzereingriff.
|
Das Tool liest DXF-Dateien ein, berechnet Kabelwege automatisch und liefert Excel-Listen sowie DXF-Dateien mit Kabelwegen zur direkten Weiterverwendung. Alles erfolgt automatisiert ohne Benutzereingriff.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 3/4 Ausführung
|
## 3/4 Ausführung
|
||||||
|
|
||||||
### **Entwicklung:**
|
### **Entwicklung:**
|
||||||
- Funktionsspezifikation für automatisierte Verkabelung
|
- Spezifikation der Programmteilen für die automatisierte Verkabelung (Koordinatenextraktion, Routing und Ergebnis Erzeugung)
|
||||||
- Programmierung von Routinglogik und Betriebsmittelerkennung
|
- Programmierung von Routinglogik und Betriebsmittelerkennung inklusive Unittests
|
||||||
- Modulare Architektur mit klaren Schnittstellen zu Excel, CAD und ERP
|
- Modulare Architektur mit klaren Schnittstellen zu Excel, CAD und ERP
|
||||||
- Iterative Tests mit Pilotlayouts
|
- Iterative Tests mit Pilotlayouts
|
||||||
|
|
||||||
@@ -62,7 +63,7 @@ Das Tool liest DXF-Dateien ein, berechnet Kabelwege automatisch und liefert Exce
|
|||||||
|
|
||||||
#### **Konzept zur automatisierten Kabelauswertung**
|
#### **Konzept zur automatisierten Kabelauswertung**
|
||||||
|
|
||||||
Die Analyse der Verkabelung erfolgt direkt aus einer DXF-Datei, welche zuvor aus dem E-CAD exportiert wurde. Die Herausforderung bestand in der zuverlässigen Erkennung der Betriebsmittel (Stecker, Klemmen, Sensoren) sowie deren logischer Verbindung über Linienzüge, unabhängig von Layerstrukturen oder Maßstäben. Zur Lösung wurde eine robuste Parsing-Logik entwickelt, die anhand definierter Symbole und Geometriebeziehungen die Verkabelung interpretiert und automatisch Kabellisten erzeugt.
|
Die Analyse der Verkabelung erfolgt direkt aus einer DXF-Datei, welche zuvor durch die Abteilung Automation zur Beschreibung der Anlage erstellt wird. Die Herausforderung bestand in der zuverlässigen Erkennung der Betriebsmittel (Stecker, Klemmen, Sensoren) sowie deren logischer Verbindung über Linienzüge, unabhängig von Layerstrukturen oder Maßstäben. Zur Lösung wurde eine robuste Parsing-Logik entwickelt, die anhand definierter Symbole und Geometriebeziehungen die Verkabelung interpretiert und automatisch Kabellisten erzeugt.
|
||||||
|
|
||||||
#### **Schnittstellen zu Bestandsdaten und ERP**
|
#### **Schnittstellen zu Bestandsdaten und ERP**
|
||||||
|
|
||||||
@@ -70,15 +71,15 @@ Die durch das Tool erzeugten Listen enthalten nicht nur Start- und Zielpunkte, s
|
|||||||
|
|
||||||
#### **Standardisierung von Symbolen und Layern**
|
#### **Standardisierung von Symbolen und Layern**
|
||||||
|
|
||||||
Damit das Tool zuverlässig funktioniert, mussten klare Standards für Layernamen, Symbolplatzierung und Anschlussgeometrien definiert werden. Unterschiedliche Zeichnungsstile aus früheren Projekten führten zu fehlerhaften Auswertungen. Durch die Festlegung verbindlicher Konventionen in der E-CAD-Ausgabe sowie die Bereitstellung von Symbolbibliotheken konnte ein einheitlicher Datenbestand sichergestellt werden. Dies war Voraussetzung für eine skalierbare Nutzung.
|
Damit das Tool zuverlässig funktioniert, mussten klare Standards für Layer-Namen, Symbole und deren Attribute definiert werden. Unterschiedliche Zeichnungsstile oder unterschiedliche Benennungs - Standards aus früheren Projekten führen zu fehlerhaften Auswertungen. Durch die Festlegung verbindlicher Konventionen sowie die Bereitstellung einer Symbolbibliothek konnte ein einheitlicher Datenbestand sichergestellt werden. Dies war Voraussetzung für eine skalierbare Nutzung.
|
||||||
|
|
||||||
#### **Automatisierung wiederkehrender Arbeitsschritte**
|
#### **Automatisierung wiederkehrender Arbeitsschritte**
|
||||||
|
|
||||||
Die Auswertung erfolgt auf Knopfdruck ohne Zwischenschritte. Neben der Kabelliste werden automatisch Auszüge für die Arbeitsvorbereitung, Längenlisten für die Konfektion und Verbindungsübersichten für die Dokumentation erzeugt. Über konfigurierbare Vorlagen lassen sich kundenspezifische Layouts anpassen. Auch eine automatische Plausibilitätsprüfung (z.B. doppelte Nummern, offene Enden) ist integriert, um Fehlerquellen frühzeitig zu erkennen – ganz ohne manuelles Nacharbeiten.
|
Die Auswertung erfolgt auf Knopfdruck ohne Zwischenschritte. Neben der Kabelliste werden automatisch Auszüge für die Arbeitsvorbereitung, Längenlisten für die Konfektionierung und Verbindungsübersichten für die Dokumentation erzeugt. Über konfigurierbare Vorlagen lassen sich kundenspezifische Layouts anpassen. Auch eine automatische Plausibilitätsprüfung (z.B. doppelte Nummern, offene Enden) ist integriert, um Fehlerquellen frühzeitig zu erkennen – ganz ohne manuelles Nacharbeiten.
|
||||||
|
|
||||||
#### **Fehlererkennung und Qualitätssicherung**
|
#### **Fehlererkennung und Qualitätssicherung**
|
||||||
|
|
||||||
Ein zentraler Bestandteil des Tools ist die automatische Prüfung auf typische Fehlerquellen: unverbundene Leitungen, doppelt vergebene Kennzeichen oder falsche Layer. Diese werden bereits bei der Analyse der DXF-Datei erkannt und in einem Fehlerprotokoll ausgegeben. Dadurch wird verhindert, dass unvollständige oder inkonsistente Daten weiterverarbeitet werden. Über die zusätzliche Ausgabe der erkannten Fehler in dafür vorgesehenen Arbeitsblättern im Excel-Output kann eine manuelle behandlung der Fehelr im Eingangs-layout erfolgen.
|
Ein zentraler Bestandteil des Tools ist die automatische Prüfung auf typische Fehlerquellen: unverbundene Leitungen, doppelt vergebene Kennzeichen oder falsche Layer. Diese werden bereits bei der Analyse der DXF-Datei erkannt und in einem Fehlerprotokoll ausgegeben. Dadurch wird verhindert, dass unvollständige oder inkonsistente Daten weiterverarbeitet werden. Über die zusätzliche Ausgabe der erkannten Fehler in dafür vorgesehenen Arbeitsblättern im Excel-Output kann eine manuelle Behandlung der Fehler im Eingangs-layout erfolgen.
|
||||||
|
|
||||||
# 4/4 Ergebnis
|
# 4/4 Ergebnis
|
||||||
Der Zeitaufwand von der Konstruktion bis zur bestellbaren Baugruppe wurde deutlich reduziert. Fehleranfällige, manuelle Tätigkeiten entfallen – stattdessen übernehmen automatisierte Workflows wiederkehrende Aufgaben wie Wegfindung, Längenberechnung und Stücklistenerstellung. Das System ist damit nicht nur ein Werkzeug zur Auswertung, sondern ein zentrales Element in der Standardisierung elektrotechnischer Konstruktion. Es bildet die Basis für weitere Digitalisierungsschritte in der Produktentstehung und ermöglicht eine durchgängige Informationsverfügbarkeit bis hin zur Beschaffung und Inbetriebnahme.
|
Der Zeitaufwand von der Konstruktion bis zur bestellbaren Baugruppe wurde deutlich reduziert. Viele fehleranfällige, manuelle Tätigkeiten im Layout entfallen – stattdessen übernehmen automatisierte Workflows wiederkehrende Aufgaben wie Wegfindung, Längenberechnung und Stücklistenerstellung. Das System ist damit nicht nur ein Werkzeug zur Auswertung, sondern ein zentrales Element in der Standardisierung elektrotechnischer Konstruktion. Es bildet die Basis für weitere Digitalisierungsschritte in der Produktentstehung und ermöglicht eine durchgängige Informationsverfügbarkeit bis hin zur Beschaffung und Inbetriebnahme.
|
||||||
Reference in New Issue
Block a user