erste Compare Rumpf Routine impl.

This commit is contained in:
2023-10-19 17:28:47 +02:00
parent a1d8102774
commit 4efff81666
5 changed files with 60 additions and 47 deletions
+20 -21
View File
@@ -6,29 +6,28 @@ Ziel: Alte 3D-Daten aus Creo mit aktuellen SIVAS-Informationen in neuer Konstruk
Die folgenden Schritte müssen vom Entwickler aktuell beschritten werden: Die folgenden Schritte müssen vom Entwickler aktuell beschritten werden:
1. Bestandsliste ableiten aus Rule Designer (was ist schon da) 1. Bestandsliste ableiten aus Rule Designer (was ist schon da)
2. BG-Stückliste aus SIVAS ableiten mit dem JSON/CSV-Export Tool 2. Baugruppen-Stückliste aus SIVAS ableiten mit dem JSON/CSV-Export Tool. Vorteil: Man bekommt alle Unterbaugruppen der Baugruppe mit aufgelistet.
(wurde wiederverwendet, war schon mal programmiert) Vorteil man bekommt alle Unterbaugruppe mit aufgelistet. 3. Vorlagen-Excel für Baugruppenvergleich kopieren und auf aktuellen Fall verknüpfen (Baugruppen-Stücklisten Excel)
3. Vorlagen-Excel für Baugruppenvergleich kopieren und auf aktuellen Fall verknüpfen ( BG-Stücklisten Excel) 4. Aufwandsabschätzung durchführen (Neuaufbau, Halbzeugbearbeitung usw.)
4. Aufwandsabschätzung durchführen (Neuaufbau, Halbzeugbearbeitung usw.) 5. Einzelteil-Informationen aus SIVAS in Tabellenform ableiten und als Excel speichern (hierfür die zusätzlichen Spalten vom Jakob)
5. Einzelteil-Informationen aus SIVAS in Tabellenform ableiten und als Excel speichern (hierfür die zusätzlichen Spalten vom Jakob) 6. Excel zur Impfung der 3D-Datensätze öffnen.
6. Excel zur Impfung der 3D-Datensätze öffnen. 7. Angaben zum eventuellen Neuaufbau vornehmen. Information kommt aus der Excel Baugruppenvergleich.
7. Angaben zum eventuellen Neuaufbau vornehmen. Information kommt aus der Excel Baugruppenvergleich. 8. Falls noch nötig Einzelteil in Rohdatenpool suchen und in Austauschbereich verschieben. (Windows Explorer)
8. Falls noch nötig Einzelteil in Rohdatenpool suchen und in Austauschbereich verschieben. (Windows Explorer) 9. Altdateninformation über Funktion „Alle aktualisieren“ auf Datensatz abstimmen, Daten überprüfen und ggf. abändern, falls Fehler vorhanden (dies kann sehr Zeitintensiv sein). Nach Beurteilung Excel speichern.
9. Altdateninformation über Funktion „Alle aktualisieren“ auf Datensatz abstimmen, Daten überprüfen und ggf. abändern, falls Fehler vorhanden (dies kann sehr Zeitintensiv sein). Nach Beurteilung Excel speichern. 10. 3D-Modell mit DataPrep-Tool impfen und Log kontrollieren
10. 3D-Modell mit DataPrep-Tool impfen und Log kontrollieren 11. In RuleDesigner den Altdaten-Import starten
11. In RuleDesigner den Altdaten-Import starten 12. Nach Anlage des Datensatzes diesen „in Bearbeitung“ nehmen, und das Modell aufbereiten. (Gewinde nachpflegen, Körper optimieren usw.) danach speichern.
12. Nach Anlage des Datensatzes diesen „in Bearbeitung“ nehmen, und das Modell aufbereiten. (Gewinde nachpflegen, Körper optimieren usw.) danach speichern. 13. Datensatz „zur Prüfung“ schicken und „Freigeben“
13. Datensatz „zur Prüfung“ schicken und „Freigeben 14. SIVAS-Eintrag grob kontrollieren, Zeichnungen in neuen Archiv-Bereich umziehen.
14. SIVAS-Eintrag grob kontrollieren, Zeichnungen in neuen Archiv-Bereich umziehen.
Vorteile: Vorteile:
- Zeitersparnis durch Wegfall von Händischen Verknüpfungen. (Abgeleitete Excel) - Zeitersparnis durch Wegfall von Händischen Verknüpfungen. (Abgeleitete Excel)
- Zeitersparnis durch einheitliches Programm (Änderungen werden gleich bei allen Usern durchgeführt) - Zeitersparnis durch einheitliches Programm (Änderungen werden gleich bei allen Usern durchgeführt)
- Fehlerreduktion durch nicht veränderbare Oberfläche (Excel kann unabsichtlich verändert werden) - Fehlerreduktion durch nicht veränderbare Oberfläche (Excel kann unabsichtlich verändert werden)
- Komplexitätsreduzierung (Excelformeln zum Teil recht umständlich, tiefes Excelwissen benötigt, bei Programmcode Wahrscheinlichkeit höher, dass er besser gelesen werden kann) - Komplexitätsreduzierung (Excelformeln zum Teil recht umständlich, tiefes Excelwissen benötigt, bei Programmcode Wahrscheinlichkeit höher, dass er besser gelesen werden kann)
- Loslösen von Excel als Bedienumgebung, somit nicht an Version oder Hersteller gebunden. - Loslösen von Excel als Bedienumgebung, somit nicht an Version oder Hersteller gebunden.
- Problemloseres Ausrollen auf mehrere Benutzer - Problemloseres Ausrollen auf mehrere Benutzer
@@ -1,3 +1,5 @@
@echo off
call cremig_setenv.bat call cremig_setenv.bat
python %CREMIG_LIB%\update_database.py --rd python %CREMIG_LIB%\update_database.py --rd
pause pause
@@ -1,5 +1,5 @@
call cremig_setenv.bat
@echo off @echo off
call cremig_setenv.bat
if "%1" == "-s" (set SIVAS_ID=%2) else (set /p SIVAS_ID=Enter Sivas ID:) if "%1" == "-s" (set SIVAS_ID=%2) else (set /p SIVAS_ID=Enter Sivas ID:)
python %CREMIG_LIB%\update_database.py --sivas=%SIVAS_ID% python %CREMIG_LIB%\update_database.py --sivas=%SIVAS_ID%
+6
View File
@@ -0,0 +1,6 @@
call cremig_setenv.bat
@echo off
if "%1" == "-s" (set SIVAS_ID=%2) else (set /p SIVAS_ID=Enter Sivas ID:)
python %CREMIG_LIB%\compare_lists.py --sivas=%SIVAS_ID%
pause
+31 -25
View File
@@ -11,12 +11,39 @@ Dieses Programm holt sich aus
- Sivas eine Liste der gewünschten Teile - Sivas eine Liste der gewünschten Teile
""" """
def get_rd_database(inPath, outDir, outFileName):
if os.path.isfile(inPath):
outFilePath = os.path.join(outDir, outFileName)
if os.path.isdir(outDir):
shutil.copyfile(inPath, outFilePath)
else:
print(f"no such directory ${outDir} of env CREMIG_DATA")
print("done")
else:
print(f"no such file ${inPath} of environment variable RD_DATABASE_SOURCE. have a look at cremig_setenv.bat")
def get_sivas_databse(exePath, sivasId, outFilePath):
if os.path.isfile(exePath):
if os.path.isdir(outDir):
#subprocess.Popen([exePath, "-o", outDir, "--format json", "-number", sivasId ])
cmd = ' '.join([exePath, "-o", outDir, "--format json", "-number", sivasId ])
os.system(cmd)
else:
print(f"no such executable ${outDir} of env CREMIG_DATA")
if os.path.isfile(outFilePath):
print("done")
else:
print("failure - did not get .json file")
else:
print(f"no such file ${exePath} of environment variable SIVAS_DATABASE_QUERY. have a look at cremig_setenv.bat")
if __name__ == '__main__': if __name__ == '__main__':
parser = argparse.ArgumentParser(description='fetches data from sivas or ruledesigner fusion', prog='update_database') parser = argparse.ArgumentParser(description='fetches data from sivas or ruledesigner fusion', prog='update_database')
parser.add_argument('-s', '--sivas', action='store', help='fetch data of this id from sivas fo local database folder') parser.add_argument('-s', '--sivas', action='store', help='fetch data of this id from sivas fo local database folder')
parser.add_argument('-r', '--rd', action='store_true', help='fetch list of existing parts from RD Fusion') parser.add_argument('-r', '--rd', action='store_true', help='fetch list of existing parts from network drive')
args = parser.parse_args() args = parser.parse_args()
@@ -24,32 +51,11 @@ if __name__ == '__main__':
if args.rd: if args.rd:
inPath = os.environ.get('RD_DATABASE_SOURCE') inPath = os.environ.get('RD_DATABASE_SOURCE')
outFileName = "RD_Bestandspool.csv" outFileName = "RD_Bestandspool.csv"
if os.path.isfile(inPath): get_rd_database(inPath, outDir, outFileName)
outFilePath = os.path.join(outDir, outFileName)
if os.path.isdir(outDir):
shutil.copyfile(inPath, outFilePath)
else:
print(f"no such directory ${outDir} of env CREMIG_DATA")
print("done")
else:
print(f"no such file ${inPath} of environment variable RD_DATABASE_SOURCE. have a look at cremig_setenv.bat")
if args.sivas: if args.sivas:
exePath = os.environ.get('SIVAS_DATABASE_QUERY') exePath = os.environ.get('SIVAS_DATABASE_QUERY')
sivasId = str(args.sivas) sivasId = str(args.sivas)
if os.path.isfile(exePath): outFilePath = os.path.join(outDir, sivasId + ".json")
outFilePath = os.path.join(outDir, sivasId + ".json") get_sivas_databse(exePath, sivasId, outFilePath)
if os.path.isdir(outDir):
#subprocess.Popen([exePath, "-o", outDir, "--format json", "-number", sivasId ])
cmd = ' '.join([exePath, "-o", outDir, "--format json", "-number", sivasId ])
os.system(cmd)
else:
print(f"no such executable ${outDir} of env CREMIG_DATA")
print("done")
else:
print(f"no such file ${exePath} of environment variable SIVAS_DATABASE_QUERY. have a look at cremig_setenv.bat")