Compare commits
403 Commits
1e2b3e49c9
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| b2127b70c9 | |||
| db46c38ac6 | |||
| af69b98365 | |||
| 87ff81d001 | |||
| cbc2afa9e1 | |||
| 47e70d952e | |||
| 5a1fa5a7e4 | |||
| 4defeb11f0 | |||
| 2591d78716 | |||
| ac99ca73a5 | |||
| 17cbd61fb4 | |||
| f18f8cae2d | |||
| 7fb778125b | |||
| a279c581e3 | |||
| aa73ffb444 | |||
| 61cd933de3 | |||
| 9ef23a735a | |||
| 089dadd52b | |||
| 9f5f4150f1 | |||
| c64327cbe7 | |||
| 9e25ca15bc | |||
| 754ae39364 | |||
| 6590674d8e | |||
| 6c31b9fbf3 | |||
| f5cc53253e | |||
| cf4b632cba | |||
| 95fb80dd57 | |||
| b7fd1da5b8 | |||
| e342ace5c3 | |||
| fb710b73e0 | |||
| c813a8fc1b | |||
| f8b895cec7 | |||
| cb20f31f10 | |||
| a6a7d9c3e9 | |||
| 05709677ac | |||
| 54606dce88 | |||
| 2f2dd83e2b | |||
| 0eda150f8b | |||
| 58b16509da | |||
| 39bd9e01e2 | |||
| 21528e2353 | |||
| d905896891 | |||
| 1635610aff | |||
| e083f3c2ac | |||
| 2a601ec3c1 | |||
| f01f08cda9 | |||
| 832aaf2088 | |||
| 623f4a12e1 | |||
| 56ff5010c7 | |||
| 0c54145655 | |||
| 3393e7ce47 | |||
| 807b6c79f4 | |||
| 80000c15c3 | |||
| fe302ef950 | |||
| efef193612 | |||
| a1a7f45f06 | |||
| 9b3c3859cc | |||
| 22b0cf8afc | |||
| e2bfa2aac6 | |||
| 5f3615548b | |||
| 4f740e81ad | |||
| 6f188649ff | |||
| beb1fdc0da | |||
| da4eed34c3 | |||
| 5bd83324b2 | |||
| 1b834ab919 | |||
| d40106d43b | |||
| 71620fe35b | |||
| 5564befd1d | |||
| 7f4f8e98b9 | |||
| bfda1c75f6 | |||
| 388afbfd99 | |||
| 642d0092d1 | |||
| 55aa5f38b8 | |||
| dd8258f575 | |||
| a16f8a8845 | |||
| e2d9951e38 | |||
| 3704274e26 | |||
| dc8fb06110 | |||
| 7492059744 | |||
| 0d0a9425da | |||
| ccafaf6617 | |||
| 6be81e973f | |||
| f070e92a0c | |||
| 8f82eef438 | |||
| 9a5bae7243 | |||
| b95f76341f | |||
| 7c0ad9776c | |||
| 2b0bad3cb3 | |||
| 61999ea966 | |||
| b814ffa70d | |||
| 68266a3345 | |||
| 44a116fb6e | |||
| 7a6b331e27 | |||
| 09b8ee7e6e | |||
| c070f1fd28 | |||
| 66260e23ef | |||
| cd5feb94c8 | |||
| e73fea929d | |||
| 7dee350422 | |||
| c50d0b937c | |||
| ef80d62f0c | |||
| ab24f24bba | |||
| 4356ed2cc1 | |||
| e500b20fc5 | |||
| 15e4f01f83 | |||
| e20a34d254 | |||
| da29b7b33e | |||
| a5837526be | |||
| f8360c1af0 | |||
| 5d3a8e5237 | |||
| ecd2ac37d7 | |||
| 24ac020314 | |||
| 94f2aeb027 | |||
| 1f52aa697b | |||
| e0c5b87c08 | |||
| b01e778216 | |||
| 3976d66ccf | |||
| c8e958ef32 | |||
| b7585c1975 | |||
| 32fb4999cc | |||
| 023929fce2 | |||
| 89a4f1bfe0 | |||
| ba3cc9c6fa | |||
| 5058457714 | |||
| 07a22c5c11 | |||
| bc06323061 | |||
| dcb8830d8c | |||
| 77584c8749 | |||
| c1f860d3c5 | |||
| dde4ee997e | |||
| 6a671b7c6f | |||
| 884750a2ae | |||
| 83cea43c9c | |||
| 37c791e6c5 | |||
| 660f27936d | |||
| 11f57055f2 | |||
| 479519285c | |||
| 14654ac367 | |||
| 3473b2c37c | |||
| 339ba53257 | |||
| 5b6f32f404 | |||
| c06837948f | |||
| 84626705e8 | |||
| 3a2d7c075d | |||
| 17a4d4e38a | |||
| b48060aabc | |||
| aeb35b4d43 | |||
| 1d23117f2f | |||
| 5c92c3eaec | |||
| a4f07d3e33 | |||
| b5b0c58f39 | |||
| 9c87541a49 | |||
| c8ee75f80c | |||
| ef8686d714 | |||
| cf79b32fc2 | |||
| de3899accf | |||
| 7b7df71279 | |||
| 3ba2a6ccdc | |||
| 9747f7996c | |||
| dd1362fec8 | |||
| 780974081b | |||
| 8511f224f6 | |||
| 8e6b7466a6 | |||
| 0e4b218563 | |||
| ba11ad68ea | |||
| 1c18ca98bf | |||
| 13faea2164 | |||
| 83a250e66b | |||
| 6d52f160e8 | |||
| 198a9a1d62 | |||
| 1eb42b2366 | |||
| e3a7e79dad | |||
| a785eecbc2 | |||
| 8ec356df70 | |||
| 8f74aac945 | |||
| 1e917e5bbd | |||
| b6f9f1a4bf | |||
| 3fc8c495f0 | |||
| dd20c42851 | |||
| 997592e17f | |||
| 1b6d3feaa4 | |||
| f471138b96 | |||
| f0370fa5cd | |||
| f7dd9d49f3 | |||
| bfef814673 | |||
| aae5196bc1 | |||
| 6217a41bd9 | |||
| c470729918 | |||
| 05392ef5e9 | |||
| db6b3b7329 | |||
| 1b8270b908 | |||
| 94ff9aa100 | |||
| 3dc8af5e70 | |||
| 2e3061d238 | |||
| 9fec1a91f4 | |||
| 6a569c685a | |||
| 1f05543524 | |||
| 00f180ea39 | |||
| fddcbb058e | |||
| b52e36fe57 | |||
| 2945be89d3 | |||
| 85fec18c4a | |||
| 841b8745b6 | |||
| 46d3bbd77b | |||
| 466ae4afd5 | |||
| aabf626b78 | |||
| 95e4c366d6 | |||
| 4d42f82e6a | |||
| 650b07687b | |||
| 397457b20e | |||
| b13800b797 | |||
| ebaedd574b | |||
| 5327789473 | |||
| fc1b1bc946 | |||
| 5e65dc2b36 | |||
| 74df118118 | |||
| f16902fd01 | |||
| 39e5f3ddbb | |||
| f7033ebe76 | |||
| 4fe5c37bb5 | |||
| 3e97c2aeec | |||
| f21e218420 | |||
| e63e127bef | |||
| 2dc83248ee | |||
| 8c109eebcd | |||
| 9f1402bc55 | |||
| b0b65f0614 | |||
| 5f781c513b | |||
| a0be038bbf | |||
| 76fde13623 | |||
| e4c7ccf152 | |||
| 501c862eeb | |||
| b128cfb5e6 | |||
| b527faf086 | |||
| 8c6d91b463 | |||
| e082dec1e1 | |||
| bd4b8d297e | |||
| 4777f5afbf | |||
| f6e955601d | |||
| 896cf7a227 | |||
| 2e76c4d959 | |||
| e87c1b930c | |||
| 920c7bf0f3 | |||
| 740a1b2ac8 | |||
| 6f2402dea4 | |||
| 716ff80905 | |||
| 6c1bb728c7 | |||
| 8e6b57a219 | |||
| 037ad07806 | |||
| 6a50eef3ed | |||
| 62d328b46e | |||
| 745012136b | |||
| dc24a2593a | |||
| f8c660e1ee | |||
| 1075997873 | |||
| 944d960401 | |||
| 854d575cd6 | |||
| 87da0094a7 | |||
| cdff4a8987 | |||
| 3206ad242a | |||
| c11094204a | |||
| bff2a9ab62 | |||
| d431ba1b92 | |||
| a1e688636d | |||
| 13c1e399d2 | |||
| d8097570ac | |||
| fc00c3eafa | |||
| 4a3a3a43f7 | |||
| 7dda641aed | |||
| 9c4863ae99 | |||
| a59afd70e7 | |||
| 82a84f9df0 | |||
| f769bc6d7c | |||
| 32b2f69763 | |||
| da35bb4bb5 | |||
| 90d9579cf3 | |||
| c96f84814d | |||
| de954ffd29 | |||
| f88bdce287 | |||
| 1603f612f5 | |||
| 35753256e1 | |||
| a54bc79fd4 | |||
| 55ed82cca5 | |||
| 244afe7530 | |||
| 8073e6f9fc | |||
| 6ec280728f | |||
| 2ba0c18818 | |||
| beec42adce | |||
| 3543200e5c | |||
| 544f612cf2 | |||
| 946b71a286 | |||
| aa043d08a1 | |||
| ab21a8471e | |||
| 4b82253f6b | |||
| 7785b14431 | |||
| 8e7eebe317 | |||
| 5bfc7e8f10 | |||
| 17dd0af887 | |||
| b438c90dfb | |||
| c1d0ffd7bc | |||
| c9d01d14e8 | |||
| a5cc42b140 | |||
| e922eb9af6 | |||
| d7f6522ab7 | |||
| 513880529c | |||
| 57d333250d | |||
| 0aa9bd7b0c | |||
| e480bbe302 | |||
| e50878bf48 | |||
| 67ea0125a5 | |||
| 0c4113b0f4 | |||
| f24958f2e1 | |||
| 87ccabbd60 | |||
| 727e1812f3 | |||
| c950cfe5e3 | |||
| aae176252d | |||
| e7ac157d2f | |||
| af6de1f0db | |||
| b2e836a1ba | |||
| eb4779546f | |||
| bbf0cc4edc | |||
| 96080a75b5 | |||
| 61242a1bc5 | |||
| 725321fa88 | |||
| c4f3078a39 | |||
| cdc111c895 | |||
| b4eda08674 | |||
| 6883cd2f8d | |||
| 9741ea0702 | |||
| b9e69acca9 | |||
| b2a4a62aa7 | |||
| 5aea1a0377 | |||
| 93829f4b12 | |||
| bb61bc8c89 | |||
| db54c561e5 | |||
| ac71e8818a | |||
| 404e241ba0 | |||
| 26f1820a72 | |||
| 9c7325440f | |||
| d4ecb88b33 | |||
| f182b8d806 | |||
| b6a36bf135 | |||
| 0ce8a485e3 | |||
| 8e2061d8db | |||
| 9503841629 | |||
| fcb392c2b8 | |||
| 75deb57548 | |||
| 32146a0419 | |||
| e249a4c750 | |||
| ba643e2744 | |||
| 5da92d57d1 | |||
| 25c06e425b | |||
| 6bdbb8ca7a | |||
| 7a09097f68 | |||
| 099c44395f | |||
| 3ad27bf084 | |||
| 5a2428bc64 | |||
| 566737beae | |||
| 9fe6aed7c9 | |||
| d815782a54 | |||
| 8b05a9173d | |||
| 7c220dce28 | |||
| 0a6a9d5a07 | |||
| 7120a762eb | |||
| c0f2758e01 | |||
| 9b8c83ab75 | |||
| 9ef4869a45 | |||
| 41000e38d8 | |||
| 239e09a746 | |||
| 75076f51ea | |||
| 36d6b7c5e2 | |||
| a8b2362ee9 | |||
| e34ebd1d53 | |||
| 5ee52211e0 | |||
| 9e4d439e9b | |||
| 128f750b6d | |||
| 61db3b15d5 | |||
| 6eebe7c94a | |||
| 800cb5a7b5 | |||
| 1df77b3fee | |||
| 640bbe716e | |||
| fbdff4d3bb | |||
| 7be759fd01 | |||
| 6d4ee17335 | |||
| 82ea667d62 | |||
| 1e526df0f2 | |||
| 0adc9e72b4 | |||
| f277cbfd1a | |||
| 02fd5e59d8 | |||
| 45e3eb6a80 | |||
| bcd4a8a1c4 | |||
| 265239eb84 | |||
| cdca6c6d3f | |||
| 675279bcf1 | |||
| 0dfdafca34 | |||
| 2aa6e9fffe | |||
| f54f4906f0 | |||
| 1576d9c372 | |||
| 1b37b1d22e | |||
| b1fe51dafa | |||
| 0cd74c924b | |||
| 75f37f94b9 |
@@ -4,26 +4,78 @@
|
||||
// Weitere Informationen finden Sie unter https://go.microsoft.com/fwlink/?linkid=830387
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
|
||||
|
||||
|
||||
{
|
||||
"name": "Python: Aktuelle Datei",
|
||||
"type": "python",
|
||||
"type": "debugpy",
|
||||
"request": "launch",
|
||||
"program": "${file}",
|
||||
"console": "integratedTerminal",
|
||||
"justMyCode": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Python: CompareLists",
|
||||
"type": "python",
|
||||
"type": "debugpy",
|
||||
"request": "launch",
|
||||
"program": "${file}",
|
||||
"console": "integratedTerminal",
|
||||
"justMyCode": true
|
||||
"justMyCode": true,
|
||||
"args": [
|
||||
"--sivas=829522001"
|
||||
"400102530",
|
||||
"tree",
|
||||
"--local_bom",
|
||||
"--local_teilestamm",
|
||||
"--local_rd_ids",
|
||||
"--rm_bom_ids_cfg", "C:\\Users\\s.steuer\\Documents\\Pythonprojekte\\CreoMigrate\\cfg\\BOM-Settings.cfg", "ExcludedPartnumbersInBOM",
|
||||
"--rm_summary_ids_cfg", "C:\\Users\\s.steuer\\Documents\\Pythonprojekte\\CreoMigrate\\cfg\\BOM-Settings.cfg", "ExcludedPartnumbersInSummary"
|
||||
],
|
||||
},
|
||||
{
|
||||
"name": "Python: create TOS sring",
|
||||
"type": "debugpy",
|
||||
"request": "launch",
|
||||
"program": "${file}",
|
||||
"console": "integratedTerminal",
|
||||
"justMyCode": true,
|
||||
"args": [
|
||||
"--console"
|
||||
],
|
||||
},
|
||||
{
|
||||
"name": "fetch blacklist from server",
|
||||
"type": "debugpy",
|
||||
"request": "launch",
|
||||
"program": "${file}",
|
||||
"console": "integratedTerminal",
|
||||
"justMyCode": true,
|
||||
"args": [
|
||||
"--blacklist"
|
||||
],
|
||||
},
|
||||
{
|
||||
"name": "Python: Build Demo Gui",
|
||||
"type": "debugpy",
|
||||
"request": "launch",
|
||||
"program": "${file}",
|
||||
"console": "integratedTerminal",
|
||||
"justMyCode": true,
|
||||
"args": [
|
||||
"-d"
|
||||
],
|
||||
},
|
||||
{
|
||||
"name": "Python: Build Real Gui",
|
||||
"type": "debugpy",
|
||||
"request": "launch",
|
||||
"program": "${file}",
|
||||
"console": "integratedTerminal",
|
||||
"justMyCode": true,
|
||||
"args": [
|
||||
"-s 400102196",
|
||||
"--uselocal",
|
||||
],
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
# CLAUDE.md
|
||||
|
||||
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||||
|
||||
## Projektübersicht
|
||||
|
||||
**CreoMigrate** enthält Skripte zur Migration von Creo-Altdaten nach Solid Edge / Rule
|
||||
Designer. Ziel ist es, alte 3D-Daten aus Creo mit aktuellen SIVAS-Informationen in die
|
||||
neue Konstruktionsumgebung zu überführen. Der Fokus liegt auf automatisierbaren Prozessen
|
||||
mit wenig Nutzereingriff (Datenbank-Abgleich, Listenvergleich, TOS-String-Erzeugung).
|
||||
|
||||
## Projektstruktur
|
||||
|
||||
```text
|
||||
CreoMigrate/
|
||||
├── bin/ # Nummerierte Workflow-Batch-Skripte (01..06) + GUI/Setup
|
||||
├── lib/ # Python-Quellcode
|
||||
├── Include/ # Zusätzliche Includes
|
||||
├── cfg/ # Konfiguration
|
||||
├── data/ # Datenbanken / Eingabedaten
|
||||
├── doc/ # Dokumentation
|
||||
├── log/ # Log-Dateien
|
||||
└── work/ # Arbeitsdateien
|
||||
```
|
||||
|
||||
## Workflow-Skripte (bin/)
|
||||
|
||||
Die Batch-Skripte sind in Ausführungsreihenfolge nummeriert:
|
||||
|
||||
1. `01_get_rd_dbase.bat` — Rule-Designer-Bestand ableiten
|
||||
2. `02_get_sivas_dbase.bat` — SIVAS-Datenbank ableiten
|
||||
3. `03_get_blacklist_dbase.bat` — Blacklist erzeugen
|
||||
4. `04_compare_lists.bat` — Listen vergleichen
|
||||
5. `05_get_sivas_teilestamm.bat` — Teilestamm aus SIVAS
|
||||
6. `06_migrationsstatus_treeview.bat` — Migrationsstatus als Treeview
|
||||
|
||||
Weitere: `gui.bat` (GUI), `create_tos_string.bat` / `write_tos_string_to_file.bat`
|
||||
(TOS-Strings), `install_py.bat`, `cremig_setenv.bat`, `get_cmd.bat`.
|
||||
|
||||
## Kernmodule (lib/)
|
||||
|
||||
- `CreoMigrateGui.py`, `gui.py`, `controller.py` — GUI + Steuerung (Tkinter)
|
||||
- `compare_lists.py` — Listenvergleich
|
||||
- `create_tos.py` — TOS-String-Erzeugung
|
||||
- `caditem.py` — Datenmodell CAD-Item
|
||||
- `update_database.py`, `manage_configs.py` — DB/Config
|
||||
- `test_*.py` — Tests
|
||||
|
||||
## Setup
|
||||
|
||||
```cmd
|
||||
bin\install_py.bat
|
||||
```
|
||||
Legt die virtuelle Umgebung an und installiert `lib/requirements.txt`.
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
"folders": [
|
||||
{
|
||||
"path": "."
|
||||
}
|
||||
],
|
||||
"settings": {
|
||||
"[python]": {
|
||||
"editor.defaultFormatter": "ms-python.autopep8"
|
||||
},
|
||||
"python.formatting.provider": "none"
|
||||
}
|
||||
}
|
||||
@@ -29,5 +29,5 @@ Vorteile:
|
||||
- Loslösen von Excel als Bedienumgebung, somit nicht an Version oder Hersteller gebunden.
|
||||
- Problemloseres Ausrollen auf mehrere Benutzer
|
||||
|
||||
|
||||
|
||||
Installationsvoraussetzungen:
|
||||
- Tabellenkalkulationsprogramm (Excel) in 64-Bit Version -> Dies ist wichtig, da unter 32-Bit das Migrationstool von Siemens (DataPrep-Tool) nicht korrekt funktioniert!
|
||||
@@ -1,5 +1,4 @@
|
||||
@echo off
|
||||
call cremig_setenv.bat
|
||||
|
||||
python %CREMIG_LIB%\update_database.py --rd
|
||||
pause
|
||||
CALL manage_interpreter.bat activate_interpreter
|
||||
python %CREMIG_LIB%\update_database.py -r
|
||||
CALL manage_interpreter.bat deactivate_interpreter
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
@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%
|
||||
pause
|
||||
IF "%1" == "-s" (set SIVAS_ID=%2) else (set /p SIVAS_ID=Enter Sivas ID:)
|
||||
CALL manage_interpreter.bat activate_interpreter
|
||||
python %CREMIG_LIB%\update_database.py --sivasid=%SIVAS_ID% --bom
|
||||
CALL manage_interpreter.bat deactivate_interpreter
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
call cremig_setenv.bat
|
||||
@echo off
|
||||
call %CREMIG%\.venv\Scripts\activate.bat
|
||||
python %CREMIG_LIB%\compare_lists.py %*
|
||||
deactivate
|
||||
@@ -0,0 +1,4 @@
|
||||
@echo off
|
||||
CALL manage_interpreter.bat activate_interpreter
|
||||
python %CREMIG_LIB%\update_database.py --blacklist
|
||||
CALL manage_interpreter.bat deactivate_interpreter
|
||||
@@ -0,0 +1,4 @@
|
||||
@echo off
|
||||
CALL manage_interpreter.bat activate_interpreter
|
||||
python %CREMIG_LIB%\compare_lists.py %*
|
||||
CALL manage_interpreter.bat deactivate_interpreter
|
||||
@@ -0,0 +1,5 @@
|
||||
@echo off
|
||||
IF "%1" == "-s" (set SIVAS_ID=%2) else (set /p SIVAS_ID=Enter Sivas ID or IDs:)
|
||||
CALL manage_interpreter.bat activate_interpreter
|
||||
python %CREMIG_LIB%\update_database.py --sivasid=%SIVAS_ID% -t
|
||||
CALL manage_interpreter.bat deactivate_interpreter
|
||||
@@ -0,0 +1,6 @@
|
||||
@echo off
|
||||
CALL cremig_setenv.bat
|
||||
:start
|
||||
set /p "id=Artikelnummer: "
|
||||
CALL 04_compare_lists.bat "%id%" tree --rm_bom_ids_cfg %CREMIG_CFG%\BOM-Settings.cfg ExcludedPartnumbersInBOM --rm_summary_ids_cfg %CREMIG_CFG%\BOM-Settings.cfg ExcludedPartnumbersInSummary
|
||||
goto start
|
||||
@@ -0,0 +1,4 @@
|
||||
@echo off
|
||||
CALL manage_interpreter.bat activate_interpreter
|
||||
python %CREMIG_LIB%\create_tos.py %*
|
||||
CALL manage_interpreter.bat deactivate_interpreter
|
||||
@@ -1,6 +1,7 @@
|
||||
@echo off
|
||||
REM ~dp0 steht für das Verzeichnis, in der diese Datei liegt
|
||||
pushd %~dp0\..
|
||||
|
||||
set CREMIG=%cd%
|
||||
set CREMIG_BIN=%CREMIG%\bin
|
||||
set CREMIG_CFG=%CREMIG%\cfg
|
||||
@@ -9,14 +10,44 @@ set CREMIG_DATA=%CREMIG%\data
|
||||
set CREMIG_WORK=%CREMIG%\work
|
||||
set CREMIG_LOG=%CREMIG%\log
|
||||
|
||||
rem Hilfsvariable um den Programmpfad zu Solid Egde immer an die aktuelle Version anzupassen. Dieser ändert sich jedesmal beim Update der Jahresversionen (Solid Edge hängt immer die Jahreszahl der Version im Ordnernamen an).
|
||||
rem Deshalb muss dieser Pfad möglichst automatisch ausgelesen werden. Da auch immer das Programm Keyshot in diesem Zuge mitinstalliert wird, konnte eine Umgebungsvariable gefunden werden, die denselben Pfad verwendet wie die DataPrepUtility.exe
|
||||
set SOLIDEDGE_VERSION=%KEYSHOT_EXTERNAL_LICENSE_FOLDER%
|
||||
|
||||
if not exist %CREMIG%\work mkdir %CREMIG%\work
|
||||
if not exist %CREMIG%\log mkdir %CREMIG%\log
|
||||
if not exist %CREMIG%\data mkdir %CREMIG%\data
|
||||
|
||||
set PATH=%CREMIG%\bin;%PATH%
|
||||
if not defined RD_DATABASE_SOURCE (
|
||||
rem Vehindert erneutes voranstellen von CREMIG_BIN an Path bei mehrmaligem Aufruf von cremig_setenv.bat (z.B. bei mehrmaliger Ausfuehrung von 06_migrationsstatus_treeview.bat)
|
||||
set return=1
|
||||
goto set_path
|
||||
)
|
||||
|
||||
:r1
|
||||
|
||||
set RD_DATABASE_SOURCE=\\ssg.local\freigaben\SIVAS_CAD_EDM\Migration\07_RD_Teilenummern
|
||||
set RD_DATABASE_NAME=RD_Teilenummern.csv
|
||||
set BLACKLIST_DATABASE_SOURCE=\\ruledesigner\RDF_Daten\Konfigurator\CustomVaulting
|
||||
set BLACKLIST_DATABASE_NAME=ERP_BOM.ini
|
||||
set VBA_MACRO_NAME=vba_format_excel.xlsm
|
||||
set SIVAS_BOM=Y:\jit\programme\Sivas2json.exe
|
||||
set SIVAS_TEILESTAMM=\\195.243.223.3\sivas\jit\programme\KSbExcelExportSivasTeilestamm.exe
|
||||
set SIVAS_EXCEL_EXPORT_DIR=%CREMIG_DATA%
|
||||
set SIEMENS_DATA_PREP_TOOL=%SOLIDEDGE_VERSION%\DataPrepUtility.exe
|
||||
set LOG_EDITOR=notepad.exe
|
||||
set RD_SQL_DATABASE_CREDENTIALS=\\fileserver01\abteilungen\Entwicklung\Administration\Lizenzen\RDSQLDatabaseCredentials.bat
|
||||
|
||||
if exist %RD_SQL_DATABASE_CREDENTIALS% (
|
||||
call %RD_SQL_DATABASE_CREDENTIALS%
|
||||
)
|
||||
|
||||
rem Um den Python-Interpreter auf U:\ zu nutzen, Kommentar (rem) in nachfolgender Zeile entfernen
|
||||
rem set NETWORK_INTERPRETER_PATH=\\ssg.local\freigaben\Allgemein\Programmierumgebung\Python312
|
||||
|
||||
REM set RD_DATABASE_SOURCE=\\ssg.local\freigaben\Abteilungen\Entwicklung\PLM\Bestandspool.xlsx
|
||||
set RD_DATABASE_SOURCE=Z:\Entwicklung\PLM\Bestandspool.csv
|
||||
set SIVAS_DATABASE_QUERY=Y:\jit\programme\Sivas2json.exe
|
||||
REM PYTHON_INCLUDE_DIR
|
||||
REM PYTHON_LIBRARY
|
||||
popd
|
||||
goto :eof
|
||||
|
||||
:set_path
|
||||
set PATH=%CREMIG%\bin;%PATH%
|
||||
goto r%return%
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
@echo off
|
||||
CALL cremig_setenv.bat
|
||||
CALL manage_interpreter.bat activate_interpreter
|
||||
python %CREMIG_LIB%\CreoMigrateGui.py %*
|
||||
CALL manage_interpreter.bat deactivate_interpreter
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
call cremig_setenv.bat
|
||||
if not exist %CREMIG%\.venv (
|
||||
ECHO Initialisiere Virtual-Environment...
|
||||
ECHO Initialisiere Python virtual environment...
|
||||
python -m venv %CREMIG%\.venv --upgrade-deps
|
||||
ECHO Erfolgreich.
|
||||
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
@echo off
|
||||
CALL cremig_setenv.bat
|
||||
IF DEFINED NETWORK_INTERPRETER_PATH (
|
||||
goto %~1_network
|
||||
|
||||
) ELSE (
|
||||
goto %~1_local
|
||||
)
|
||||
|
||||
:activate_interpreter_local
|
||||
IF NOT EXIST %CREMIG%\.venv CALL %CREMIG_BIN%\install_py.bat
|
||||
CALL %CREMIG%\.venv\Scripts\activate.bat
|
||||
goto :eof
|
||||
|
||||
:deactivate_interpreter_local
|
||||
deactivate
|
||||
goto :eof
|
||||
|
||||
:activate_interpreter_network
|
||||
ECHO Initialisiere Python-Interpreter in %NETWORK_INTERPRETER_PATH%...
|
||||
SET OLD_PATH=%PATH%
|
||||
SET PATH=%NETWORK_INTERPRETER_PATH%;%PATH%
|
||||
goto :eof
|
||||
|
||||
:deactivate_interpreter_network
|
||||
SET PATH=%OLD_PATH%
|
||||
SET OLD_PATH=
|
||||
SET NETWORK_INTERPRETER_PATH=
|
||||
goto :eof
|
||||
@@ -0,0 +1,19 @@
|
||||
@echo off
|
||||
|
||||
setlocal enabledelayedexpansion
|
||||
|
||||
REM Ermittle das aktuelle Datum im Format YYYY-MM-DD
|
||||
for /f "delims=" %%a in ('powershell Get-Date -Format "yyyy_MM_dd"') do set datetime=%%a
|
||||
|
||||
set "Namensanfang=TOS-Gruppenstring_"
|
||||
set "Dateiname=%Namensanfang%!datetime!.txt"
|
||||
|
||||
REM Führe die folgende .bat aus mit dem gesetzten Schalter -o um eine Datei mit dem Code zu generieren
|
||||
CALL %CREMIG_BIN%\create_tos_string.bat -o %Dateiname%
|
||||
|
||||
echo Die Datei wurde in %CREMIG_WORK% mit dem Namen: %Dateiname% gespeichert
|
||||
echo Bitte pflegen sie den Inhalt dieser Datei in die jeweiligen CampiEsterni.ini unter CALC LINK10 ein.
|
||||
echo:
|
||||
|
||||
endlocal
|
||||
pause
|
||||
@@ -0,0 +1,95 @@
|
||||
[Kategorien]
|
||||
<undefiniert>
|
||||
Baugruppe
|
||||
Einzelteil
|
||||
Kaufteil
|
||||
Schweissbaugruppe
|
||||
|
||||
[Lebenszyklus]
|
||||
Serie
|
||||
Prototyp
|
||||
|
||||
[Dispogruppe]
|
||||
10 - Fahrstrecke
|
||||
20 - Förderer
|
||||
30 - Gerüst
|
||||
40 - Betriebsmittel
|
||||
50 - Automation
|
||||
60 - Kleinteile
|
||||
70 - Rohmaterial
|
||||
80 - Sonstiges Intern
|
||||
90 - Baustelleneinrichtung
|
||||
100 - Sonderkonstruktionen
|
||||
|
||||
[Dispolaufgruppe]
|
||||
10 - Omniflo
|
||||
20 - Intra Logistic System + Alt-HFS
|
||||
30 - Fremd-Transportsysteme + SSG-Anbauten
|
||||
40 - Spinnereikomponenten
|
||||
45 - Automotiv
|
||||
50 - Nicht eindeutig, Sonder
|
||||
|
||||
[EinheitAusw]
|
||||
L
|
||||
mm
|
||||
Stck
|
||||
m
|
||||
m²
|
||||
dm³
|
||||
m³
|
||||
|
||||
[EinheitStueck]
|
||||
Stck
|
||||
|
||||
[HalbzeugOhneSaegeliste]
|
||||
Sägeliste nicht benötigt
|
||||
Sägeliste benötigt
|
||||
|
||||
[FOS_Gruppe]
|
||||
0 - Einzelteil
|
||||
1 - Baugruppe
|
||||
|
||||
[Kalkulationsart]
|
||||
Eigenbau
|
||||
Kaufteil
|
||||
Mischteil
|
||||
|
||||
[Werkstofftyp]
|
||||
Aluminium
|
||||
Stahl
|
||||
|
||||
[Fertigungsart]:
|
||||
3D - 3D drucken
|
||||
BI - biegen
|
||||
DR - drehen
|
||||
EX - extrudieren
|
||||
FR - fräsen
|
||||
GI - gießen
|
||||
LW - laser- und wasserstrahlschneiden
|
||||
SA - sägen
|
||||
SW - schweißen
|
||||
SP - spritzgießen
|
||||
ST - stanzen
|
||||
SN - strangpressen
|
||||
|
||||
[Beschaffungsart]
|
||||
Eigenbau
|
||||
Kaufteil
|
||||
|
||||
[Ruestcode]
|
||||
Trümmerbaugruppe
|
||||
HZS Halbzeuge Sägeteile
|
||||
SRC Standard Rüstcode
|
||||
|
||||
|
||||
[RuestcodeStandard]
|
||||
HZS Halbzeuge Sägeteile
|
||||
SRC Standard Rüstcode
|
||||
|
||||
[RuestcodeBaugruppe]
|
||||
Trümmerbaugruppe
|
||||
SRC Standard Rüstcode
|
||||
|
||||
[Halbzeug]
|
||||
WAHR
|
||||
FALSCH
|
||||
@@ -0,0 +1,14 @@
|
||||
[ExcludedPartnumbersInBOM]
|
||||
#============================================================================================================================
|
||||
# Teilenummern, die in der Migrationsübersicht (u.a. im Baum von CreoMigrate) nicht dargestellt sein sollen
|
||||
#============================================================================================================================
|
||||
|
||||
MA0000008
|
||||
MA0000005
|
||||
|
||||
[ExcludedPartnumbersInSummary]
|
||||
#============================================================================================================================
|
||||
# Teilenummern, die in der Zusammenfassung der Migrationsübersicht nicht enthalten sein sollen
|
||||
# Wenn die Nummer bereits in der Sektion "ExcludedPartnumbersInBOM" enthalten ist, muss sie hier nicht nochmal aufgelistet werden
|
||||
#============================================================================================================================
|
||||
|
||||
@@ -0,0 +1,725 @@
|
||||
[Bezeichner]
|
||||
1' Rohr
|
||||
3/2-Wegeventil
|
||||
4/2-Wegeventil
|
||||
5/2-Wegeventil
|
||||
5/3-Wegeventil
|
||||
Abdeckblech
|
||||
Abdeckhaube
|
||||
Abdeckkappe
|
||||
Abdeckprofil
|
||||
Abdeckung
|
||||
Abfrage
|
||||
Abfragewinkel
|
||||
Abgabe
|
||||
Abgang
|
||||
Abhängeblech
|
||||
Abhängehalterung
|
||||
Abhänger
|
||||
Abhängerohr
|
||||
Abhängung
|
||||
Ablage
|
||||
Abluft
|
||||
Abnahme
|
||||
Abnahmespitze
|
||||
Abnahmestange
|
||||
Abschluss
|
||||
Abschlussdeckel
|
||||
Abschlussstück
|
||||
Absolut
|
||||
Abstand
|
||||
Abstandshalter
|
||||
Abstandshülse
|
||||
Abstreifer
|
||||
Abstützung
|
||||
Abweiser
|
||||
Abwurf
|
||||
Abzweig
|
||||
Abzweigstück
|
||||
Achsaufnahme
|
||||
Achse
|
||||
Adapter
|
||||
Adapterplatte
|
||||
AFS
|
||||
AFS 30°
|
||||
AFS Motorstation
|
||||
AFS Schraubträger
|
||||
AFS Umlenkung
|
||||
AFS-Schräg
|
||||
Aktor
|
||||
Alu-Weiche DSW
|
||||
Alu-Weiche SW
|
||||
Alu-Weiche SW-L
|
||||
Alu-Weiche SW-R
|
||||
Alu-Weiche SW3
|
||||
Aluprofil
|
||||
Aluprofil AP 110
|
||||
Aluprofil AP 60
|
||||
Aluprofil APG 110
|
||||
Aluprofilbogen APB 110
|
||||
Aluprofilbogen APB 60
|
||||
Aluprofilbogen APBW 110
|
||||
Aluprofilbogen OMNIWeiche S C APBW 110 R
|
||||
Anbau
|
||||
Anbindung
|
||||
Andockvorrichtung
|
||||
Andruck
|
||||
Ankerstange
|
||||
Anlauf
|
||||
Anlaufscheibe
|
||||
Anschlag
|
||||
Anschlaghülse
|
||||
Anschlagleiste
|
||||
Anschlagplatte
|
||||
Anschlagpuffer
|
||||
Anschlagscheibe
|
||||
Anschlagwinkel
|
||||
Anschlussadapter
|
||||
Anschlussblock
|
||||
Anschlusselement
|
||||
Anschlussplatte
|
||||
Anschlussprofil
|
||||
Anschlussstück
|
||||
Anschlusswinkel
|
||||
Antrieb
|
||||
Antriebskettenrad
|
||||
Antriebsrad
|
||||
Antriebsritzel
|
||||
Antriebsstation
|
||||
Antriebswelle
|
||||
APS-SW
|
||||
APSB
|
||||
APSBW-L
|
||||
APSBW-R
|
||||
Arretierung
|
||||
AS-Element L
|
||||
AS-Element R
|
||||
Auffahrblech
|
||||
Aufkleber
|
||||
Auflage
|
||||
Auflagebock
|
||||
Aufnahme
|
||||
Aufnahmeplatte
|
||||
Aufsatz
|
||||
Ausschleusung
|
||||
Auszug
|
||||
B1SW
|
||||
Bandhalter
|
||||
Barcodeetikett
|
||||
Be-/Entladestation
|
||||
Bedientableau
|
||||
Befestigung
|
||||
Befestigungsblech
|
||||
Befestigungselement
|
||||
Befestigungslasche
|
||||
Befestigungsplatte
|
||||
Befestigungsschelle
|
||||
Befestigungssockel
|
||||
Befestigungswinkel
|
||||
Begrenzer
|
||||
Begrenzung
|
||||
Begrenzungsstift
|
||||
Beladung
|
||||
Berührungsschutz
|
||||
Beschriftung
|
||||
Beschriftungsschild
|
||||
Blechhalter
|
||||
Blende
|
||||
Bodenblech
|
||||
Bodenplatte
|
||||
Bodensäule
|
||||
Bogen
|
||||
Bogenschelle
|
||||
Bohrschablone
|
||||
Bolzen
|
||||
Bremsklotz
|
||||
Brücke
|
||||
BT -
|
||||
Buchse
|
||||
Bundbuchse
|
||||
Bügel
|
||||
Bürstenbremse
|
||||
Bürstenhalter
|
||||
C-Profil -
|
||||
CDDC
|
||||
Clifastift
|
||||
Clip
|
||||
CTU -
|
||||
Deckel
|
||||
Deckkappe
|
||||
Deckplatte
|
||||
Dichtung
|
||||
Direktantrieb
|
||||
Display
|
||||
Distanzbolzen
|
||||
Distanzbuchse
|
||||
Distanzhülse
|
||||
Distanzplatte
|
||||
Distanzscheibe
|
||||
Distanzstück
|
||||
Doppelhaken
|
||||
Doppelhalter
|
||||
Doppelrohr
|
||||
Dorn
|
||||
Drahtbügel
|
||||
Drehhebel
|
||||
Drehplatte
|
||||
Drehriegel
|
||||
Drossel
|
||||
DRT Doppelrohrträger 1/114
|
||||
DRT Doppelrohrträger 1/80
|
||||
Druckfeder
|
||||
Druckleiste
|
||||
Druckluftzylinder
|
||||
Druckplatte
|
||||
Druckstange
|
||||
Druckstück
|
||||
Drucktaster
|
||||
Dämpfer
|
||||
EB
|
||||
Eckrad
|
||||
Ein-/Ausfahrt
|
||||
Einfahrschuh
|
||||
Eingreifschutz
|
||||
Einhängebügel
|
||||
Einhängeschiene
|
||||
Einlaufschutz
|
||||
Einsatz
|
||||
Einzelradantrieb
|
||||
Elektro
|
||||
Endabdeckung
|
||||
Endanschlag
|
||||
Endhülse
|
||||
Endkappe
|
||||
Endplatte
|
||||
Endsegment
|
||||
Endstück
|
||||
Entladeeinheit
|
||||
Entladung
|
||||
Entriegelung
|
||||
ES-Element L
|
||||
ES-Element R
|
||||
Etagenförderer ETF
|
||||
ETF
|
||||
Etikett
|
||||
Fahrgestell
|
||||
Fahrschiene
|
||||
Fahrstrecke
|
||||
Fangarm
|
||||
Federblech
|
||||
Federklemme
|
||||
Finger
|
||||
Fingerschutz
|
||||
Fixiereinheit
|
||||
Fixierstation
|
||||
Fixierung
|
||||
Flansch
|
||||
Flanschlager
|
||||
Flyer
|
||||
Frontplatte
|
||||
Fuss
|
||||
Fussbefestigung
|
||||
Fussplatte
|
||||
Fördereinheit
|
||||
Förderer
|
||||
Förderschnecke
|
||||
Förderstrecke
|
||||
Führung
|
||||
Führungsblech
|
||||
Führungsbolzen
|
||||
Führungskanal
|
||||
Führungsklotz
|
||||
Führungsleiste
|
||||
Führungsplatte
|
||||
Führungsprofil
|
||||
Führungsrohr
|
||||
Führungsschiene
|
||||
Führungsstange
|
||||
Führungswagen
|
||||
Führungswelle
|
||||
Gabel
|
||||
Gabelkopf
|
||||
Gabelstück
|
||||
Gasdruckfeder
|
||||
Gatterträger
|
||||
Gefällestrecke
|
||||
Gegendruckleiste BT/MT
|
||||
Gegenhalter
|
||||
Gegenlager
|
||||
Gegenplatte
|
||||
Gegenrad
|
||||
Gegenstück
|
||||
Gehäuse
|
||||
Gehäuseplatte
|
||||
Gelenkbolzen
|
||||
Gelenkkopf
|
||||
Gelenkkugel
|
||||
Gelenkstück
|
||||
Gelenkverbindung
|
||||
Gerüst
|
||||
Gestell
|
||||
Gestänge
|
||||
Getriebemotor
|
||||
Gewindebuchse
|
||||
Gleitleiste
|
||||
Gleitprofil
|
||||
Gleitschiene
|
||||
Gleitschuh
|
||||
Gondel
|
||||
Greifer
|
||||
Griff
|
||||
Grundgestell
|
||||
Grundhalter
|
||||
Grundkörper
|
||||
Grundplatte
|
||||
Grundträger
|
||||
Gummischürze
|
||||
Haken
|
||||
Halbschale
|
||||
Halbschelle
|
||||
Haltearm
|
||||
Halteblech
|
||||
Haltebolzen
|
||||
Haltebügel
|
||||
Halteklotz
|
||||
Haltekonsole
|
||||
Halteleiste
|
||||
Halteplatte
|
||||
Halter
|
||||
Halterohr
|
||||
Halterung
|
||||
Haltestange
|
||||
Haltewinkel
|
||||
Handgriff
|
||||
Handhebel
|
||||
Haube
|
||||
Hebel
|
||||
Heber
|
||||
Helm-schiene
|
||||
HFS
|
||||
HFS -
|
||||
HFS NT
|
||||
Hinweisschild
|
||||
Hohlprofil
|
||||
Hohlwelle
|
||||
Hubeinheit
|
||||
Hubstange
|
||||
Hubstation
|
||||
Hutschiene
|
||||
Hülse
|
||||
Initiator
|
||||
Inkrementalgeber
|
||||
Innenbogen
|
||||
Innenklemme
|
||||
ITEM
|
||||
Kabeldurchführung
|
||||
Kabelführung
|
||||
Kabelpritsche
|
||||
Kantenschutz
|
||||
Karabinerhaken
|
||||
KB -
|
||||
KDR
|
||||
Kette
|
||||
Kettenförderer
|
||||
Kettenführung
|
||||
Kettenführungsprofil
|
||||
Kettenrad
|
||||
Kettenschloss
|
||||
Kettenschutz
|
||||
Kettenspanner
|
||||
KF -
|
||||
KKF -
|
||||
Klammer
|
||||
Klappe
|
||||
Kleiderbügel
|
||||
Klemmbacke
|
||||
Klemmblock
|
||||
Klemmbuchse
|
||||
Klemmbügel
|
||||
Klemmhalter
|
||||
Klemmhebel
|
||||
Klemmleiste
|
||||
Klemmplatte
|
||||
Klemmpratze
|
||||
Klemmring
|
||||
Klemmstück
|
||||
Klemmwinkel
|
||||
Klemmzylinder
|
||||
Klinke
|
||||
Knebelstück
|
||||
Kolbenstange
|
||||
Konsole
|
||||
Kontakteinsatz
|
||||
Kopfplatte
|
||||
Kopfstück
|
||||
Koppel
|
||||
Koppelstange
|
||||
Kopplung
|
||||
Korb
|
||||
Korbboden
|
||||
Kragarm
|
||||
Kreisel
|
||||
Kreuzung
|
||||
Kreuzungsweiche
|
||||
Kreuzungsweiche KW
|
||||
Kugel
|
||||
Kugelklemme
|
||||
Kugelkopf
|
||||
Kugelzapfen
|
||||
Kulisse
|
||||
Kulissenstein
|
||||
Kupplung
|
||||
Kupplungsscheibe
|
||||
Kurbel
|
||||
Kurvenscheibe
|
||||
L-winkel
|
||||
Ladebaum
|
||||
Ladeschleife
|
||||
Lager
|
||||
Lagerachse
|
||||
Lagerbock
|
||||
Lagerbolzen
|
||||
Lagerbuchse
|
||||
Lagergehäuse
|
||||
Lagerplatte
|
||||
Lagerschale
|
||||
Lagerzapfen
|
||||
Lasche
|
||||
Laufprofil
|
||||
Laufrolle
|
||||
Laufscheibe
|
||||
Laufschiene
|
||||
Laufschuh
|
||||
Laufstrecke
|
||||
Lehre
|
||||
Leiste
|
||||
Leitblech
|
||||
Leitschiene
|
||||
Leitstange
|
||||
Lenkrolle
|
||||
Lenkstange
|
||||
Lenkwelle
|
||||
Linearantrieb
|
||||
LP 2.0
|
||||
LP 3.0
|
||||
LP Endstück
|
||||
LP Halter
|
||||
LP Rampe
|
||||
LT 25
|
||||
LT 50
|
||||
LTA 50
|
||||
LTE Langtrolley
|
||||
Magazinarm
|
||||
Mast - Flach - Ladeschleife
|
||||
Mechanik KPL.
|
||||
Minitrolley
|
||||
Mitnehmer
|
||||
Mitnehmerscheibe
|
||||
Mittelstück
|
||||
Modul
|
||||
Modul-weiche
|
||||
Montageklotz
|
||||
Montageplatte
|
||||
Montagesatz
|
||||
Montageschiene
|
||||
Montageständer
|
||||
Montagewinkel
|
||||
Motor
|
||||
Motorflansch
|
||||
Motorschutz
|
||||
Motorwelle
|
||||
MOVIMOT
|
||||
MT -
|
||||
Muffe
|
||||
Niederhalter
|
||||
Nocke
|
||||
Noppenband
|
||||
Nutenstein
|
||||
Oberteil
|
||||
P&F -
|
||||
Parastocking
|
||||
Pendel
|
||||
Pinabfrage
|
||||
Platte
|
||||
Plattenkörper
|
||||
Pneumatik
|
||||
Pneumatiksatz
|
||||
Prallplatte
|
||||
Pratze
|
||||
Profilleiste
|
||||
Profilschiene
|
||||
Präzisionsstahlrohr
|
||||
Prüfkörper
|
||||
Prüflehre
|
||||
Prüfvorrichtung
|
||||
Puffer
|
||||
Querstrebe
|
||||
Reibradantrieb RA1 AP110 ST-V
|
||||
RA1 AP60 ST-V
|
||||
RA1-A
|
||||
RA1-B
|
||||
RA1-C
|
||||
RA1-D
|
||||
RA1-E
|
||||
RA1-F
|
||||
RA1-G
|
||||
RA2
|
||||
RA2-B
|
||||
RA2-C
|
||||
RA2-C/D/E/F/G
|
||||
RA2-D
|
||||
RA2-E
|
||||
RA2-F
|
||||
RA2-G
|
||||
Rahmen
|
||||
Rampe
|
||||
Rastbolzen
|
||||
Reibrad
|
||||
Rillenstauschnecke
|
||||
Ring
|
||||
Ritzel
|
||||
Rohr
|
||||
Rohrklammer
|
||||
Rohrschelle
|
||||
Rohrverbinder
|
||||
Rollen-Andruckleiste
|
||||
Rollenbahn
|
||||
Rollenhalter
|
||||
Rollenträger
|
||||
RRA
|
||||
RT Rohrträger 1/80/80
|
||||
Rutsche
|
||||
Rutschprofil
|
||||
Rutschstange
|
||||
Rücklaufsperre
|
||||
Rückschlagventil
|
||||
S/SD
|
||||
S/SD / ST
|
||||
S/ST
|
||||
SC
|
||||
S-L Weichenkörper
|
||||
S-R Weichenkörper
|
||||
Schalldämpfer
|
||||
Schalthebel
|
||||
Schaltleiste
|
||||
Schaltstange
|
||||
Scharnier
|
||||
Schelle
|
||||
Schenkel
|
||||
Schenkelfeder
|
||||
Schieber
|
||||
Schiene
|
||||
Schlauchschelle
|
||||
Schleppkette
|
||||
Schleppsegment
|
||||
Schlitten
|
||||
Schlussstück
|
||||
Schnecke
|
||||
Schnecken
|
||||
Schneckengetriebe
|
||||
Schneckengetriebemotor
|
||||
Schraubträger Bogen
|
||||
Schraubträger Bogen Mit Leitblech STBL
|
||||
Schraubträger Mit Leitblech
|
||||
Schraubträger ST
|
||||
Schrägförderer
|
||||
Schubstange
|
||||
Schutz
|
||||
Schutzabdeckung
|
||||
Schutzblech
|
||||
Schutzkragen
|
||||
Schutzprofil
|
||||
Schwenkarm
|
||||
Schwenkaufnahme
|
||||
Schwenkhebel
|
||||
Schwenkschiene
|
||||
Schürze
|
||||
Segment
|
||||
Seitenplatte
|
||||
Seitenteil
|
||||
Seitenverkleidung
|
||||
Seitenwand
|
||||
Senkrechtarm
|
||||
Sensor
|
||||
Sensorhalter
|
||||
Separator
|
||||
Servomotor
|
||||
Signalgeber
|
||||
Sockel
|
||||
SP 1.0
|
||||
SP 2.0
|
||||
SP 3.0
|
||||
Spannbuchse
|
||||
Spannbügel
|
||||
Spanner
|
||||
Spannhebel
|
||||
Spannplatte
|
||||
Spannpratze
|
||||
Spannrad
|
||||
Spannrolle
|
||||
Spannstation
|
||||
Spindel
|
||||
Spulenträger Typ
|
||||
Spulenzug
|
||||
Spulenzugsegment
|
||||
ST-Bogen 26°
|
||||
ST-Bogen 30°
|
||||
Stabilisator
|
||||
Stahl-V
|
||||
Stahlweiche DRW
|
||||
Stahlweiche W
|
||||
Statische Trolleyabfrage
|
||||
Staustrecke
|
||||
Staustrecke SP
|
||||
Steckhülse
|
||||
Steckleiste
|
||||
Steckverbinder
|
||||
Steg
|
||||
Stegplatte
|
||||
Stellfuss
|
||||
Stirnrad
|
||||
Stirnradschneckengetriebemotor
|
||||
Stofftasche
|
||||
Stopfen
|
||||
Stopper
|
||||
Stossverbinder
|
||||
Stoßschutz
|
||||
Strebe
|
||||
Stretchbezug
|
||||
Ständer
|
||||
Stössel
|
||||
Stützrolle
|
||||
Säule
|
||||
T-Abhänger
|
||||
Tableau
|
||||
Tablett
|
||||
Tandem
|
||||
Tasche
|
||||
TB-BT
|
||||
TEF
|
||||
TEF Bogen
|
||||
TEF Bürste
|
||||
TEF-Profil-Bogen
|
||||
Teleskop
|
||||
Teleskopschiene
|
||||
Teleskopschienen
|
||||
Tragarm
|
||||
Tragestange
|
||||
Tragrohr
|
||||
Tragschiene
|
||||
Tragwinkel
|
||||
Transportsicherung
|
||||
Trapezstein
|
||||
Trapezverbinder
|
||||
Trapezverbindung
|
||||
Traverse
|
||||
Treppenstufe
|
||||
Trolley
|
||||
Trolley-Rolle
|
||||
Trolley-Traverse
|
||||
Trolley-Träger
|
||||
Trolley-V
|
||||
Trolley-V30
|
||||
Trolley-V60
|
||||
Träger
|
||||
Trägerblech
|
||||
Trägerklammer
|
||||
Trägerprofil
|
||||
TT-50
|
||||
TT30
|
||||
TT60
|
||||
Typenschild
|
||||
U-Bügel
|
||||
Umfahrbogen
|
||||
Umfahrung
|
||||
Umfahrungsbogen
|
||||
Umlenkflansch
|
||||
Umlenkkettenrad
|
||||
Umlenkrad
|
||||
Umlenkrolle
|
||||
Umlenkstation
|
||||
Umlenkung
|
||||
Umsetzer
|
||||
Universal-Stopper
|
||||
Universalstopper
|
||||
Universalwinkel
|
||||
Unterteil
|
||||
V30
|
||||
V60
|
||||
Ventilblock
|
||||
Ventilhalter
|
||||
Verbinder
|
||||
Verbindung
|
||||
Verbindungsbolzen
|
||||
Verbindungselement
|
||||
Verbindungsmuffe
|
||||
Verbindungsplatte
|
||||
Verbindungswinkel
|
||||
Vereinzelner
|
||||
Verkleidung
|
||||
Verriegelung
|
||||
Verriegelungshaken
|
||||
Verschlusskappe
|
||||
Verschlussstopfen
|
||||
Versteifung
|
||||
Verstrebung
|
||||
Verstärkung
|
||||
Verteiler
|
||||
Vorrichtung
|
||||
Vorschalthebel
|
||||
Vorschaltung
|
||||
Vorzentrierung
|
||||
Wagen
|
||||
Wandhalter
|
||||
Warnschild
|
||||
WB 1SW
|
||||
WB 2SW
|
||||
Wechsler
|
||||
Weiche
|
||||
Weiche S 45°-L
|
||||
Weiche S 45°-R
|
||||
Weiche S 90°-
|
||||
Weiche S 90°-R
|
||||
Weiche S C Delta
|
||||
Weiche S C Star
|
||||
Weiche S D 45°
|
||||
Weiche S D 90°
|
||||
Weiche S Parallel-L
|
||||
Weiche S Parallel-R
|
||||
Weiche S T 45°
|
||||
Weiche S T 90°
|
||||
Weiche S T Parallel
|
||||
Weichenausfahrt
|
||||
Weicheneinfahrt
|
||||
Weichengrundkörper
|
||||
Weichenplatte
|
||||
Weichenschenkel
|
||||
Welle
|
||||
Winkel
|
||||
Winkelgelenk
|
||||
Winkelgelenkstange
|
||||
Winkelgreifer
|
||||
Winkelplatte
|
||||
Winkelprofil
|
||||
Winkelverbinder
|
||||
Wippe
|
||||
Z-Winkel
|
||||
Zahnriemen
|
||||
Zahnscheibe
|
||||
Zapfen
|
||||
Zentrierung
|
||||
Ziehhaken
|
||||
Zugfeder
|
||||
Zugschalter
|
||||
Zugstange
|
||||
Zwischensteg
|
||||
Zwischenstück
|
||||
Zwischenträger
|
||||
Zylinder
|
||||
Zylinderanbindung
|
||||
Zylinderhalter
|
||||
Zylinderplatte
|
||||
Öffner
|
||||
Übergabeschuh
|
||||
Überwachung
|
||||
-
|
||||
@@ -0,0 +1,36 @@
|
||||
[Farbauswahl]
|
||||
PANTONE 2175 C
|
||||
RAL 1004 Goldgelb
|
||||
RAL 2000 Gelborange
|
||||
RAL 3002 Kaminrot
|
||||
RAL 5010 Enzianblau
|
||||
RAL 5012 Lichtblau
|
||||
RAL 5015 Himmelblau
|
||||
RAL 5018 Türkisblau
|
||||
RAL 6011 Resedagrün
|
||||
RAL 6024 Verkehrsgrün
|
||||
RAL 6034 Pastelltürkis
|
||||
RAL 7030 Steingrau
|
||||
RAL 7035 Lichtgrau
|
||||
RAL 9002 Grauweiß
|
||||
RAL 9005 Tiefschwarz
|
||||
RAL 9010 Reinweiß
|
||||
Natur
|
||||
Schwarz
|
||||
Weiß
|
||||
Grau
|
||||
Rot
|
||||
Grün
|
||||
Blau
|
||||
siehe Oben
|
||||
Ocker
|
||||
Transparent
|
||||
|
||||
[FarbeEloxieren]
|
||||
Rot
|
||||
Grün
|
||||
Blau
|
||||
Gelb
|
||||
Schwarz
|
||||
Violett
|
||||
Natur
|
||||
@@ -0,0 +1,176 @@
|
||||
|
||||
[Fertigungsarten]
|
||||
3D - 3D-drucken=3D-drucken
|
||||
BI - biegen=biegen
|
||||
DR - drehen=drehen
|
||||
EX - extrudieren=extrudieren
|
||||
FR - fräsen=fräsen
|
||||
GI - gießen=gießen
|
||||
LW - laser- und wasserstrahlschneiden=laser-/wasserstrahlschneiden
|
||||
PR - verpressen=verpressen
|
||||
SA - sägen=sägen
|
||||
SN - strangpressen=strangpressen
|
||||
SP - spritzgießen=spritzgießen
|
||||
ST - stanzen=stanzen
|
||||
SW - schweißen=schweißen
|
||||
|
||||
[FertigungsartenBaugruppe]
|
||||
BI - biegen
|
||||
DR - drehen
|
||||
FR - fräsen
|
||||
LW - laser- und wasserstrahlschneiden
|
||||
ST - stanzen
|
||||
SA - sägen
|
||||
|
||||
[FertigungsartSchweissbaugruppe]
|
||||
SW - schweißen
|
||||
|
||||
[FertigungsartenAllgemeintoleranzenMapping]
|
||||
3D - 3D-drucken=Allgemeintoleranz3DDruck
|
||||
BI - biegen=AllgemeintoleranzBiegen
|
||||
DR - drehen=AllgemeintoleranzSpanen
|
||||
EX - extrudieren=AllgemeintoleranzExtrudieren
|
||||
FR - fräsen=AllgemeintoleranzSpanen
|
||||
GI - gießen=AllgemeintoleranzGiessen
|
||||
LW - laser- und wasserstrahlschneiden=
|
||||
PR - verpressen=AllgemeintoleranzVerpressen
|
||||
SA - sägen=AllgemeintoleranzSpanen
|
||||
SN - strangpressen=AllgemeintoleranzStrangpressen
|
||||
SP - spritzgießen=AllgemeintoleranzSpritzgiessen
|
||||
ST - stanzen=AllgemeintoleranzStanzen
|
||||
SW - schweißen=AllgemeintoleranzSchweissen
|
||||
|
||||
[AllgemeintoleranzSpanen]
|
||||
ISO 2768:1991-fH
|
||||
ISO 2768:1991-fK
|
||||
ISO 2768:1991-fL
|
||||
ISO 2768:1991-mH
|
||||
ISO 2768:1991-mK
|
||||
ISO 2768:1991-mL
|
||||
ISO 2768:1991-cH
|
||||
ISO 2768:1991-cK
|
||||
ISO 2768:1991-cL
|
||||
ISO 2768:1991-vH
|
||||
ISO 2768:1991-vK
|
||||
ISO 2768:1991-vL
|
||||
|
||||
[AllgemeintoleranzBaugruppe]
|
||||
ISO 2768:1991-fH
|
||||
ISO 2768:1991-fK
|
||||
ISO 2768:1991-fL
|
||||
ISO 2768:1991-mH
|
||||
ISO 2768:1991-mK
|
||||
ISO 2768:1991-mL
|
||||
ISO 2768:1991-cH
|
||||
ISO 2768:1991-cK
|
||||
ISO 2768:1991-cL
|
||||
ISO 2768:1991-vH
|
||||
ISO 2768:1991-vK
|
||||
ISO 2768:1991-vL
|
||||
|
||||
[Allgemeintoleranz3DDruck]
|
||||
ISO 2768:1991-fH
|
||||
ISO 2768:1991-fK
|
||||
ISO 2768:1991-fL
|
||||
ISO 2768:1991-mH
|
||||
ISO 2768:1991-mK
|
||||
ISO 2768:1991-mL
|
||||
ISO 2768:1991-cH
|
||||
ISO 2768:1991-cK
|
||||
ISO 2768:1991-cL
|
||||
ISO 2768:1991-vH
|
||||
ISO 2768:1991-vK
|
||||
ISO 2768:1991-vL
|
||||
|
||||
[AllgemeintoleranzGiessen]
|
||||
ISO 8062-3 - DCTG 1
|
||||
ISO 8062-3 - DCTG 2
|
||||
ISO 8062-3 - DCTG 3
|
||||
ISO 8062-3 - DCTG 4
|
||||
ISO 8062-3 - DCTG 5
|
||||
ISO 8062-3 - DCTG 6
|
||||
ISO 8062-3 - DCTG 7
|
||||
ISO 8062-3 - DCTG 8
|
||||
ISO 8062-3 - DCTG 9
|
||||
ISO 8062-3 - DCTG 10
|
||||
ISO 8062-3 - DCTG 11
|
||||
ISO 8062-3 - DCTG 12
|
||||
ISO 8062-3 - DCTG 13
|
||||
ISO 8062-3 - DCTG 14
|
||||
ISO 8062-3 - DCTG 15
|
||||
ISO 8062-3 - DCTG 16
|
||||
|
||||
[AllgemeintoleranzSchweissen]
|
||||
EN ISO 13920-AE
|
||||
EN ISO 13920-AF
|
||||
EN ISO 13920-AG
|
||||
EN ISO 13920-AH
|
||||
EN ISO 13920-BE
|
||||
EN ISO 13920-BF
|
||||
EN ISO 13920-BG
|
||||
EN ISO 13920-BH
|
||||
EN ISO 13920-CE
|
||||
EN ISO 13920-CF
|
||||
EN ISO 13920-CG
|
||||
EN ISO 13920-CH
|
||||
EN ISO 13920-DE
|
||||
EN ISO 13920-DF
|
||||
EN ISO 13920-DG
|
||||
EN ISO 13920-DH
|
||||
|
||||
[AllgemeintoleranzSpritzgiessen]
|
||||
DIN ISO 20457-TG1
|
||||
DIN ISO 20457-TG2
|
||||
DIN ISO 20457-TG3
|
||||
DIN ISO 20457-TG4
|
||||
DIN ISO 20457-TG5
|
||||
DIN ISO 20457-TG6
|
||||
DIN ISO 20457-TG7
|
||||
DIN ISO 20457-TG8
|
||||
DIN ISO 20457-TG9
|
||||
|
||||
[AllgemeintoleranzStanzen]
|
||||
DIN 6930-2 - f
|
||||
DIN 6930-2 - m
|
||||
DIN 6930-2 - s
|
||||
DIN 6930-2 - sg
|
||||
|
||||
[AllgemeintoleranzStrangpressen]
|
||||
EN 12020-2
|
||||
|
||||
[AllgemeintoleranzExtrudieren]
|
||||
DIN 16941 - 2A
|
||||
DIN 16941 - 2B
|
||||
DIN 16941 - 3A
|
||||
DIN 16941 - 3B
|
||||
|
||||
[AllgemeintoleranzVerpressen]
|
||||
ISO 2768:1991-fH
|
||||
ISO 2768:1991-fK
|
||||
ISO 2768:1991-fL
|
||||
ISO 2768:1991-mH
|
||||
ISO 2768:1991-mK
|
||||
ISO 2768:1991-mL
|
||||
ISO 2768:1991-cH
|
||||
ISO 2768:1991-cK
|
||||
ISO 2768:1991-cL
|
||||
ISO 2768:1991-vH
|
||||
ISO 2768:1991-vK
|
||||
ISO 2768:1991-vL
|
||||
|
||||
[AllgemeintoleranzBiegen]
|
||||
ISO 2768:1991-fH
|
||||
ISO 2768:1991-fK
|
||||
ISO 2768:1991-fL
|
||||
ISO 2768:1991-mH
|
||||
ISO 2768:1991-mK
|
||||
ISO 2768:1991-mL
|
||||
ISO 2768:1991-cH
|
||||
ISO 2768:1991-cK
|
||||
ISO 2768:1991-cL
|
||||
ISO 2768:1991-vH
|
||||
ISO 2768:1991-vK
|
||||
ISO 2768:1991-vL
|
||||
DIN 2194 - G1
|
||||
DIN 2194 - G2
|
||||
DIN 2194 - G3
|
||||
@@ -0,0 +1 @@
|
||||
\,?,|,!,@,à,è,ì,ò,ù,£,$,%,;
|
||||
@@ -1,8 +1,32 @@
|
||||
{
|
||||
"VA": {
|
||||
"Werkstoff": "false",
|
||||
"Message": "Bitte individuell wählen!"
|
||||
},
|
||||
"1.4301": {
|
||||
"Werkstoff": "1.4301 (X5CrNi18-10)",
|
||||
"Werkstofftyp": "Stahl"
|
||||
},
|
||||
"X5CrNi18-10": {
|
||||
"Werkstoff": "1.4301 (X5CrNi18-10)",
|
||||
"Werkstofftyp": "Stahl"
|
||||
},
|
||||
"1.4301 (X5CrNi18-10)": {
|
||||
"Werkstoff": "1.4301 (X5CrNi18-10)",
|
||||
"Werkstofftyp": "Stahl"
|
||||
},
|
||||
"1.4301f / 59381": {
|
||||
"Werkstoff": "1.4301 (X5CrNi18-10)",
|
||||
"Werkstofftyp": "Stahl"
|
||||
},
|
||||
"X5CrNi 18-10": {
|
||||
"Werkstoff": "1.4301 (X5CrNi18-10)",
|
||||
"Werkstofftyp": "Stahl"
|
||||
},
|
||||
"X5CrNi 18-9": {
|
||||
"Werkstoff": "1.4301 (X5CrNi18-10)",
|
||||
"Werkstofftyp": "Stahl"
|
||||
},
|
||||
"1.4305": {
|
||||
"Werkstoff": "1.4305 (X8CrNiS18-9)",
|
||||
"Werkstofftyp": "Stahl"
|
||||
@@ -15,10 +39,42 @@
|
||||
"Werkstoff": "1.4305 (X8CrNiS18-9)",
|
||||
"Werkstofftyp": "Stahl"
|
||||
},
|
||||
"X10CrNiS 18-9": {
|
||||
"Werkstoff": "1.4305 (X8CrNiS18-9)",
|
||||
"Werkstofftyp": "Stahl"
|
||||
},
|
||||
"X8CrNiS 18-9": {
|
||||
"Werkstoff": "1.4305 (X8CrNiS18-9)",
|
||||
"Werkstofftyp": "Stahl"
|
||||
},
|
||||
"X8CrNiS18-9": {
|
||||
"Werkstoff": "1.4305 (X8CrNiS18-9)",
|
||||
"Werkstofftyp": "Stahl"
|
||||
},
|
||||
"X12CrNi17 7": {
|
||||
"Werkstoff": "1.4310 (X10CrNi18-8)",
|
||||
"Werkstofftyp": "Stahl"
|
||||
},
|
||||
"Aluminium": {
|
||||
"Werkstoff": "false",
|
||||
"Message": "Bitte individuell wählen!"
|
||||
},
|
||||
"AlCuMgPb": {
|
||||
"Werkstoff": "EN AW-2007 (3.1645)",
|
||||
"Werkstofftyp": "Aluminium"
|
||||
},
|
||||
"3.3206.72": {
|
||||
"Werkstoff": "EN AW-6063-T66",
|
||||
"Werkstofftyp": "Aluminium"
|
||||
},
|
||||
"AlSiMg 0,5 F25": {
|
||||
"Werkstoff": "EN AW-6063-T66",
|
||||
"Werkstofftyp": "Aluminium"
|
||||
},
|
||||
"F25": {
|
||||
"Werkstoff": "EN AW-6063-T66",
|
||||
"Werkstofftyp": "Aluminium"
|
||||
},
|
||||
"AlMgSi0.5": {
|
||||
"Werkstoff": "EN AW-6060 (3.3206)",
|
||||
"Werkstofftyp": "Aluminium"
|
||||
@@ -27,21 +83,41 @@
|
||||
"Werkstoff": "EN AW-6060 (3.3206)",
|
||||
"Werkstofftyp": "Aluminium"
|
||||
},
|
||||
"AlMgSi 0.5": {
|
||||
"Werkstoff": "EN AW-6060 (3.3206)",
|
||||
"Werkstofftyp": "Aluminium"
|
||||
},
|
||||
"AlMgSi0.5 F22": {
|
||||
"Werkstoff": "EN AW-6060-T66 (3.3206-T66)",
|
||||
"Werkstofftyp": "Aluminium"
|
||||
},
|
||||
"AlSiMg 0,5 F22": {
|
||||
"Werkstoff": "EN AW-6060-T66 (3.3206-T66)",
|
||||
"Werkstofftyp": "Aluminium"
|
||||
},
|
||||
"AlSiMg 0,5 F25": {
|
||||
"Werkstoff": "EN AW-6063-T66",
|
||||
"AlMg3": {
|
||||
"Werkstoff": "EN AW-5754 (3.3535)",
|
||||
"Werkstofftyp": "Aluminium"
|
||||
},
|
||||
"St": {
|
||||
"Werkstoff": "false",
|
||||
"Message": "Bitte individuell wählen!"
|
||||
},
|
||||
"C45": {
|
||||
"Werkstoff": "1.0503 (C45)",
|
||||
"Werkstofftyp": "Stahl"
|
||||
},
|
||||
"F25": {
|
||||
"Werkstoff": "EN AW-6063-T66",
|
||||
"Werkstofftyp": "Aluminium"
|
||||
"Ck60": {
|
||||
"Werkstoff": "1.1221 (C60E)",
|
||||
"Werkstofftyp": "Stahl"
|
||||
},
|
||||
"S355JO": {
|
||||
"Werkstoff": "1.0553 (S355J0)",
|
||||
"Werkstofftyp": "Stahl"
|
||||
},
|
||||
"1.0038 (S235JR)": {
|
||||
"Werkstoff": "1.0038 (S235JR)",
|
||||
"Werkstofftyp": "Stahl"
|
||||
},
|
||||
"S235JR": {
|
||||
"Werkstoff": "1.0038 (S235JR)",
|
||||
@@ -51,14 +127,6 @@
|
||||
"Werkstoff": "1.0038 (S235JR)",
|
||||
"Werkstofftyp": "Stahl"
|
||||
},
|
||||
"S235JRG2C": {
|
||||
"Werkstoff": "1.0122 (S235JRC)",
|
||||
"Werkstofftyp": "Stahl"
|
||||
},
|
||||
"S235JRG2C+C": {
|
||||
"Werkstoff": "1.0122 (S235JRC)",
|
||||
"Werkstofftyp": "Stahl"
|
||||
},
|
||||
"St-37": {
|
||||
"Werkstoff": "1.0038 (S235JR)",
|
||||
"Werkstofftyp": "Stahl"
|
||||
@@ -67,35 +135,161 @@
|
||||
"Werkstoff": "1.0038 (S235JR)",
|
||||
"Werkstofftyp": "Stahl"
|
||||
},
|
||||
"X5CrNi18-10": {
|
||||
"Werkstoff": "1.4301 (X5CrNi18-10)",
|
||||
"S235 JR": {
|
||||
"Werkstoff": "1.0038 (S235JR)",
|
||||
"Werkstofftyp": "Stahl"
|
||||
},
|
||||
"X8CrNiS 18-9": {
|
||||
"Werkstoff": "1.4305 (X8CrNiS18-9)",
|
||||
"S235JR galv. verzinkt Fe/Zn 8-15 B": {
|
||||
"Werkstoff": "1.0038 (S235JR)",
|
||||
"Werkstofftyp": "Stahl",
|
||||
"Oberfläche": "verzinken"
|
||||
},
|
||||
"S235JR+Cr": {
|
||||
"Werkstoff": "1.0038+CR (S235JR+CR)",
|
||||
"Werkstofftyp": "Stahl"
|
||||
},
|
||||
"X8CrNiS18-9": {
|
||||
"Werkstoff": "1.4305 (X8CrNiS18-9)",
|
||||
"S235JRG2C": {
|
||||
"Werkstoff": "1.0122 (S235JRC)",
|
||||
"Werkstofftyp": "Stahl"
|
||||
},
|
||||
"1.4301 (X5CrNi18-10)": {
|
||||
"Werkstoff": "1.4301 (X5CrNi18-10)",
|
||||
"S235JRG2C+C": {
|
||||
"Werkstoff": "1.0122 (S235JRC)",
|
||||
"Werkstofftyp": "Stahl"
|
||||
},
|
||||
"S235JRC": {
|
||||
"Werkstoff": "1.0122 (S235JRC)",
|
||||
"Werkstofftyp": "Stahl"
|
||||
},
|
||||
"Kunststo": {
|
||||
"Werkstoff": "false",
|
||||
"Message": "Bitte individuell wählen!"
|
||||
},
|
||||
"PA6 GF30": {
|
||||
"Werkstoff": "PA 6 GF 30",
|
||||
"Werkstofftyp": "Kunst-/ Verbundstoff",
|
||||
"Oberfläche": "Masterbatch (Grundfarbe)"
|
||||
},
|
||||
"S235JR galv. verzinkt Fe/Zn 8-15 B": {
|
||||
"Werkstoff": "1.0038 (S235JR) ",
|
||||
"Werkstofftyp": "Stahl",
|
||||
"Oberfläche": "verzinken"
|
||||
"PA 6 GF 30 Regranulat schwarz": {
|
||||
"Werkstoff": "PA 6 GF 30 (REC)",
|
||||
"Werkstofftyp": "Kunst-/ Verbundstoff",
|
||||
"Oberfläche": "Masterbatch (Grundfarbe)"
|
||||
},
|
||||
"VA": {
|
||||
"PA6 GF30; Farbe ähnlich RAL 5015": {
|
||||
"Werkstoff": "PA 6 GF 30",
|
||||
"Werkstofftyp": "Kunst-/ Verbundstoff",
|
||||
"Oberfläche": "Masterbatch (Grundfarbe)",
|
||||
"Farbe": "RAL 5015 Himmelblau"
|
||||
},
|
||||
"PA6 30% GF / RAL 7035": {
|
||||
"Werkstoff": "PA 6 GF 30",
|
||||
"Werkstofftyp": "Kunst-/ Verbundstoff",
|
||||
"Oberfläche": "Masterbatch (Grundfarbe)",
|
||||
"Farbe": "RAL 7035 Lichtgrau"
|
||||
},
|
||||
"PA6 30% GF ": {
|
||||
"Werkstoff": "PA 6 GF 30",
|
||||
"Werkstofftyp": "Kunst-/ Verbundstoff",
|
||||
"Oberfläche": "Masterbatch (Grundfarbe)"
|
||||
},
|
||||
"PA 66 GF 50": {
|
||||
"Werkstoff": "PA 66 GF 50",
|
||||
"Werkstofftyp": "Kunst-/ Verbundstoff",
|
||||
"Oberfläche": "Masterbatch (Grundfarbe)"
|
||||
},
|
||||
"PC GF 10": {
|
||||
"Werkstoff": "PC GF 10",
|
||||
"Werkstofftyp": "Kunst-/ Verbundstoff",
|
||||
"Oberfläche": "Masterbatch (Grundfarbe)"
|
||||
},
|
||||
"POM schw": {
|
||||
"Werkstoff": "POM",
|
||||
"Werkstofftyp": "Kunst-/ Verbundstoff",
|
||||
"Oberfläche": "Masterbatch (Grundfarbe)",
|
||||
"Farbe": "Schwarz"
|
||||
},
|
||||
"POM schwarz": {
|
||||
"Werkstoff": "POM",
|
||||
"Werkstofftyp": "Kunst-/ Verbundstoff",
|
||||
"Oberfläche": "Masterbatch (Grundfarbe)",
|
||||
"Farbe": "Schwarz"
|
||||
},
|
||||
"POM sch": {
|
||||
"Werkstoff": "POM",
|
||||
"Werkstofftyp": "Kunst-/ Verbundstoff",
|
||||
"Oberfläche": "Masterbatch (Grundfarbe)",
|
||||
"Farbe": "Schwarz"
|
||||
},
|
||||
"POM weiß": {
|
||||
"Werkstoff": "POM",
|
||||
"Werkstofftyp": "Kunst-/ Verbundstoff",
|
||||
"Oberfläche": "Masterbatch (Grundfarbe)",
|
||||
"Farbe": "Weiß"
|
||||
},
|
||||
"POM natur": {
|
||||
"Werkstoff": "POM",
|
||||
"Werkstofftyp": "Kunst-/ Verbundstoff",
|
||||
"Oberfläche": "Masterbatch (Grundfarbe)",
|
||||
"Farbe": "Natur"
|
||||
},
|
||||
"POM": {
|
||||
"Werkstoff": "POM",
|
||||
"Werkstofftyp": "Kunst-/ Verbundstoff",
|
||||
"Oberfläche": "Masterbatch (Grundfarbe)"
|
||||
},
|
||||
"POM ": {
|
||||
"Werkstoff": "POM",
|
||||
"Werkstofftyp": "Kunst-/ Verbundstoff",
|
||||
"Oberfläche": "Masterbatch (Grundfarbe)"
|
||||
},
|
||||
"POM ": {
|
||||
"Werkstoff": "POM",
|
||||
"Werkstofftyp": "Kunst-/ Verbundstoff",
|
||||
"Oberfläche": "Masterbatch (Grundfarbe)"
|
||||
},
|
||||
"PUR D44 ": {
|
||||
"Werkstoff": "Bitte individuell wählen!",
|
||||
"Werkstofftyp": "Kunst-/ Verbundstoff",
|
||||
"Oberfläche": "Masterbatch (Grundfarbe)",
|
||||
"Farbe": "Bitte individuell wählen!"
|
||||
},
|
||||
"-": {
|
||||
"Werkstoff": "false",
|
||||
"Message": "individuell nach Verwendungszweck anhand von Stahlschlüssel anpassen"
|
||||
"Message": "Bitte individuell wählen!"
|
||||
},
|
||||
"Al": {
|
||||
"Werkstoff": "false",
|
||||
"Message": "Bitte individuell wählen!"
|
||||
},
|
||||
"-----": {
|
||||
"Werkstoff": "false",
|
||||
"Message": "Bitte individuell wählen!"
|
||||
},
|
||||
"---": {
|
||||
"Werkstoff": "false",
|
||||
"Message": "Bitte individuell wählen!"
|
||||
},
|
||||
"----": {
|
||||
"Werkstoff": "false",
|
||||
"Message": "Bitte individuell wählen!"
|
||||
},
|
||||
"--- / ---": {
|
||||
"Werkstoff": "false",
|
||||
"Message": "Bitte individuell wählen!"
|
||||
},
|
||||
"--- / 2391": {
|
||||
"Werkstoff": "false",
|
||||
"Message": "Bitte individuell wählen!"
|
||||
},
|
||||
"--- / 444": {
|
||||
"Werkstoff": "false",
|
||||
"Message": "Bitte individuell wählen!"
|
||||
},
|
||||
"--- / EN 24017": {
|
||||
"Werkstoff": "false",
|
||||
"Message": "Bitte individuell wählen!"
|
||||
},
|
||||
"Federsta": {
|
||||
"Werkstoff": "false",
|
||||
"Message": "Bitte individuell wählen!"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
[Kantennorm]
|
||||
ISO 13715
|
||||
|
||||
[Oberflaechennorm]
|
||||
ISO 1302:2002
|
||||
|
||||
[Massnorm]
|
||||
ISO 14405
|
||||
|
||||
[Tolerierungsnorm]
|
||||
ISO 8015
|
||||
@@ -0,0 +1,57 @@
|
||||
[Stahl]
|
||||
lackieren
|
||||
pulverbeschichten
|
||||
verzinken
|
||||
vernickeln
|
||||
brünieren
|
||||
härten
|
||||
bürsten
|
||||
sandstrahlen
|
||||
|
||||
[Aluminium]
|
||||
bürsten
|
||||
eloxieren
|
||||
hartcoatieren
|
||||
sandstrahlen
|
||||
|
||||
[Kunst-/ Verbundstoff]
|
||||
Masterbatch (Grundfarbe)
|
||||
lackieren
|
||||
|
||||
[Schwermetall]
|
||||
bürsten
|
||||
sandstrahlen
|
||||
|
||||
[Normteil]
|
||||
brünieren
|
||||
vernickeln
|
||||
verzinken
|
||||
blank
|
||||
phosphatieren
|
||||
|
||||
[Schweissbaugruppe]
|
||||
lackieren
|
||||
pulverbeschichten
|
||||
verzinken
|
||||
vernickeln
|
||||
brünieren
|
||||
härten
|
||||
bürsten
|
||||
sandstrahlen
|
||||
|
||||
[Oberflaechenbehandlungen]
|
||||
Masterbatch (Grundfarbe)
|
||||
blank
|
||||
brünieren
|
||||
bürsten
|
||||
eloxieren
|
||||
hartcoatieren
|
||||
härten
|
||||
lackieren
|
||||
phosphatieren
|
||||
pulverbeschichten
|
||||
sandstrahlen
|
||||
vernickeln
|
||||
verzinken
|
||||
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
[Status]
|
||||
0=VERFÜGBAR
|
||||
1=IN BEARBEITUNG
|
||||
2=IN ÜBERARBEITUNG
|
||||
3=FREIGEGEBEN
|
||||
4=FREIGEGEBEN
|
||||
10=VORLÄUFIG
|
||||
11=PROTOTYP
|
||||
12=IN PRÜFUNG
|
||||
13=UNGÜLTIG
|
||||
101=BAGATELLÄNDERUNG
|
||||
102=REVISION VERFÜGBAR
|
||||
103=ZUR PRÜFUNG
|
||||
104=REVISION IN PRÜFUNG
|
||||
105=REVISION ZUR PRÜFUNG
|
||||
106=GESPERRT
|
||||
@@ -0,0 +1,510 @@
|
||||
{
|
||||
"root": "TOS-Gruppe",
|
||||
"TOS-Gruppe": {
|
||||
"TOS-level": 1,
|
||||
"children": {
|
||||
"0": "Intern/Referenzgruppe",
|
||||
"1": "Halbzeug",
|
||||
"2": "Verkaufsprodukte",
|
||||
"3": "Schönenberger Produkt",
|
||||
"4": "Automation",
|
||||
"5": "Maschinenelement",
|
||||
"6": "Schönenberger Komponenten",
|
||||
"7": "Pneumatik",
|
||||
"8": "Konfiguration",
|
||||
"9": "."
|
||||
},
|
||||
"reference-ids": {
|
||||
"0": "TOS_Intern_Ref",
|
||||
"1": "TOS_Halbzeug",
|
||||
"2": "TOS_Verkaufsprodukte",
|
||||
"3": "TOS_Schoenenberger_Produkt",
|
||||
"4": "TOS_Automation",
|
||||
"5": "TOS_Maschinenelement",
|
||||
"6": "TOS_Schoenenberger_Komponenten",
|
||||
"7": "TOS_Pneumatik",
|
||||
"8": "TOS_Konfig"
|
||||
}
|
||||
},
|
||||
"TOS_Schoenenberger_Produkt": {
|
||||
"TOS-level": 2,
|
||||
"_comment" : "3 - Schönenberger Produkt",
|
||||
"children": {
|
||||
"30": "ILS IntraLogistikSystem",
|
||||
"31": "MAS Mittenabgehängtes System - OMNIFLO",
|
||||
"32": "Spinnereikomponente",
|
||||
"33": "Betriebsmittel",
|
||||
"34": "Gerüst",
|
||||
"35": "Fremd-Transportsysteme & SSG-Anbauten",
|
||||
"36": "Förderer MAS aktuell Konfiguration",
|
||||
"37": "Frei",
|
||||
"38": "CAD-Übernahme Weiche",
|
||||
"39": "Farbe"
|
||||
},
|
||||
"reference-ids": {
|
||||
"30": "TOS_ILS",
|
||||
"31": "TOS_MAS",
|
||||
"32": "TOS_Spinnereikomponente",
|
||||
"33": "TOS_Betriebsmittel",
|
||||
"34": "TOS_Geruest",
|
||||
"35": "TOS_FremdTransport",
|
||||
"36": "TOS_MAS_Konfig"
|
||||
}
|
||||
},
|
||||
"TOS_ILS": {
|
||||
"TOS-level": 3,
|
||||
"_comment" : "30 - Schönenberger Produkt -> ILS IntraLogistikSystem",
|
||||
"children": {
|
||||
"300": "ILS 2.0",
|
||||
"301": "ILS 3.0",
|
||||
"302": "Förderer"
|
||||
},
|
||||
"reference-ids": {
|
||||
"300": "TOS_ILS_2",
|
||||
"302": "TOS_ILS_Foerderer"
|
||||
}
|
||||
},
|
||||
"TOS_ILS_2": {
|
||||
"TOS-level": 4,
|
||||
"_comment" : "300 - Schönenberger Produkt -> ILS IntraLogistikSystem -> ILS 2.0",
|
||||
"children": {
|
||||
"3000": "Modul",
|
||||
"3001": "Modul-Komponente",
|
||||
"3002": "Kreisel-Komponente",
|
||||
"3003": "Laufprofil 2.0",
|
||||
"3004": "Gefälle",
|
||||
"3005": "Be-/Entladung"
|
||||
},
|
||||
"reference-ids": {}
|
||||
},
|
||||
"TOS_ILS_Foerderer": {
|
||||
"TOS-level": 4,
|
||||
"_comment" : "302 - Schönenberger Produkt -> ILS IntraLogistikSystem -> Förderer",
|
||||
"children": {
|
||||
"3020": "ETF"
|
||||
},
|
||||
"reference-ids": {}
|
||||
},
|
||||
"TOS_MAS": {
|
||||
"TOS-level": 3,
|
||||
"_comment" : "31 - Schönenberger Produkt -> MAS Mittenabgehängtes System - OMNIFLO",
|
||||
"children": {
|
||||
"310": "Fahrstrecke",
|
||||
"311": "Ein- und Anbaugruppe für Omniflo System",
|
||||
"312": "Verbinder und Kleinteil",
|
||||
"313": "Baugruppe für Aktionen an/mit Trolleys",
|
||||
"314": "Förderer"
|
||||
},
|
||||
"reference-ids": {
|
||||
"310": "TOS_MAS_Fahrstecke"
|
||||
}
|
||||
},
|
||||
"TOS_MAS_Fahrstecke": {
|
||||
"TOS-level": 4,
|
||||
"_comment" : "310 - Schönenberger Produkt -> MAS Mittenabgehängtes System - OMNIFLO -> Fahrstrecke",
|
||||
"children": {
|
||||
"3100": "Aluschiene",
|
||||
"3101": "Bogen",
|
||||
"3102": "Weiche",
|
||||
"3103": "Zubehör",
|
||||
"3104": "Ladeschleife",
|
||||
"3105": "Türlösung",
|
||||
"3106": "Einhängeschiene"
|
||||
},
|
||||
"reference-ids": {}
|
||||
},
|
||||
"TOS_Spinnereikomponente": {
|
||||
"TOS-level": 3,
|
||||
"_comment" : "32 - Schönenberger Produkt -> Spinnereikomponente",
|
||||
"children": {
|
||||
"320": "Hülsenreiniger automatisch",
|
||||
"321": "Hülsenreiniger manuell",
|
||||
"322": "Reibradantrieb RA"
|
||||
},
|
||||
"reference-ids": {}
|
||||
},
|
||||
"TOS_Betriebsmittel": {
|
||||
"TOS-level": 3,
|
||||
"_comment" : "33 - Schönenberger Produkt -> Betriebsmittel",
|
||||
"children": {
|
||||
"330": "Trolley Standard",
|
||||
"331": "Trolley Projekte"
|
||||
},
|
||||
"reference-ids": {
|
||||
"330": "TOS_Trolley",
|
||||
"331": "TOS_Trolley_Projekte"
|
||||
}
|
||||
},
|
||||
"TOS_Trolley": {
|
||||
"TOS-level": 4,
|
||||
"_comment" : "330 - Schönenberger Produkt -> Betriebsmittel -> Trolley Standard",
|
||||
"children": {
|
||||
"3300": "Omniflo",
|
||||
"3301": "Spinnerei",
|
||||
"3302": "ILS",
|
||||
"3303": "CDDC",
|
||||
"3304": "CPC"
|
||||
},
|
||||
"reference-ids": {
|
||||
"3300": "TOS_Trolley_Omniflo",
|
||||
"3301": "TOS_Trolley_Spinnerei",
|
||||
"3302": "TOS_Trolley_ILS"
|
||||
}
|
||||
},
|
||||
"TOS_Trolley_Omniflo": {
|
||||
"TOS-level": 5,
|
||||
"_comment" : "3300 - Schönenberger Produkt -> Betriebsmittel -> Trolley Standard -> Omniflo",
|
||||
"children": {
|
||||
"33000": "Trolley-V",
|
||||
"33001": "Trolley Hängeware",
|
||||
"33002": "Trolley Träger TT f. versch. Anwendungen",
|
||||
"33003": "Trolley für Liegeware",
|
||||
"33004": "Trolley Accessoires",
|
||||
"33005": "Spulenzüge für diverse Anwendungen",
|
||||
"33006": "Trolley/Trolley-V in Altanlagen"
|
||||
},
|
||||
"reference-ids": {}
|
||||
},
|
||||
"TOS_Trolley_Spinnerei": {
|
||||
"TOS-level": 5,
|
||||
"_comment" : "3301 - Schönenberger Produkt -> Betriebsmittel -> Trolley Standard -> Spinnerei",
|
||||
"children": {
|
||||
"33010": "Spulenzug",
|
||||
"33011": "Zubehör"
|
||||
},
|
||||
"reference-ids": {}
|
||||
},
|
||||
"TOS_Trolley_ILS": {
|
||||
"TOS-level": 5,
|
||||
"_comment" : "3302 - Schönenberger Produkt -> Betriebsmittel -> Trolley Standard -> ILS",
|
||||
"children": {
|
||||
"33020": "Single carrier SC",
|
||||
"33021": "Minitrolley MT",
|
||||
"33022": "Tasche"
|
||||
},
|
||||
"reference-ids": {}
|
||||
},
|
||||
"TOS_Trolley_Projekte": {
|
||||
"TOS-level": 4,
|
||||
"_comment" : "331 - Schönenberger Produkt -> Betriebsmittel -> Trolley Projekte",
|
||||
"children": {
|
||||
"3310": "Liegeware",
|
||||
"3311": "diverse Anwendungen",
|
||||
"3312": "Träger TT",
|
||||
"3313": "ILS",
|
||||
"3314": "CDDC"
|
||||
},
|
||||
"reference-ids": {}
|
||||
},
|
||||
"TOS_Geruest": {
|
||||
"TOS-level": 3,
|
||||
"_comment" : "34 - Schönenberger Produkt -> Gerüst",
|
||||
"children": {
|
||||
"340": "Rohrträger",
|
||||
"341": "Abhänger",
|
||||
"342": "Säule",
|
||||
"343": "Gatterträger",
|
||||
"344": "Verbindungselement",
|
||||
"345": "DRT-Kleinteil",
|
||||
"346": "Fangnetz, Bühne, Treppe"
|
||||
},
|
||||
"reference-ids": {}
|
||||
},
|
||||
"TOS_FremdTransport": {
|
||||
"TOS-level": 3,
|
||||
"_comment" : "35 - Schönenberger Produkt -> Fremd-Transportsysteme & SSG-Anbauten",
|
||||
"children": {
|
||||
"350": "PIN & Klinke",
|
||||
"351": "CDDC",
|
||||
"352": "Andere Kleiderbügelsysteme"
|
||||
},
|
||||
"reference-ids": {}
|
||||
},
|
||||
"TOS_MAS_Konfig": {
|
||||
"TOS-level": 3,
|
||||
"_comment" : "36 - Schönenberger Produkt -> Förderer MAS aktuell Konfiguration",
|
||||
"children": {
|
||||
"360": "Farbe / EL / H"
|
||||
},
|
||||
"reference-ids": {}
|
||||
},
|
||||
"TOS_Automation": {
|
||||
"TOS-level": 2,
|
||||
"_comment" : "4 - Automation",
|
||||
"children": {
|
||||
"40": "Schaltschrank",
|
||||
"41": "Schaltschrank Einbaumaterial",
|
||||
"42": "Dezentrale Hardware",
|
||||
"43": "Sensorik",
|
||||
"44": "Kabel",
|
||||
"45": "Installationsmaterial",
|
||||
"46": "Divers",
|
||||
"47": "Frei",
|
||||
"48": "Frei",
|
||||
"49": "Sonstiges"
|
||||
},
|
||||
"reference-ids": {
|
||||
"40": "TOS_Schaltschrank",
|
||||
"41": "TOS_Schalt_Einbau",
|
||||
"42": "TOS_Dezentral",
|
||||
"43": "TOS_Automation_Sensorik",
|
||||
"44": "TOS_Kabel",
|
||||
"45": "TOS_Installation",
|
||||
"46": "TOS_Auto_Divers",
|
||||
"49": "TOS_Automation_Sonstiges"
|
||||
}
|
||||
},
|
||||
"TOS_Schaltschrank": {
|
||||
"TOS-level": 3,
|
||||
" _comment" : "40 - Automation -> Schaltschrank",
|
||||
"children": {
|
||||
"400": "Stand Schaltschrank",
|
||||
"401": "Kompakt Schaltschrank",
|
||||
"402": "Klemmkasten",
|
||||
"403": "Anzeige und Bedienelement",
|
||||
"404": "Kabeleinführung",
|
||||
"405": "Anbau/Einbau Gerät"
|
||||
},
|
||||
"reference-ids": {}
|
||||
},
|
||||
"TOS_Schalt_Einbau": {
|
||||
"TOS-level": 3,
|
||||
"_comment" : "41 - Automation -> Schaltschrank Einbaumaterial",
|
||||
"children": {
|
||||
"410": "Einbaumaterial",
|
||||
"411": "Netzteil",
|
||||
"412": "Sicherheitstechnik",
|
||||
"413": "SPS",
|
||||
"414": "Netzwerk Komponente",
|
||||
"415": "Schütz",
|
||||
"416": "Sicherung",
|
||||
"417": "Motorschutzschalter",
|
||||
"418": "Frequenzumrichter"
|
||||
},
|
||||
"reference-ids": {
|
||||
"414": "TOS_SchaltEin_Netz"
|
||||
}
|
||||
},
|
||||
"TOS_SchaltEin_Netz": {
|
||||
"TOS-level": 4,
|
||||
"_comment" : "414 - Automation -> Schaltschrank Einbaumaterial -> Netzwerk Komponente",
|
||||
"children": {
|
||||
"4140": "managed Switch",
|
||||
"4141": "unmanaged Switch",
|
||||
"4142": "VPN-Router"
|
||||
},
|
||||
"reference-ids": {}
|
||||
},
|
||||
"TOS_Dezentral": {
|
||||
"TOS-level": 3,
|
||||
"_comment" : "42 - Automation -> Dezentrale Hardware",
|
||||
"children": {
|
||||
"420": "Bedientableau",
|
||||
"421": "Modul IP65/IP67"
|
||||
},
|
||||
"reference-ids": {}
|
||||
},
|
||||
"TOS_Automation_Sensorik": {
|
||||
"TOS-level": 3,
|
||||
"_comment" : "43 - Automation -> Sensorik",
|
||||
"children": {
|
||||
"430": "Induktiv",
|
||||
"431": "Optisch",
|
||||
"432": "Lichtschranke",
|
||||
"433": "Mechanischer Schalter",
|
||||
"434": "Frei",
|
||||
"435": "Frei",
|
||||
"436": "Zubehör Sensorik",
|
||||
"437": "Druckwächter",
|
||||
"438": "Reedkontakte",
|
||||
"439": "Scanner / Kamera"
|
||||
},
|
||||
"reference-ids": {
|
||||
"439": "TOS_Auto_Sens_ScaKa"
|
||||
}
|
||||
},
|
||||
"TOS_Auto_Sens_ScaKa": {
|
||||
"TOS-level": 4,
|
||||
"_comment" : "439 - Automation -> Sensorik -> Scanner / Kamera",
|
||||
"children": {
|
||||
"4390": "Camera",
|
||||
"4391": "Scanner",
|
||||
"4392": "Handscanner"
|
||||
},
|
||||
"reference-ids": {}
|
||||
},
|
||||
"TOS_Kabel": {
|
||||
"TOS-level": 3,
|
||||
"_comment" : "44 - Automation -> Kabel",
|
||||
"children": {
|
||||
"440": "Steuerleitung",
|
||||
"441": "Anschlussleitung",
|
||||
"442": "Feldbusleitung",
|
||||
"443": "Zubehör"
|
||||
},
|
||||
"reference-ids": {
|
||||
"440": "TOS_Auto_Kabel_Steuer"
|
||||
}
|
||||
},
|
||||
"TOS_Auto_Kabel_Steuer": {
|
||||
"TOS-level": 4,
|
||||
"_comment" : "440 - Automation -> Kabel -> Steuerleitung",
|
||||
"children": {
|
||||
"4400": "Geschirmt",
|
||||
"4401": "Nummeriert",
|
||||
"4402": "UL/CSA"
|
||||
},
|
||||
"reference-ids": {}
|
||||
},
|
||||
"TOS_Installation": {
|
||||
"TOS-level": 3,
|
||||
"_comment" : "45 - Automation -> Installationsmaterial",
|
||||
"children": {
|
||||
"450": "Kabelpritsche",
|
||||
"451": "Kabelkanal",
|
||||
"452": "Installationsrohr",
|
||||
"453": "Anlagenerdung"
|
||||
},
|
||||
"reference-ids": {}
|
||||
},
|
||||
"TOS_Auto_Divers": {
|
||||
"TOS-level": 3,
|
||||
"_comment" : "46 - Automation -> Divers",
|
||||
"children": {
|
||||
"460": "Auswahl Lichttaster"
|
||||
},
|
||||
"reference-ids": {}
|
||||
},
|
||||
"TOS_Automation_Sonstiges": {
|
||||
"TOS-level": 3,
|
||||
"_comment" : "49 - Automation -> Sonstiges",
|
||||
"children": {
|
||||
"490": "Beschriftung",
|
||||
"491": "Schüttgut"
|
||||
},
|
||||
"reference-ids": {}
|
||||
},
|
||||
"TOS_Maschinenelement": {
|
||||
"TOS-level": 2,
|
||||
"_comment" : "5 - Maschinenelement",
|
||||
"children": {
|
||||
"50": "Verbindungselement",
|
||||
"51": "Lager",
|
||||
"52": "Kraft-/Drehmomentübertragungselement",
|
||||
"53": "Dichtung",
|
||||
"54": "Sicherungselement",
|
||||
"55": "Bedienungselement",
|
||||
"56": "Transportelement",
|
||||
"57": "Abschlusselement"
|
||||
},
|
||||
"reference-ids": {
|
||||
"50": "TOS_Verbindungselement",
|
||||
"51": "TOS_Lager",
|
||||
"52": "TOS_Kraft_Drehmoment",
|
||||
"54": "TOS_Sicherungselement",
|
||||
"55": "TOS_Bedienungselement",
|
||||
"56": "TOS_Transportelement"
|
||||
}
|
||||
},
|
||||
"TOS_Verbindungselement": {
|
||||
"TOS-level": 3,
|
||||
"_comment" : "50 - Maschinenelement -> Verbindungselement",
|
||||
"children": {
|
||||
"500": "Schraube",
|
||||
"501": "Mutter",
|
||||
"502": "Scheibe",
|
||||
"503": "Stift, Bolzen",
|
||||
"504": "Boden-/ Wandanker",
|
||||
"505": "Nutenstein",
|
||||
"506": "Niete",
|
||||
"507": "diverse Maschinenelemente"
|
||||
},
|
||||
"reference-ids": {}
|
||||
},
|
||||
"TOS_Lager": {
|
||||
"TOS-level": 3,
|
||||
"_comment" : "51 - Maschinenelement -> Lager",
|
||||
"children": {
|
||||
"510": "Gleitlager",
|
||||
"511": "Wälzlager"
|
||||
},
|
||||
"reference-ids": {}
|
||||
},
|
||||
"TOS_Kraft_Drehmoment": {
|
||||
"TOS-level": 3,
|
||||
"_comment" : "52 - Maschinenelement -> Kraft-/Drehmomentübertragungselement",
|
||||
"children": {
|
||||
"520": "Zahntriebelement",
|
||||
"521": "Kettentriebelement",
|
||||
"522": "Riemen, Spannbuchse",
|
||||
"523": "Spannelement",
|
||||
"524": "Kupplung",
|
||||
"525": "Feder",
|
||||
"526": "Passfeder"
|
||||
},
|
||||
"reference-ids": {}
|
||||
},
|
||||
"TOS_Sicherungselement": {
|
||||
"TOS-level": 3,
|
||||
"_comment" : "54 - Maschinenelement -> Sicherungselement",
|
||||
"children": {
|
||||
"540": "Schraubensicherung",
|
||||
"541": "Wellen-/Bohrungssicherung",
|
||||
"542": "Achsensicherung"
|
||||
},
|
||||
"reference-ids": {}
|
||||
},
|
||||
"TOS_Bedienungselement": {
|
||||
"TOS-level": 3,
|
||||
"_comment" : "55 - Maschinenelement -> Bedienungselement",
|
||||
"children": {
|
||||
"550": "Griffe",
|
||||
"551": "Hebel",
|
||||
"552": "Arretierer",
|
||||
"553": "Gestänge"
|
||||
},
|
||||
"reference-ids": {}
|
||||
},
|
||||
"TOS_Schoenenberger_Komponenten": {
|
||||
"TOS-level": 2,
|
||||
"_comment" : "6 - Schönenberger Komponenten",
|
||||
"children": {
|
||||
"60": "frei",
|
||||
"61": "frei",
|
||||
"62": "frei",
|
||||
"63": "frei",
|
||||
"64": "frei",
|
||||
"65": "frei",
|
||||
"66": "frei",
|
||||
"67": "frei",
|
||||
"68": "frei",
|
||||
"69": "frei"
|
||||
},
|
||||
"reference-ids": {}
|
||||
},
|
||||
"TOS_Pneumatik": {
|
||||
"TOS-level": 2,
|
||||
"_comment" : "7 - Pneumatik",
|
||||
"children": {
|
||||
"70": "Pneumatischer Antrieb und Zylinder",
|
||||
"71": "Ventil",
|
||||
"72": "Sensoren und Leitungen",
|
||||
"73": "Schlauch",
|
||||
"74": "Verbindungselement",
|
||||
"75": "Verteiler",
|
||||
"76": "Zubehör (Dichtung, Muffe usw.)"
|
||||
},
|
||||
"reference-ids": {}
|
||||
},
|
||||
"TOS_Konfig": {
|
||||
"TOS-level": 2,
|
||||
"_comment" : "8 - Konfiguration",
|
||||
"children": {
|
||||
"80": "Texte",
|
||||
"81": "Band-Konfiguration",
|
||||
"82": "STL-Konfiguration",
|
||||
"83": "Kalkulation"
|
||||
},
|
||||
"reference-ids": {}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,188 @@
|
||||
[Werkstofftyp]
|
||||
Stahl
|
||||
Aluminium
|
||||
Kunst-/ Verbundstoff
|
||||
Schwermetall
|
||||
|
||||
[Stahl]
|
||||
1.0035 (S185)
|
||||
1.0038 (S235JR)
|
||||
1.0038+AR (S235JR+AR)
|
||||
1.0038+CR (S235JR+CR)
|
||||
1.0122 (S235JRC)
|
||||
1.0122+C (S235JRC+C)
|
||||
1.0242+Z275-M-A-C (S250GD+Z275-M-A-C)
|
||||
1.0330 (DC01)
|
||||
1.0401 (C15)
|
||||
1.0501 (C35)
|
||||
1.0503 (C45)
|
||||
1.0503+N (C45+N)
|
||||
1.0553 (S355J0)
|
||||
1.0577 (S355J2)
|
||||
1.0711 (9S20)
|
||||
1.0715 (11SMn30)
|
||||
1.0715+C (11SMn30+C)
|
||||
1.0917 (DX51D+Z)
|
||||
1.1191 (C45E)
|
||||
1.1221 (C60E)
|
||||
1.2842 (90MnCrV8)
|
||||
1.4035 (X45CrS13)
|
||||
1.4301 (X5CrNi18-10)
|
||||
1.4305 (X8CrNiS18-9)
|
||||
1.4310 (X10CrNi18-8)
|
||||
1.5023 (38Si7)
|
||||
1.7131 (16MnCr5)
|
||||
1.7225 (42CrMo4)
|
||||
siehe Hersteller
|
||||
siehe Stückliste
|
||||
|
||||
[Aluminium]
|
||||
EN AW-1050A (3.0255)
|
||||
EN AW-2007 (3.1645)
|
||||
EN AW-2014-T3 (3.1255-T3)
|
||||
EN AW-2014-T4 (3.1255-T4)
|
||||
EN AW-5754 (3.3535)
|
||||
EN AW-6060 (3.3206)
|
||||
EN AW-6060-T66 (3.3206-T66)
|
||||
EN AW-7075 (3.4365)
|
||||
EN AW-6063-T66
|
||||
siehe Hersteller
|
||||
siehe Stückliste
|
||||
|
||||
[Kunst-/ Verbundstoff]
|
||||
ABS
|
||||
ASA
|
||||
CR/SBR-A65
|
||||
Hostaform 13031 MB1.5
|
||||
Irogran A87
|
||||
Murtfeldt "S" 1000
|
||||
Murtfeldt Original "S" grün
|
||||
PA
|
||||
PA 2200
|
||||
PA 2200 SLS
|
||||
PA 6
|
||||
PA 6 GF 25
|
||||
PA 6 GF 30
|
||||
PA 66
|
||||
PA 66 GF 25
|
||||
PA 66 GF 30
|
||||
PA 66 GF 50
|
||||
PA GF 25
|
||||
PBT
|
||||
PC
|
||||
PC GF 10
|
||||
PE
|
||||
PE-HD
|
||||
PE-LD
|
||||
PE-UHMW
|
||||
PE-UHMW antistatisch
|
||||
POM
|
||||
POM-C
|
||||
POM-H
|
||||
PP
|
||||
PP-C
|
||||
PP-H
|
||||
PP SLS
|
||||
PP T20
|
||||
PTFE
|
||||
PUR
|
||||
PUR - 95 Shore A
|
||||
PUR D44 - 80 Shore A
|
||||
PVC
|
||||
PVC-P (weich)
|
||||
PVC-U
|
||||
siehe Hersteller
|
||||
siehe Stückliste
|
||||
TPU
|
||||
TPU - 95 Shore A
|
||||
TPU - 98 Shore A
|
||||
|
||||
[Schwermetall]
|
||||
CC493K - GC (CuSn7Zn4Pb7 - C - GC)
|
||||
CW459K (CuSn8P)
|
||||
CW614N (CuZn39Pb3)
|
||||
CW708R (CuZn31Si)
|
||||
siehe Hersteller
|
||||
siehe Stückliste
|
||||
|
||||
[Festigkeitsklasse]
|
||||
010.9
|
||||
012.9
|
||||
04
|
||||
04.6
|
||||
04.8
|
||||
05
|
||||
05.6
|
||||
05.8
|
||||
06.8
|
||||
08.8
|
||||
09.8
|
||||
10
|
||||
10.9
|
||||
12
|
||||
12.9
|
||||
4.6
|
||||
4.8
|
||||
5
|
||||
5.6
|
||||
5.8
|
||||
6
|
||||
6.8
|
||||
8
|
||||
8.8
|
||||
9
|
||||
9.8
|
||||
A1-50
|
||||
A1-70
|
||||
A1-80
|
||||
A2-50
|
||||
A2-70
|
||||
A2-80
|
||||
A3-50
|
||||
A3-70
|
||||
A3-80
|
||||
A4-100
|
||||
A4-50
|
||||
A4-70
|
||||
A4-80
|
||||
A5-100
|
||||
A5-50
|
||||
A5-70
|
||||
A5-80
|
||||
A8-100
|
||||
A8-70
|
||||
A8-80
|
||||
C1-110
|
||||
C1-50
|
||||
C1-70
|
||||
C3-80
|
||||
C4-50
|
||||
C4-70
|
||||
D2-100
|
||||
D2-70
|
||||
D2-80
|
||||
D4-100
|
||||
D4-70
|
||||
D4-80
|
||||
D6-100
|
||||
D6-70
|
||||
D6-80
|
||||
D8-100
|
||||
D8-70
|
||||
D8-80
|
||||
F1-45
|
||||
F1-60
|
||||
Stahl
|
||||
PA
|
||||
100 HV
|
||||
140 HV
|
||||
14H
|
||||
200 HV
|
||||
22H
|
||||
300 HV
|
||||
33H
|
||||
370 HV
|
||||
45H
|
||||
FSt
|
||||
11H
|
||||
17H
|
||||
@@ -0,0 +1,15 @@
|
||||
[Zielpfade]
|
||||
Produktiv=\\ssg.local\freigaben\SIVAS_CAD_EDM\Migration\02_Bedarfspool
|
||||
Schulung=\\ssg.local\freigaben\SIVAS_CAD_EDM\Schulung\Migration\02_Bedarfspool
|
||||
|
||||
[3D-Modelle]
|
||||
BaugruppeSchweissbaugruppe=\\ssg.local\freigaben\Abteilungen\Entwicklung\CAD\Standards\SolidEdge\Template\DIN Metric\baugruppe.asm
|
||||
Kaufteil=\\ssg.local\freigaben\SIVAS_CAD_EDM\Migration\06_3D_Vorlagen\ET_mit_Volumen.par
|
||||
Einzelteil=\\ssg.local\freigaben\SIVAS_CAD_EDM\Migration\06_3D_Vorlagen\ET_mit_Volumen.par
|
||||
EinzelteilDefault=\\ssg.local\freigaben\SIVAS_CAD_EDM\Migration\01_Rohdatenpool\
|
||||
|
||||
# [3D-Modelle]
|
||||
# BaugruppeSchweissbaugruppe=Baugruppe
|
||||
# Kaufteil=Kaufteil
|
||||
# Einzelteil=Einzelteil
|
||||
# EinzelteilDefault=C:\Users\m.stangl\Documents\10-Develop\CreoMigrate\work\test
|
||||
@@ -0,0 +1,27 @@
|
||||
[EinzelTextblöcke]
|
||||
Kleinbuchstabe=ACHTUNG Kleinbuchstaben-Index in SIVAS. Nach Freigabe der Teilenummer in SIVAS den Großbuchstaben-Index löschen, alle Dokumente auf den Kleinbuchstaben-Index verlinken und den Kleinbuchstaben-Index erneut freigeben. Sobald die Revision höher als {aenderungsindex} ist kann diese Zusatzinformation aus RuleDesigner gelöscht werden.
|
||||
Truemmer=ACHTUNG Trümmerbaugruppe. Nach einer Revision oder Bagatelländerung muss der Rüstcode in der SIVAS-Stückliste bei allen Stücklistenpositionen manuell in "TR - Trümmerteile" geändert werden.
|
||||
BlacklistBG=ACHTUNG BG mit Beistellungen. Es wird keine Stückliste übergeben. Diese muss bei einer Änderung händisch angelegt und archiviert werden. Hierfür die Verantwortlichen für den Teilestamm informieren.
|
||||
BlacklistHZ=ACHTUNG Bearbeitetes Halbzeug mit Beistellungen. Es wird keine Stückliste übergeben. Diese muss bei einer Änderung händisch angelegt und archiviert werden. Hierfür die Verantwortlichen für den Teilestamm informieren.
|
||||
Werkstoffdiskrepanz=ACHTUNG Materialdiskrepanz. SIVAS-Material und/oder Zeichnungsmaterial / geliefertes Material unterschiedlich. Muss abgeklärt werden. Näheres siehe JIRA.
|
||||
Dispoinaktiv=ACHTUNG BG mit dispoinaktiven Stücklistenpositionen. Es wird keine Stückliste übergeben. Diese muss bei einer Änderung händisch angelegt und archiviert werden. Hierfür die Verantwortlichen für den Teilestamm informieren.
|
||||
|
||||
[ComboTextblöcke]
|
||||
KleinbuchstabeTruemmer=ACHTUNG Index in Sivas mit Kleinbuchstaben + Trümmerbaugruppe. Ausführliche Informationen zu erforderlichen Tätigkeiten / potentiellen Fehlern vgl. Konstruktionsrichtlinien
|
||||
KleinbuchstabeBlacklistBG=ACHTUNG Index in Sivas mit Kleinbuchstaben + BG mit Beistellungen. Ausführliche Informationen zu erforderlichen Tätigkeiten / potentiellen Fehlern vgl. Konstruktionsrichtlinien
|
||||
KleinbuchstabeWerkstoffdiskrepanz=ACHTUNG Index in Sivas mit Kleinbuchstaben + Materialdiskrepanz. Ausführliche Informationen zu erforderlichen Tätigkeiten / potentiellen Fehlern vgl. Konstruktionsrichtlinien
|
||||
KleinbuchstabeDispoinaktiv=ACHTUNG Index in Sivas mit Kleinbuchstaben + BG mit Dispoinaktiven Stücklistenpositionen. Ausführliche Informationen zu erforderlichen Tätigkeiten / potentiellen Fehlern vgl. Konstruktionsrichtlinien
|
||||
TruemmerBlacklistBG=ACHTUNG Trümmerbaugruppe + BG mit Beistellungen. Ausführliche Informationen zu erforderlichen Tätigkeiten / potentiellen Fehlern vgl. Konstruktionsrichtlinien
|
||||
TruemmerWerkstoffdiskrepanz=ACHTUNG Trümmerbaugruppe + Materialdiskrepanz. Ausführliche Informationen zu erforderlichen Tätigkeiten / potentiellen Fehlern vgl. Konstruktionsrichtlinien
|
||||
TruemmerDispoinaktiv=ACHTUNG Trümmerbaugruppe + BG mit dispoinaktiven Stücklistenpositionen. Ausführliche Informationen zu erforderlichen Tätigkeiten / potentiellen Fehlern vgl. Konstruktionsrichtlinien
|
||||
KleinbuchstabeTruemmerBlacklist=ACHTUNG Index in Sivas mit Kleinbuchstaben + Trümmerbaugruppe + BG mit Beistellungen. Ausführliche Informationen zu erforderlichen Tätigkeiten / potentiellen Fehlern vgl. Konstruktionsrichtlinien
|
||||
KleinbuchstabeTruemmerDispoinaktiv=ACHTUNG Index in Sivas mit Kleinbuchstaben + Trümmerbaugruppe + BG mit dispoinaktiven Stücklistenpositionen. Ausführliche Informationen zu erforderlichen Tätigkeiten / potentiellen Fehlern vgl. Konstruktionsrichtlinien
|
||||
BlacklistHZDispoinaktiv=ACHTUNG Bearbeitetes Halbzeug mit beigestellten und dispoinaktiven Stücklistenpositionen. Es wird keine Stückliste übergeben. Diese muss bei einer Änderung händisch angelegt und archiviert werden. Hierfür die Verantwortlichen für den Teilestamm informieren.
|
||||
BlacklistBGDispoinaktiv=ACHTUNG BG mit beigestellten und dispoinaktiven Stücklistenpositionen. Es wird keine Stückliste übergeben. Diese muss bei einer Änderung händisch angelegt und archiviert werden. Hierfür die Verantwortlichen für den Teilestamm informieren.
|
||||
|
||||
;Nachfolgende Kombinationen können nicht auftreten:
|
||||
;- BlacklistBGWerkstoffdiskrepanz
|
||||
;- KleinbuchstabeTruemmerWerkstoffdiskrepanz
|
||||
;- KleinbuchstabeBlacklistBGWerkstoffdiskrepanz
|
||||
;- TruemmerBlacklistBGWerkstoffdiskrepanz
|
||||
;- KleinbuchstabeTruemmerBlacklistBGWerkstoffdiskrepanz
|
||||
@@ -0,0 +1,10 @@
|
||||
[Fenster]
|
||||
#Büro-Auflösung (hochformat)
|
||||
CanvasBreite=1080
|
||||
CanvasHoehe=1490
|
||||
Dimension=1080x1490
|
||||
|
||||
# Homeoffice Auflösung (querformat)
|
||||
# CanvasBreite=1000
|
||||
# CanvasHoehe=1350
|
||||
# Dimension=1100x1400
|
||||
@@ -0,0 +1,4 @@
|
||||
[Fenster]
|
||||
CanvasBreite=950
|
||||
CanvasHoehe=1450
|
||||
Dimension=970x900
|
||||
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 7.3 KiB |
@@ -1,69 +0,0 @@
|
||||
Teilenummer;Bezeichnung1
|
||||
400100457;LKW-BELADUNG KPL.
|
||||
400100536;GRUNDPLATTE KPL.
|
||||
400101526;V30 TT BD 36 Trolley-V bearbeitet
|
||||
821116001;TRAPEZVERBINDUNGSELEMENT (2 BOHRUNGEN)
|
||||
821116004;TRAPEZVERBINDUNGSELEMENT FÜR KURVENSTÜCKE
|
||||
821116019;TRAPEZLASCHE FÜR ENDPLATTE (SCHRAUBBAR) FÜR AP
|
||||
821116022;VERBINDUNGSELEMENT ALU-WEICHE SW I
|
||||
821116023;VERBINDUNGSELEMENT ALU-WEICHE SW II
|
||||
821116024;VERBINDUNGSELEMENT ALU-WEICHE SW III
|
||||
821116030;TRAPEZVERBINDUNGSELEMENT (4 BOHRUNGEN) APS 110
|
||||
821116048;TRAPEZVERBINDER FÜR TV-SW IIII
|
||||
821116061;VERBINDUNGSELEMENT ALU-WEICHE SW IV
|
||||
821116062;TV-ELEMENT / SW-SCHRAUBTRÄGERROHR
|
||||
821116083;PLATTE F. TRAPEZSTEIN M. GEWINDESTIFT M8X6 F.
|
||||
822016519;VERBINDUNGSELEMENT RA OBEN
|
||||
822016520;VERBINDUNGSELEMENT RA UNTEN
|
||||
822016575;SCHIEBER RA-b-d-e-g FÜR N_MOTOR KPL.
|
||||
822016577;SCHIEBER RA-c FÜR SIEM.-MOTOR KPL.
|
||||
826002201;LTA 50 LANGTROLLEY 455X100 KOPPELBAR
|
||||
826004015;TROLLEY-V50 KPL. MIT KUPPLUNG FÜR LT50
|
||||
826004033;TROLLEY-V50 KPL. O. KUPPLUNG
|
||||
826004201;V30 BL TROLLEY-V -->txt
|
||||
826004301;V30 BD 36 TROLLEY-V
|
||||
826004302;V30 C BD 36 TROLLEY-V, 1 KUPPLUNG
|
||||
826004303;V30 TT BD 36 TROLLEY-V
|
||||
826004304;V30 C TT BD 36 TROLLEY-V, 1 KUPPLUNG
|
||||
826004305;V30 TT BD 81 TROLLEY-V
|
||||
826004306;V30 C TT BD 81 TROLLEY-V, 1 KUPPLUNG
|
||||
826004309;V30 C-F TT BD 36 TROLLEY-V, 1 KUPPLUNG-F
|
||||
826004311;V30 BS 36 TROLLEY-V
|
||||
826004312;V30 C BS 36 TROLLEY-V, 1 KUPPLUNG
|
||||
826004321;V30 BT M6X40 TROLLEY-V
|
||||
826004322;V30 C BT M6X40 TROLLEY-V, 1 KUPPLUNG
|
||||
826004323;V30 CC BT M6X40 TROLLEY-V, 2 KUPPLUNGEN
|
||||
826004331;V60 M ES M8X50 TROLLEY-V
|
||||
826004332;V60 C M ES M8X50 TROLLEY-V, 1 KUPPLUNG
|
||||
826004361;V60 M ES M8X30 TROLLEY-V FÜR APS
|
||||
826004362;V60 M ES M8X100 TROLLEY-V
|
||||
826005087;KUGELKLEMME
|
||||
826006203;KUGEL-SCHEIBENGELENK FÜR V30 BD 36
|
||||
826006206;KUGEL-GEWINDE-GELENK M6X40 FÜR V30 BT
|
||||
826006208;KUGEL-SCHEIBENGELENK FÜR V30 BD 81
|
||||
826022024;FT-FANGTROLLEY
|
||||
826022065;LTE LANGTROLLEY M. 1 BEGR.STIFT UND
|
||||
826025010;LTE LANGTROLLEY SCHIENE M. BEG. KEGELN +1
|
||||
826402001;HFS BÜGELTRÄGER UNTAILLIERT GROSSE SCHEIBE 1.
|
||||
826402006;HFS BÜGELTRÄGER TAILLIERT, GROSSE SCHEIBE 1.GEN,
|
||||
826606018;GRUNDKÖRPER V1 FÜR TRENNBÜGEL KPL.
|
||||
826824022;COCKPIT KPL. FÜR COCKPIT-TROLLEY
|
||||
826864001;LAUFKÖRPER FÜR MT KPL. - V3 WERKMEISTER
|
||||
829442005;MINITROLLEY MT KPL. - V1
|
||||
829442099;BÜGELTRÄGER BT KPL.
|
||||
829442101;BÜGELTRÄGER SC SYMMETRISCH KPL. - V1
|
||||
829442103;BÜGELTRÄGER SC SYMMETRISCH KPL. - V2
|
||||
829444010;LAUFKÖRPER FÜR MT KPL. - V1
|
||||
829444025;KB-RÜCKLAUFSPERRE AM MT KPL.
|
||||
829444030;LAUFROLLE 41° KPL. F. SC/MT SYMMETRISCH
|
||||
829444601;BÜGELTRÄGER BT FÜR AUFNAHMETASCHE
|
||||
829444602;AUFNAHMETASCHE TB FÜR DIVERSE WAREN
|
||||
829444603;BÜGELTRÄGER BT ILS 3.0 FÜR AUFNAHMETASCHE
|
||||
829526003;MODUL-VERBINDUNGSELEMENT 90° - ILS II
|
||||
829536101;VENTILHALTER S_PN MODUL-WEICHE
|
||||
829642001;84313MINITROLLEY MT M. KB-RÜCKLAUFSPERRE KPL. - V3
|
||||
829642104;BÜGELTRÄGER SC 3.0 SYMMETRISCH KPL. - V3
|
||||
829644040;LAUFKÖRPER FÜR MT KPL. - V3
|
||||
831116022;TRAPEZVERBINDER W-AP110
|
||||
831216025;TRAPEZVERBINDER W-AP60
|
||||
831216026;TRAPEZVERBINDER W-SCHWENKSCHIENE
|
||||
|
@@ -1,708 +0,0 @@
|
||||
Teilenummer;Bezeichnung Kombiniert
|
||||
00000000001; Abstandshalter-Stopper
|
||||
00000000002; Abstandshülse für Abstandshalter-Stopper
|
||||
00000000003; Achse für Zylinderhalterung
|
||||
00000000004; MCM-10-03 - iglidur Clipslager, metrisch
|
||||
00000000005; Rundzylinder D25 H125 doppelwirkend - BG
|
||||
00000000006; Säule-unten
|
||||
00000000007; Säule-unten
|
||||
00000000008; Gleitschlitten-Führung - BG
|
||||
00000000009; Scheibe DIN 125 - A 8,4 - 140 HV - A2
|
||||
00000000010; Iglidur Doppelbundlager MCM-08-03-1
|
||||
00000000011; S-scheibe
|
||||
00000000012; Ausgleichskupplung M10x1,25 - BG
|
||||
00000000013; Platte-oben
|
||||
00000000014; item-2627-profil-8-80x-80-natur
|
||||
00000000015; L-Steckverschraubung G1/8-6
|
||||
00000000016; Abdeckstopfen 80x60
|
||||
00000000017; Abstandsplatte
|
||||
00000000018; Blechhalter
|
||||
00000000019; Blechhalter-Abwurf
|
||||
00000000020; Auflage
|
||||
00000000021; Hubsäule - BG
|
||||
00000000022; stopper ils - BG
|
||||
00000000023;SC - BG
|
||||
00000000024; Tasche ILS - BG
|
||||
00000000025;Entladung am LP - BG
|
||||
00000000026;Beladung -BG
|
||||
00000000027; Halter
|
||||
00000000028; Halteblech
|
||||
00000000029; Schwenkantrieb - BG
|
||||
00000000030; Wellenkupplung starr 6-10
|
||||
00000000031; Flanschlager igubal-EFSM-10
|
||||
00000000032; Welle-Taschenöffner
|
||||
00000000033; Halter Öffnerblech
|
||||
00000000034; Öffner-Blech
|
||||
00000000035;Taschenöffner - BG
|
||||
00000000036; Bogen 30°
|
||||
00000000037; Platte-Ausfahrt-1
|
||||
00000000038; Schwenkantrieb CDRBU2WU40-90SZ
|
||||
00000000039; Wellenkupplung starr 10
|
||||
00000000040; Welle-Schieber
|
||||
00000000041; Platte-Einfahrt-1
|
||||
00000000042; Pufferplatte
|
||||
00000000043; Schliesser-Tasche
|
||||
00000000044; Schliesser-Tasche
|
||||
00000000045; Schliesser-Tasche
|
||||
00000000046; Platte-Ausfahrt
|
||||
00000000047; CDRBU2WU40-90SZ
|
||||
00000000048; Platte-Einfahrt
|
||||
00000000049; Schliesser-Tasche
|
||||
00000000050; Stehlager igubal ESTM-10
|
||||
00000000051; Zuhalter
|
||||
00000000052; Bogenspur 30°
|
||||
00000000053; Wellenhalter
|
||||
00000000054; Kantenschutzleiste
|
||||
00000000055; Kantenschutz
|
||||
00000000056; Kulisse
|
||||
00000000057; Schieber
|
||||
00000000058; Bogenkäfig 30° ILS2.0
|
||||
00000000059; Welle-Schwenker
|
||||
00000000060; Schwenker - BG
|
||||
00000000061;Test-Umlenkung-Daniel
|
||||
00000000062;Entladung am SP - BG
|
||||
00000000063;Tasche ILS - SP - BG
|
||||
00000000064;ILS Stopper am SP
|
||||
00000000065;Bogen 30° Testversuch - BG
|
||||
00000000066;Förderer CDDC
|
||||
00000000067;BG Laufprofil ILS 2.0 kpl.
|
||||
00000000068;Allgemeiner Kleiderbügel
|
||||
200000002;Testzylinder Live-Datenbank
|
||||
200000003;Testbaugruppe für Livedatenbank - BG
|
||||
200000004; Testhalbzeug für Live-Datenbank
|
||||
200000005; Testbearbeitung Halbzeug für Live-Datenbank
|
||||
200000006; Test Schweissbaugruppe für Live-Datenbank
|
||||
200000007; Testbaugruppe Stücklistenarchiv - BG
|
||||
200000008; Testanlage für Herr Jakob - BG
|
||||
200000010;Augenschraube DIN 444 - zu Testzwecken Benny
|
||||
200000011;Zylinderschraube DIN 84 - zu Testzwecken
|
||||
200000012;AS-Element L Blechbogen
|
||||
200000013;AS-Element L Blechbogen
|
||||
200000014;Testdatensatz 1
|
||||
200000015; Testdatensatz 2
|
||||
200000016;SP 2.0 Bearbeitet für Sep./Stopper
|
||||
200000017;Stirnradgetriebemotor RF57 DRN80MK4/ASE1/Z
|
||||
200000018;Schneckengetriebemotor SF47 DRN80MS2/BE1/ASE1/Z
|
||||
200000019;Schneckengetriebemotor SF47 DRN80M2/BE1/ASE1/Z
|
||||
200000020;Schneckengetriebemotor SA57 DRN80MK4/ASE1 TEF li
|
||||
200000021;Schneckengetriebemotor SA57 DRN80MK4/ASE1 TEF re
|
||||
200000022;Blech für Gegendruckleiste Sep./Stopper
|
||||
200000025;Abstandshülse für Niederhalter Taschen
|
||||
200000026;Abstandshalter für Tasche
|
||||
200000027;Niederhalter für Taschen - BG
|
||||
200000028;Öffner für Beladung Taschen ILS - BG
|
||||
200000029;Halteblech für Öffner Beladung Taschen ILS
|
||||
200000030;Öffner -Blech für Öffner Beladung ILS
|
||||
200000031;Schwenkantrieb CDRBU2WU20-180SZ
|
||||
200000032;Mitnehmerfinger
|
||||
200000033;Unterstützung Halteblech Passivweiche
|
||||
200000034;Wellenkupplung starr 6-10
|
||||
200000035;Welle - Taschenöffner
|
||||
200000036;Flanschlager igubal-EFSM-10
|
||||
200000037;Wellenhalter
|
||||
200000038;Öffner - Blech für ILS Taschen
|
||||
200000039;Abweiser für Öffner Beladung ILS
|
||||
200000040;Schrägförderer ILS2.0 mit TEF - Antrieb - BG
|
||||
200000041;Abweiser für Taschen Beladung ILS - BG
|
||||
200000042;Rutschprofil S 1000 schwarz für Passivweiche
|
||||
200000043;Befestigungsblech für Gleitschiene Passivweiche
|
||||
-2146826273;Halteblech Passivweiche
|
||||
400100107;Zylinderschraube DIN 7984 - M4 x 22 - 08.8
|
||||
400100114;Sicherungsring DIN 472 - 90 x 3 - St
|
||||
400100392;Passfeder DIN 6885-1 - A 6 x 6 x 30 - St
|
||||
400100616;Augenschraube DIN 444 - LB M10 x 70 - 4.6
|
||||
400100712;Zylinderschraube DIN 7984 - M8 x 16 - 08.8
|
||||
400100713;Zylinderschraube DIN 7984 - M8 x 30 - 08.8
|
||||
400100728;Zylinderschraube DIN 7984 - M8 x 35 - 08.8
|
||||
400101092;Zylinderschraube DIN 912 - M3 x 4 - 8.8
|
||||
400101500;Augenschraube DIN 444 - B M6 x 55 - 4.6
|
||||
400101677;Sechskantschraube DIN 933 - M4 x 35 - 8.8
|
||||
400101678;Passscheibe DIN 988 - 8 x 14 x 0,1 - St
|
||||
400101686;Passschraube ISO 7379 - 8 x 35 - M6 - 12.9
|
||||
400101725;Passschraube ISO 7379 - 10 x 25 - M8 - 12.9
|
||||
400101811;Flachkopfschraube DIN 923 - M6 x 25 - A1-50
|
||||
400101877;Sechskantmutter DIN 936 - M24 - 17H
|
||||
400101916;Passschraube ISO 7379 - 6 x 12 - M5 - 12.9
|
||||
400101917;Passschraube ISO 7379 - 5 x 12 - M4 - 12.9
|
||||
400101975;Passschraube ISO 7379 - 4 x 12 - M3 - 12.9
|
||||
400102037;Senkschraube ISO 10642 - M4 x 10 - A2-070
|
||||
400102038;Sicherungsring DIN 471 - 17 x 1 - St
|
||||
400102094;Passfeder DIN 6885-1 - A 10 x 8 x 28 - St
|
||||
400102128;ANTRIEBSSTATION RECHTS FÜR TEF RECHTS - BG
|
||||
400102129;Halter für Motor
|
||||
400102130;Halter
|
||||
400102142;Winkelstahl 25x25x3 EN10056-1
|
||||
400102160;Gefälleprofil Zuschnitt
|
||||
400102161;Gefällefprofil Segment aufwärts
|
||||
400102162;Gefälleprofil Zuschnitt
|
||||
400102163;Gefälleprofil Segment abwärts
|
||||
400102247;Halter fuer Sensor 18mm Durchmesser
|
||||
400102259;Gefälleprofil Zuschnitt
|
||||
400102272;Adapter Ausschleusung
|
||||
400102318;SP 2.0 Bogen R/L 30° R150
|
||||
400102417;Distanzklotz
|
||||
400102474;Sechskantschraube DIN 931 - M12 x 50 - 8.8
|
||||
400102529;Halteblech Passivweiche
|
||||
400102573;Passschraube ISO 7379 - 6 x 25 - M5 - 12.9
|
||||
400102574;Passschraube ISO 7379 - 5 x 16 - M4 - 12.9
|
||||
400102587;- Single Carrier 40mm Adapterplatte
|
||||
400102610;Single Carrier Clipkörper P&F 40mm
|
||||
710005021;M12 BLINDSTOPFEN FÜR AS-INTERFACEMODULE
|
||||
712000100;VERSCHRAUBUNG M16x1,5
|
||||
712000101;VERSCHRAUBUNG M20x1,5
|
||||
712000151;REDUKTION M25/M16
|
||||
719001015;SEILZUGSCHALTER ZS 441 1Ö/1S / 150 N / 60M
|
||||
720000007;SENSOR INDUK. M8x1, NO/ST-M12x1 4POL, A-COD.
|
||||
720000008;KLEMMHALTER M. FESTANSCHLAG F. NÄHRUNGSSCHALTER
|
||||
720002003;SENSOR INDUK. M18x1, SA=12MM N-BÜ/NO, KABEL-150MM
|
||||
721001034;LICHTTASTER STECKBAR VTE18-3F2740 TASTW 200 MM
|
||||
821114025;TRAPEZSTEIN MIT CLIFASTIFT M8X30 L=42
|
||||
821116053;PLATTE FÜR TRAPEZSTEIN MIT CLIFASTIFT M8
|
||||
822026004;PROFILSTANGE (ISOPROFIL)
|
||||
822064013;TEF GLEITLEISTE
|
||||
822064035;TEF VERBINDUNGSELEMENT AM STOSS, KPL. Stück - BG
|
||||
822064090;KETTENSCHUTZ KPL. FÜR TEF-ANTRIEBSSTATION - BG
|
||||
822064092;UMLENKSPANNSTATION LINKS FÜR TEF RECHTS - BG
|
||||
822064093;SCHIEBER FÜR UMLENKSPANNSTATION FÜR TEF - BG
|
||||
822066026;TEF GLEITLEISTENFÜHRUNG ALU-PROFIL
|
||||
822066065;VERBINDUNGSELEMENT A. STOSS E-TEIL F. TEF
|
||||
822066075;GLEITLEISTENFÜHRUNG KURZ M. TEF-GLEITLEISTE - BG
|
||||
822066085;GRUNDKÖRPER FÜR TEF-MITNEHMERFINGER
|
||||
822066101;"ANTRIEBSKETTENRAD Z=26 5/8X3/8"" FÜR TEF"
|
||||
822066154;ANTRIEBSWELLE TEF
|
||||
822066157;GLEITLEISTEN FÜHRUNG F. TEF
|
||||
822066160;LEISTE FÜR UMLENKSTATION
|
||||
822066162;GLEITLEISTE FÜR TEF ANTRIEBSSTATION
|
||||
822066193;BODENBLECH FÜR KETTENSCHUTZ TEF-ANTRIEBSTATION
|
||||
822066194;RANDSTREIFEN FÜR KETTENSCHUTZ TEF-ANTRIEBSTATION
|
||||
822066196;KETTENFÜHRUNG FÜR TEF-ANTRIEBSSTATION
|
||||
822066197;TEF-PROFIL FÜR UMLENKSPANNSTATION TEF
|
||||
822066198;GRUNDPLATTE FÜR UMLENKSPANNSTATION
|
||||
822066201;DECKEL FÜR UMLENKSPANNSTATION
|
||||
822066202;KETTENFÜHRUNG UMLENKSPANNSTATION LI FÜR TEF RECHTS
|
||||
822066203;GLEITLEISTE UMLENKSPANNSTATION LINKS F. TEF RECHTS
|
||||
822066204;PLATTE FÜR SCHIEBER
|
||||
822066205;KLOTZ FÜR SCHIEBER
|
||||
822066206;ACHSE FÜR SCHIEBER
|
||||
822066207;LEISTE FÜR SCHIEBER
|
||||
822066208;GEWINDESTANGE M10X85 FÜR SCHIEBER
|
||||
822066212;TEF GLEITLEISTE 147 F. SPANNUMLENKUNG
|
||||
822066215;STABILISIERUNGSWINKEL TEF-ANTRIEBSSTATION
|
||||
822066216;GRUNDPLATTE TEF ANTRIEBSSTATION
|
||||
822066217;KETTENFÜHRUNG TEIL 2 FÜR TEF-ANTRIEBSTATION
|
||||
822066220;KETTENSPANNRAD Z=17 BEARBEITET FÜR TEF
|
||||
822996075;TEF-MITNEHMERFINGER (EINSATZ) SHORE-HÄRTE 75
|
||||
825006003;U-BÜGEL M8 A=42 L=52
|
||||
825006038;LASCHE FÜR ROHRVERBINDUNG 45°
|
||||
826002201;LTA 50 LANGTROLLEY 455X100 KOPPELBAR - BG
|
||||
826004210;TROLLEY-ROLLE V30-V60 KPL. - BG
|
||||
826004211;KUPPLUNG V30-V100 KPL. - BG
|
||||
826004312;V30 C BS 36 TROLLEY-V, 1 KUPPLUNG - BG
|
||||
826005041;TROLLEY-ROLLE BLAU (INNENRINGEINSEITIG)
|
||||
826006003;SCHNAPPBOLZEN - KUPPLUNG V30-V60
|
||||
826006022;VERRIEGELUNGSHAKEN - KUPPLUNG V30-V60
|
||||
826006025;Blechschraube DIN 7981 - ST3,9 x 19 - St - C - H
|
||||
826006200;HALBSCHALE TROLLEY V30-V60
|
||||
826006201;SCHLEPPSEGMENT TROLLEY V30-V60
|
||||
826006216;KUGEL-SICHELGELENK FÜR V30 BS - einteilig
|
||||
826006220;KUPPLUNGSKÖRPER V30-V60
|
||||
826006221;HALBSCHALE TROLLEY V30-V60 VERSCHRAUBBAR
|
||||
826006232;GELENKVERBINDUNG V30 BD F. 4KT. ROHR
|
||||
826006600;TRAVERSE MIT EINHÄNGEÖSEN
|
||||
826006602;DISTANZ-GEWINDEBUCHSE F. LT50-TRAVERSE
|
||||
826006604;Gewichtseinlage für Traverse mit Einhängeösen
|
||||
826026001;GUMMISCHEIBE FÜR TROLLEY-V 50
|
||||
826206003;KRAGENMITNEHMER P&F FÜR TROLLEY-V
|
||||
826206004;KRAGENABWEISER P&F FÜR TROLLEY-V
|
||||
829412009;VERBINDUNG GEFÄLLEPROFIL [SP] KPL. - BG
|
||||
829412021;ES-ELEMENT LINKS - BG
|
||||
829416031;STAUSTRECKE SP 73X100 - ELOXIERT
|
||||
829416061;VERBINDER SP
|
||||
829416065;NUTENSTEIN F. SP 829416031
|
||||
829416073;AS-HALTER AM LP
|
||||
829416075;AS-HUBSTÖSSEL
|
||||
829416077;ES-SCHENKEL LINKS
|
||||
829416078;ES-HALTER
|
||||
829416079;ES-EINWEISBOGEN
|
||||
829416080;AS-BOGEN LINKS
|
||||
829416089;ES-BOGEN LINKS
|
||||
829416093;BOGENVERBINDUNG ES/AS
|
||||
829416097;AS-ZYLINDERDISTANZ
|
||||
829416105;NUTENSTEIN F. LP
|
||||
829416125;ES-DREHACHSE
|
||||
829416335;VERBINDER LP 8°
|
||||
829436016;STEGPLATTE F. SEP. AN LP
|
||||
829436305;DROSSEL D4,1/d1,2 F. PNEUM. SEP./AS
|
||||
829512201;AS-ELEMENT LINKS KPL.- S_PN MONOSTABIL - BG
|
||||
829514201;AS-ELEMENT LINKS - BG
|
||||
829516001;LAUFPROFIL LP 2.0 - 87X32
|
||||
829516004;STAUSTRECKE SP 2.0 73X100 - ELOXIERT
|
||||
829516019;LP 2.0 MIT BEARBEITUNG FÜR AS-ELEMENT L=1M
|
||||
829516051;GLEITPROFIL - STAHLBANDFÜHRUNG FÜR ILS 2100
|
||||
829516202;ZYL.SCHR.INBUS M8X55 BEARBEITET
|
||||
829534130;5/2 WEGEVENTIL MONOSTABIL S_PN KPL. - BG
|
||||
829534133;ZYLINDER D25 H8 MIT KOLBENST.-FÜHRUNG, S_PN - BG
|
||||
911011001;Sechskantschraube DIN 933 - M5 x 10 - 8.8
|
||||
911011004;Sechskantschraube DIN 933 - M6 x 12 - 8.8
|
||||
911011005;Sechskantschraube DIN 933 - M6 x 20 - 8.8
|
||||
911011007;Sechskantschraube DIN 933 - M8 x 16 - 8.8
|
||||
911011008;Sechskantschraube DIN 933 - M10 x 30 - 8.8
|
||||
911011009;Sechskantschraube DIN 933 - M8 x 25 - 8.8
|
||||
911011010;Sechskantschraube DIN 933 - M8 x 30 - 8.8
|
||||
911011011;Sechskantschraube DIN 933 - M8 x 35 - 8.8
|
||||
911011012;Sechskantschraube DIN 933 - M10 x 35 - 8.8
|
||||
911011013;Sechskantschraube DIN 933 - M10 x 20 - 8.8
|
||||
911011014;Sechskantschraube DIN 933 - M8 x 20 - 8.8
|
||||
911011028;Sechskantschraube DIN 931 - M6 x 50 - 8.8
|
||||
911011038;Sechskantschraube DIN 931 - M10 x 50 - 8.8
|
||||
911011053;Sechskantschraube DIN 933 - M6 x 60 - 8.8
|
||||
911011054;Sechskantschraube DIN 933 - M8 x 90 - 8.8
|
||||
911011055;Sechskantschraube DIN 933 - M4 x 25 - 8.8
|
||||
911011057;Sechskantschraube DIN 933 - M8 x 12 - 8.8
|
||||
911011062;Sechskantschraube DIN 933 - M7 x 18 - 8.8
|
||||
911011066;Sechskantschraube DIN 933 - M6 x 55 - 8.8
|
||||
911011069;Sechskantschraube DIN 933 - M5 x 40 - 8.8
|
||||
911011070;Sechskantschraube DIN 933 - M8 x 50 - 8.8
|
||||
911011071;Sechskantschraube DIN 933 - M4 x 16 - 8.8
|
||||
911011072;Sechskantschraube DIN 933 - M10 x 100 - 8.8
|
||||
911011075;Sechskantschraube DIN 933 - M8 x 70 - 8.8
|
||||
911011078;Sechskantschraube DIN 933 - M6 x 40 - 8.8
|
||||
911011082;Sechskantschraube DIN 933 - M8 x 55 - 8.8
|
||||
911011084;Sechskantschraube DIN 933 - M10 x 25 - 8.8
|
||||
911011085;Sechskantschraube DIN 933 - M6 x 16 - 8.8
|
||||
911011095;Sechskantschraube DIN 933 - M6 x 70 - 8.8
|
||||
911011103;Sechskantschraube DIN 933 - M8 x 40 - 8.8
|
||||
911011104;Sechskantschraube DIN 933 - M10 x 60 - 8.8
|
||||
911011107;Sechskantschraube DIN 933 - M12 x 30 - 8.8
|
||||
911011115;Sechskantschraube DIN 933 - M4 x 40 - 8.8
|
||||
911011116;Sechskantschraube DIN 933 - M10 x 50 - 8.8
|
||||
911011117;Sechskantschraube DIN 933 - M8 x 100 - 8.8
|
||||
911011118;Sechskantschraube DIN 933 - M8 x 45 - 8.8
|
||||
911011119;Sechskantschraube DIN 933 - M8 x 120 - 8.8
|
||||
911011121;Sechskantschraube DIN 933 - M10 x 40 - 8.8
|
||||
911011122;Sechskantschraube DIN 933 - M10 x 70 - 8.8
|
||||
911011123;Sechskantschraube DIN 933 - M10 x 80 - 8.8
|
||||
911011128;Sechskantschraube DIN 933 - M12 x 70 - 8.8
|
||||
911011129;Sechskantschraube DIN 933 - M10 x 90 - 8.8
|
||||
911011133;Sechskantschraube DIN 933 - M10 x 150 - 8.8
|
||||
911011134;Sechskantschraube DIN 933 - M3 x 30 - 8.8
|
||||
911011135;Sechskantschraube DIN 933 - M10 x 55 - 8.8
|
||||
911011138;Sechskantschraube DIN 933 - M12 x 110 - 8.8
|
||||
911011139;Sechskantschraube DIN 933 - M12 x 35 - 8.8
|
||||
911011140;Sechskantschraube DIN 933 - M12 x 25 - 8.8
|
||||
911011142;Sechskantschraube DIN 933 - M12 x 55 - 8.8
|
||||
911011145;Sechskantschraube DIN 933 - M10 x 130 - 8.8
|
||||
911011146;Sechskantschraube DIN 933 - M16 x 80 - 8.8
|
||||
911011154;Sechskantschraube DIN 933 - M14 x 50 - 8.8
|
||||
911011155;Sechskantschraube DIN 933 - M8 x 22 - 8.8
|
||||
911011161;Sechskantschraube DIN 933 - M14 x 100 - 8.8
|
||||
911011162;Sechskantschraube DIN 933 - M8 x 65 - 8.8
|
||||
911011163;Sechskantschraube DIN 933 - M8 x 140 - 8.8
|
||||
911012010;Sechskantschraube DIN 931 - M10 x 70 - 8.8
|
||||
911012011;Sechskantschraube DIN 931 - M8 x 150 - 8.8
|
||||
911012017;Sechskantschraube DIN 931 - M8 x 60 - 8.8
|
||||
911012020;Sechskantschraube DIN 931 - M8 x 130 - 8.8
|
||||
911012028;Sechskantschraube DIN 931 - M8 x 80 - 8.8
|
||||
911012030;Sechskantschraube DIN 931 - M8 x 45 - 8.8
|
||||
911012032;Sechskantschraube DIN 931 - M12 x 65 - 8.8
|
||||
911021001;Zylinderschraube DIN 912 - M6 x 30 - 8.8
|
||||
911021003;Zylinderschraube DIN 912 - M6 x 20 - 8.8
|
||||
911021004;Zylinderschraube DIN 912 - M6 x 25 - 8.8
|
||||
911021005;Zylinderschraube DIN 912 - M8 x 20 - 8.8
|
||||
911021009;Zylinderschraube DIN 912 - M5 x 25 - 8.8
|
||||
911021010;Zylinderschraube DIN 912 - M5 x 40 - 8.8
|
||||
911021012;Zylinderschraube DIN 912 - M6 x 16 - 8.8
|
||||
911021013;Zylinderschraube DIN 912 - M5 x 35 - 8.8
|
||||
911021014;Zylinderschraube DIN 912 - M4 x 16 - 8.8
|
||||
911021016;Zylinderschraube DIN 912 - M5 x 10 - 8.8
|
||||
911021017;Zylinderschraube DIN 912 - M6 x 10 - 8.8
|
||||
911021019;Zylinderschraube DIN 912 - M8 x 40 - 8.8
|
||||
911021020;Zylinderschraube DIN 6912 - M6 x 16 - 08.8
|
||||
911021025;Zylinderschraube DIN 6912 - M8 x 16 - 08.8
|
||||
911021028;Zylinderschraube DIN 912 - M8 x 60 - 8.8
|
||||
911021030;Zylinderschraube DIN 912 - M6 x 45 - 8.8
|
||||
911021031;Zylinderschraube DIN 912 - M6 x 80 - 8.8
|
||||
911021032;Zylinderschraube DIN 912 - M6 x 90 - 8.8
|
||||
911021033;Zylinderschraube DIN 912 - M5 x 14 - 8.8
|
||||
911021034;Zylinderschraube DIN 912 - M8 x 70 - 8.8
|
||||
911021035;Zylinderschraube DIN 912 - M10 x 20 - 8.8
|
||||
911021037;Zylinderschraube DIN 912 - M5 x 16 - 8.8
|
||||
911021038;Zylinderschraube DIN 912 - M8 x 80 - 8.8
|
||||
911021039;Zylinderschraube DIN 912 - M8 x 90 - 8.8
|
||||
911021040;Zylinderschraube DIN 912 - M4 x 20 - 8.8
|
||||
911021041;Zylinderschraube DIN 912 - M4 x 25 - 8.8
|
||||
911021042;Zylinderschraube DIN 912 - M4 x 30 - 8.8
|
||||
911021043;Zylinderschraube DIN 912 - M4 x 40 - 8.8
|
||||
911021044;Zylinderschraube DIN 912 - M4 x 45 - 8.8
|
||||
911021046;Zylinderschraube DIN 912 - M5 x 20 - 8.8
|
||||
911021047;Zylinderschraube DIN 912 - M4 x 10 - 8.8
|
||||
911021048;Zylinderschraube DIN 912 - M5 x 30 - 8.8
|
||||
911021049;Zylinderschraube DIN 912 - M5 x 45 - 8.8
|
||||
911021051;Zylinderschraube DIN 912 - M8 x 55 - 8.8
|
||||
911021052;Zylinderschraube DIN 912 - M8 x 50 - 8.8
|
||||
911021054;Zylinderschraube DIN 912 - M8 x 25 - 8.8
|
||||
911021055;Zylinderschraube DIN 912 - M8 x 16 - 8.8
|
||||
911021057;Zylinderschraube DIN 912 - M4 x 35 - 8.8
|
||||
911021060;Zylinderschraube DIN 912 - M10 x 70 - 8.8
|
||||
911021063;Zylinderschraube DIN 912 - M10 x 30 - 8.8
|
||||
911021065;Zylinderschraube DIN 912 - M10 x 40 - 8.8
|
||||
911021067;Zylinderschraube DIN 912 - M10 x 50 - 8.8
|
||||
911021068;Zylinderschraube DIN 912 - M10 x 60 - 8.8
|
||||
911021069;Zylinderschraube DIN 912 - M10 x 80 - 8.8
|
||||
911021072;Zylinderschraube DIN 912 - M10 x 100 - 8.8
|
||||
911021074;Zylinderschraube DIN 912 - M5 x 12 - 8.8
|
||||
911021075;Zylinderschraube DIN 912 - M5 x 60 - 8.8
|
||||
911021077;Zylinderschraube DIN 912 - M6 x 12 - 8.8
|
||||
911021079;Zylinderschraube DIN 912 - M6 x 40 - 8.8
|
||||
911021080;Zylinderschraube DIN 912 - M6 x 50 - 8.8
|
||||
911021081;Zylinderschraube DIN 912 - M4 x 55 - 8.8
|
||||
911021082;Zylinderschraube DIN 912 - M6 x 60 - 8.8
|
||||
911021084;Zylinderschraube DIN 912 - M8 x 65 - 8.8
|
||||
911021089;Zylinderschraube DIN 6912 - M8 x 12 - 08.8
|
||||
911021090;Zylinderschraube DIN 6912 - M8 x 20 - 08.8
|
||||
911021097;Zylinderschraube DIN 6912 - M6 x 12 - 08.8
|
||||
911021098;Zylinderschraube DIN 6912 - M8 x 40 - 08.8
|
||||
911021100;Zylinderschraube DIN 6912 - M6 x 80 - 08.8
|
||||
911021101;Zylinderschraube DIN 6912 - M8 x 70 - 08.8
|
||||
911021104;Senkschraube ISO 10642 - M6 x 40 - 08.8
|
||||
911021105;Senkschraube ISO 10642 - M6 x 12 - 08.8
|
||||
911021109;Senkschraube ISO 10642 - M6 x 25 - 08.8
|
||||
911021110;Senkschraube ISO 10642 - M6 x 35 - 08.8
|
||||
911021112;Senkschraube ISO 10642 - M8 x 20 - 08.8
|
||||
911021113;Senkschraube ISO 10642 - M8 x 25 - 08.8
|
||||
911021116;Senkschraube ISO 10642 - M4 x 8 - 08.8
|
||||
911021117;Senkschraube ISO 10642 - M8 x 12 - 08.8
|
||||
911021118;Senkschraube ISO 10642 - M5 x 12 - 08.8
|
||||
911021121;Senkschraube ISO 10642 - M4 x 20 - 08.8
|
||||
911021122;Senkschraube ISO 10642 - M4 x 12 - 08.8
|
||||
911021123;Senkschraube ISO 10642 - M6 x 16 - 08.8
|
||||
911021130;Zylinderschraube DIN 912 - M4 x 18 - 8.8
|
||||
911021132;Senkschraube ISO 10642 - M6 x 10 - 08.8
|
||||
911021136;Zylinderschraube DIN 912 - M5 x 75 - 8.8
|
||||
911021138;Zylinderschraube DIN 912 - M5 x 50 - 8.8
|
||||
911021141;Zylinderschraube DIN 912 - M6 x 70 - 8.8
|
||||
911021143;Zylinderschraube DIN 912 - M8 x 30 - 8.8
|
||||
911021144;Zylinderschraube DIN 912 - M8 x 35 - 8.8
|
||||
911021145;Zylinderschraube DIN 912 - M8 x 45 - 8.8
|
||||
911021147;Zylinderschraube DIN 6912 - M10 x 16 - 08.8
|
||||
911021150;Senkschraube ISO 10642 - M12 x 50 - 08.8
|
||||
911021151;Zylinderschraube DIN 912 - M5 x 8 - 8.8
|
||||
911021152;Zylinderschraube DIN 912 - M5 x 65 - 8.8
|
||||
911021153;Senkschraube ISO 10642 - M10 x 25 - 08.8
|
||||
911021155;Senkschraube ISO 10642 - M6 x 20 - 08.8
|
||||
911021156;Senkschraube ISO 10642 - M6 x 30 - 08.8
|
||||
911021157;Zylinderschraube DIN 912 - M3 x 20 - 8.8
|
||||
911021158;Zylinderschraube DIN 912 - M3 x 12 - 8.8
|
||||
911021160;Senkschraube ISO 10642 - M5 x 20 - 08.8
|
||||
911021161;Zylinderschraube DIN 6912 - M6 x 25 - 08.8
|
||||
911021162;Senkschraube ISO 10642 - M5 x 8 - 08.8
|
||||
911021163;Senkschraube ISO 10642 - M10 x 20 - 08.8
|
||||
911021166;Senkschraube ISO 10642 - M6 x 8 - 08.8
|
||||
911021167;Zylinderschraube DIN 912 - M3 x 25 - 8.8
|
||||
911021169;Zylinderschraube DIN 912 - M10 x 45 - 8.8
|
||||
911021174;Zylinderschraube DIN 912 - M6 x 8 - 8.8
|
||||
911021176;Zylinderschraube DIN 6912 - M8 x 30 - 08.8
|
||||
911021181;Senkschraube ISO 10642 - M8 x 16 - 08.8
|
||||
911021183;Senkschraube ISO 10642 - M4 x 16 - 08.8
|
||||
911021187;Zylinderschraube DIN 7984 - M4 x 25 - 08.8
|
||||
911021188;Zylinderschraube DIN 912 - M3 x 16 - 8.8
|
||||
911021189;Zylinderschraube DIN 912 - M4 x 8 - 8.8
|
||||
911021191;Zylinderschraube DIN 912 - M3 x 35 - 8.8
|
||||
911021193;Senkschraube ISO 10642 - M10 x 50 - 08.8
|
||||
911021195;Senkschraube ISO 10642 - M8 x 30 - 08.8
|
||||
911021196;Senkschraube ISO 10642 - M2,5 x 10 - 08.8
|
||||
911021197;Senkschraube ISO 10642 - M3 x 16 - 08.8
|
||||
911021199;Zylinderschraube DIN 912 - M3 x 6 - 8.8
|
||||
911021203;Zylinderschraube DIN 7984 - M4 x 16 - 08.8
|
||||
911021204;Zylinderschraube DIN 6912 - M6 x 45 - 08.8
|
||||
911021207;Senkschraube ISO 10642 - M6 x 50 - 08.8
|
||||
911021210;Senkschraube ISO 10642 - M5 x 35 - 08.8
|
||||
911021212;Zylinderschraube DIN 912 - M3 x 10 - 8.8
|
||||
911021213;Zylinderschraube DIN 912 - M4 x 12 - 8.8
|
||||
911021214;Senkschraube ISO 10642 - M3 x 12 - 08.8
|
||||
911021215;Zylinderschraube DIN 912 - M12 x 25 - 8.8
|
||||
911021219;Senkschraube ISO 10642 - M8 x 35 - 08.8
|
||||
911021220;Zylinderschraube DIN 912 - M10 x 25 - 8.8
|
||||
911021222;Senkschraube ISO 10642 - M12 x 30 - 08.8
|
||||
911021223;Zylinderschraube DIN 912 - M12 x 40 - 8.8
|
||||
911021226;Zylinderschraube DIN 912 - M6 x 35 - 8.8
|
||||
911021227;Zylinderschraube DIN 6912 - M8 x 25 - 08.8
|
||||
911021230;Senkschraube ISO 10642 - M5 x 16 - 08.8
|
||||
911021232;Zylinderschraube DIN 912 - M8 x 22 - 8.8
|
||||
911021234;Zylinderschraube DIN 912 - M5 x 22 - 8.8
|
||||
911021239;Zylinderschraube DIN 912 - M12 x 30 - 8.8
|
||||
911021248;Zylinderschraube DIN 6912 - M8 x 22 - 08.8
|
||||
911021252;Senkschraube ISO 10642 - M5 x 10 - 08.8
|
||||
911021254;Senkschraube ISO 10642 - M8 x 90 - 08.8
|
||||
911021259;Zylinderschraube DIN 912 - M8 x 12 - 8.8
|
||||
911021260;Senkschraube ISO 10642 - M4 x 30 - 08.8
|
||||
911021261;Zylinderschraube DIN 912 - M3 x 30 - 8.8
|
||||
911021262;Zylinderschraube DIN 912 - M8 x 60 - 12.9
|
||||
911031009;Senkschraube DIN 963 - M4 x 25 - 4.8
|
||||
911031014;Senkschraube DIN 963 - M5 x 16 - 4.8
|
||||
911031051;Senkschraube DIN 963 - M4 x 10 - 4.8
|
||||
911041019;Zylinderschraube DIN 84 - M5 x 16 - 4.8
|
||||
911041054;Zylinderschraube DIN 7984 - M8 x 25 - 08.8
|
||||
911051048;Flachkopfschraube DIN 923 - M5 x 8 - 5.8
|
||||
911051049;Flachkopfschraube DIN 923 - M5 x 10 - 5.8
|
||||
911051050;Senk-Holzschraube SPAX - 4 x 30 - St - Z
|
||||
911051052;Flachkopfschraube DIN 923 - M5 x 12 - 5.8
|
||||
911051053;Flachkopfschraube DIN 923 - M3 x 4 - 5.8
|
||||
911051054;Flachkopfschraube DIN 923 - M3 x 16 - 5.8
|
||||
911071012;Halbrundkopfschraube ISO 7380-1 - M8 x 30 - 010.9
|
||||
911071024;Halbrundkopfschraube ISO 7380-2 - M6 x 20 - 010.9
|
||||
911071025;Halbrundkopfschraube ISO 7380-1 - M8 x 40 - 010.9
|
||||
911071026;Halbrundkopfschraube ISO 7380-2 - M6 x 12 - 010.9
|
||||
911071027;Halbrundkopfschraube ISO 7380-2 - M5 x 10 - 010.9
|
||||
911071028;Halbrundkopfschraube ISO 7380-2 - M6 x 16 - 010.9
|
||||
911071029;Halbrundkopfschraube ISO 7380-1 - M5 x 16 - 010.9
|
||||
911071030;Halbrundkopfschraube ISO 7380-1 - M3 x 6 - 010.9
|
||||
911071031;Halbrundkopfschraube ISO 7380-2 - M4 x 16 - 010.9
|
||||
911071033;Halbrundkopfschraube ISO 7380-1 - M4 x 6 - 010.9
|
||||
911071034;Halbrundkopfschraube ISO 7380-1 - M4 x 10 - 010.9
|
||||
911071035;Halbrundkopfschraube ISO 7380-2 - M5 x 12 - 010.9
|
||||
911071036;Halbrundkopfschraube ISO 7380-2 - M8 x 10 - 010.9
|
||||
911071037;Halbrundkopfschraube ISO 7380-1 - M6 x 20 - 010.9
|
||||
911071038;Halbrundkopfschraube ISO 7380-2 - M8 x 20 - 010.9
|
||||
911071045;Halbrundkopfschraube ISO 7380-1 - M8 x 55 - 010.9
|
||||
911081007;CLIFASTIFT M8X30 - 530 000 080 100
|
||||
911091009;Gewindestift DIN 913 - M5 x 8 - 45H
|
||||
911091019;Gewindestift DIN 913 - M6 x 6 - 45H
|
||||
911091020;Gewindestift DIN 915 - M6 x 20 - 45H
|
||||
911091021;Gewindestift DIN 916 - M8 x 8 - 45H
|
||||
911091029;Gewindestift DIN 916 - M6 x 12 - 45H
|
||||
911091034;Gewindestift DIN 914 - M5 x 8 - 45H
|
||||
911091037;Gewindestift DIN 916 - M8 x 6 - 45H
|
||||
911091039;Gewindestift DIN 916 - M6 x 8 - 45H
|
||||
911091040;Gewindestift DIN 916 - M6 x 6 - 45H
|
||||
911091041;Gewindestift DIN 916 - M8 x 10 - 45H
|
||||
911091043;Gewindestift DIN 916 - M5 x 5 - 45H
|
||||
911091046;Schaftschraube DIN 427 - M5 x 20 - 14H
|
||||
911091047;Gewindestift DIN 913 - M6 x 35 - 45H
|
||||
911091049;Gewindestift DIN 916 - M4 x 4 - 45H
|
||||
911091052;Gewindestift DIN 913 - M6 x 12 - 45H
|
||||
911091053;Gewindestift DIN 913 - M6 x 16 - 45H
|
||||
911091054;Gewindestift DIN 913 - M8 x 10 - 45H
|
||||
911091061;Schaftschraube DIN 427 - M8 x 25 - 14H
|
||||
911091062;Gewindestift DIN 916 - M8 x 30 - 45H
|
||||
911091063;Gewindestift DIN 916 - M4 x 10 - 45H
|
||||
911091064;Gewindestift DIN 913 - M8 x 6 - 45H
|
||||
911091067;Gewindestift DIN 915 - M8 x 10 - 45H
|
||||
911091069;Gewindestift DIN 916 - M8 x 16 - 45H
|
||||
911091071;Gewindestift DIN 916 - M6 x 10 - 45H
|
||||
911091072;Gewindestift DIN 916 - M6 x 20 - 45H
|
||||
911091077;Gewindestift DIN 916 - M8 x 20 - 45H
|
||||
911091079;Gewindestift DIN 913 - M4 x 20 - 45H
|
||||
911091085;Gewindestift DIN 916 - M6 x 16 - 45H
|
||||
911091086;Gewindestift DIN 916 - M5 x 8 - 45H
|
||||
911091087;Gewindestift DIN 915 - M8 x 12 - 45H
|
||||
911091089;Gewindestift DIN 913 - M10 x 16 - 45H
|
||||
911091091;Schaftschraube DIN 427 - M4 x 30 - 14H
|
||||
911091092;Gewindestift DIN 914 - M5 x 16 - 45H
|
||||
911091094;Gewindestift DIN 913 - M6 x 10 - 45H
|
||||
911091095;Schaftschraube DIN 427 - M5 x 30 - 14H
|
||||
911091096;Gewindestift DIN 914 - M8 x 8 - 45H
|
||||
911091097;Gewindestift DIN 914 - M6 x 12 - 45H
|
||||
911111035;Augenschraube DIN 444 - LB M10 x 100 - 4.6
|
||||
911111036;Augenschraube DIN 444 - B M10 x 120 - 4.6
|
||||
911111041;Augenschraube DIN 444 - B M10 x 70 - A2
|
||||
911131002;Passschraube ISO 7379 - 10 x 16 - M8 - 12.9
|
||||
911131006;Passschraube ISO 7379 - 8 x 30 - M6 - 12.9
|
||||
911261011;Blechschraube DIN 7971 - ST4,2 x 16 - St - C
|
||||
911261019;Blechschraube DIN 7981 - ST2,9 x 13 - St - C - H
|
||||
911261023;Blechschraube DIN 7981 - ST4,8 x 13 - St - C - H
|
||||
911261024;Blechschraube DIN 7981 - ST3,9 x 13 - St - C - H
|
||||
911261025;Blechschraube DIN 7981 - ST4,8 x 9,5 - St - C - H
|
||||
911261062;Blechschraube DIN 7981 - ST2,9 x 6,5 - St - C - H
|
||||
911261066;Blechschraube DIN 7981 - ST3,9 x 16 - St - C - H
|
||||
912011004;Sechskantmutter DIN 934 - M3 - 8
|
||||
912011006;Sechskantmutter DIN 934 - M4 - 8
|
||||
912011007;Sechskantmutter DIN 934 - M5 - 8
|
||||
912011008;Sechskantmutter DIN 934 - M6 - 8
|
||||
912011009;Sechskantmutter DIN 934 - M8 - 8
|
||||
912011010;Sechskantmutter DIN 934 - M10 - 8
|
||||
912011011;Sechskantmutter DIN 934 - M12 - 8
|
||||
912011012;Sechskantmutter DIN 439 - B M12 - 04
|
||||
912011016;Sechskantmutter DIN 934 - M7 - 8
|
||||
912011032;Sechskantmutter DIN 439 - B M8 - 04
|
||||
912011033;Sechskantmutter DIN 439 - B M16 - 04
|
||||
912011034;Sechskantmutter DIN 439 - B M10 - 04
|
||||
912011036;Sechskantmutter DIN 439 - B M6 - 04
|
||||
912011037;Sechskantmutter DIN 439 - B M5 - 04
|
||||
912011116;Sechskantmutter DIN 439 - B M4 - 04
|
||||
912011122;Sechskantmutter DIN 934 - M16 - 8
|
||||
912011123;Sechskantmutter DIN 934 - M14 - 8
|
||||
912011124;Vierkantmutter DIN 557 - M8 - 5
|
||||
912021005;Hutmutter DIN 917 - M6 - St
|
||||
912021022;Hutmutter DIN 986 - M8 - 8
|
||||
912021025;Hutmutter DIN 1587 - M8 - 6
|
||||
912041002;Sechskantmutter DIN 985 - M4 - 8
|
||||
912041003;Sechskantmutter DIN 985 - M5 - 8
|
||||
912041004;Sechskantmutter DIN 985 - M6 - 8
|
||||
912041005;Sechskantmutter DIN 985 - M8 - 8
|
||||
912041006;Sechskantmutter DIN 985 - M10 - 8
|
||||
912041007;Sechskantmutter DIN 985 - M12 - 8
|
||||
912041010;Sechskantmutter DIN 980 - V M10 - 8
|
||||
912041011;Sechskantmutter DIN 980 - V M8 - 8
|
||||
912041012;Sechskantmutter DIN 980 - V M6 - 8
|
||||
912041020;Sechskantmutter DIN 985 - M14 - 8
|
||||
912041021;Sechskantmutter DIN 985 - M20 - 8
|
||||
912041022;Sechskantmutter DIN 985 - M3 - 8
|
||||
913011001;Scheibe DIN 125 - A 13 - 140 HV - St
|
||||
913011003;Scheibe DIN 125 - A 4,3 - 140 HV - St
|
||||
913011004;Scheibe DIN 125 - A 7,4 - 140 HV - St
|
||||
913011007;Scheibe DIN 125 - A 5,3 - 140 HV - St
|
||||
913011009;Scheibe DIN 125 - A 8,4 - 140 HV - St
|
||||
913011010;Scheibe DIN 125 - A 10,5 - 140 HV - St
|
||||
913011016;Scheibe DIN 125 - A 6,4 - 140 HV - St
|
||||
913011018;Scheibe DIN 125 - A 15 - 140 HV - St
|
||||
913011104;Scheibe DIN 9021 - 6,4 - 140 HV - St
|
||||
913011105;Scheibe DIN 9021 - 17 - 140 HV - St
|
||||
913011109;Scheibe DIN 9021 - 8,4 - 140 HV - St
|
||||
913011110;Scheibe DIN 9021 - 10,5 - 140 HV - St
|
||||
913011111;Scheibe DIN 9021 - 5,3 - 140 HV - St
|
||||
913011115;Scheibe DIN 1052 - 14 x 58 x 6 - St
|
||||
913011139;Scheibe DIN 7349 - 6,4 - 200 HV - St
|
||||
913011140;Scheibe DIN 7349 - 8,4 - 200 HV - St
|
||||
913011142;Scheibe DIN 7349 - 10,5 - 200 HV - St
|
||||
913011143;Scheibe DIN 7349 - 13 - 200 HV - St
|
||||
913011144;Passscheibe DIN 988 - 10 x 16 x 1 - St
|
||||
913011145;Passscheibe DIN 988 - 20 x 28 x 1 - St
|
||||
913011147;Scheibe DIN 125 - B 21 - 140 HV - St
|
||||
913011148;Passscheibe DIN 988 - 6 x 12 x 0,2 - St
|
||||
913011150;Scheibe DIN 125 - A 3,2 - 140 HV - St
|
||||
913011151;Passscheibe DIN 988 - 8 x 14 x 1 - A2
|
||||
913011152;Scheibe DIN 9021 - 4,3 - 140 HV - St
|
||||
913011154;Scheibe DIN 125 - A 2,7 - 140 HV - St
|
||||
913011165;Scheibe DIN 125 - A 17 - 140 HV - St
|
||||
913011174;Passscheibe DIN 988 - 6 x 12 x 1 - St
|
||||
913011178;Scheibe DIN 7349 - 17 - 200 HV - St
|
||||
913011180;Scheibe DIN 7349 - 4,3 - 200 HV - St
|
||||
913011181;Passscheibe DIN 988 - 40 x 50 x 0,5 - St
|
||||
913011187;Passscheibe DIN 988 - 12 x 18 x 0,5 - St
|
||||
913011189;Scheibe DIN 433 - 5,3 - 140 HV - St
|
||||
913011193;Passscheibe DIN 988 - 10 x 16 x 0,2 - St
|
||||
913031005;Federring DIN 127 - A 3 - FSt
|
||||
913031006;Federring DIN 127 - A 4 - FSt
|
||||
913031007;Federring DIN 127 - A 5 - FSt
|
||||
913031008;Federring DIN 127 - A 6 - FSt
|
||||
913031009;Federring DIN 127 - A 8 - FSt
|
||||
913031010;Federring DIN 127 - A 10 - FSt
|
||||
913031011;Federring DIN 127 - A 12 - FSt
|
||||
913031035;Federring DIN 7980 - 4 - FSt
|
||||
913031037;Federring DIN 7980 - 6 - FSt
|
||||
913031038;Federring DIN 7980 - 8 - FSt
|
||||
913031040;Federring DIN 7980 - 10 - FSt
|
||||
913031041;Federring DIN 7980 - 12 - FSt
|
||||
913031044;Federring DIN 7980 - 5 - FSt
|
||||
913041045;Scheibe DIN 440 - R 9 - 100 HV - St
|
||||
913051010;Fächerscheibe DIN 6798 - A 4,3 - FSt
|
||||
913051012;Fächerscheibe DIN 6798 - J 6,4 - FSt
|
||||
913051013;Fächerscheibe DIN 6798 - A 8,4 - FSt
|
||||
913051014;Fächerscheibe DIN 6798 - A 10,5 - FSt
|
||||
913051021;Sicherungsscheibe DIN 6799 - 6 - St
|
||||
913051022;Sicherungsscheibe DIN 6799 - 4 - St
|
||||
913051023;Sicherungsscheibe DIN 6799 - 9 - St
|
||||
913051024;Sicherungsscheibe DIN 6799 - 8 - St
|
||||
913051025;Sicherungsscheibe DIN 6799 - 7 - St
|
||||
913051026;Sicherungsscheibe DIN 6799 - 5 - St
|
||||
913051027;Sicherungsscheibe DIN 6799 - 1,9 - St
|
||||
913051035;Spannscheibe DIN 6796 - 10 - FSt
|
||||
913051038;Zahnscheibe DIN 6797 - A 5,3 - FSt
|
||||
913051040;Spannscheibe DIN 6796 - 8 - FSt
|
||||
913051058;Spannscheibe DIN 6796 - 12 - FSt
|
||||
914011006;Zylinderstift DIN 6325 - 8 m6 x 60 - St
|
||||
914011007;Zylinderstift DIN 6325 - 8 m6 x 30 - St
|
||||
914011008;Zylinderstift DIN 6325 - 1,5 m6 x 6 - St
|
||||
914011009;Zylinderstift DIN 6325 - 5 m6 x 36 - St
|
||||
914011010;Zylinderstift DIN 6325 - 5 m6 x 16 - St
|
||||
914011013;Zylinderstift DIN 6325 - 5 m6 x 40 - St
|
||||
914011014;Zylinderstift DIN 6325 - 6 m6 x 24 - St
|
||||
914011017;Zylinderstift DIN 6325 - 6 m6 x 32 - St
|
||||
914011018;Zylinderstift DIN 6325 - 6 m6 x 12 - St
|
||||
914011020;Zylinderstift DIN 6325 - 3 m6 x 32 - St
|
||||
914011026;Zylinderstift DIN 6325 - 6 m6 x 36 - St
|
||||
914011027;Zylinderstift DIN 7 - 6 m6 x 80 - St
|
||||
914011030;Zylinderstift DIN 7 - 5 m6 x 18 - St
|
||||
914011032;Zylinderstift DIN 6325 - 4 m6 x 20 - St
|
||||
914011033;Zylinderstift DIN 6325 - 4 m6 x 10 - St
|
||||
914011038;Zylinderstift DIN 6325 - 8 m6 x 18 - St
|
||||
914011039;Zylinderstift DIN 7 - 5 m6 x 20 - St
|
||||
914011040;Zylinderstift DIN 6325 - 4 m6 x 24 - St
|
||||
914011041;Zylinderstift DIN 6325 - 8 m6 x 40 - St
|
||||
914011046;Zylinderstift DIN 6325 - 4 m6 x 55 - St
|
||||
914011047;Zylinderstift DIN 6325 - 3 m6 x 22 - St
|
||||
914011050;Zylinderstift DIN 6325 - 4 m6 x 14 - St
|
||||
914011051;Zylinderstift DIN 6325 - 3 m6 x 28 - St
|
||||
914011057;Zylinderstift DIN 6325 - 10 m6 x 60 - St
|
||||
914011061;Zylinderstift DIN 6325 - 3 m6 x 20 - St
|
||||
914011064;Stift DIN 7979 - D 8 m6 x 40 - St
|
||||
914011065;Zylinderstift DIN 6325 - 6 m6 x 20 - St
|
||||
914011066;Stift DIN 7979 - D 6 m6 x 36 - St
|
||||
914011067;Zylinderstift DIN 6325 - 8 m6 x 80 - St
|
||||
914011069;Zylinderstift DIN 6325 - 8 m6 x 36 - St
|
||||
914011073;Zylinderstift DIN 6325 - 8 m6 x 24 - St
|
||||
914011076;Zylinderstift DIN 7 - 5 h8 x 20 - St
|
||||
914011079;Stift DIN 7979 - D 10 m6 x 28 - St
|
||||
914031001;Spannstift ISO 8752 - 3 x 20 - St
|
||||
914031004;Spannstift ISO 8752 - 6 x 40 - St
|
||||
914031007;Spannstift ISO 8752 - 4 x 24 - St
|
||||
914031008;Spannstift ISO 8752 - 4 x 26 - St
|
||||
914031009;Spannstift ISO 8752 - 5 x 22 - St
|
||||
914031013;Spannstift ISO 8752 - 3 x 10 - St
|
||||
914031014;Spannstift ISO 8752 - 5 x 30 - St
|
||||
914031016;Spannstift ISO 8752 - 4 x 30 - St
|
||||
914031017;Spannstift ISO 8752 - 6 x 32 - St
|
||||
914031032;Spannstift ISO 8752 - 5 x 20 - St
|
||||
914031037;Spannstift ISO 8752 - 8 x 50 - St
|
||||
914031041;Spannstift ISO 8752 - 4 x 14 - St
|
||||
914031044;Spannstift ISO 8752 - 3 x 26 - St
|
||||
914031047;Spannstift ISO 8752 - 5 x 26 - St
|
||||
914031048;Spannstift ISO 8752 - 2 x 8 - St
|
||||
914031055;Spannstift ISO 8752 - 5 x 40 - St
|
||||
915011001;Sicherungsring DIN 471 - 12 x 1 - St
|
||||
915011002;Sicherungsring DIN 471 - 10 x 1 - St
|
||||
915011003;Sicherungsring DIN 471 - 15 x 1 - St
|
||||
915011004;Sicherungsring DIN 471 - 25 x 1,2 - St
|
||||
915011007;Sicherungsring DIN 471 - 20 x 1,2 - St
|
||||
915011009;Sicherungsring DIN 471 - 16 x 1 - St
|
||||
915011011;Sicherungsring DIN 471 - 35 x 1,5 - St
|
||||
915011013;Sicherungsring DIN 471 - 6 x 0,7 - St
|
||||
915011017;Sicherungsring DIN 471 - 8 x 0,8 - St
|
||||
915011018;Sicherungsring DIN 471 - 7 x 0,8 - St
|
||||
915011019;Sicherungsring DIN 471 - 30 x 1,5 - St
|
||||
915011021;Sicherungsring DIN 471 - 40 x 1,75 - St
|
||||
915021003;Sicherungsring DIN 472 - 42 x 1,75 - St
|
||||
915021004;Sicherungsring DIN 472 - 26 x 1,2 - St
|
||||
915021005;Sicherungsring DIN 472 - 62 x 2 - St
|
||||
915021006;Sicherungsring DIN 472 - 32 x 1,2 - St
|
||||
915021007;Sicherungsring DIN 472 - 47 x 1,75 - St
|
||||
915021008;Sicherungsring DIN 472 - 52 x 2 - St
|
||||
915021009;Sicherungsring DIN 472 - 19 x 1 - St
|
||||
915021010;Sicherungsring DIN 472 - 16 x 1 - St
|
||||
915021012;Sicherungsring DIN 472 - 68 x 2,5 - St
|
||||
915021014;Sicherungsring DIN 472 - 22 x 1 - St
|
||||
919010055;SCHÖNENBERGER FÖRDERER AUFKLEBER 70X20 MM
|
||||
919010057;SCHÖNENBERGER FÖRDERER TYPENSCHILD SILBER 51X102MM
|
||||
919050006;"WARNSCHILD ""WARNUNG VOR HANDVERLETZUNG"" 50 mm"
|
||||
924031033;KETTENSPANNRAD Z=17 16 13 017 (MIT
|
||||
925011005;Passfeder DIN 6885-1 - A 6 x 6 x 60 - St
|
||||
925011006;Passfeder DIN 6885-1 - A 8 x 7 x 40 - St
|
||||
925011007;Passfeder DIN 6885-1 - A 6 x 6 x 50 - St
|
||||
925011008;Passfeder DIN 6885-1 - A 6 x 6 x 32 - St
|
||||
925011012;Passfeder DIN 6885-1 - A 8 x 7 x 60 - St
|
||||
925011015;Passfeder DIN 6885-1 - A 6 x 6 x 20 - St
|
||||
925011016;Passfeder DIN 6885-1 - A 8 x 7 x 28 - St
|
||||
925011017;Passfeder DIN 6885-3 - A 8 x 5 x 25 - St
|
||||
925011025;Passfeder DIN 6885-1 - A 12 x 8 x 36 - St
|
||||
925011026;Passfeder DIN 6885-1 - A 12 x 8 x 50 - St
|
||||
929012186;Kunststoffschlauch Ø-außen 6, transparent
|
||||
929012538;GERADE STECKVERBINDUNG ZYL. KQ2H06-M5A
|
||||
929012539;T-STECKVERBINDUNG KQ2T08-06A
|
||||
929012580;SCHALLDÄMPFER AN10-01
|
||||
929012603;WEGEVENT.5/2 MONOSTABIL SY5120-5WAOU-C6F-Q
|
||||
929012605;SEITENPLATTE F. ILS-VENTIL S_PN_SX5000-16-1A
|
||||
929012606;WINKEL-SCHWENK-VERSCHR. G1/8 KQ2L06-01AS
|
||||
929012609;ZYL. D25 H8 DOPPELTW. VERDREHSICHER CQMB25-8
|
||||
929055247;GETR.MOT. SA57DRN80MK4, M5A, 0,55KW, 50HZ O.BR.
|
||||
931991002;RUTSCHPROFIL S 1000 SCHWARZ - 41046-3
|
||||
|
|
After Width: | Height: | Size: 164 KiB |
|
After Width: | Height: | Size: 5.2 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 8.9 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 7.8 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 8.4 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 7.7 KiB |
|
After Width: | Height: | Size: 6.6 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 7.2 KiB |
|
After Width: | Height: | Size: 8.5 KiB |
|
After Width: | Height: | Size: 9.0 KiB |
|
After Width: | Height: | Size: 9.4 KiB |
|
After Width: | Height: | Size: 8.5 KiB |
|
After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 8.3 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 9.0 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 6.3 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 8.1 KiB |
|
After Width: | Height: | Size: 9.2 KiB |
|
After Width: | Height: | Size: 8.3 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 9.2 KiB |
|
After Width: | Height: | Size: 6.3 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 8.4 KiB |
|
After Width: | Height: | Size: 20 KiB |
@@ -0,0 +1,11 @@
|
||||
# Beispiele
|
||||
|
||||
## Assemblies
|
||||
|
||||
die folgenden Sivas Nummern können als Referenz für die Programmierung bzw. zur Visualisierung als Beispiel verwendet werden:
|
||||
|
||||
400102196,
|
||||
829522001,
|
||||
200000040,
|
||||
400102624,
|
||||
400102325,
|
||||
@@ -0,0 +1,5 @@
|
||||
- Unterordner im Ordner CREMIG_DATA= für Teilestamm und für Baugruppenstruktur
|
||||
- Ergänzung der Applikation Sivas4.exe um den Schalter -o für das Ausgabeverzeichnis
|
||||
- Ergänzung der Applikation Sivas4.exe -s/-q für quiet, also dass Sivas nicht explizit sichtbar wird (Performance)
|
||||
- Ergänzung der Applikation Sivas4.exe, dass die Ausgabedatei nicht mehr from_siv.csv, sondern wie die SivasId heissen soll
|
||||
- @Simon Excel mit Tree eines Assembly wird jedes mal neu geschrieben, nur werden vorher Bemerkungen etc. aus der Altdatei gelesen und in den neuen Export wieder rein geschrieben
|
||||
@@ -0,0 +1,74 @@
|
||||
import tkinter as tk
|
||||
#import ttkbootstrap as ttk
|
||||
#from ttkbootstrap.constants import *
|
||||
from gui import App
|
||||
from caditem import CadItem, GuiLogic
|
||||
from controller import Controller
|
||||
from manage_configs import Configs
|
||||
import argparse
|
||||
import os
|
||||
|
||||
|
||||
class Environment:
|
||||
|
||||
def __init__(self):
|
||||
self.lib_dir = os.environ.get('CREMIG_LIB')
|
||||
self.data_dir = os.environ.get('CREMIG_DATA')
|
||||
self.out_dir = os.environ.get('CREMIG_WORK')
|
||||
self.cfg_dir = os.environ.get('CREMIG_CFG')
|
||||
self.log_dir = os.environ.get('CREMIG_LOG')
|
||||
self.ruledesigner_csv_filename = os.environ.get('RD_DATABASE_NAME')
|
||||
|
||||
def build_gui(model, configs, env, sivasid=None, uselocal=True):
|
||||
root = tk.Tk()
|
||||
#root = ttk.Window()
|
||||
app = App(root, configs)
|
||||
|
||||
controller = Controller(model, app)
|
||||
controller.set_env(env)
|
||||
controller.set_config(configs)
|
||||
if sivasid:
|
||||
controller.get_csv_files_of_asm(sivasid, load_local_bom=uselocal, load_local_teilestamm=uselocal, load_local_rd_ids=uselocal)
|
||||
|
||||
logic = GuiLogic(model, configs)
|
||||
model.add_logic(logic)
|
||||
|
||||
# um ohne Observer pattern auch Rückmeldungen geben zu können
|
||||
app.set_controller(controller)
|
||||
model.set_controller(controller)
|
||||
|
||||
# Daten des Modells in der Oberfläche darstellen
|
||||
controller.refresh_gui()
|
||||
app.mainloop()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
parser = argparse.ArgumentParser(description='Das Programm ermöglicht einw graphisch unterstützte Migration eines Teiles oder Assemblies von Creo nach SolidEdge. Erzeugt eine korrekte Impfdatei.', prog='CreoMigrateGui')
|
||||
parser.add_argument('-s', '--sivasid', action='store', help='Eingabe der SIVAS-Teilenummer, für die der Migrationsstatus angezeigt werden soll')
|
||||
parser.add_argument('-d', '--demo', action='store_true', help='arbeitet ohne Server. Lädt Testdaten ein um nur eine Oberfläche darzustellen')
|
||||
parser.add_argument('-l', '--uselocal', action='store_true', help='Verbinde dich nicht zur Datenbank. Benutzer alle lokalen Dateien (falls vorhanden) für die gegebene asm-id')
|
||||
args = parser.parse_args()
|
||||
|
||||
environment = Environment()
|
||||
|
||||
data_dir = environment.data_dir
|
||||
configs = Configs(environment.cfg_dir)
|
||||
configs.set_data_dir(data_dir)
|
||||
|
||||
|
||||
model = CadItem()
|
||||
if args.sivasid:
|
||||
sivasid = args.sivasid.strip()
|
||||
|
||||
output_dir = environment.out_dir
|
||||
assembl_path = os.path.join(output_dir, sivasid + '.json')
|
||||
if os.path.exists(assembl_path):
|
||||
# wenn schon einmal das assembly als json abgespeichert wurde, dann dieses laden
|
||||
model.load(assembl_path)
|
||||
else:
|
||||
# die Gui aufbauen
|
||||
build_gui(model, configs, environment, sivasid, args.uselocal)
|
||||
else:
|
||||
build_gui(model, configs, environment)
|
||||
|
||||
|
||||
@@ -1,233 +1,486 @@
|
||||
from manage_configs import SivasBOM, RuleDesignerDatabaseConfig, MigrationStatus, SivasTeilestamm, BOMConfig
|
||||
import argparse
|
||||
import os
|
||||
import pandas as pd
|
||||
import json
|
||||
import openpyxl
|
||||
from itertools import zip_longest
|
||||
|
||||
"""
|
||||
Dieses Programm :
|
||||
- holt sich die CSV-Datei, in der alle exisitierenden RuleDesigner-Teilenummern enthalten sind
|
||||
- holt sich die json-Datei, in der alle Teilenummern aufgelistet sind, die in Verbindung mit einer gewünschten Teilenummer migriert werden müssen
|
||||
- exportiert alle Nummern aus der JSON-Datei in eine Excel Datei. Die Excel zeigt, welche Teilenummern bereits migriert wurden und welche noch migriert werden müssen.
|
||||
Dieses Programm kann:
|
||||
- eine Excel-Datei exportieren, in der alle Teilenummern aufgelistet sind, die in Verbindung mit einer angegebenen Nummer migriert werden müssen.
|
||||
Sie gibt dabei Auskunft darüber, welche Teilenummern bereits migriert wurden und welche noch migriert werden müssen.
|
||||
- die oben Darstellung in der Excel-Datei als Baum in der Konsole ausgeben
|
||||
"""
|
||||
|
||||
def create_sorter_string(sivasData, sivasId):
|
||||
class GetExcludedIDsFromCFG(argparse.Action):
|
||||
def __call__(self, parser, namespace, values, option_string = None):
|
||||
bom_config = BOMConfig(os.path.dirname(values[0]), os.path.basename(values[0]))
|
||||
excluded_ids = bom_config.get_excluded_ids(values[1])
|
||||
setattr(namespace, self.dest, excluded_ids)
|
||||
|
||||
# Funktion setzt rekursiv einen String zusammen, der anzeigt, wo sich eine Teilenummer in der Hierarchie der obersten, zu migrierenden Baugruppe befindet.
|
||||
# Beispiel:
|
||||
# Die Teilenummer "123456" ist das Halbzeug der Teilenummer "234567". "234567" ist wiederum in der Baugruppe "345678" eingebaut.
|
||||
# Die Funktion gibt dann folgenden Sortier-String zurück:
|
||||
# 345678-234567-123456
|
||||
class LStrip(argparse.Action):
|
||||
def __call__(self, parser, namespace, values, option_string = None):
|
||||
setattr(namespace, self.dest, values.lstrip())
|
||||
|
||||
parent = sivasData[sivasId]['Parent']
|
||||
if parent not in sivasData:
|
||||
return f"{parent}-{sivasId}"
|
||||
recurval = create_sorter_string(sivasData, parent)
|
||||
return f"{recurval}-{sivasId}"
|
||||
class LocateSQLCredentials(argparse.Action):
|
||||
def __call__(self, parser, namespace, values, option_string = None):
|
||||
if not os.path.isfile(os.environ.get("RD_SQL_DATABASE_CREDENTIALS")):
|
||||
print(f"ACHTUNG: Blau hinterlegte Nummern (Teilenummern die ins PDM migriert wurden, aber aktuell nicht freigegeben sind) werden nicht dargestellt, da nicht auf die Login-Daten für die RD-SQL-Datenbank zugegriffen werden kann. Bitte prüfen, ob die Login-Datei '{os.environ.get("RD_SQL_DATABASE_CREDENTIALS")}' existiert. Auch prüfen, ob die Netzlaufwerke verbunden sind!")
|
||||
setattr(namespace, self.dest, True)
|
||||
|
||||
|
||||
def create_excel_export(existingIds, sivasData, sivasId, outPath):
|
||||
class ExcelExport:
|
||||
|
||||
# Spalten in Excel-Datei: Sortierung, Teilenummer, Bezeichnung, Bestandsabfrage, Teilebeurteilung, Zusatzbemerkung
|
||||
# Sortierung: Minus-separierter "Pfad" dieser Teilenummer im Assembly / im Halbzeug
|
||||
# Teilenummer: Sivas-Teilenummer
|
||||
# Bezeichnung: SIVAS-Bezeichnung der Teilenummer
|
||||
# Bestandsabfrage: IMPORTIEREN oder VERFÜGBAR -> "IMPORTIEREN" = Teilenummer muss noch migriert werden, "VERFÜGBAR" = Teilenummer wurde bereits migriert
|
||||
# Restliche Spalten bleiben leer, da sie erst in Excel befüllt werden
|
||||
def __init__(self,
|
||||
asm_id,
|
||||
asm_json_dir,
|
||||
asm_json_filename,
|
||||
asm_csv_dir,
|
||||
asm_csv_filename,
|
||||
rd_dbase_dir,
|
||||
rd_dbase_filename,
|
||||
load_local_asm_json,
|
||||
load_local_asm_csv,
|
||||
load_local_rd_dbase,
|
||||
no_blue_ids):
|
||||
self.asm_id = asm_id
|
||||
self.asm_data = SivasBOM(asm_json_dir, asm_json_filename, load_local_asm_json)
|
||||
self.asm_metadata = SivasTeilestamm(asm_csv_dir, asm_csv_filename, load_local_asm_csv)
|
||||
self.rd_data = RuleDesignerDatabaseConfig(rd_dbase_dir, rd_dbase_filename, load_local_rd_dbase)
|
||||
self._migration_status = None
|
||||
|
||||
sortierung = []
|
||||
teilenummer = []
|
||||
bezeichnung = []
|
||||
migrationsstatus = []
|
||||
teilebeurteilung = []
|
||||
zusatzbemerkung = []
|
||||
@property
|
||||
def migration_status(self):
|
||||
if self._migration_status is None:
|
||||
self._migration_status = MigrationStatus(self.asm_data.child_ids, self.rd_data.ids)
|
||||
return self._migration_status
|
||||
|
||||
for item in sivasData:
|
||||
sortierung.append(create_sorter_string(sivasData, item))
|
||||
teilenummer.append(item)
|
||||
bezeichnung.append(sivasData[item]['Bezeichnung'])
|
||||
existing = "VERFÜGBAR" if existingIds[item] is True else False
|
||||
migrationsstatus.append(existing)
|
||||
teilebeurteilung.append('')
|
||||
zusatzbemerkung.append('')
|
||||
def write_excel(self):
|
||||
|
||||
data = {
|
||||
"Sortierung": sortierung,
|
||||
"Teilenummer": teilenummer,
|
||||
"Bezeichnung": bezeichnung,
|
||||
"Migrationsstatus": migrationsstatus,
|
||||
"Teile Beurteilung": teilebeurteilung,
|
||||
"Zusatzbemerkung": zusatzbemerkung
|
||||
}
|
||||
data = self._create_excel_data()
|
||||
out_dir = os.environ.get("CREMIG_WORK")
|
||||
out_path = os.path.join(out_dir, self.asm_id + ".xlsm")
|
||||
|
||||
excel_filename = os.path.join(outPath, sivasId + ".xlsx")
|
||||
df = pd.DataFrame.from_dict(data)
|
||||
df.to_excel(excel_filename, sheet_name="Ergebnis", index_label="Sortierung")
|
||||
workbook_path = os.path.join(os.environ.get("CREMIG_LIB"), os.environ.get("VBA_MACRO_NAME"))
|
||||
workbook = openpyxl.load_workbook(workbook_path, keep_vba=True)
|
||||
worksheet = workbook.active
|
||||
|
||||
# Spaltenüberschriften
|
||||
for header, column in zip(data, worksheet.iter_cols(min_row=1, max_col=len(data), max_row=1)):
|
||||
for cell in column:
|
||||
cell.value = header
|
||||
|
||||
def read_sivas_nums(jsonPath):
|
||||
with open(jsonPath, encoding='utf-8') as json_file:
|
||||
return json.load(json_file)
|
||||
# Werte unter Spaltenüberschriften
|
||||
for value, column in zip(data.values(), worksheet.iter_cols(min_row=2, max_col=len(data), max_row=len(data["Sortierung"])+1)):
|
||||
for cell, element in zip(column, value):
|
||||
cell.value = element
|
||||
|
||||
# Umbenennung des Blattes erforderlich, da die Umbenennung die Ausführung des VBA-Makros triggert.
|
||||
# Die Umbenennung muss NACH dem Einfügen der Daten in das Blatt erfolgen, da die bedingte Formatierung,
|
||||
# die ebenfalls Bestandteil des Makros ist, nicht ausgeführt werden kann, solange sich keine Daten im Blatt befinden
|
||||
worksheet.title = "Ergebnis"
|
||||
|
||||
def read_ruledesigner_nums(rdDataBasePath):
|
||||
df = pd.read_csv(rdDataBasePath, sep=';', converters={"Teilenummer":str})
|
||||
return tuple(df["Teilenummer"])
|
||||
workbook.save(out_path)
|
||||
print(f"Excel-Datei erfolgreich in '{out_dir}' geschrieben...")
|
||||
|
||||
def _create_excel_data(self) -> dict:
|
||||
|
||||
def compareFiles(rdDataBasePath, jsonPath, sivasId, outPath):
|
||||
# Spalten im Arbeitsblatt: Sortierung, Teilenummer, Bezeichnung, Bestandsabfrage, Teilebeurteilung, Zusatzbemerkung
|
||||
# Sortierung: Minus-separierte Hierarchie der Teilenummern in der Stücklistenstruktur
|
||||
# Teilenummer: SIVAS-Teilenummer
|
||||
# Bezeichnung: SIVAS-Bezeichnung der Teilenummer
|
||||
# Migrationsstatus: "IMPORTIEREN" = Migration ausstehend, "VERFÜGBAR" = Migration abgeschlossen
|
||||
# Alle weiteren Spalten bleiben leer, da sie händisch vom User zu befüllen sind
|
||||
|
||||
# Liest:
|
||||
# - die CSV-Datei ein, in der alle RuleDesigner-Nummern aufgelistet sind
|
||||
# - die JSON-Datei ein, in der alle Sivas-Teilenummern, die i.V.m einer Teilenummer ebenfalls migriert werden müssen
|
||||
ruledesigner_ids = read_ruledesigner_nums(rdDataBasePath)
|
||||
sivas_ids = read_sivas_nums(jsonPath)
|
||||
sorting = self._create_sorting_string()
|
||||
migrated_ids = self.migration_status.ids_in_rd
|
||||
child_descriptions:dict = self.asm_data.get_prop_val_for_all_ids("Bezeichnung")
|
||||
parent_description:str = self.asm_metadata.get_property_values("Bezeichnung1")
|
||||
|
||||
# Prüft, ob die Sivas-Nummern bereits migriert wurden
|
||||
existingIds = {}
|
||||
for sivas_id in sivas_ids:
|
||||
existingIds[sivas_id] = True if sivas_id in ruledesigner_ids else False
|
||||
descriptions = child_descriptions.copy()
|
||||
descriptions[asm_id] = parent_description
|
||||
|
||||
# Erstellt das work-Verzeichnis, falls dieses noch nicht exisitert
|
||||
if not os.path.isdir(outPath):
|
||||
print(f"Fehlendes work-Verzeichnis unter '{outPath}' erstellt")
|
||||
os.mkdir(outPath)
|
||||
prt_num = []
|
||||
description = []
|
||||
migration_status = []
|
||||
assessment = []
|
||||
comment = []
|
||||
|
||||
# Schreibt eine Excel-Datei mit den korrekten Spalten raus
|
||||
create_excel_export(existingIds, sivas_ids, sivasId, outPath)
|
||||
for id_str in sorting:
|
||||
id = id_str.split("-")[-1]
|
||||
prt_num.append(id)
|
||||
assessment.append('')
|
||||
comment.append('')
|
||||
|
||||
|
||||
def compare_treeview(json_path, ruledesigner_path):
|
||||
|
||||
ruledesigner_nums = read_ruledesigner_nums(ruledesigner_path)
|
||||
sivas_nums = read_sivas_nums(json_path)
|
||||
|
||||
# Verbinder-Symbole
|
||||
symbols = {
|
||||
"pipe": "│ ",
|
||||
"empty": " ",
|
||||
"elbow": "└──",
|
||||
"t": "├──"
|
||||
}
|
||||
|
||||
# ANSI-Escape-Sequenzen für Einfärbung des Terminals abhängig vom Migrationsstatus.
|
||||
# Codes, siehe https://gist.github.com/fnky/458719343aabd01cfb17a3a4f7296797
|
||||
# BG = Hintergrundfarbe
|
||||
colors = {
|
||||
"BG_RED": "\033[41m",
|
||||
"BG_GREEN": "\033[42m",
|
||||
"RESET": "\033[0m"
|
||||
}
|
||||
|
||||
prefix = ""
|
||||
|
||||
# Erstellt dict mit allen Parents (Keys) und weist den Parents deren Kinder als Werte zu.
|
||||
# Wird später benötigt, um zu bestimmen, ob eine Teilenummer das letzte Kind eines Parents ist d.h. wenn ein Parent z.B. 4 Kinder
|
||||
# besitzt, ob es sich um das letzte, also 4. Kind handelt. In diesem Fall darf unter der Nummer kein Pipe-Symbol erscheinen
|
||||
parents_children = {}
|
||||
for sivas_num in sivas_nums:
|
||||
parent = sivas_nums[sivas_num]["Parent"]
|
||||
if parent not in parents_children:
|
||||
parents_children[parent] = []
|
||||
parents_children[parent].append(sivas_num)
|
||||
|
||||
max_tree_depth = max(i["Position"].count(".") for i in sivas_nums.values())
|
||||
# Längste Sivas-Teilenummer (weil evtl. >9, wenn mit Underline)
|
||||
max_sivas_num_len = max([len(i) for i in sivas_nums.keys()])
|
||||
max_description_len = max([len(i["Bezeichnung"]) for i in sivas_nums.values()])
|
||||
|
||||
|
||||
# Erstellung des Treeviews mit Spalte "Bezeichnung"
|
||||
for i, sivas_num in enumerate(sivas_nums):
|
||||
|
||||
# Für Verarbeitung der ANSI-Escape-Sequenzen,
|
||||
# siehe https://stackoverflow.com/questions/12492810/python-how-can-i-make-the-ansi-escape-codes-to-work-also-in-windows
|
||||
os.system("color")
|
||||
|
||||
parent = sivas_nums[sivas_num]["Parent"]
|
||||
description = sivas_nums[sivas_num]["Bezeichnung"]
|
||||
position = sivas_nums[sivas_num]["Position"]
|
||||
|
||||
# Wird später für Zusammensetzung des Präfix benötigt
|
||||
if (i + 1) != len(sivas_nums):
|
||||
next_key = list(sivas_nums)[i + 1]
|
||||
next_key_pos = sivas_nums[next_key]["Position"]
|
||||
|
||||
# Ermittelt das Level des aktuellen und nächsten Keys bezogen auf die Nummern-Hierarchie
|
||||
current_key_level = position.count(".")
|
||||
next_key_level = next_key_pos.count(".")
|
||||
|
||||
# └── als Verbinder, wenn letzter Knotenpunkt, sonst ├──
|
||||
connector_symbol = symbols['elbow'] if sivas_num == parents_children[parent][-1] else symbols['t']
|
||||
|
||||
|
||||
# Farbliche Terminal-Darstellung abhängig vom Migrationsstatus: grün = migriert, rot = noch nicht migriert
|
||||
output_color = f"{colors['BG_GREEN']}" if sivas_num in ruledesigner_nums else f"{colors['BG_RED']}"
|
||||
|
||||
# Bei oberster Teilenummer soll kein Verbinder dargestellt werden.
|
||||
if i == 0:
|
||||
print(f"{output_color}{parent}{colors['RESET']}")
|
||||
|
||||
tree_str = f"{prefix}{connector_symbol}{output_color}{sivas_num}{colors['RESET']}"
|
||||
len_tree_str = len(tree_str) - len(output_color) - len(colors['RESET'])
|
||||
|
||||
# Anzahl der Leerzeichen zwischen dem Tree und der Bezeichnungsspalte
|
||||
pad_tree = ((max_tree_depth * len(symbols['pipe']) + len(symbols['t']) + max_sivas_num_len) - len_tree_str + 2) * " "
|
||||
# Anzahl der Leerzeichen zwischen dem Tree und der Kommentarspalte
|
||||
pad_description = (max_description_len - len(description) + 2) * " "
|
||||
|
||||
print(f"{tree_str}{pad_tree}{description}{pad_description}")
|
||||
|
||||
# Nachfolgend wird der Präfix vor der Nummer für den NÄCHSTEN Durchlauf zusammengesetzt
|
||||
# Der Präfix-Teil setzt sich fallabhängig aus Pipe-Symbolen (| ) und/oder Leerraum ( ) zusammen.
|
||||
|
||||
# Prüft, ob die aktuelle Nummer das letzte Kind des Parents ist
|
||||
if sivas_num == parents_children[parent][-1]:
|
||||
|
||||
# Prüft, ob das aktuelle Teil auch ein Parent ist.
|
||||
# Wenn ja, muss unter dem connector-Symbol der aktuellen Nummer (also im nächsten Durchlauf) Leerraum sein
|
||||
if sivas_num in parents_children:
|
||||
prefix += symbols["empty"]
|
||||
|
||||
# Baumende auf der aktuellen Ebene ist erreicht. Die nächste Teilenummer (wenn nicht das Gesamtende des Baums erreicht ist)
|
||||
# liegt unter der aktuellen Ebene. Der bisherige Präfix-String muss folglich gekürzt werden. Die Anzahl der Zeichen,
|
||||
# die gekürzt werden müssen ergibt sich durch die Anzahl der Ebenen, die zwischen der aktuellen Teilenummer und der darauffolgenden Teilenummer
|
||||
# liegen und der Länge des Pipe-Symbols, bzw. eines anderen Symbols (alle haben eine Länge von 3)
|
||||
if id not in descriptions:
|
||||
description.append("")
|
||||
else:
|
||||
prefix_trim_len = (next_key_level - current_key_level) * len(symbols["pipe"])
|
||||
prefix = prefix[:prefix_trim_len]
|
||||
description.append(descriptions[id])
|
||||
|
||||
if id in migrated_ids:
|
||||
if id in self.migration_status.ids_in_progress:
|
||||
migration_status.append("PDM-Migration abgeschlossen")
|
||||
else:
|
||||
migration_status.append("Migration abgeschlossen (freigegeben)")
|
||||
|
||||
else:
|
||||
migration_status.append("Migration ausstehend")
|
||||
|
||||
data = {
|
||||
"Sortierung": sorting,
|
||||
"Teilenummer": prt_num,
|
||||
"Bezeichnung": description,
|
||||
"Migrationsstatus": migration_status,
|
||||
"Beurteilung": assessment,
|
||||
"Bemerkung": comment
|
||||
}
|
||||
return data
|
||||
|
||||
def _create_sorting_string(self, parent=None, previous_parents="", sorting_strings=None) -> list:
|
||||
|
||||
"""
|
||||
Creates a string which represents the hierarchy of a partnumber in the SIVAS-BOM (bill of material).
|
||||
Example:
|
||||
The string "1000-1100-1110-1111" for the partnumber "1111" would represent the following BOM structure:
|
||||
|
||||
1000
|
||||
└──1100
|
||||
└──1110
|
||||
└──1111
|
||||
"""
|
||||
|
||||
if parent is None:
|
||||
parent = self.asm_id
|
||||
if sorting_strings is None:
|
||||
sorting_strings = [parent]
|
||||
|
||||
parent_children = self.asm_data.parent_children
|
||||
children = parent_children[parent]
|
||||
|
||||
for child in children:
|
||||
|
||||
sorting_strings.append(f"{previous_parents}-{parent}-{child}".lstrip("-"))
|
||||
|
||||
if child in parent_children:
|
||||
self._create_sorting_string(parent=child, previous_parents=previous_parents + f"-{parent}", sorting_strings=sorting_strings)
|
||||
|
||||
return sorting_strings
|
||||
|
||||
class Treeview:
|
||||
|
||||
# For correct display of ANSI escape sequences
|
||||
os.system("color")
|
||||
|
||||
prefix_types = {"PIPE": "│ ",
|
||||
"EMPTY": " "
|
||||
}
|
||||
|
||||
connector_symbols = {"ELBOW": "└──",
|
||||
"T": "├──"
|
||||
}
|
||||
|
||||
console_colors = {"RED": "\033[41m",
|
||||
"GREEN": "\033[42m",
|
||||
"BLUE": "\033[44m",
|
||||
"RESET": "\033[0m"
|
||||
}
|
||||
|
||||
|
||||
def __init__(self,
|
||||
asm_id:str,
|
||||
asm_json_dir:str,
|
||||
asm_json_filename:str,
|
||||
asm_csv_dir:str,
|
||||
asm_csv_filename:str,
|
||||
rd_dbase_dir:str,
|
||||
rd_dbase_filename:bool=False,
|
||||
load_local_asm_json:bool=False,
|
||||
load_local_asm_csv:bool=False,
|
||||
load_local_rd_dbase:bool=False,
|
||||
no_blue_ids:bool=False,
|
||||
excluded_bom_ids:list=None,
|
||||
excluded_summary_ids:list=None):
|
||||
|
||||
self.asm_id = asm_id
|
||||
self.asm_bom = SivasBOM(asm_id, asm_json_dir, asm_json_filename, load_local_asm_json, excluded_bom_ids)
|
||||
self.asm_teilestamm = SivasTeilestamm(asm_csv_dir, asm_csv_filename, load_local_asm_csv)
|
||||
self.rd_data = RuleDesignerDatabaseConfig(rd_dbase_dir, rd_dbase_filename, load_local_rd_dbase)
|
||||
self.all_excluded_summary_ids = excluded_summary_ids
|
||||
self._excluded_summary_ids_in_bom = None
|
||||
self.no_blue_ids = no_blue_ids
|
||||
self._migration_status = None
|
||||
self._longest_entry = None
|
||||
|
||||
@property
|
||||
def migration_status(self):
|
||||
if self._migration_status is None:
|
||||
self._migration_status = MigrationStatus(self.asm_bom.child_ids, self.rd_data.ids)
|
||||
return self._migration_status
|
||||
|
||||
@property
|
||||
def longest_entry(self):
|
||||
|
||||
if self._longest_entry is None:
|
||||
longest_color_code = max(Treeview.console_colors.values(), key=len)
|
||||
longest_connector_symbol = max(Treeview.connector_symbols.values(), key=len)
|
||||
|
||||
padding_after_id = 2
|
||||
|
||||
if self._longest_entry is None:
|
||||
|
||||
self._longest_entry = (self.asm_bom.max_bom_depth) * len(Treeview.prefix_types["PIPE"]) \
|
||||
+ len(longest_connector_symbol) \
|
||||
+ len(longest_color_code) \
|
||||
+ len(self.asm_bom.longest_child_id) \
|
||||
+ len(Treeview.console_colors["RESET"]) \
|
||||
+ padding_after_id
|
||||
return self._longest_entry
|
||||
|
||||
|
||||
def _add_asm_id_to_bom(self):
|
||||
"""Standardmäßig ist die oberste Baugruppennummer kein Bestandteil der JSON-Datei, in der die Baugruppenstruktur aufgelistet ist und
|
||||
die über das Programm 'Sivas2Json' von Hr. Jakob generiert wird. Damit der Baum die Bezeichnung der obersten Baugruppennummer im
|
||||
Baum angezeigt wird ist es jedoch erforderlich, dass die Nummer mitsamt ihrer Bezeichnung in der JSON enthalten ist"""
|
||||
|
||||
metadata = {"Bezeichnung": self.asm_teilestamm.get_property_values("Bezeichnung1"),
|
||||
"Parent": None,
|
||||
"Position": "10/0"}
|
||||
|
||||
self.asm_bom.extend_asm_bom(self.asm_id, metadata)
|
||||
|
||||
|
||||
def generate_tree(self):
|
||||
self._add_asm_id_to_bom()
|
||||
self._print_tree()
|
||||
self._print_summary()
|
||||
|
||||
|
||||
def _print_tree(self, parent_id=None, prefix=""):
|
||||
|
||||
"""Gibt die Baugruppenstruktur in Form eines Baumes in der Konsole aus"""
|
||||
|
||||
parent_children = self.asm_bom.parent_children
|
||||
children_ids = parent_children[parent_id]
|
||||
|
||||
for i, id in enumerate(children_ids):
|
||||
|
||||
last_child = self._last_child_check(i, children_ids)
|
||||
connector_symbol = self._set_connector_symbol(id, last_child)
|
||||
background_color = self._set_background_color(id)
|
||||
|
||||
self._print_entry(id, prefix, connector_symbol, background_color)
|
||||
|
||||
if id in parent_children:
|
||||
next_prefix = self._set_next_prefix(prefix, id, last_child)
|
||||
self._print_tree(parent_id=id, prefix=next_prefix)
|
||||
|
||||
def _remove_ids_from_summary_amount(self, ids: list) -> list:
|
||||
"""
|
||||
Reduziert die Anzahl in der Zusammenfassung (z.B. der nicht migrierten Teilenummern),
|
||||
um die Anzahl an Teilenummern, die vom User aus der Zusammenfassung ausgeschlossen wurden
|
||||
"""
|
||||
|
||||
if self.all_excluded_summary_ids is None:
|
||||
return ids
|
||||
return list(filter(lambda id: id not in self.excluded_summary_ids_in_bom, ids))
|
||||
|
||||
@property
|
||||
def excluded_summary_ids_in_bom(self) -> list:
|
||||
""" Gibt alle Teilenummern zurück, die im Baum vorliegen, aber nicht in der Anzahl der Zusammenfassung enthalten sein sollen"""
|
||||
|
||||
if self._excluded_summary_ids_in_bom is None:
|
||||
self._excluded_summary_ids_in_bom = list(filter(lambda id: id in self.asm_bom.bom_data, self.all_excluded_summary_ids))
|
||||
return self._excluded_summary_ids_in_bom
|
||||
|
||||
def _print_summary(self):
|
||||
|
||||
ids_in_rd = self.migration_status.ids_in_rd
|
||||
ids_pending = self.migration_status.ids_pending
|
||||
|
||||
amount_in_rd = len(self._remove_ids_from_summary_amount(ids_in_rd))
|
||||
amount_pending = len(self._remove_ids_from_summary_amount(ids_pending))
|
||||
|
||||
if not self.no_blue_ids:
|
||||
ids_in_progress = self.migration_status.ids_in_progress
|
||||
amount_in_work = len(self._remove_ids_from_summary_amount(ids_in_progress))
|
||||
amount_released = amount_in_rd - amount_in_work
|
||||
|
||||
child_ids = self.asm_bom.child_ids
|
||||
progress = int(amount_in_rd / len(self._remove_ids_from_summary_amount(child_ids)) * 100)
|
||||
|
||||
column_width = 5
|
||||
border_padding = "".ljust(column_width, "─")
|
||||
empty_padding = "".ljust(column_width, " ")
|
||||
|
||||
|
||||
red_entry = f"│{Treeview.console_colors['RED'] } {Treeview.console_colors['RESET']}│ Migration ausstehend │ {str(amount_pending).ljust(column_width)}│"
|
||||
|
||||
if not self.no_blue_ids:
|
||||
blue_entry = f"│{Treeview.console_colors['BLUE'] } {Treeview.console_colors['RESET']}│ PDM-Migration abgeschlossen │ {str(amount_in_work).ljust(column_width)}│\n"
|
||||
green_entry = f"│{Treeview.console_colors['GREEN']} {Treeview.console_colors['RESET']}│ Migration abgeschlossen (Freigegeben) │ {str(amount_released).ljust(column_width)}│\n"
|
||||
|
||||
else:
|
||||
# Prüft erneut, ob das aktuelle Teil auch ein Parent ist.
|
||||
# Wenn ja, muss dieses Mal unter der nächsten Nummer ein Pipe-Symbol kommen
|
||||
if sivas_num in parents_children:
|
||||
prefix += symbols["pipe"]
|
||||
blue_entry = ""
|
||||
green_entry = f"│{Treeview.console_colors['GREEN']} {Treeview.console_colors['RESET']}│ Migration abgeschlossen │ {str(amount_in_rd).ljust(column_width)}│\n"
|
||||
red_entry = f"│{Treeview.console_colors['RED'] } {Treeview.console_colors['RESET']}│ Migration ausstehend │ {str(amount_pending).ljust(column_width)}│"
|
||||
|
||||
|
||||
|
||||
header = f"""
|
||||
╭───────────────────────────────────────────{border_padding}╮
|
||||
│ Auswertung {empty_padding}│
|
||||
├─┬───────────────────────────────────────┬─{border_padding}┤
|
||||
"""
|
||||
progress_segment = f"""
|
||||
├─┴───────────────────────────────────────┼─{border_padding}┤
|
||||
│ Migrationsfortschritt │ {f"{progress}%".ljust(column_width)}│
|
||||
"""
|
||||
|
||||
bottom_row = f"╰─────────────────────────────────────────┴─{border_padding}╯"
|
||||
|
||||
|
||||
exclusion_description = ""
|
||||
excluded_id_list = ""
|
||||
|
||||
if self.asm_bom.excluded_ids_in_bom or self.excluded_summary_ids_in_bom:
|
||||
|
||||
exclusion_description = f"""├─────────────────────────────────────────┴─{border_padding}┤
|
||||
│ {empty_padding}│
|
||||
├───────────────────────────────────────────{border_padding}┤
|
||||
│ Ausgeschlossene Teilenummern {empty_padding}│
|
||||
│──────────────────────┬────────────────────{border_padding}┤
|
||||
│ Baum │ Auswertung {empty_padding}│
|
||||
├──────────────────────┼────────────────────{border_padding}┤
|
||||
"""
|
||||
|
||||
for bom_id, smry_id in zip_longest(self.asm_bom.excluded_ids_in_bom, self.excluded_summary_ids_in_bom, fillvalue=9*" "):
|
||||
excluded_id_list += f"│ { bom_id} │ {smry_id} {empty_padding}│\n"
|
||||
|
||||
bottom_row = f"╰──────────────────────┴────────────────────{border_padding}╯"
|
||||
|
||||
|
||||
print(header + green_entry + blue_entry + red_entry + progress_segment + exclusion_description + excluded_id_list + bottom_row)
|
||||
|
||||
def _print_entry(self, child_id, prefix, connector, color):
|
||||
|
||||
"""Eintrag in die Konsole drucken"""
|
||||
|
||||
text_before_description = f"{prefix}{connector}{color}{child_id}{Treeview.console_colors['RESET']}".ljust(self.longest_entry)
|
||||
description = self.asm_bom.get_prop_val_for_single_id(child_id, "Bezeichnung")
|
||||
|
||||
print(f"{text_before_description}{description}")
|
||||
|
||||
|
||||
def _last_child_check(self, child_idx, children_ids):
|
||||
|
||||
"""Prüft, ob aktuelle ID das letzte Kind der Baugruppe ist"""
|
||||
|
||||
return True if child_idx == len(children_ids) - 1 else False
|
||||
|
||||
|
||||
def _set_connector_symbol(self, child_id, last_child):
|
||||
|
||||
"""Legt Verbindungssymbol für aktuellen Eintrag im Baum fest"""
|
||||
|
||||
if child_id == self.asm_id: # Oberste Baugruppennummer wird immer ohne Verbindersymbol dargestellt
|
||||
return ""
|
||||
|
||||
if not last_child:
|
||||
return Treeview.connector_symbols["T"]
|
||||
|
||||
return Treeview.connector_symbols["ELBOW"]
|
||||
|
||||
|
||||
def _set_next_prefix(self, prefix, child_id, last_child):
|
||||
|
||||
"""Legt den Teil VOR dem Verbindersymbol für den nächsten Eintrag im Baum fest"""
|
||||
|
||||
if child_id == self.asm_id: # Erste Stücklistenposition der obersten Baugruppennummer hat nie Präfix
|
||||
return ""
|
||||
|
||||
prefix += Treeview.prefix_types["EMPTY"] if last_child else Treeview.prefix_types["PIPE"]
|
||||
return prefix
|
||||
|
||||
|
||||
def _set_background_color(self, id):
|
||||
|
||||
"""Legt Hintergrundfarbe der Teilenummer basierend auf ihrem Migrationsstatus fest:
|
||||
|
||||
- grün: Migration vollständig abgeschlossen und freigegeben
|
||||
- blau: Migration ins PDM abgeschlossen
|
||||
- rot: Migration ausstehend"""
|
||||
|
||||
if id in self.migration_status.ids_pending:
|
||||
return Treeview.console_colors["RED"]
|
||||
|
||||
if not self.no_blue_ids:
|
||||
if id in self.migration_status.ids_in_progress:
|
||||
return Treeview.console_colors["BLUE"]
|
||||
|
||||
return Treeview.console_colors["GREEN"]
|
||||
|
||||
if __name__ == '__main__':
|
||||
parser = argparse.ArgumentParser(description='fetches data from sivas or ruledesigner fusion', prog='update_database')
|
||||
parser.add_argument('-n', '--number', action='store', help='SIVAS-Number')
|
||||
parser.add_argument('-s', '--sivas', action='store', help='fetch data of this id from sivas fo local database folder')
|
||||
parser.add_argument('-d', '--database', action='store', default="RD_Bestandspool.csv", help='local filename of the latest fetched RuleDesigner Database')
|
||||
parser.add_argument('-t', '--tree', action='store_true', help='displays partnumber hierarchy for given part number in flag -s as treeview. green = migrated, red = not yet migrated')
|
||||
|
||||
def main():
|
||||
|
||||
args = parser.parse_args()
|
||||
parser = argparse.ArgumentParser(description='Programm gibt Auskunft über den aktuellen Migrationsstand einer SIVAS-Teilenummer',
|
||||
prog='compare_lists',
|
||||
formatter_class=lambda prog: argparse.HelpFormatter(prog, max_help_position=50)) # Hilfetext auch bei längeren Argumenten in gleicher Zeile wie Argument darstellen
|
||||
|
||||
# fetching the names of all existing cad files from the local file
|
||||
dataDir = os.environ.get('CREMIG_DATA')
|
||||
rdDataBasePath = os.path.join(dataDir, args.database)
|
||||
# get the path to ask for further json files
|
||||
exePath = os.environ.get('SIVAS_DATABASE_QUERY')
|
||||
# in case the infos for this cad file are already there
|
||||
sivasId = str(args.sivas)
|
||||
jsonPath = os.path.join(dataDir, sivasId + ".json")
|
||||
# there the results are written
|
||||
outPath = os.environ.get('CREMIG_WORK')
|
||||
# Custom Actions
|
||||
parser.register("action", "GetIDsFromCFG", GetExcludedIDsFromCFG)
|
||||
parser.register("action", "lstrip", LStrip)
|
||||
parser.register("action", "LocateSQLCredentials", LocateSQLCredentials)
|
||||
|
||||
sivas_id = str(args.number)
|
||||
json_path = os.path.join(dataDir, sivas_id + ".json")
|
||||
parser.add_argument('sivas_id', action='lstrip', help='Teilenummer, für die Migrationsüberblick generiert werden soll.', metavar="SIVAS-Teilenummer")
|
||||
parser.add_argument('output_type', choices=["tree", "excel"], help="'tree' = Darstellung des Überblicks als Baum in der Konsole. 'excel' = Export des Überblicks als Excel")
|
||||
parser.add_argument('--rd_ids_filepath', action='store', default=os.path.join(os.environ.get("CREMIG_DATA"), "RD_Teilenummern.csv"), help='Verzeichnis der CSV-Datei mit den RuleDesigner-Nummern. Default: $CREMIG_DATA', metavar="filepath")
|
||||
parser.add_argument('--local_rd_ids', action='store_true', default=False, help='Lokales laden der CSV mit den RuleDesigner-Nummern (RD-Teilenummer.csv) statt Kopieren von Server')
|
||||
parser.add_argument('--bom_filedir', action='store', default=os.environ.get("CREMIG_DATA"),help='Verzeichnis der JSON-Datei mit den Stücklisteninformationen. Default: $CREMIG_DATA', metavar='dir')
|
||||
parser.add_argument('--local_bom', action='store_true', default=False, help='Lokales laden der JSON mit den Stücklisteninformationen statt Generierung')
|
||||
parser.add_argument('--teilestamm_filedir', action='store', default=os.environ.get("CREMIG_DATA"), help='Verzeichnis der CSV mit den SIVAS-Teilestamminformationen. Default: $CREMIG_DATA', metavar='dir')
|
||||
parser.add_argument('--local_teilestamm', action='store_true', default=False, help='Lokales Laden der CSV mit den Teilestamminformationen statt Generierung')
|
||||
parser.add_argument('--no_blue_ids', action="store_true", default=False, help='Nummern, die in RD vorliegen, aber nicht freigegeben sind, gleich wie freigegeben Nummern einfärben')
|
||||
|
||||
if args.sivas:
|
||||
compareFiles(rdDataBasePath, jsonPath, sivasId, outPath)
|
||||
exclude_from_overview = parser.add_mutually_exclusive_group()
|
||||
exclude_from_overview.add_argument('--rm_bom_ids_str', action="store", nargs="*", default=None, dest="excluded_bom_ids", help="Angabe aller Nummern, die vom Migrationsüberblick ausgeschlossen sein sollen", metavar="id1 id2")
|
||||
exclude_from_overview.add_argument('--rm_bom_ids_cfg', action="GetIDsFromCFG", nargs=2, default=None, dest="excluded_bom_ids", help="cfg-Pfad & Sektion, in der Nummern aufgelistet sind, die nicht im Überblick dargestellt sein sollen", metavar=("path", "section"))
|
||||
|
||||
if args.tree:
|
||||
compare_treeview(json_path, rdDataBasePath)
|
||||
exclude_from_summary = parser.add_mutually_exclusive_group()
|
||||
exclude_from_summary.add_argument('--rm_summary_ids_str', action="store", nargs="*", default=None, dest="excluded_summary_ids", help="Angabe aller Nummern, die von der Zusammenfassung ausgeschlossen sein sollen", metavar="id1 id2")
|
||||
exclude_from_summary.add_argument('--rm_summary_ids_cfg', action="GetIDsFromCFG", nargs=2, default=None, dest="excluded_summary_ids", help="cfg-Pfad & Sektion, in der Nummern aufgelistet sind, die von der Zusammenfassung ausgeschlossen sein sollen", metavar=("path", "section"))
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
match args.output_type:
|
||||
case "excel":
|
||||
excel_comparison = ExcelExport(asm_id=args.sivas_id,
|
||||
asm_json_dir=args.bom_filedir,
|
||||
asm_json_filename=f'{args.sivas_id}.json',
|
||||
asm_csv_dir=args.teilestamm_filedir,
|
||||
asm_csv_filename=f"{args.sivas_id}.csv",
|
||||
rd_dbase_dir=os.path.dirname(args.rd_ids_filepath),
|
||||
rd_dbase_filename=os.path.basename(args.rd_ids_filepath),
|
||||
load_local_asm_json=args.local_bom,
|
||||
load_local_asm_csv=args.local_teilestamm,
|
||||
load_local_rd_dbase=args.local_rd_ids,
|
||||
no_blue_ids=args.no_blue_ids)
|
||||
|
||||
excel_comparison.write_excel()
|
||||
case "tree":
|
||||
treeview_comparison = Treeview(asm_id=args.sivas_id,
|
||||
asm_json_dir=args.bom_filedir,
|
||||
asm_json_filename=f'{args.sivas_id}.json',
|
||||
asm_csv_dir=args.teilestamm_filedir,
|
||||
asm_csv_filename=f'{args.sivas_id}.csv',
|
||||
rd_dbase_dir=os.path.dirname(args.rd_ids_filepath),
|
||||
rd_dbase_filename=os.path.basename(args.rd_ids_filepath),
|
||||
load_local_asm_json=args.local_bom,
|
||||
load_local_asm_csv=args.local_teilestamm,
|
||||
load_local_rd_dbase=args.local_rd_ids,
|
||||
no_blue_ids=args.no_blue_ids,
|
||||
excluded_bom_ids=args.excluded_bom_ids,
|
||||
excluded_summary_ids=args.excluded_summary_ids)
|
||||
|
||||
treeview_comparison.generate_tree()
|
||||
|
||||
main()
|
||||
@@ -0,0 +1,380 @@
|
||||
import os
|
||||
from tkinter import messagebox
|
||||
import update_database
|
||||
|
||||
from manage_configs import SivasBOM, SivasTeilestamm, RuleDesignerDatabaseConfig, MigrationStatus
|
||||
|
||||
"""
|
||||
Contains the logic for the MVC of CreoMigrate Gui
|
||||
"""
|
||||
# Infos und Fehlermeldungen die ausgelöst werden können
|
||||
messages = {
|
||||
"pdm_kategorie_definiert": "PDM-Kategorie nicht definiert",
|
||||
"rüstcode_infos": 'Bitte Rüstcode auswählen!',
|
||||
"beschaffungsart_infos": ' Komponenten der Schweißbaugruppe müssen eigene Teilenummern erhalten, falls diese aktuell als Underline-Nummern in der Creo-Baugruppe vorliegen, aber keine eigenen Teilenummern in SIVAS besitzen!',
|
||||
"mengeneinheit_infos":'Bitte prüfen, ob Mengeneinheit ≠ "M - Meter" korrekt ist!',
|
||||
"material_infos":'Werkstoffvorschlag nicht möglich, da das Material nicht in der Mappingdatei "Materialübersetzung.json" enthalten ist.\nBitte Werkstoff in dieser Datei nachfpflegen und prüfen, ob der Werkstoff in den nachfolgenden Systemen vorhanden ist:\n- RuleDesigner\n- SIVAS-Produktiv- und Schulungsdatenbank\n- Solid Edge\nWenn nicht, bitte in diesen Systemen ebenfalls nachpflegen!',
|
||||
"unzulaessige_zeichen":"Unzulässige Zeichen identifiziert:\nZeichen: '{Zeichentyp}' -> Feld: '{Feldname}'",
|
||||
"bezeichnung_zu_gross_50":'Bezeichnung besitzt mehr als 50 Zeichen. Bitte verkürzen!',
|
||||
"bezeichnung_zu_gross_45":'Bezeichnung besitzt mehr als 45 Zeichen. Bitte verkürzen!',
|
||||
"konflikt_ruestcode_saegeliste":'In Sivas prüfen, wieso Haken bei "Halbzeug ohne Sägeliste" trotz Rüstcode "SRC Standard Rüstcode" gesetzt ist.',
|
||||
"teilenummer_ohne_ruestcode":'Teilenummer darf nicht ohne Rüstcode migriert werden!',
|
||||
"fertigungsart":'Fertigungsart falsch. Bitte berichtigen!',
|
||||
"fos_gruppe":'FOS-Gruppe falsch. Bitte berichtigen!',
|
||||
"kalkulations_art":'Kalkulationsart falsch. Bitte berichtigen!',
|
||||
"beschaffungsart":'Beschaffungsart falsch. Bitte berichtigen!',
|
||||
"mengeneinheit":'Mengeneinheit falsch. Bitte berichtigen!',
|
||||
"teilenummer_halbzeug":'Teilenummer kann kein Halbzeug sein. Bitte berichtigen!',
|
||||
"tos_gruppe_not_exist":'TOS-Gruppe exisitert nicht. Bitte eingetragene Gruppennummer korrigieren oder ergänzen!',
|
||||
"dispo_not_exist":'Datensatz kann nicht ohne Dispogruppe migriert werden. Bitte nachpflegen!',
|
||||
"dispolauf_not_exist":'Datensatz kann nicht ohne Dispolaufgruppe migriert werden. Bitte nachpflegen!',
|
||||
"teilenummer_not_exist_infos":"Ersetzte Teilenummer '{teilenummer}' exisitert noch nicht in RuleDesigner. Migration trotzdem durchführen?",
|
||||
"ersatzteilenummer_not_exist_infos":"Ersatz-Teilenummer '{teilenummer}' exisitert noch nicht in RuleDesigner. Migration trotzdem durchführen?",
|
||||
"hersteller": "Hersteller nicht in RuleDesigner enthalten. Bitte nachpflegen!",
|
||||
"werkstofftyp_not_exist":'Eingetragener Werkstofftyp existiert nicht. Bitte korrigeren!',
|
||||
"werkstoff_not_exist":'Werkstoff falsch. Bitte korrigieren!',
|
||||
"color_not_defined":'Teilenummer kann nicht ohne festgelegte Farbe migriert werden!',
|
||||
"aenderungstext_too_long":'Änderungstext_weist zu viele Zeichen auf. Bitte auf 400 Zeichen verkürzen!',
|
||||
"missing_data":'Fehlende Angaben in der Oberfläche: {Labels}',
|
||||
"sivas_db_error":'Diese Assembly existiert nicht. Eventuell ist es nur ein Teil?',
|
||||
"export_sucessful":'Export der Migrationsdatei erfolgreich. Siehe {path}',
|
||||
"export_not_sucessful":'Export der Migrationsdatei fehlgeschlagen. Überprüfe Schreibrechte für {path}.',
|
||||
"export_not_sucessful_file_open":'Export fehlgeschlagen. Datei offen?',
|
||||
"blacklist_not_exist": 'Bitte Blacklist vom Server holen',
|
||||
"wrong_impftool_path": 'Pfad zur DataPrepUtility.exe nicht gefunden. Bitte Pfad unter ...\\bin\\cremig_setenv.bat prüfen.',
|
||||
"too_many_logfiles":'Keine eindeutige Logdatei zum aktuellen DataPrep Prozess gefunden. Bitte löschen Sie die überflüssigen .log files',
|
||||
"some_error_in_log":'Log Datei enthält einen Fehler. Bitte prüfen.',
|
||||
"preparation_sucessful":'Preparation mit der Datei {path} erfolgreich',
|
||||
"missing_in_blacklist":"{teilenummer} fehlt in der Blacklist, da sich in dessen Stückliste beigestellte oder dispo-inaktive Positionen befinden.\n\nBitte {teilenummer} in die Blacklist aufnehmen! \n\nDiese befindet sich in folgender Datei:\n//ruledesigner\\RDF_Daten\\Konfigurator\\CustomVaulting\\ERP_BOM.ini\n\nDanach dieses Programm erneut starten um die aktualisierte Blacklist zu laden",
|
||||
"halbzeug_not_in_RDids":"Halbzeug-Teilenummer '{halbzeug_id}' fehlt in '{rdids_path}'.\n\nEntweder wurde das Halbzeug noch nicht migriert, oder der aktuelle Stand von RD_Teilenummern.csv muss geladen werden.\n\nZum Laden des aktuellen Standes von RD_Teilenummern.csv auf 'Suche' unter dem Eingabefeld der Baugruppennummer klicken und dieses Programm neu starten"
|
||||
}
|
||||
|
||||
|
||||
# Der Beobachter
|
||||
class Observer:
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def attach(self, observable):
|
||||
observable.subscribe(self)
|
||||
|
||||
def notify(self, observable, *args, **kwargs):
|
||||
#print(f"Got {args} {kwargs} from {observable}")
|
||||
dependent_cbs = self._model.get_dependent(args[0])
|
||||
for cb in dependent_cbs:
|
||||
model_values = self._model.callback(cb, None)
|
||||
if model_values:
|
||||
self.set_gui_dict(model_values)
|
||||
self.refresh_gui()
|
||||
|
||||
|
||||
|
||||
class Controller(Observer):
|
||||
"""
|
||||
Class for manipulating the model and returning data for the view
|
||||
"""
|
||||
def __init__(self, model, view):
|
||||
self._environment = None
|
||||
self._config = None
|
||||
self.set_model(model)
|
||||
self.set_view(view)
|
||||
|
||||
def set_env(self, env):
|
||||
self._environment = env
|
||||
|
||||
def get_env(self, env_path):
|
||||
if self._environment == None:
|
||||
raise Exception("No environment set")
|
||||
if env_path == "lib":
|
||||
ret = self._environment.lib_dir
|
||||
elif env_path == "data":
|
||||
ret = self._environment.data_dir
|
||||
elif env_path == "out":
|
||||
ret = self._environment.out_dir
|
||||
elif env_path == "cfg":
|
||||
ret = self._environment.cfg_dir
|
||||
elif env_path == "log":
|
||||
ret = self._environment.log_dir
|
||||
elif env_path == "rd_dbase_filename":
|
||||
ret = self._environment.ruledesigner_csv_filename
|
||||
else:
|
||||
raise Exception("this path is not defined "+env_path)
|
||||
return ret
|
||||
|
||||
def set_config(self, config):
|
||||
self._config = config
|
||||
def get_config(self):
|
||||
return self._config
|
||||
|
||||
def get_orange_ids(self, red_ids):
|
||||
"""just check which files have already been worked with, so data has been added"""
|
||||
orange = dict()
|
||||
work = self.get_env('out')
|
||||
for red in red_ids:
|
||||
if os.path.exists(os.path.join(work, red +'.json')):
|
||||
orange[red] = True
|
||||
return orange
|
||||
|
||||
def get_csv_files_of_asm(self, asm_id, load_local_bom=False, load_local_teilestamm=False, load_local_rd_ids=False):
|
||||
|
||||
""" Holt sich die Metadaten der Stücklistenpositionen als CSV"""
|
||||
data_dir = self.get_env("data")
|
||||
rd_dbase_filename = self.get_env("rd_dbase_filename")
|
||||
|
||||
excluded_bom_ids = self._config.bom_config.get_excluded_ids("ExcludedPartnumbersInBOM") # Artikelnummern wie z.B. "MA0000006" sollen nicht im Baum dargestellt werden
|
||||
|
||||
sivas_bom = SivasBOM(asm_id, data_dir, asm_id + '.json', load_local_bom, excluded_bom_ids)
|
||||
|
||||
sivas_bom.extend_asm_bom(asm_id, {"Parent": None, "Position": "10/0"}) # Ergänzt Stücklistendaten um eine fiktive Baugruppe "None", in der die Haupt-Teilenummer als Pos. 1 vorliegt. Dadurch können auch Teilenummern ohne Stückliste korrekt abgebildet werden
|
||||
|
||||
rd_data = RuleDesignerDatabaseConfig(data_dir, rd_dbase_filename, load_local_rd_ids)
|
||||
|
||||
migration_status = MigrationStatus(sivas_bom.child_ids, rd_data.ids)
|
||||
pending_ids = migration_status.ids_pending
|
||||
|
||||
sivas_teilestamm = SivasTeilestamm(data_dir, asm_id + '.csv', load_local_csv=load_local_teilestamm)
|
||||
sivas_teilestamm.create_csvs(pending_ids)
|
||||
|
||||
self._model.set_red_ids(pending_ids)
|
||||
self._model.set_parent_children(sivas_bom.parent_children)
|
||||
self._model.set_asm_id(asm_id)
|
||||
self._model.set_bom_properties(sivas_bom.all_bom_properties)
|
||||
|
||||
def set_model(self, model):
|
||||
self._model = model
|
||||
self.attach(model)
|
||||
|
||||
def set_view(self, view):
|
||||
self._view = view
|
||||
|
||||
def refresh_gui(self):
|
||||
self._view.data_from_model()
|
||||
self._view.set_states()
|
||||
# def data_from_model(self):
|
||||
# self._view.data_from_model()
|
||||
def data_from_view(self, key=None):
|
||||
return self._view.data_from_view(key)
|
||||
|
||||
def get_current_asm_id(self):
|
||||
self._model.get_asm_id()
|
||||
def set_current_asm_id(self, asm_id, load_local_bom=False, load_local_teilestamm=False, load_local_rd_ids=False):
|
||||
# TODO save current given data. In case, ask whether you should save or drop
|
||||
self._model.set_asm_id(asm_id)
|
||||
# hole alle Daten vom Server
|
||||
self.get_csv_files_of_asm(asm_id, load_local_bom, load_local_teilestamm, load_local_rd_ids)
|
||||
|
||||
def set_current_item_id(self, cid):
|
||||
"""setze eine neue Item ID """
|
||||
# check before. change to given item just in case it is valid, e.g. name is a number of 9 digits
|
||||
if not cid.isnumeric():
|
||||
return
|
||||
# nur die red-id Daten können geladen werden.
|
||||
# red_ids = self._model.get_red_ids()
|
||||
# if not cid in red_ids:
|
||||
# return
|
||||
|
||||
# TODO save current given data. In case, ask whether you should save or drop
|
||||
self._model.set_current_item_id(cid)
|
||||
self._load_cid_data2model(cid)
|
||||
|
||||
def get_current_item_id(self):
|
||||
return self._model.get_current_item_id()
|
||||
|
||||
def _load_cid_data2model(self, cid):
|
||||
"""lädt alle nötigen Daten für diese ID """
|
||||
# falls eine .json Datei davon im Work Ordner existiert, dann diese zuerst versuchen ins Modell zu laden
|
||||
self._view.clear_rightframes()
|
||||
self._model.clear()
|
||||
saved_json_exists = self._model.from_json_file(self.get_env("out"), cid)
|
||||
if saved_json_exists == False:
|
||||
# ansonsten die .csv Datei mit den SIVAS Infos aus data holen
|
||||
loaded = self._model.sivas_data_from_csv(cid)
|
||||
if loaded == None:
|
||||
print("no file found "+ cid)
|
||||
else:
|
||||
# und diese in der Gui setzen
|
||||
set_data = self._model.csv2guidata(loaded)
|
||||
self.set_gui_dict(set_data)
|
||||
self._model.set_gui_defaults()
|
||||
self.refresh_gui()
|
||||
|
||||
def set_red_ids(self, red_ids):
|
||||
self._model.set_red_ids(red_ids)
|
||||
def get_red_ids(self):
|
||||
return self._model.get_red_ids()
|
||||
|
||||
def set_parent_children(self, parent_children_mapping):
|
||||
self._model.set_parent_children(parent_children_mapping)
|
||||
def get_parent_children(self):
|
||||
return self._model.get_parent_children()
|
||||
|
||||
# # merkt sich die reinen Daten zum Impfen
|
||||
# def set_data_dict(self, data:dict):
|
||||
# """merken der Daten zum Impfen"""
|
||||
# for k,v in data:
|
||||
# self.set_data(k,v)
|
||||
# def set_data(self, key, value):
|
||||
# """merken der Daten zum Impfen"""
|
||||
# self._model.set_data(key, value)
|
||||
|
||||
# def get_data(self, key):
|
||||
# return self._model.get_data(key)
|
||||
# def get_all_data(self):
|
||||
# return self._model.get_all_data()
|
||||
|
||||
# merkt sich die Nutzereingaben, bzw. Daten für die GUI
|
||||
def set_gui_dict(self, data:dict):
|
||||
"""merken der Eingaben des Nutzers der GUI """
|
||||
for k,v in data.items():
|
||||
self.set_gui_data(k,v)
|
||||
def set_gui_data(self, key, value):
|
||||
"""merken der Eingaben des Nutzers der GUI """
|
||||
self._model.set_gui_data(key, value)
|
||||
|
||||
def get_gui_data(self, key):
|
||||
return self._model.get_gui_data(key)
|
||||
def get_all_gui_data(self):
|
||||
return self._model.get_all_gui_data()
|
||||
|
||||
def get_gui_states(self):
|
||||
return self._model.get_states()
|
||||
def get_configuration(self):
|
||||
return self._model.get_configuration()
|
||||
|
||||
def message_info(self, title, key, values):
|
||||
text = messages[key]
|
||||
if 'halbzeug_id' in values:
|
||||
text = text.format(halbzeug_id=values['halbzeug_id'], rdids_path=values['rdids_path'])
|
||||
if 'path' in values:
|
||||
text = text.format(path=values['path'])
|
||||
return messagebox.showinfo(title, text)
|
||||
def message_question(self, title, key, values={}):
|
||||
text = messages[key]
|
||||
if 'teilenummer' in values:
|
||||
text = text.format(teilenummer=values['teilenummer'])
|
||||
default = messagebox.NO
|
||||
if 'default' in values and values['default'] == 'yes':
|
||||
default = messagebox.YES
|
||||
return messagebox.askquestion(title, text, type=messagebox.YESNO, default=default)
|
||||
def message_error(self, title, key, values={}):
|
||||
text = messages[key]
|
||||
if 'Labels' in values:
|
||||
text = text.format(Labels=values['Labels'])
|
||||
if 'Zeichentyp' in values:
|
||||
text = text.format(Zeichentyp=values['Zeichentyp'], Feldname=values['Feldname'] )
|
||||
if 'path' in values:
|
||||
text = text.format(path=values['path'])
|
||||
if 'teilenummer' in values:
|
||||
text = text.format(teilenummer=values['teilenummer'])
|
||||
return messagebox.showerror(title, text)
|
||||
|
||||
def callback(self, key, value):
|
||||
if not self._model:
|
||||
raise Exception("no model yet added")
|
||||
|
||||
# Aktionen der Knöpfe
|
||||
if key == 'cb_speichern':
|
||||
data = self.data_from_view()
|
||||
self._model.set_gui_dict(data)
|
||||
self._model.save_to_file()
|
||||
elif key == 'cb_migrieren':
|
||||
data = self.data_from_view()
|
||||
self._model.set_gui_dict(data)
|
||||
self.migrieren()
|
||||
elif key == 'cb_zurücksetzen':
|
||||
self.zuruecksetzen()
|
||||
elif key == 'cb_suche_asm':
|
||||
# hole dir die in die GUI eingetragene Nummer
|
||||
update_database.get_blacklist(self.get_env("data"))
|
||||
current_asmid = self.data_from_view('asm_id')
|
||||
if current_asmid != '':
|
||||
self.set_current_asm_id(current_asmid)
|
||||
elif key == 'cb_ladelokal_asm':
|
||||
# hole dir nur die lokalen Daten. Keine Datenbankabfrage außer Blacklist
|
||||
update_database.get_blacklist(self.get_env("data"))
|
||||
current_asmid = self.data_from_view('asm_id')
|
||||
if current_asmid != '':
|
||||
self.set_current_asm_id(current_asmid, load_local_bom=True, load_local_teilestamm=True, load_local_rd_ids=True)
|
||||
elif key == 'cb_3dsuchen':
|
||||
self.suche_3d()
|
||||
|
||||
# callbacks der gui zur
|
||||
else:
|
||||
# Logik um neue Werte in Oberfläche oder Modell zu füllen
|
||||
model_values = self._model.callback(key, value)
|
||||
if model_values:
|
||||
self.set_gui_dict(model_values)
|
||||
|
||||
# gib dem observer Bescheid, was aufgerufen wurde
|
||||
self.notify(self._model, key,value)
|
||||
self.refresh_gui()
|
||||
|
||||
def migrieren(self):
|
||||
self._view.reset_labels()
|
||||
|
||||
# Pruefung ob Pflichtfelder befuellt
|
||||
(ok, missing) = self._model.check_pflichtfelder()
|
||||
if ok == False:
|
||||
labels = ', '.join(missing)
|
||||
self.message_error('Fehlende Angaben', 'missing_data', {'Labels':labels})
|
||||
self._view.highlight_labels(missing)
|
||||
return
|
||||
|
||||
# Pruefung ob assembly-id in Blacklist fehlt
|
||||
update_database.get_blacklist(self.get_env("data"))
|
||||
(ok, missing_blacklist_id) = self._model.check_blacklist_completeness()
|
||||
if ok == False:
|
||||
id = ''.join(missing_blacklist_id)
|
||||
self.message_error('Fehlend in Blacklist', 'missing_in_blacklist', {'teilenummer': id})
|
||||
return
|
||||
|
||||
# Pruefung, ob unzulaessige Zeichen vorhanden
|
||||
invalid_chars = self._config.InvalidChars.get()
|
||||
(ok, wrongchars) = self._model.check_improper_chars(invalid_chars)
|
||||
if ok == False:
|
||||
for label,achars in wrongchars.items():
|
||||
chars = ''.join(achars)
|
||||
self.message_error('Unzulässige Zeichen', 'unzulaessige_zeichen', {'Zeichentyp': chars, 'Feldname':label})
|
||||
self._view.highlight_labels(wrongchars)
|
||||
return
|
||||
|
||||
# Pruefung Feldinhalte
|
||||
ok = self._model.check_content()
|
||||
if ok == True:
|
||||
data = self._model.create_migration_data()
|
||||
try:
|
||||
infos = self._model.create_migration_file(data)
|
||||
except PermissionError:
|
||||
self.message_error('export of excel', 'export_not_sucessful_file_open')
|
||||
except FileExistsError:
|
||||
self.message_error('export of excel', 'export_not_sucessful')
|
||||
else:
|
||||
self.message_info('export of excel', 'export_sucessful', {'path': infos['path']})
|
||||
self._model.call_prep_tool(infos['path'])
|
||||
|
||||
|
||||
def zuruecksetzen(self):
|
||||
cid = self.get_current_item_id()
|
||||
self._model.clear()
|
||||
self._view.clear_rightframes()
|
||||
csv_data = self._model.sivas_data_from_csv(str(cid))
|
||||
# transform the csv keys into keys used behind the gui
|
||||
gui_data = self._model.csv2guidata(csv_data)
|
||||
self.set_gui_dict(gui_data)
|
||||
# create dropdown and other defaults
|
||||
self._model.set_gui_defaults()
|
||||
|
||||
def suche_3d(self):
|
||||
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
|
||||
aus_halbzeug = self._model.get_gui_data("aus_halbzeug_neu")
|
||||
neuaufbau = self._model.get_gui_data("neuaufbau")
|
||||
# Suche Knopf darf nur bei Einzelteilen funktionieren und wenn Halbzeug/NEuaufbau nicht angehakt sind
|
||||
if pdm_kategorie_neu == "Einzelteil" and not (aus_halbzeug == True or neuaufbau == True):
|
||||
newpath = self._view.suche_3d()
|
||||
if newpath:
|
||||
self._model.set_gui_data('model3d_neu', newpath)
|
||||
self._model.set_gui_data('cb_3Dmodel_neu', '')
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
pass
|
||||
@@ -0,0 +1,55 @@
|
||||
import argparse
|
||||
import os
|
||||
import manage_configs
|
||||
|
||||
"""
|
||||
Dieses Programm erzeugt aus den Angaben in der config TOS-Gruppen.json einen Export String zur Pflege des TOS im Ruledesigner Fusion
|
||||
|
||||
Pfad zur Datei://ruledesigner/RDF_Daten/Config/CampiEsterni.ini
|
||||
Codebereich liegt bei Calk Link 10
|
||||
|
||||
- Alle informieren das RuleDesigner beendet werden muss.
|
||||
- Auf den Rechner des RuleDesigner Servers einloggen. (nicht der selbe wie der SE-Admin)
|
||||
- Dort dann die Powershell "Tomcat-IIS_reset" ausführen.
|
||||
|
||||
"""
|
||||
|
||||
def create_tos_string(config_dir, config_file):
|
||||
|
||||
# hole die json Datei mit den Angaben zu allen TOS Gruppen in eine lokale Config Klasse
|
||||
|
||||
TOS_CFG = manage_configs.TOSGroupsConfig(config_dir, config_file)
|
||||
|
||||
allKeywords = TOS_CFG.get_all_keywords()
|
||||
myIds = list()
|
||||
for level in range(0,5):
|
||||
myIds.extend(TOS_CFG.get_keywords_of_level(allKeywords, level))
|
||||
|
||||
res = 'CalcMaster=EdmCodVal("'
|
||||
res += '")&EdmCodVal("'.join(myIds)
|
||||
res += '")'
|
||||
return res
|
||||
|
||||
# CalcMaster=EdmCodVal("TOS-Gruppe")&EdmCodVal("TOS_Schoenenberger_Produkt")&EdmCodVal("TOS_Automation")&EdmCodVal("TOS_Maschinenelement")&EdmCodVal("TOS_Schoenenberger_Komponenten")&EdmCodVal("TOS_Pneumatik")&EdmCodVal("TOS_Konfig")&EdmCodVal("TOS_ILS")&EdmCodVal("TOS_MAS")&EdmCodVal("TOS_Spinnereikomponente")&EdmCodVal("TOS_Betriebsmittel")&EdmCodVal("TOS_Geruest")&EdmCodVal("TOS_FremdTransport")&EdmCodVal("TOS_MAS_Konfig")&EdmCodVal("TOS_Schaltschrank")&EdmCodVal("TOS_Schalt_Einbau")&EdmCodVal("TOS_Dezentral")&EdmCodVal("TOS_Automation_Sensorik")&EdmCodVal("TOS_Kabel")&EdmCodVal("TOS_Installation")&EdmCodVal("TOS_Automation_Sonstiges")&EdmCodVal("TOS_Verbindungselement")&EdmCodVal("TOS_Lager")&EdmCodVal("TOS_Kraft_Drehmoment")&EdmCodVal("TOS_Sicherungselement")&EdmCodVal("TOS_Bedienungselement")&EdmCodVal("TOS_ILS_2")&EdmCodVal("TOS_ILS_Foerderer")&EdmCodVal("TOS_MAS_Fahrstecke")&EdmCodVal("TOS_Trolley")&EdmCodVal("TOS_Trolley_Projekte")&EdmCodVal("TOS_Trolley_Omniflo")&EdmCodVal("TOS_Trolley_Spinnerei")&EdmCodVal("TOS_Trolley_ILS")
|
||||
|
||||
if __name__ == '__main__':
|
||||
parser = argparse.ArgumentParser(description='creates the string for the TOS System in Ruledesigner Fusion', prog='create_tos')
|
||||
parser.add_argument('-o', '--outfile', action='store', help='put the result into a textfile')
|
||||
parser.add_argument('-c', '--console', action='store_true', help='put the result to console')
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
out_dir = os.environ.get('CREMIG_WORK')
|
||||
config_dir = os.environ.get('CREMIG_CFG')
|
||||
|
||||
if args.outfile:
|
||||
tos_string = create_tos_string(config_dir, 'TOS-Gruppen.json')
|
||||
out_path = os.path.join(out_dir, args.outfile)
|
||||
with open(out_path, "w") as fh_out:
|
||||
print(tos_string, file=fh_out)
|
||||
elif args.console:
|
||||
tos_string = create_tos_string(config_dir, 'TOS-Gruppen.json')
|
||||
print(tos_string)
|
||||
|
||||
else:
|
||||
parser.print_help()
|
||||