Compare commits

...

246 Commits

Author SHA1 Message Date
m.stangl aea8c5e029 Add CLAUDE.md for Claude Code guidance
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-11 23:22:47 +02:00
m.stangl eb04b9d73a Merge branch 'main' of https://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2026-05-06 19:16:53 +02:00
m.stangl 8e8ce9e676 Test der Grenzen impl. Doku erweitert 2026-05-06 19:16:13 +02:00
y.wang 9fa569e449 Die CP-Direction für Kurve 30 und 60 korrigiert. 2026-04-23 14:04:52 +02:00
y.wang b959208ddc Anpassung für Calculate Varioförderer 2026-04-10 11:29:48 +02:00
y.wang aeb34cd85a Merge branch 'main' of https://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2026-04-09 16:21:40 +02:00
y.wang a3715cd036 Die Funktion für CSV Export wurde angepasst. Der Varioförderer mit Gefällestrecke kann als Streckengruppe richtig exportiert Werden. 2026-04-09 16:21:37 +02:00
m.stangl 099630ca86 Schalter für minimiertes Laufen von SE dazu 2026-04-08 12:33:31 +02:00
m.stangl 0defdc24cc Pfadfeststellung ist nur noch in manage_interpreter.bat. Aufrufende Skripte etwas umgebaut 2026-04-08 12:17:16 +02:00
m.stangl fb25aca5ce Readme Doku aktualisiert. War veraltet. pip Abhängigkeiten in lib/requirements.txt ergänzt. Python Install Skript für venv dazu 2026-04-08 11:50:44 +02:00
m.stangl 901844fcb8 Alle Teile aus den Assemblies der Auf und Abwärtsbögen ausgeblendet, damit die Boundingboxen korrekt bestimmt werden 2026-04-08 11:11:48 +02:00
m.stangl a74f7e5e3a Verbinder für 12 Grad Elemente dazu 2026-04-07 14:04:10 +02:00
m.stangl af957c6ccd neue EInzelteile zur Verbindung und Abstandhalter hinzu 2026-04-07 14:00:43 +02:00
y.wang 6898a37570 die SVG Datei für Gefällebogen rechts korrigiert. 2026-04-02 15:27:22 +02:00
y.wang b72c792850 Merge branch 'main' of https://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2026-03-27 11:12:41 +01:00
y.wang b9a71ae07c Bug bei Funktion CalculateGefällestrecke behoben 2026-03-27 11:12:36 +01:00
m.stangl 8e36935c4e Gleichung korrigiert 2026-03-24 17:13:48 +01:00
m.stangl 8ad8297bce Gleichungen und Bilder zum Variofoerderer dazu 2026-03-24 16:56:56 +01:00
m.stangl 767883d406 categories und settings auch dazu. Geändert wegen Varioförderer 2026-03-17 14:21:34 +01:00
m.stangl b7bbee5429 Bogen Vario auf und ab dazu 2026-03-17 14:18:49 +01:00
m.stangl 48c0450fe8 Merge branch 'main' of https://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2026-03-16 17:44:27 +01:00
m.stangl cd1af92967 Abwärtsbogen der Varioförderer rein 2026-03-16 16:57:52 +01:00
y.wang 34135bcd28 Die Länge der TEF-Gerade wurde gerundet exportiert. 2026-03-16 14:57:44 +01:00
m.stangl cd318d4c0d Merge branch 'main' of https://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2026-03-16 14:56:47 +01:00
m.stangl 7287dad368 STL der Varioförderer Bögen aufwärts dazu 2026-03-16 14:03:10 +01:00
m.stangl b39442165e Abwärtsbägen dazu. Aufwärts mit Paarungen korrigiert 2026-03-13 18:41:10 +01:00
y.wang ff924b1e51 Ein Export von ILS Automation erfolgt nur, wenn ILS-Teile vorhanden sind. Ein Export von Omniflo Sum erfolgt nur, wenn Omniflo-Teile vorhanden sind 2026-03-10 11:37:22 +01:00
m.stangl 5b1eb66860 Merge branch 'main' of http://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2026-03-10 11:27:11 +01:00
y.wang de2e49cc96 Der Fehler beim Export des Varioförders mit Gefällestrecke wurde korrigiert. Ein einzelner Varioförderer mit Gefällestrecke wird nun als Streckengruppe exportiert. 2026-03-10 10:34:25 +01:00
m.stangl 478469780d Merge branch 'main' of http://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2026-03-09 10:51:28 +01:00
m.stangl 70d7149683 Configs gelöscht. Aufwärtsbogen gebaut. Ein paar TEF Begleiter fehlen noch 2026-03-06 20:01:41 +01:00
y.wang 9d487dcba1 Das Export bei Variofoerderer mit Gefällestrecke wurde korrigiert. das Varario wurde nicht als ein einzelnes Objekt sonder als eine Streckengruppe exportiert. 2026-03-06 14:06:47 +01:00
y.wang 2af0c72cac Alle Verbindungmöglichkeiten mit TEF Polylinie sind eingepflegt. 2026-03-05 15:07:33 +01:00
y.wang 76d8829ef5 Merge branch 'main' of http://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2026-03-05 11:37:10 +01:00
y.wang bd951d2dd2 Die Linkclass für TEFWeichen sind korrigiert. 2026-03-05 11:37:04 +01:00
m.stangl 650cfadc71 Die Vario Bögen auf und ab als leere Assemblies hinzugefügt. Jetzt können die Componenten zusammengebaut werden 2026-03-04 16:59:17 +01:00
m.stangl 4c741a0783 Einzelteile für Variobogen hinzugefügt 2026-03-04 16:30:47 +01:00
y.wang 2ad5433503 Funktion getItemsConnectedNow wurde gebaut, Sollen OFBogen und OFGrade seine Höhe ändert, findet diese Funktion das aktuell mit OFBogen oder OF Grade verbundene Kettenförderer und passt dessen Höhenunterschied und Länge neu an. 2026-02-27 10:01:18 +01:00
y.wang 9f339a5495 merge aus der Fassung von mir, die aus der Historie gefixt wurde 2026-02-26 09:25:54 +01:00
m.stangl dad82b64f4 Sivasnummer für TEF Gerade wird im 2D Export mit raus geschrieben 2026-02-25 12:25:29 +01:00
m.stangl d5c58a65db 3er Bogen auf und Ab inklusive Umschliessung eingecheckt 2026-02-24 17:38:58 +01:00
m.stangl 0401d26d58 Merge branch 'main' of http://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2026-02-24 17:00:59 +01:00
m.stangl 58a70e1358 Bogen für 3 Grad modelliert, auf und ab 2026-02-24 16:59:19 +01:00
y.wang 51828ff7e6 Merge 2026-02-24 13:02:32 +01:00
y.wang de8c5112e0 Die Berechung des Kettenförderers wurde korrigiert. 2026-02-24 11:46:09 +01:00
s.hensch 1e16e4ab43 [Fix] Sivas Export für Automation korrigiert. Es werden nun die Motoren aller Varioförderer mitgezählt. 2026-02-24 11:15:29 +01:00
m.stangl ce007c080a Sivasnummer für TEF Gerade wird im 2D Export mit raus geschrieben 2026-02-23 11:52:12 +01:00
y.wang 747d08dd27 unnötige Datei sind bereinigt. 2026-02-17 11:19:14 +01:00
y.wang 3bf78f5d33 Merge branch 'main' of http://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2026-02-16 13:59:24 +01:00
y.wang bcb80a7ce2 Die Maße für TEF+Weichen, Weichen , TEf+Bogen sind korrigiert. 2026-02-16 13:59:10 +01:00
m.stangl 2315f9fc0b merge of main 2026-02-12 14:56:47 +01:00
m.stangl b7402fc043 Maße von TEF Motorstation links waren falsch. Aus rechts entnommen. Fix Create Prototype für TEF Gerade erzeugt jetzt eine Gerade der richtigen Länge 2026-02-12 14:55:05 +01:00
y.wang 60ca7ee656 Die Namen der init Json datei wurden angepasst. 2026-02-12 11:19:20 +01:00
m.stangl 8024aebf85 --add aus SaveSession entfernt und getestet 2026-02-12 10:37:28 +01:00
y.wang 732cb5d042 Motorseite für Variofoerder beim Export wurde angepasst 2026-02-06 11:11:58 +01:00
y.wang 68d4a074f2 Anpassung für Kettenförderer 2026-02-05 16:09:03 +01:00
y.wang 297dcd1a30 merge 2026-01-28 14:40:02 +01:00
y.wang f5dfec9276 Die Funktionen für Calculate KettenFoerderer wurden eingebaut und angepasst 2026-01-28 14:38:46 +01:00
m.stangl d7341f1140 Laden hatte auch ein Leerzeichenproblem 2026-01-27 14:32:30 +01:00
m.stangl 86519f20b3 Leerzeichen hinter SaveSession rausgeworfen. 2026-01-27 14:25:30 +01:00
m.stangl f66a63c4af merge 2026-01-27 14:24:00 +01:00
m.stangl e8d053ed48 Leerzeichen hinter SaveSession rausgeworfen. 2026-01-27 14:23:01 +01:00
P.wolok 91b5e0e5c9 Rechtschreibfehler behoben Eckradl zu Eckrad 2026-01-27 11:56:34 +01:00
stzeller 2d239606e9 Eine Fassung mit der in Param ergänzten Rückgabeliste der ehemals verbundenen Ids 2026-01-27 10:17:28 +01:00
Stefan Zeller 0ef3ae58ec Die Linked Shapes Liste wird jetzt angezeigt und ist durch Evaluate auch zu erkennen. 2026-01-27 10:06:16 +01:00
y.wang 7eedef7fcc der Exportfehler bei kopierten Gruppen korrigiert. 2026-01-26 09:06:00 +01:00
y.wang 8d9d70f2fc Merge 2026-01-21 13:47:38 +01:00
y.wang ed5b339a45 Einige Fehler beim Export korrigiert. 2026-01-21 13:46:47 +01:00
m.stangl ec89d5e380 Fix: Eckrad 2026-01-20 15:43:34 +01:00
m.stangl 76a7b32e1f Fix: Eckrad 2026-01-20 15:43:06 +01:00
m.stangl 346f416930 CSV Export ergänzt von BTMT-Be- und Entladung. UZS oder GUZS des Eckrades ebenfalls ins Csv File. 2026-01-20 15:14:21 +01:00
y.wang 97b78cb909 Die Funktion Calculate KettenFoerderer wurde gebaut 2026-01-20 10:49:06 +01:00
y.wang c1b66e0157 Der Interface für KF wurde angepasst. 2026-01-16 14:10:20 +01:00
y.wang c705407a33 Die FamilyKlasse für KF wurde korrigiert. 2026-01-16 13:28:36 +01:00
y.wang cb0c400963 Die fehlende Datei für KF sind hinzugefügt. 2026-01-16 13:13:16 +01:00
y.wang feb059ca8b Kettenförderer in 2D Wizard ist eingepflegt. 2026-01-16 12:41:28 +01:00
Stefan Zeller 23e9259873 Zip enthält keine .stl Dateien mehr. 2026-01-15 17:56:37 +01:00
y.wang 5f0cbf3c2e Merge 2026-01-15 15:27:51 +01:00
y.wang bbef3d1d1b den Fehler bei Verbindung GF-Kurven korrigiert. 2026-01-15 15:26:52 +01:00
Stefan Zeller 2cae74a943 Zip does not include .stl Files. The workaround with python script is not needed anymore. 2026-01-15 13:55:11 +01:00
s.hensch 6097190079 STL der TEF Gerade wird nun korrekt geladen 2026-01-15 12:10:43 +01:00
s.hensch 6167b57a7d merge 2026-01-15 11:59:22 +01:00
y.wang bb0e9b617f Merge branch 'main' of http://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2026-01-15 11:53:24 +01:00
y.wang 9768ca1fae Fehler bei Sivas Export Funktion korrigiert. 2026-01-15 11:53:20 +01:00
s.hensch c7968ad6b3 Omniflo TEF Gerade mit 3D STL Darstellung eingefügt; Einfügen und Verbinden der CPs funktioniert nun. 2026-01-15 11:41:30 +01:00
m.stangl dff8bf443c eine Created...txt entfernt 2026-01-15 11:37:49 +01:00
m.stangl 8dc9e4e3b1 Merge branch 'main' of http://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2026-01-15 11:32:38 +01:00
m.stangl 1cf705da3b TEFOmniflo in OmniflowTEF als neuer Standard umbenannt 2026-01-15 11:32:12 +01:00
y.wang 8c9cd0e67c Merge 2026-01-15 11:14:02 +01:00
y.wang d57e9c7895 Die Gefällestrecken bei Vario(Berechnung mit Gefälle) können jetzt korrekt exportiert werden. 2026-01-15 11:11:43 +01:00
m.stangl c7855deb06 hat_Motor und hat_Umlenkung am Varioförderer rausgeworfen, da vier neue Flags dafür existieren 2026-01-14 17:09:48 +01:00
m.stangl 900632594a Test ob die Fehlermeldung bei Mark durch eine Option weg geht 2026-01-08 16:48:50 +01:00
m.stangl aa796ed900 Eventliste und Callbacks von S_Gerade_TEF eingestellt 2026-01-08 14:51:21 +01:00
m.stangl 25cc46d835 Winkel und Länge der GF des Varioförderers mit exportiert 2026-01-08 14:50:42 +01:00
m.stangl 0ebbfabb9d Merge branch 'main' of http://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2026-01-08 14:05:06 +01:00
y.wang 2d56e31911 Merge branch 'main' of http://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2026-01-08 14:04:06 +01:00
y.wang 06b292539b Bei der TEF Gerade fehlten .xml und .txt Datei. 2026-01-08 14:03:49 +01:00
m.stangl 3d07b213eb CSV Export um die neuen Werte des Varioförderers ergänzt 2026-01-08 13:48:25 +01:00
m.stangl cdb15ee461 Flagliste bei Varioförderer dazu gemacht: Motorstation hinten, Spannstation vorn, Ausschleuselement vorn, Einschleuselement hinten. Gui ebenfalls ergänzt 2026-01-08 11:42:53 +01:00
y.wang 58a5597111 Merge 2026-01-07 10:19:58 +01:00
y.wang bb86139e95 Die Directions für Gefällekurven in 2D Wizard sind korrigiert. 2026-01-07 10:11:23 +01:00
P.wolok e74b910ad7 Korrektur für Ils 2d Export 2026-01-07 09:28:10 +01:00
m.stangl b507772587 Auruf der externen Exe im Sessions Ordner dazu, der die zip Dateien verkleinert, indem alle .stl Dateien rausgeschmissen werden. 2025-12-22 12:11:45 +01:00
m.stangl 537b453b4d Exe zum Entfernen der in einem zip enthaltenen .stl Dateien hinzu 2025-12-22 12:10:20 +01:00
m.stangl a1bd089b01 encoding problem war noch nicht für alle Varianten gelöst 2025-12-22 11:58:26 +01:00
m.stangl a9015ade15 small fix of the skript wegen Deutscher Umlaute 2025-12-22 11:24:52 +01:00
m.stangl 56e3358e97 bat Dateien zum Erstellen einer .exe aus einem Python Skript dazu 2025-12-19 19:58:04 +01:00
m.stangl 84676b8a06 Skript zur Reduktion der Dateigrösse durch Entfernung der enthaltenden .stl Dateien. 2025-12-19 19:40:37 +01:00
m.stangl 4964f212d2 Kettenförderer Configs dazu 2025-12-19 18:23:42 +01:00
m.stangl c84ea82c63 lokale verwaltete stl Dateien mit eingecheckt. 2025-12-19 18:21:42 +01:00
m.stangl 49f7ec689b IsOmniflo implementiert 2025-12-19 18:04:46 +01:00
s.hensch f679ef0d72 TEF Gerade hinzugefügt mit 3D stl Vorschau; Für Fahrstrecke Omniflo sind auf der Linie nun jeweils immer zwei CPs vorhanden, um beide Richtungen (0 und 180 grad) beim Verbinden anbieten zu können, ohne die UI erneut zu öffnen; Labels für CPs hinzugefügt, um die verschiedenen CPs Typen an einem Objekt unterscheiden zu können (zB TEF und Fahrstrecke an einer Umlenkstation eines TEFs) 2025-12-18 12:59:13 +01:00
y.wang c44761655b die Kurven für Gefälle und Förderer wurde angepasst 2025-12-17 15:31:17 +01:00
y.wang 19408c7276 Für Ab-Varioförderer kann mit GF berechnet werden 2025-12-15 12:58:58 +01:00
y.wang 6175027ab9 Json für ILS KurveFörderer wurde korrigiert. 2025-12-08 13:54:26 +01:00
y.wang 8c1e98c52e Anpassung für VarioFörderer 2025-12-03 14:47:09 +01:00
y.wang 88533a2c34 Das Interface für KurveFörderer wurde angepasst. 2025-12-03 13:38:35 +01:00
m.stangl f5691dd341 einfaches Bauteil für die Verbindung des oberen und unteren Kettenförderelements erstellt. Nur Querschnitt korrekt. Keine Stege, sondern durchgehend 2025-12-01 16:15:28 +01:00
m.stangl 1b59981cea Stl dateien der Kettenförderer hinzu 2025-12-01 16:13:47 +01:00
y.wang 19207f949d Die PNGs für Vario-Kurven sind updatet 2025-12-01 10:42:23 +01:00
y.wang cf55ee51c8 Merge branch 'main' of http://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2025-12-01 09:43:12 +01:00
y.wang 6be6076bdd 2D für Vario Kurve wurde updatet 2025-12-01 09:43:04 +01:00
m.stangl cb3e5c7f16 merge 2025-11-26 12:55:35 +01:00
m.stangl 103bd9bea8 TEFGerade soll gestretcht werden 2025-11-26 12:54:29 +01:00
P.wolok ce43b868f4 Merge branch 'main' of http://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2025-11-26 12:26:47 +01:00
P.wolok 23e3bd1cbe bug von letzten pull gefixed 2025-11-26 12:25:59 +01:00
m.stangl 0cf9b6d8e5 Auf und ab bei Kettenförderer dazu 2025-11-26 12:09:24 +01:00
P.wolok e0cf0126ae Die Höhe der Gefällestrecke wird jetzt sofort nach der berechnung gerundet 2025-11-26 11:54:23 +01:00
m.stangl e3570d1287 Fixes an de Gui Funktionen für den Kettenförderer 2025-11-25 15:06:56 +01:00
m.stangl 01416077ed Merge 2025-11-25 14:32:06 +01:00
m.stangl 6026958a89 Kettenförderer als eigenes Item dazu 2025-11-25 14:28:56 +01:00
y.wang 70e3f2682b Merge 2025-11-24 12:31:26 +01:00
y.wang be131f6f5c Die Reihenfolge der Element-IDs in einer kopierten Gruppe wurde fixiert. 2025-11-24 12:29:35 +01:00
m.stangl e1ba4c9fd1 Konflikt gelöst. Distance Funktion dazu 2025-11-21 20:24:41 +01:00
m.stangl 5090664004 distance Funktion fertiggestellt 2025-11-21 19:49:52 +01:00
y.wang ec4bc1974a merge remote changes, keep local MAIN_SSG.rdx 2025-11-19 13:00:57 +01:00
y.wang 910dabff77 Unlink Funtion für GF wurde angepasst 2025-11-19 12:44:10 +01:00
m.stangl fe7897c699 STL von Entladung dazu 2025-11-18 17:13:25 +01:00
m.stangl 1fe688241c Merge branch 'main' of http://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2025-11-18 14:32:21 +01:00
m.stangl 6a33315163 BT Beladung als STL und SolidEdge file dazu 2025-11-18 14:30:47 +01:00
y.wang cd47b68bbc Merge 2025-11-18 14:22:40 +01:00
y.wang 5640e4f963 Kleine Fehler bei Exportfunktion wurde korrigiert. 2025-11-18 12:51:21 +01:00
m.stangl b282b9303c Eckrad gibt Drehrichtung mit aus 2025-11-18 10:38:51 +01:00
m.stangl 8a0d890ef5 Feststellen der Connection Point NAmen aus der Linie 2025-11-14 16:52:14 +01:00
m.stangl 77c2c4410d Link mit Linie zwischen OFBogen und TEFGerade erzeugt. Linienlänge verängert dann TEFGerade 2025-11-13 18:53:12 +01:00
y.wang 9024483343 Merge Branch von YW FeatGefaelle 2025-11-12 13:13:57 +01:00
y.wang 4b67b45a18 Die Funtktionen für GF sind angepasst, L1 kann L_th übernehmen 2025-11-12 12:41:24 +01:00
m.stangl 6da0fed80a Defaults für die Motor und Umlenkstation gesetzt 2025-11-11 14:42:40 +01:00
m.stangl 3f948874e2 FIX:Kreiselart PIN oder Standard wird exportiert 2025-11-11 13:02:25 +01:00
m.stangl 59154a5394 Merge 2025-11-11 10:49:42 +01:00
m.stangl 682f8b0067 Strukt des Varioförderers und der CSV Export Typ um Flags Motor und Spannstation ergänzt. 2025-11-11 10:48:43 +01:00
P.wolok 55bd3aaea5 Merge branch 'main' of http://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2025-11-10 15:56:42 +01:00
P.wolok dc57ad918c Konnection point beim Vario Förder umbenannt cp2 zu cp0 2025-11-10 15:56:35 +01:00
y.wang ad9b29d065 Bereinigung 2025-11-10 11:04:11 +01:00
y.wang 897bdb3fe1 unbenutzte STL wurden gelöscht. 2025-11-10 11:00:41 +01:00
y.wang a17ef5dfce STL für s_Kurve_90_R_G_richtig gelöscht 2025-11-10 10:54:25 +01:00
y.wang 9ec9667a43 unbenutzte STL wurde gelöscht. 2025-11-10 10:13:00 +01:00
y.wang dfd960ffee alte TEF Bögen entfernt 2025-11-10 09:57:39 +01:00
y.wang dce67a6f8e der Interface für GF : Haken für Fixierung bei Anbindung eines Kreisels ausgeblendet. 2025-11-10 09:50:52 +01:00
y.wang b14a5f36f2 TEF Umlenkspannst. sind angepasst. 2025-11-10 09:23:08 +01:00
m.stangl 8b827ccb7c Erzeugungsfunktion der TEFGerade mit denselben Werten versehen die auch ein Objekt aus dem Menübaum mitbekommt 2025-11-06 17:13:55 +01:00
m.stangl 0e8034b352 TEF Gerade als Element der library hinzugefügt 2025-11-06 17:13:01 +01:00
m.stangl 9750ff508c TEF Gerade png und xml file dazu 2025-11-06 16:36:33 +01:00
m.stangl 8984a4b5e3 erste Funktion createTEFConnection impl.; merge 2025-11-03 17:15:11 +01:00
m.stangl bf8d17731a erste Funktion createTEFConnection impl. 2025-11-03 17:14:08 +01:00
m.stangl bbcc736d69 alte Testszenarios gelöscht. Library geht nicht mehr mit dem aktuellen Stand 2025-11-03 16:43:54 +01:00
y.wang 40a5eb9f1c Merge 2025-10-23 08:09:37 +02:00
y.wang 92bb102951 kleine Anpassung 2025-10-23 08:06:40 +02:00
s.hensch 54e1eca9df Merge Korrektur 2025-10-23 08:01:51 +02:00
s.hensch 30e1895541 Fehlerhafter Merge repariert 2025-10-23 07:58:59 +02:00
s.hensch 5a4eb67291 Revert "Default Offsets für Ein- und AUsschleuselement hinzugefügt. Nur zum Testen, reale Werte folgen in neuem Commit"
This reverts commit 23ffe308cf.
2025-10-23 07:33:48 +02:00
s.hensch 23ffe308cf Default Offsets für Ein- und AUsschleuselement hinzugefügt. Nur zum Testen, reale Werte folgen in neuem Commit 2025-10-23 07:29:12 +02:00
m.stangl 33c5a18d03 Mustern geht jetzt für beliebige Weichen 2025-10-22 16:58:30 +02:00
s.hensch fe52ade1d9 Alter Etagenförderer auskommentiert, da nicht mehr verwendet. 2025-10-21 10:37:12 +02:00
m.stangl 0dc84e89cc Musterbeispiel funktioniert für ein Objekt. 2025-10-20 17:08:19 +02:00
m.stangl 9391893cc5 Hilfsfunktionen für die Rückgabe von delta_s und delta_h in Abhängigkeit des Steigungswinkels gebaut 2025-10-20 14:10:51 +02:00
m.stangl 92d178a34d Routine zum Einlesen der ILS Maße impl. 2025-10-20 13:06:33 +02:00
m.stangl 4b4a6b03de Winkelabhängig die Längen einlesen. Unterschiedlich für Förderung auf oder ab 2025-10-20 11:31:57 +02:00
m.stangl ad87c91311 Korrektur der Config. Ist eine Deltaweiche, keine Dreifach 2025-10-20 11:31:28 +02:00
s.hensch 54ed41842c Minimale Längen- und Höhendifferenz für Varioförderer als Grenzwerte hinzugefügt, um im RDC eine korrekte Berechnung durchführen zu können 2025-10-17 11:49:51 +02:00
m.stangl 5cdf43c7c3 getOppositeConnectionPoint impl. Bugfixes 2025-10-16 17:04:22 +02:00
y.wang 930a990e80 die Funktion für Muster angepasst 2025-10-15 15:50:18 +02:00
m.stangl 5d85fad2b5 Fixes der Typen 2025-10-10 15:01:59 +02:00
m.stangl cf18b3c614 Zwischenstand 2025-10-10 13:02:47 +02:00
m.stangl c28e9160da Fehler aus der Gruppenroutine raus. Neuverküpfung an hart verdrahtete connection points geht noch nicht. 2025-10-08 17:31:24 +02:00
m.stangl 75796fdaab Erste Fassung der Vernetzung mehrerer Gruppen implementiert 2025-10-07 16:59:47 +02:00
m.stangl 3b26e63da5 Oberfläche kommt nur, wenn Omniflo Elemente ausgewählt sind zur Mustererzeugung 2025-10-07 14:10:46 +02:00
s.hensch cabf692b4c Undo commit 29c4491198 da der Fehler nicht auf Seite des RDC sondern im Skript plant2dxf bestand. 2025-10-07 13:51:45 +02:00
s.hensch b4f4aebf78 Merge fehlgeschlagen, vorherige Fassung wieder hergestellt 2025-10-07 13:46:42 +02:00
s.hensch 2ffc42fe09 Undo des Commits 29c4491198, da Höhen im plant2dxf schon korrekt verarbeitet werden. Fix war nicht notwendig. 2025-10-07 13:11:57 +02:00
s.hensch aa7a3ca282 Revert "Fix CSV Export: HoeheOben und HoeheUnten wird nun korrekt exportiert (HoeheOben immer größer als HoeheUnten)"
This reverts commit 29c4491198.
2025-10-07 13:04:22 +02:00
m.stangl 8e4e7adc37 Funktionen in einzelnen Gruppen strukturiert. 2025-10-07 12:34:42 +02:00
m.stangl 1bc051a27c fix beim 2D Export. Gruppen werden nicht raus geschrieben 2025-10-07 11:51:29 +02:00
m.stangl 96d6368a98 merg 2025-10-06 19:02:11 +02:00
m.stangl c2e6adb520 Mehrfacherzeung einer einzigen Gruppen von OMniflo impl. 2025-10-06 19:01:40 +02:00
s.hensch 29c4491198 Fix CSV Export: HoeheOben und HoeheUnten wird nun korrekt exportiert (HoeheOben immer größer als HoeheUnten) 2025-10-06 12:08:37 +02:00
s.hensch 8046a9682f Position der CPs an der Spannstation gefixt. Richtungspfeil für Gefällestrecke zeigt jetzt immer die Richtung an, auch wenn status==nicht ok, damit die Richtung immer erkennbar bleibt 2025-10-06 09:49:40 +02:00
m.stangl dcc65587ec Omniflo Pattern Routinen gebaut. Merge 2025-10-01 17:24:17 +02:00
m.stangl 8412ec5dec Omniflo Pattern Routinen gebaut 2025-10-01 17:23:51 +02:00
P.wolok 134ed2a8bd merge fix der Kreisel Orentierung bei Verbinden mit Konnection Points 2025-10-01 15:35:34 +02:00
P.wolok f15d232413 Rotierung der Kreisel gefixed beim verbünden mit Konnectionpoints 2025-10-01 15:32:05 +02:00
y.wang f6d2fe6445 Merge 2025-10-01 11:12:18 +02:00
y.wang 796f83c736 Das Interface für MusterKopie wurde erstellt. 2025-10-01 11:10:26 +02:00
m.stangl 9657d97020 Omniflo Single Pattern funktion 2025-09-30 17:24:42 +02:00
m.stangl 8eafa3766d FUnktion für OMniflo Pattern Single geschrieben 2025-09-30 17:23:49 +02:00
P.wolok 1053783fdc Kopieren der Gefaellestrecke korrigiert 2025-09-30 14:25:45 +02:00
y.wang 3f76ab8578 Merge 2025-09-30 13:18:40 +02:00
y.wang 29b4a96365 einige Fehler für cps wurden korrigiert. 2025-09-30 13:17:12 +02:00
P.wolok fa4fb95460 Merge branch 'main' of http://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2025-09-30 10:38:24 +02:00
P.wolok 8f20178890 Direction der Cps von Sternweiche korregiert 2025-09-30 10:38:19 +02:00
y.wang 1c7f8c28d2 Merge branch 'main' of http://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2025-09-30 10:18:28 +02:00
y.wang c4eed6ff51 Code bereinigt 2025-09-30 10:18:22 +02:00
m.stangl f03fb4824d Verzweigung der doPattern Funktion für Omniflo und ILS gebaut. 2025-09-29 18:28:44 +02:00
y.wang 6a7aa98517 die Icon für Mustern in Hintergrund angepasst. 2025-09-29 12:58:20 +02:00
y.wang 3ac7ff2975 Merge branch 'main' of http://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2025-09-29 11:32:12 +02:00
y.wang 754d737602 Die originale DWG für Weichen 400/750 sind angepasst 2025-09-29 11:32:09 +02:00
P.wolok 183dca449c Merge branch 'main' of http://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2025-09-29 08:30:20 +02:00
P.wolok 584558f2b1 Die Winkel für 500/600 Doppelweiche an die Init Datai geändert 2025-09-29 08:29:47 +02:00
y.wang c1fec7663a die Icon für Omniflo-Muster wurde eingebaut, aber die Interface ist noch nicht implementiert. 2025-09-26 14:12:51 +02:00
y.wang 1f56ccbbaa Für die Weichen, die bereits mit anderen Linien verbunden sind, bleibt beim Ändern des Weichentyps die Höhe auf dem ursprünglichen Wert der Weiche erhalten. 2025-09-26 09:04:46 +02:00
y.wang 6d29a9eccb Die CPID von Connectionspoint wurde korrigiert. 2025-09-25 14:29:14 +02:00
y.wang 51ce51a5a4 die cpID wurde umbenannt. 2025-09-25 13:36:34 +02:00
y.wang abadf0dea8 IsOK für OFWeichentype ist nötig und ist wieder hinzufügt. 2025-09-25 12:07:20 +02:00
y.wang c577b24723 Merge branch 'main' of http://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2025-09-25 11:39:13 +02:00
y.wang 89b3018d41 Die OFWEICHEN und TEFWEICHEN in 2D Libary sind neu angepasst. 2025-09-25 11:39:08 +02:00
m.stangl 3e7149d5c2 Omniflo Weiche Userinterface erlaubt den Eintrag der Abstände der Connection points. OmnifloWeichen Typ um Weichenkörperlänge ergänzt 2025-09-25 10:44:04 +02:00
m.stangl 1f890f50fc OMniflo Weichen um WeichenkörperLänge ergänzt, um aus dem Pufferabstand und der Länge die nötige Länge der Gerade zu bestimmen 2025-09-25 10:42:12 +02:00
P.wolok e4f1887caf Korriert die Größe von Tef Umlenkung links 2025-09-24 13:57:22 +02:00
P.wolok 5eadc53c65 Fix Default Werte werden aus der Description gelesen 2025-09-23 13:15:26 +02:00
s.hensch 490c2517b2 Funktion für das holen von Wert für BogenDefinition beim Einfügen auf Basis der Sivasnummer eingefügt. Analog zur OF Weiche. 2025-09-23 11:21:36 +02:00
s.hensch 7cffe4203b Merge branch 'main' of http://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2025-09-23 11:05:25 +02:00
s.hensch 49d0bd5a2e Initialisierung der Shapedaten für die Identifikation des Teils über Sivasnummer wird nun durch die description in der Library erledigt. Damit wird das Default-Teil ausschließlich darüber definiert 2025-09-23 11:05:19 +02:00
y.wang bbb6b9f40a Merge branch 'main' of http://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2025-09-23 10:27:02 +02:00
y.wang 62e46562fc die TEFBOGEN sind korrigiert. 2025-09-23 10:26:59 +02:00
P.wolok f4043bdc91 Kopieren von OFWeichen korrigiert 2025-09-22 10:16:33 +02:00
P.wolok 9fd11873d5 Bugfix bei kopieren von OFBogen und OFWeiche 2025-09-22 10:10:34 +02:00
P.wolok ea678d7a23 Merge conflikt gelöst 2025-09-19 15:17:10 +02:00
y.wang 8045ffaaa7 Merge 2025-09-19 13:57:47 +02:00
y.wang 9fb6954858 alle Bogen sind neu angepasst wegen cps. 2025-09-19 13:56:35 +02:00
P.wolok 9692ac9efd fix der Geraden Connectionpoints beim Kopieren 2025-09-19 10:48:52 +02:00
y.wang 317fa75e61 Merge 2025-09-19 09:08:30 +02:00
y.wang 409455d826 die CPs bei TEFWeiche sind korrigiert. 2025-09-19 09:03:07 +02:00
P.wolok 002bcf95fb Connection points der Pneumatikweichen mit TEF bei 90 Grad korrigiert 2025-09-18 16:47:25 +02:00
m.stangl 49b9ddf3b0 Prüfung der Environment Variablen war anders herum 2025-09-18 15:31:07 +02:00
m.stangl 37149c4ab3 cleanLocalShapes.bat umgeschrieben, dass auf lokale _setenv.bat verwiesen wird. So kann jeder seine eigene Installationsumgebung verwalten 2025-09-18 15:21:53 +02:00
m.stangl 3beae2ad8a cleanLocalShapes.bat umgeschrieben, dass auf lokale _setenv.bat verwiesen wird. So kann jeder seine eigene Installationsumgebung verwalten 2025-09-18 15:19:59 +02:00
964 changed files with 91616 additions and 49704 deletions
+14 -6
View File
@@ -1,10 +1,18 @@
@echo off @echo off
REM ~dp0 steht für das Verzeichnis, in der diese Datei liegt setlocal
SET "MANAGE=%~dp0manage_interpreter.bat"
call setenv.bat CALL "%MANAGE%" activate
if errorlevel 1 (
echo ERROR: Failed to activate Python environment
exit /b 1
)
REM Beispielaufruf mit Parametern: pushd "%PROJECT%"
REM --in: Ordner mit .par-Dateien (optional. Standard: Input)
REM --out: Zielverzeichnis (optional. Standard: Work)
python %PROJECT_LIB%\create_assemblies.py %* "%VIRTUAL_ENV%\Scripts\python.exe" -m lib.create_assemblies %*
set PYTHON_EXIT=%ERRORLEVEL%
popd
CALL "%MANAGE%" deactivate
exit /b %PYTHON_EXIT%
+15 -3
View File
@@ -1,6 +1,18 @@
@echo off @echo off
REM ~dp0 steht für das Verzeichnis, in der diese Datei liegt setlocal
SET "MANAGE=%~dp0manage_interpreter.bat"
call setenv.bat CALL "%MANAGE%" activate
if errorlevel 1 (
echo ERROR: Failed to activate Python environment
exit /b 1
)
python "%PROJECT_LIB%\diff_dimensions.py" %* pushd "%PROJECT%"
"%VIRTUAL_ENV%\Scripts\python.exe" -m lib.diff_dimensions %*
set PYTHON_EXIT=%ERRORLEVEL%
popd
CALL "%MANAGE%" deactivate
exit /b %PYTHON_EXIT%
+1 -1
View File
@@ -23,4 +23,4 @@ set /p TOLERANCE=Gib die Toleranz ein (Standard: %DEFAULT_TOLERANCE%):
if "%TOLERANCE%"=="" set "TOLERANCE=%DEFAULT_TOLERANCE%" if "%TOLERANCE%"=="" set "TOLERANCE=%DEFAULT_TOLERANCE%"
REM Aufruf des Skripts mit den eingegebenen oder Standardwerten REM Aufruf des Skripts mit den eingegebenen oder Standardwerten
call diff_dimensions.bat --type %TYPE% --json_2d %JSON2D% --json_dimensions %JSONDIM% --tolerance %TOLERANCE% call "%~dp0diff_dimensions.bat" --type %TYPE% --json_2d %JSON2D% --json_dimensions %JSONDIM% --tolerance %TOLERANCE%
+1 -1
View File
@@ -1,4 +1,4 @@
@echo off @echo off
call setenv.bat call "%~dp0setenv.bat"
start start
+14 -6
View File
@@ -1,10 +1,18 @@
@echo off @echo off
REM ~dp0 steht für das Verzeichnis, in der diese Datei liegt setlocal
SET "MANAGE=%~dp0manage_interpreter.bat"
call setenv.bat CALL "%MANAGE%" activate
if errorlevel 1 (
echo ERROR: Failed to activate Python environment
exit /b 1
)
REM Beispielaufruf mit Parametern: pushd "%PROJECT%"
REM --in: Ordner mit .asm-Dateien (optional. Standard: Work)
REM --out: Zielverzeichnis (optional. Standard: Work\stl_export)
python %PROJECT_LIB%\read_variables.py %* "%VIRTUAL_ENV%\Scripts\python.exe" -m lib.read_variables %*
set PYTHON_EXIT=%ERRORLEVEL%
popd
CALL "%MANAGE%" deactivate
exit /b %PYTHON_EXIT%
+15
View File
@@ -0,0 +1,15 @@
call setenv.bat
if not exist %PROJECT%\.venv (
ECHO Initialisiere Python virtual environment...
py -m venv %PROJECT%\.venv --upgrade-deps
ECHO Erfolgreich.
call %PROJECT%\.venv\Scripts\activate.bat
ECHO Installiere erforderliche Python Packages...
pip install -r %PROJECT_LIB%/requirements.txt -q
ECHO Erfolgreich
deactivate
) ELSE (
ECHO Erforderliche Python Packages bereits installiert!
)
+35
View File
@@ -0,0 +1,35 @@
@echo off
CALL "%~dp0setenv.bat"
IF /I "%1"=="activate" GOTO activate
IF /I "%1"=="deactivate" GOTO deactivate
IF /I "%1"=="activate_interpreter" GOTO activate
IF /I "%1"=="deactivate_interpreter" GOTO deactivate
GOTO :eof
:activate
REM Interpreter wählen
IF DEFINED NETWORK_PYTHON (
SET PYTHON_EXE=%NETWORK_PYTHON%\python.exe
) ELSE (
SET PYTHON_EXE=python
)
REM venv sicherstellen
IF NOT EXIST "%PROJECT%\.venv" (
"%PYTHON_EXE%" -m venv "%PROJECT%\.venv"
)
REM venv aktivieren
CALL "%PROJECT%\.venv\Scripts\activate.bat"
REM Interpreter festnageln
SET VIRTUAL_ENV_PYTHON=%PYTHON_EXE%
GOTO :eof
:deactivate
CALL "%PROJECT%\.venv\Scripts\deactivate.bat"
SET VIRTUAL_ENV_PYTHON=
GOTO :eof
+14 -6
View File
@@ -1,10 +1,18 @@
@echo off @echo off
REM ~dp0 steht für das Verzeichnis, in der diese Datei liegt setlocal
SET "MANAGE=%~dp0manage_interpreter.bat"
call setenv.bat CALL "%MANAGE%" activate
if errorlevel 1 (
echo ERROR: Failed to activate Python environment
exit /b 1
)
REM Beispielaufruf mit Parametern: pushd "%PROJECT%"
REM --in: Ordner mit .asm-Dateien (optional. Standard: Work)
REM --out: Zielverzeichnis (optional. Standard: Work\stl_export)
python %PROJECT_LIB%\save_stl.py %* "%VIRTUAL_ENV%\Scripts\python.exe" -m lib.save_stl %*
set PYTHON_EXIT=%ERRORLEVEL%
popd
CALL "%MANAGE%" deactivate
exit /b %PYTHON_EXIT%
+8 -11
View File
@@ -1,17 +1,14 @@
@echo off @echo off
REM ~dp0 steht für das Verzeichnis, in der diese Datei liegt REM ~dp0 steht für das Verzeichnis, in der diese Datei liegt
pushd %~dp0\.. pushd %~dp0\..
REM for /f "delims=" %%i in ('git rev-parse --show-toplevel') do set SSG_RD_DIR=%%i set PROJECT=%cd%
set PROJECT_BIN=%PROJECT%\bin
set PROJECT_DIR=%cd% set PROJECT_LIB=%PROJECT%\lib
set PROJECT_WORK=%PROJECT%\work
set PROJECT_BIN=%PROJECT_DIR%\bin set PROJECT_DATA=%PROJECT%\data
set PROJECT_LIB=%PROJECT_DIR%\lib set PROJECT_INPUT=%PROJECT%\input
set PROJECT_WORK=%PROJECT_DIR%\work
set PROJECT_DATA=%PROJECT_DIR%\data
set PROJECT_INPUT=%PROJECT_DIR%\input
set PROJECT_TEMPLATE=\\ssg.local\freigaben\RuleDesigner\Templates\CreateAssemblies set PROJECT_TEMPLATE=\\ssg.local\freigaben\RuleDesigner\Templates\CreateAssemblies
if not exist %PROJECT_WORK% mkdir %PROJECT_WORK% if not exist %PROJECT_WORK% mkdir %PROJECT_WORK%
@@ -23,4 +20,4 @@ set PROJECT_JSON_TEFBOGEN=%SSG_RD_DIR%\SVGs\Omniflo\python\TEFBogen\json
set PROJECT_JSON_TEFWEICHE=%SSG_RD_DIR%\SVGs\Omniflo\python\TEFWeiche\json set PROJECT_JSON_TEFWEICHE=%SSG_RD_DIR%\SVGs\Omniflo\python\TEFWeiche\json
popd popd
goto :eof goto :eof
+153 -30
View File
@@ -1,39 +1,60 @@
# Dokumentation: create_assemblies, save_stl & read_variables # Dokumentation: CAD-Automatisierungsskripte
## Übersicht
| Skript | Batch-Datei | Zweck |
| ------ | ----------- | ----- |
| `lib/create_assemblies.py` | `bin/create_assemblies.bat` | Erzeugt .asm-Baugruppen aus .par-Dateien |
| `lib/save_stl.py` | `bin/save_stl.bat` | Exportiert .asm-Baugruppen als STL-Dateien |
| `lib/read_variables.py` | `bin/get_dimensions.bat` | Liest Maße aus .par-Dateien und speichert als JSON |
| `lib/diff_dimensions.py` | `bin/diff_dimensions.bat` | Vergleicht 3D-Maße (JSON) mit 2D-Zeichnungsmaßen |
| *(kein Python)* | `bin/get_all_differences.bat` | Interaktiver Wrapper für diff_dimensions |
| *(kein Python)* | `bin/get_cmd.bat` | Öffnet Kommandozeile mit gesetzten Umgebungsvariablen |
| *(kein Python)* | `bin/setenv.bat` | Setzt alle Umgebungsvariablen für das Projekt |
---
## 1. create_assemblies ## 1. create_assemblies
### Zweck ### Zweck
Das Skript erstellt für jede .par-Datei im Eingabeordner eine neue .asm-Baugruppe, indem es eine Platzhalter-Baugruppe (dummy.asm) kopiert und darin die Platzhalter-Komponente (dummy.par) durch die jeweilige .par-Datei ersetzt. Das Skript erstellt für jede .par-Datei im Eingabeordner eine neue .asm-Baugruppe, indem es eine Platzhalter-Baugruppe (dummy.asm) kopiert und darin die Platzhalter-Komponente (dummy.par) durch die jeweilige .par-Datei ersetzt.
### Aufrufmöglichkeiten ### Aufrufmöglichkeiten
#### Über die Batch-Datei (empfohlen unter Windows): **Über die Batch-Datei (empfohlen unter Windows):**
```bat ```bat
bin\create_assemblies.bat --in <Eingabeordner> --out <Ausgabeordner> bin\create_assemblies.bat --in <Eingabeordner> --out <Ausgabeordner>
``` ```
- Die Batch-Datei setzt Umgebungsvariablen und ruft das Python-Skript mit den übergebenen Parametern auf.
#### Direkt über die Kommandozeile: Die Batch-Datei setzt Umgebungsvariablen und ruft das Python-Skript mit den übergebenen Parametern auf.
**Direkt über die Kommandozeile:**
```sh ```sh
python lib/create_assemblies.py --in <Eingabeordner> --out <Ausgabeordner> python lib/create_assemblies.py --in <Eingabeordner> --out <Ausgabeordner>
``` ```
#### Parameter: **Parameter:**
- `--in`: Pfad zum Ordner mit .par-Dateien (optional, Standard: Umgebungsvariable PROJECT_INPUT oder ./input) - `--in`: Pfad zum Ordner mit .par-Dateien (optional, Standard: Umgebungsvariable PROJECT_INPUT oder ./input)
- `--out`: Zielordner für die erzeugten .asm-Dateien (optional, Standard: ./work) - `--out`: Zielordner für die erzeugten .asm-Dateien (optional, Standard: ./work)
### Input/Output ### Input/Output
- **Input:** - **Input:**
- .par-Dateien im angegebenen Eingabeordner - .par-Dateien im angegebenen Eingabeordner
- dummy.asm und dummy.par im data/-Verzeichnis (werden als Vorlage und Platzhalter verwendet) - dummy.asm und dummy.par im Netzwerkpfad PROJECT_TEMPLATE (werden als Vorlage und Platzhalter verwendet)
- **Output:** - **Output:**
- Für jede .par-Datei wird eine .asm-Datei im Ausgabeverzeichnis erzeugt. - Für jede .par-Datei wird eine .asm-Datei im Ausgabeverzeichnis erzeugt.
- Temporäre Dateien (_temp.asm, .cfg) werden nach Verarbeitung gelöscht. - Temporäre Dateien (_temp.asm, .cfg) werden nach Verarbeitung gelöscht.
### Hinweise ### Hinweise
- Solid Edge muss installiert sein, da das Skript über COM darauf zugreift. - Solid Edge muss installiert sein, da das Skript über COM darauf zugreift.
- Die Platzhalter-Komponente in dummy.asm muss exakt dummy.par heißen. - Die Platzhalter-Komponente in dummy.asm muss exakt dummy.par heißen.
- Die Vorlage (dummy.asm) wird aus dem Netzwerkpfad `PROJECT_TEMPLATE` geladen (Standard: `\\ssg.local\freigaben\RuleDesigner\Templates\CreateAssemblies`).
- Fehlerhafte oder fehlende Platzhalter werden übersprungen und führen nicht zum Abbruch des gesamten Prozesses. - Fehlerhafte oder fehlende Platzhalter werden übersprungen und führen nicht zum Abbruch des gesamten Prozesses.
--- ---
@@ -41,34 +62,40 @@ python lib/create_assemblies.py --in <Eingabeordner> --out <Ausgabeordner>
## 2. save_stl ## 2. save_stl
### Zweck ### Zweck
Das Skript exportiert alle .asm-Baugruppen in einem Ordner als STL-Dateien. Es dient dazu, die zuvor erzeugten Baugruppen für die Weiterverarbeitung (z.B. 3D-Druck) bereitzustellen.
Das Skript exportiert alle .asm-Baugruppen in einem Ordner als STL-Dateien. Es dient dazu, die zuvor erzeugten Baugruppen für die Weiterverarbeitung (z.B. 3D-Druck oder Visualisierung) bereitzustellen.
### Aufrufmöglichkeiten ### Aufrufmöglichkeiten
#### Über die Batch-Datei (empfohlen unter Windows): **Über die Batch-Datei (empfohlen unter Windows):**
```bat ```bat
bin\save_stl.bat --in <Eingabeordner> --out <Ausgabeordner> bin\save_stl.bat --in <Eingabeordner> --out <Ausgabeordner>
``` ```
- Die Batch-Datei setzt Umgebungsvariablen und ruft das Python-Skript mit den übergebenen Parametern auf.
#### Direkt über die Kommandozeile: Die Batch-Datei setzt Umgebungsvariablen und ruft das Python-Skript mit den übergebenen Parametern auf.
**Direkt über die Kommandozeile:**
```sh ```sh
python lib/save_stl.py --in <Eingabeordner> --out <Ausgabeordner> python lib/save_stl.py --in <Eingabeordner> --out <Ausgabeordner>
``` ```
#### Parameter: **Parameter:**
- `--in`: Pfad zum Ordner mit .asm-Dateien (optional, Standard: Umgebungsvariable PROJECT_WORK oder ./work) - `--in`: Pfad zum Ordner mit .asm-Dateien (optional, Standard: Umgebungsvariable PROJECT_WORK oder ./work)
- `--out`: Zielordner für die STL-Dateien (optional, Standard: ./work/STL_Export) - `--out`: Zielordner für die STL-Dateien (optional, Standard: ./work/STL_Export)
### Input/Output ### Input/Output
- **Input:** - **Input:**
- .asm-Dateien im angegebenen Eingabeordner (z.B. aus create_assemblies) - .asm-Dateien im angegebenen Eingabeordner (z.B. aus create_assemblies)
- **Output:** - **Output:**
- Für jede .asm-Datei wird eine .stl-Datei im Ausgabeverzeichnis erzeugt. - Für jede .asm-Datei wird eine .stl-Datei im Ausgabeverzeichnis erzeugt.
- Temporäre .cfg- und .log-Dateien werden nach dem Export gelöscht. - Temporäre .cfg- und .log-Dateien werden nach dem Export gelöscht.
### Hinweise ### Hinweise
- Solid Edge muss installiert sein, da das Skript über COM darauf zugreift. - Solid Edge muss installiert sein, da das Skript über COM darauf zugreift.
- Das Skript ist robust gegenüber Fehlern beim Export einzelner Dateien (Fehler werden gemeldet, der Prozess läuft weiter). - Das Skript ist robust gegenüber Fehlern beim Export einzelner Dateien (Fehler werden gemeldet, der Prozess läuft weiter).
- Nach dem Export werden überflüssige .cfg- und .log-Dateien im Eingabe- und Ausgabeverzeichnis entfernt. - Nach dem Export werden überflüssige .cfg- und .log-Dateien im Eingabe- und Ausgabeverzeichnis entfernt.
@@ -78,36 +105,46 @@ python lib/save_stl.py --in <Eingabeordner> --out <Ausgabeordner>
## 3. read_variables ## 3. read_variables
### Zweck ### Zweck
Das Skript liest aus allen .par-Dateien in einem Verzeichnis die benutzerdefinierten Variablen 'Mittiges_Koordinatensystem_X_Translation' und 'Mittiges_Koordinatensystem_Y_Translation' aus und speichert die Werte als Breite und Höhe in einer JSON-Datei.
Das Skript liest aus allen .par-Dateien in einem Verzeichnis die benutzerdefinierten Variablen `Mittiges_Koordinatensystem_X_Translation` und `Mittiges_Koordinatensystem_Y_Translation` aus und speichert die Werte als Breite und Höhe in einer JSON-Datei.
### Aufrufmöglichkeiten ### Aufrufmöglichkeiten
#### Über die Kommandozeile oder Batch-Datei: **Über die Batch-Datei (empfohlen unter Windows):**
```bat
bin\get_dimensions.bat --in <Eingabeordner> --out <Ausgabeordner>
```
**Direkt über die Kommandozeile:**
```sh ```sh
python lib/read_variables.py --in <Eingabeordner> --out <Ausgabeordner> python lib/read_variables.py --in <Eingabeordner> --out <Ausgabeordner>
``` ```
#### Parameter: **Parameter:**
- `--in`: Pfad zum Ordner mit .par-Dateien (optional, Standard: Umgebungsvariable PROJECT_INPUT oder ./input) - `--in`: Pfad zum Ordner mit .par-Dateien (optional, Standard: Umgebungsvariable PROJECT_INPUT oder ./input)
- `--out`: Zielordner für die JSON-Ausgabe (optional, Standard: Umgebungsvariable PROJECT_WORK oder ./work) - `--out`: Zielordner für die JSON-Ausgabe (optional, Standard: Umgebungsvariable PROJECT_WORK oder ./work)
### Input/Output ### Input/Output
- **Input:** - **Input:**
- .par-Dateien im angegebenen Eingabeordner - .par-Dateien im angegebenen Eingabeordner
- **Output:** - **Output:**
- Eine JSON-Datei im Ausgabeverzeichnis, benannt nach dem Eingabeordner (z.B. input.json), mit folgendem Aufbau: - Eine JSON-Datei im Ausgabeverzeichnis, benannt nach dem Eingabeordner (z.B. input.json), mit folgendem Aufbau:
```json ```json
{ {
"Dateiname_ohne_Endung": { "Dateiname_ohne_Endung": {
"breite": <Wert>, "breite": <Wert>,
"hoehe": <Wert> "hoehe": <Wert>
}, }
...
} }
``` ```
### Hinweise ### Hinweise
- Solid Edge muss installiert sein, da das Skript über COM darauf zugreift. - Solid Edge muss installiert sein, da das Skript über COM darauf zugreift.
- Die Variablen werden mit 2000 multipliziert und auf drei Nachkommastellen gerundet. - Die Variablen werden mit 2000 multipliziert und auf drei Nachkommastellen gerundet.
- Falls eine .par-Datei die benötigten Variablen nicht enthält, wird sie übersprungen. - Falls eine .par-Datei die benötigten Variablen nicht enthält, wird sie übersprungen.
@@ -115,14 +152,100 @@ python lib/read_variables.py --in <Eingabeordner> --out <Ausgabeordner>
--- ---
- **Umgebungsvariablen:** ## 4. diff_dimensions
Die Batch-Dateien rufen vorab setenv.bat auf, um Umgebungsvariablen wie PROJECT_LIB, PROJECT_WORK, PROJECT_INPUT, PROJECT_DATA zu setzen. Diese sollten korrekt konfiguriert sein.
- **Voraussetzungen:** ### Zweck
- Python (mit win32com)
- Solid Edge (für COM-Zugriff) Das Skript vergleicht 3D-Bauteilmaße (aus einer JSON-Datei erzeugt von `read_variables`) mit 2D-Zeichnungsmaßen (aus einer JSON-Datei des SVG-Editors). Einträge, bei denen Breite oder Höhe außerhalb der Toleranz abweichen, werden in einer Ausgabe-JSON gespeichert. So lassen sich Inkonsistenzen zwischen 3D-Modell und 2D-Zeichnung schnell identifizieren.
- **Fehlerbehandlung:**
Fehlerhafte oder fehlende Dateien werden übersprungen, der Prozess läuft weiter. ### Aufrufmöglichkeiten
**Über die Batch-Datei:**
```bat
bin\diff_dimensions.bat --type <Typ> --json_dimensions <3D-JSON> --json_2d <2D-JSON> [--tolerance <Wert>] [--result <Ausgabedatei>]
```
**Interaktiv (mit Abfragen):**
```bat
bin\get_all_differences.bat
```
Fragt Typ, Dateinamen und Toleranz interaktiv ab und ruft dann `diff_dimensions.bat` auf.
**Direkt über die Kommandozeile:**
```sh
python lib/diff_dimensions.py --type <Typ> --json_dimensions <3D-JSON> --json_2d <2D-JSON>
```
**Parameter:**
- `--type`: Art des Bauteils: `BOGEN`, `WEICHE`, `TEFBOGEN` oder `TEFWEICHE` (bestimmt das Eingabeverzeichnis für die 2D-JSON)
- `--json_dimensions`: Dateiname der 3D-Maße-JSON (aus `read_variables`, liegt in PROJECT_WORK)
- `--json_2d`: Dateiname der 2D-Maße-JSON (liegt im typabhängigen Verzeichnis)
- `--tolerance`: Toleranz in Millimetern (optional, Standard: `0.05`)
- `--result`: Dateiname der Ausgabedatei (optional, Standard: `Differenzen_2D_3D.json`)
- `--output_dir`: Ausgabeverzeichnis (optional, Standard: Umgebungsvariable PROJECT_WORK)
### Input/Output
- **Input:**
- `--json_dimensions`: JSON-Datei mit 3D-Maßen (Schlüssel: SIVAS-Nummer, Felder: `breite`, `hoehe`)
- `--json_2d`: JSON-Datei mit 2D-Maßen (Liste mit Feldern `Sivasnr`, `Objekte_width_mm`, `Objekte_height_mm`)
- **Output:**
- JSON-Datei mit allen Einträgen, deren Maße außerhalb der Toleranz liegen, inkl. Differenzwerten (`w_diff`, `h_diff`). Bei übereinstimmenden Maßen wird keine Ausgabedatei erzeugt.
### Beispielaufruf
```bat
bin\diff_dimensions.bat --type BOGEN --json_dimensions Bogen_3D.json --json_2d Bogen_2D.json --tolerance 0.1 --result diff_bogen.json
```
### Hinweise
- Erfordert kein Solid Edge — reine JSON-Verarbeitung.
- Die Umgebungsvariablen `PROJECT_JSON_BOGEN`, `PROJECT_JSON_WEICHE`, `PROJECT_JSON_TEFBOGEN`, `PROJECT_JSON_TEFWEICHE` müssen für den `--type`-Parameter korrekt gesetzt sein (via setenv.bat).
--- ---
Wenn du eine Beispielkonfiguration oder weitere Details (z.B. zu setenv.bat oder den Umgebungsvariablen) benötigst, sag gerne Bescheid! ## 5. Batch-Hilfsskripte
### setenv.bat
Setzt alle Projektumgebungsvariablen. Wird von allen anderen Batch-Dateien automatisch aufgerufen.
| Variable | Standardwert | Bedeutung |
| -------- | ------------ | --------- |
| `PROJECT_DIR` | Verzeichnis des Code-Ordners | Wurzelverzeichnis des Projekts |
| `PROJECT_BIN` | `%PROJECT_DIR%\bin` | Verzeichnis der Batch-Dateien |
| `PROJECT_LIB` | `%PROJECT_DIR%\lib` | Verzeichnis der Python-Skripte |
| `PROJECT_WORK` | `%PROJECT_DIR%\work` | Arbeitsverzeichnis (Zwischenergebnisse) |
| `PROJECT_DATA` | `%PROJECT_DIR%\data` | Datenverzeichnis |
| `PROJECT_INPUT` | `%PROJECT_DIR%\input` | Eingabeverzeichnis (.par-Dateien) |
| `PROJECT_TEMPLATE` | `\\ssg.local\freigaben\RuleDesigner\Templates\CreateAssemblies` | Netzwerkpfad zur dummy.asm-Vorlage |
| `PROJECT_JSON_BOGEN` | `%SSG_RD_DIR%\SVGs\Omniflo\python\OFBogen\json` | 2D-JSON-Verzeichnis für Bögen |
| `PROJECT_JSON_WEICHE` | `%SSG_RD_DIR%\SVGs\Omniflo\python\OFWeiche\json` | 2D-JSON-Verzeichnis für Weichen |
| `PROJECT_JSON_TEFBOGEN` | `%SSG_RD_DIR%\SVGs\Omniflo\python\TEFBogen\json` | 2D-JSON-Verzeichnis für TEF-Bögen |
| `PROJECT_JSON_TEFWEICHE` | `%SSG_RD_DIR%\SVGs\Omniflo\python\TEFWeiche\json` | 2D-JSON-Verzeichnis für TEF-Weichen |
### get_cmd.bat
Ruft `setenv.bat` auf und öffnet anschließend eine Kommandozeile mit gesetzten Umgebungsvariablen. Nützlich, um Skripte manuell mit korrekter Umgebung zu testen.
### get_all_differences.bat
Interaktiver Wrapper für `diff_dimensions.bat`. Fragt Typ, JSON-Dateinamen und Toleranz per Eingabeaufforderung ab (mit vordefinierten Standardwerten) und startet dann den Vergleich.
---
## Voraussetzungen
- **Python** mit den Paketen `win32com` (pywin32) und `pythoncom`
- **Solid Edge** (für COM-Zugriff bei `create_assemblies`, `save_stl`, `read_variables`)
- **Netzwerkzugriff** auf `\\ssg.local\freigaben\RuleDesigner\Templates\CreateAssemblies` (für `create_assemblies`)
## Fehlerbehandlung
Fehlerhafte oder fehlende Dateien werden bei allen Skripten übersprungen — der Prozess läuft jeweils weiter und gibt eine Fehlermeldung aus.
+1
View File
@@ -0,0 +1 @@
pywin32
+11 -3
View File
@@ -4,13 +4,14 @@ import argparse
import win32com.client import win32com.client
import pythoncom import pythoncom
def export_assemblies_to_stl(input_dir, output_dir): def export_assemblies_to_stl(input_dir, output_dir, filter_name=None, minimized=False):
pythoncom.CoInitialize() pythoncom.CoInitialize()
try: try:
# Solid Edge starten oder verbinden # Solid Edge starten oder verbinden
se_app = win32com.client.Dispatch("SolidEdge.Application") se_app = win32com.client.Dispatch("SolidEdge.Application")
se_app.Visible = True se_app.Visible = True
se_app.WindowState = 2 if minimized else 1
documents = se_app.Documents documents = se_app.Documents
@@ -18,6 +19,8 @@ def export_assemblies_to_stl(input_dir, output_dir):
for filename in os.listdir(input_dir): for filename in os.listdir(input_dir):
if filename.lower().endswith(".asm"): if filename.lower().endswith(".asm"):
if filter_name and filter_name.lower() not in filename.lower():
continue
asm_path = os.path.join(input_dir, filename) asm_path = os.path.join(input_dir, filename)
stl_filename = os.path.splitext(filename)[0] + ".stl" stl_filename = os.path.splitext(filename)[0] + ".stl"
stl_path = os.path.join(output_dir, stl_filename) stl_path = os.path.join(output_dir, stl_filename)
@@ -29,7 +32,7 @@ def export_assemblies_to_stl(input_dir, output_dir):
doc = documents.Open(asm_path) doc = documents.Open(asm_path)
# STL exportieren in den Unterordner # STL exportieren in den Unterordner
doc.SaveAs(stl_path) doc.SaveAs(stl_path)
print(f" Exported to: {stl_path}") print(f"-> Exported to: {stl_path}")
except Exception as e: except Exception as e:
print(f"Error processing {filename}: {e}") print(f"Error processing {filename}: {e}")
finally: finally:
@@ -69,6 +72,8 @@ if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Exportiert alle .asm-Dateien in einem Ordner nach STL.") parser = argparse.ArgumentParser(description="Exportiert alle .asm-Dateien in einem Ordner nach STL.")
parser.add_argument("--in", dest="input_dir", required=False, help="Ordner mit .asm-Dateien (Standard: WORK oder ../work)") parser.add_argument("--in", dest="input_dir", required=False, help="Ordner mit .asm-Dateien (Standard: WORK oder ../work)")
parser.add_argument("--out", dest="output_dir", required=False, help="Zielordner für STL-Dateien (Standard: work/STL_Export)") parser.add_argument("--out", dest="output_dir", required=False, help="Zielordner für STL-Dateien (Standard: work/STL_Export)")
parser.add_argument("--filter", dest="filter_name", required=False, help="Nur Dateien verarbeiten, deren Name diesen String enthält")
parser.add_argument("--se-minimized", dest="minimized", action="store_true", default=False, help="Solid Edge minimiert starten")
if len(sys.argv) == 2 and sys.argv[1] in ("-h", "--help"): if len(sys.argv) == 2 and sys.argv[1] in ("-h", "--help"):
parser.print_help() parser.print_help()
@@ -97,4 +102,7 @@ if __name__ == "__main__":
print(f"Input folder not found: {input_dir}") print(f"Input folder not found: {input_dir}")
sys.exit(1) sys.exit(1)
export_assemblies_to_stl(input_dir, output_dir) if args.filter_name:
print(f"Filtering files containing: '{args.filter_name}'\n")
export_assemblies_to_stl(input_dir, output_dir, args.filter_name, args.minimized)
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More