diff --git a/README.md b/README.md index db34525..12ea218 100644 --- a/README.md +++ b/README.md @@ -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: -1. Bestandsliste ableiten aus Rule Designer (was ist schon da) -2. BG-Stückliste aus SIVAS ableiten mit dem JSON/CSV-Export Tool -(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 ( BG-Stücklisten Excel) -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) -6. Excel zur Impfung der 3D-Datensätze öffnen. -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) -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 -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. -13. Datensatz „zur Prüfung“ schicken und „Freigeben“ -14. SIVAS-Eintrag grob kontrollieren, Zeichnungen in neuen Archiv-Bereich umziehen. +1. Bestandsliste ableiten aus Rule Designer (was ist schon da) +2. Baugruppen-Stückliste aus SIVAS ableiten mit dem JSON/CSV-Export Tool. Vorteil: Man bekommt alle Unterbaugruppen der Baugruppe mit aufgelistet. +3. Vorlagen-Excel für Baugruppenvergleich kopieren und auf aktuellen Fall verknüpfen (Baugruppen-Stücklisten Excel) +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) +6. Excel zur Impfung der 3D-Datensätze öffnen. +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) +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 +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. +13. Datensatz „zur Prüfung“ schicken und „Freigeben“ +14. SIVAS-Eintrag grob kontrollieren, Zeichnungen in neuen Archiv-Bereich umziehen. Vorteile: -- Zeitersparnis durch Wegfall von Händischen Verknüpfungen. (Abgeleitete Excel) -- 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) -- 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. -- Problemloseres Ausrollen auf mehrere Benutzer +- Zeitersparnis durch Wegfall von Händischen Verknüpfungen. (Abgeleitete Excel) +- 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) +- 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. +- Problemloseres Ausrollen auf mehrere Benutzer diff --git a/bin/get_rd_dbase.bat b/bin/01_get_rd_dbase.bat similarity index 86% rename from bin/get_rd_dbase.bat rename to bin/01_get_rd_dbase.bat index 8f58565..924dd36 100644 --- a/bin/get_rd_dbase.bat +++ b/bin/01_get_rd_dbase.bat @@ -1,3 +1,5 @@ +@echo off call cremig_setenv.bat + python %CREMIG_LIB%\update_database.py --rd pause diff --git a/bin/get_sivas_dbase.bat b/bin/02_get_sivas_dbase.bat similarity index 97% rename from bin/get_sivas_dbase.bat rename to bin/02_get_sivas_dbase.bat index 9962d47..b7d69dc 100644 --- a/bin/get_sivas_dbase.bat +++ b/bin/02_get_sivas_dbase.bat @@ -1,5 +1,5 @@ -call cremig_setenv.bat @echo off +call cremig_setenv.bat if "%1" == "-s" (set SIVAS_ID=%2) else (set /p SIVAS_ID=Enter Sivas ID:) python %CREMIG_LIB%\update_database.py --sivas=%SIVAS_ID% diff --git a/bin/03_compare_lists.bat b/bin/03_compare_lists.bat new file mode 100644 index 0000000..a1fc92b --- /dev/null +++ b/bin/03_compare_lists.bat @@ -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 \ No newline at end of file diff --git a/lib/update_database.py b/lib/update_database.py index 35a3c77..4c0cc09 100644 --- a/lib/update_database.py +++ b/lib/update_database.py @@ -11,12 +11,39 @@ Dieses Programm holt sich aus - 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__': 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('-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() @@ -24,32 +51,11 @@ if __name__ == '__main__': if args.rd: inPath = os.environ.get('RD_DATABASE_SOURCE') 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: exePath = os.environ.get('SIVAS_DATABASE_QUERY') sivasId = str(args.sivas) - if os.path.isfile(exePath): - outFilePath = os.path.join(outDir, sivasId + ".json") - 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") - - - - + outFilePath = os.path.join(outDir, sivasId + ".json") + get_sivas_databse(exePath, sivasId, outFilePath)