| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo |
| |
| Webcast: PTC | Smart Connected Manufacturing, ein Webinar am 25.10.2024
|
Autor
|
Thema: Abbruch beim Liste einlesen Lisp (833 / mal gelesen)
|
Castell Mitglied Technical Advisor Engineering
Beiträge: 302 Registriert: 22.05.2000 Das Wissen der Menschen gehört der Menschheit.<P>SAP PLM, Notepad++, Tcl/Tk, Windows 7
|
erstellt am: 16. Feb. 2017 20:04 <-- editieren / zitieren --> Unities abgeben:
Hallo. Ich habe ein interessantes Phänomen, zu dem ich keinerlei Informationen finde. Vielleicht weiß jemand von euch etwas und hat vielleicht sogar eine andere Lösung. Ich habe ein Textfile mit Dateinamen von OSD Teilen. Dieses Textfile binhaltet mehr als 30000 Zeilen. Ich lese in einem Programm diese File sequentiell ein, lade das Teil, prüfe es, schreibe ein Errorlog, lösche das Modell und dann wieder von vorne bis alle Teile angearbeitet sind. Nun hängt sich der Prozess und damit das komplette Modeling V18 auf wenn das Textfile ca. 3330 Zeilen lang ist. Es ist kein RAM problem, denn das habe ich beobachtet und von den 16GB werden nur knapp 5GB benutzt. Wenn ich das File 10 Teile a 3000 Zeilen aufteile und jede Liste manuell starte. Kann ich alles durcharbeiten ohne auch nur das Modeling einmal durchzustarten. Selbst wenn ich ein kleines progn schreibe, dass mein Checkprogramm 10 mal aufruft, bricht es auch bei ca. 3330 Zeilen ab. Die Funktion muß beendet sein und nochmal aufgerufen werden. Ich verwende den Befehl with-open-file (loadpart inputfile :direction :input) und dann eine loop mit progn Aufruf für das Laden und checken. Weiß jemand warum es immer bei etwas 3330 Zeile abbricht? Gibt es eine andere Möglichkeit das Textfile einzulesen egal wie viele Zeilen?
------------------ Viele Grüsse aus dem Schwabenländle Massimo Castell Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Patrick Weber Mitglied Konstruktionstechniker, Admin
Beiträge: 659 Registriert: 20.11.2006 Win11 Pro 23H2 Core i7-12700, 32GB RAM, Quadro P620 Creo Elements/Direct 19.0 M030 ModelManager 19.0 License Server 19.0 F000 clisp,VB.net,VBA,AHK,Python
|
erstellt am: 17. Feb. 2017 12:06 <-- editieren / zitieren --> Unities abgeben: Nur für Castell
Versuche mal, in einem vorherigen Schritt die Textdatei in eine Liste einzulesen und dann diese Liste mit "dolist" abzuarbeiten. Auszuprobieren wäre auch, vor Laden eines neuen Teils (sd-call-cmds (uic_reset_session :yes))auszuführen. Auffällig war mir bei der Thumbnail-Erstellung von ganzen Ordnerstrukturen mit Pakages, dass es ein Limit bei sequenziell geladenen Modellen gibt. Wahrscheinlich kann das Programm innerhalb eines Lisp seinen Speicher nicht bereinigen (Garbage Collection) und schmiert trotz massig vorhandenen Arbeitssspeichers ab. ------------------ Patrick Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lix b Mitglied Konstrukteur, CAD-Admin
Beiträge: 291 Registriert: 03.10.2014 Creo Elements / Direct Modeling 20.4 Creo Elements / Direct Model Manager 20.4 <P>Notepad++ Win 11
|
erstellt am: 17. Feb. 2017 12:31 <-- editieren / zitieren --> Unities abgeben: Nur für Castell
Ist beim Ausführen deines Programms der MM aktiv? Wenn ja wäre das eine Erklärung, da MM nach jedem Ladevorgang eine Statusaktualisierung durchführt. Diese führt nach mehreren Wiederholungen (Grenzwert variiert je nach Umfang der geladenen Teilen) dazu das sich der MM-Java Prozess selbst überlädt, weil es beim Status-Aktualisierungsbefehl ein Speicherverwaltungsproblem gibt. ------------------ Viele Grüße Felix Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Castell Mitglied Technical Advisor Engineering
Beiträge: 302 Registriert: 22.05.2000 Das Wissen der Menschen gehört der Menschheit.<P>SAP PLM, Notepad++, Tcl/Tk, Windows 7
|
erstellt am: 18. Feb. 2017 11:38 <-- editieren / zitieren --> Unities abgeben:
Hallo Patrick. Vielen Dank für deinen Infos. Ich habe zuerst das Programm auf eine Listabarbeitung umgeschrieben und siehe da. Die Performance ist immens gestiegen. Was IO Prozesse doch ausmachen. =) Leider ist das Modeling trotzdem beim 3332 Teil abgetürzt. Dann habe ich deinen Tip mit dem uic_reset eingebaut und jetzt ist eine Liste mit 6000 Teilen durchgelaufen. \o/ Ich selbest habe nur ( OLI::sd-call-cmds ( undo :max_back 1)) benutzt um das OSD speichertechnisch nicht zu beslaten. Ich werde es gleich mit der 30000er Liste starten. ------------------ Viele Grüsse aus dem Schwabenländle Massimo Castell Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Castell Mitglied Technical Advisor Engineering
Beiträge: 302 Registriert: 22.05.2000 Das Wissen der Menschen gehört der Menschheit.<P>SAP PLM, Notepad++, Tcl/Tk, Windows 7
|
erstellt am: 18. Feb. 2017 11:40 <-- editieren / zitieren --> Unities abgeben:
Hallo Felix, nein, kein ModelManager. Wir haben eine SAP PLM Intergration und die ist nicht gestartet auf meinem "Prüfungsrechner". In der Liste sind Dateinamen und ich greifen auf ein Verzeichnis zu in dem gerade alle unsere Daten gespeichert sind. ------------------ Viele Grüsse aus dem Schwabenländle Massimo Castell Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Castell Mitglied Technical Advisor Engineering
Beiträge: 302 Registriert: 22.05.2000 Das Wissen der Menschen gehört der Menschheit.<P>SAP PLM, Notepad++, Tcl/Tk, Windows 7
|
erstellt am: 18. Feb. 2017 18:41 <-- editieren / zitieren --> Unities abgeben:
Hallo. Nur zur Info. Ich konnte jetzt die Listen auf 8000 Teile "aufpumpen", dann gibt das Modeling mit einer Ressourcenfehlermeldung auf. Ich denke, dass das die Grenzen des Systems sind. 8000 sind besser als 3000 und ich werde mich wohl so durch den Bestand kämpfen. Außer jemand hat noch eine zündende Idee. Wie schon am Anfange geschrieben. Muss das Programm immer komplett neu aufrufen. Vieleicht gibt es eine bessere "Schleife" bei der ich das Programm mehrfach nacheinander aufrufen könnte. ------------------ Viele Grüsse aus dem Schwabenländle
Massimo Castell [Diese Nachricht wurde von Castell am 18. Feb. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |