Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Direct Modeling
  Abbruch beim Liste einlesen Lisp

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:   Abbruch beim Liste einlesen Lisp (359 mal gelesen)
Castell
Mitglied
CAD/PLM Verantwortlicher


Sehen Sie sich das Profil von Castell an!   Senden Sie eine Private Message an Castell  Schreiben Sie einen Gästebucheintrag für Castell

Beiträge: 280
Registriert: 22.05.2000

Das Wissen der Menschen
gehört der Menschheit.<P>SAP PLM, Notepad++, Windows 7

erstellt am: 16. Feb. 2017 20:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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


Sehen Sie sich das Profil von Patrick Weber an!   Senden Sie eine Private Message an Patrick Weber  Schreiben Sie einen Gästebucheintrag für Patrick Weber

Beiträge: 649
Registriert: 20.11.2006

Win7 Pro SP1 64Bit
HP Z230, Core i5, 8GB RAM, nv Quadro K600
Creo Elements/Direct 19.0 M010
ModelManager 19.0 M010
clisp,VB.net,VBA,AHK,php,javascript

erstellt am: 17. Feb. 2017 12:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Castell 10 Unities + Antwort hilfreich

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
Ingenieur


Sehen Sie sich das Profil von lix b an!   Senden Sie eine Private Message an lix b  Schreiben Sie einen Gästebucheintrag für lix b

Beiträge: 205
Registriert: 03.10.2014

Creo Elements / Direct Modeling 19.0 M020
Creo Elements / Direct Model Manager 19.0
Creo 2.0 Simulate
<P>Notepad++
Win 7

erstellt am: 17. Feb. 2017 12:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Castell 10 Unities + Antwort hilfreich

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
CAD/PLM Verantwortlicher


Sehen Sie sich das Profil von Castell an!   Senden Sie eine Private Message an Castell  Schreiben Sie einen Gästebucheintrag für Castell

Beiträge: 280
Registriert: 22.05.2000

Das Wissen der Menschen
gehört der Menschheit.<P>SAP PLM, Notepad++, Windows 7

erstellt am: 18. Feb. 2017 11:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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
CAD/PLM Verantwortlicher


Sehen Sie sich das Profil von Castell an!   Senden Sie eine Private Message an Castell  Schreiben Sie einen Gästebucheintrag für Castell

Beiträge: 280
Registriert: 22.05.2000

Das Wissen der Menschen
gehört der Menschheit.<P>SAP PLM, Notepad++, Windows 7

erstellt am: 18. Feb. 2017 11:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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
CAD/PLM Verantwortlicher


Sehen Sie sich das Profil von Castell an!   Senden Sie eine Private Message an Castell  Schreiben Sie einen Gästebucheintrag für Castell

Beiträge: 280
Registriert: 22.05.2000

Das Wissen der Menschen
gehört der Menschheit.<P>SAP PLM, Notepad++, Windows 7

erstellt am: 18. Feb. 2017 18:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2017 CAD.de