| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo |
| |
| SF INSPECT 3D , eine App
|
Autor
|
Thema: Fehler 319 Anzeige direkt in Strukturbaum (1728 / mal gelesen)
|
am Mitglied Ingenieur FH / Manager Development Tools
Beiträge: 245 Registriert: 01.02.2003 zurzeit: ptc creo elements/direct modeling 20.0 mit ASCAD Schnittstelle ins SAP vormals: SolidWorks mit Direktschnittstelle CIDEON in SAP
|
erstellt am: 22. Feb. 2018 13:58 <-- editieren / zitieren --> Unities abgeben:
Guten Tag Miteinander gibt es die Möglichkeit fehlerhafte Teile (Fehler 319) direkt im Strukturbaum anzuzeigen? Zuerst eine Teil-Analyse durchzuführen; Datei rausschreiben; nach Fehler 319 suchen und dann flicken ist mühsam. Hat hier jemand schon mal ein Lisp gemacht? Danke und Gruss am ------------------ am Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AlexG Mitglied
Beiträge: 133 Registriert: 05.04.2013 Win7 64-bit; Intel Core i7, 8CPUs @ 2,2GHz; 16GB RAM; 120GB SSD; Nvidia Quadro 1000 M; SolidDesigner 18.0
|
erstellt am: 23. Feb. 2018 10:52 <-- editieren / zitieren --> Unities abgeben: Nur für am
Hi, also wenn ich es richtig verstanden habe soll das Ergebnis der Teileprüfung in der Strukturliste angezeigt werden? Ich finde die Idee ja sehr nett, ABER da sind aber so einige Hürden drin: - Das Ergebnis der Teileprüfung... da muss mal erst einmal ran kommen. - So aufwendige Funktionsaufrufe wie die Teileprüfung und der Strukturlist, die alle Nase lang aktualiert wird... Ayaijaa. Performance-Killer. - Ganz zu schweigen von den Rekursiven aufrufen... *AUGEN.ROLL* ... *MIT.DEM.ZEIGEFINGER.AUF.DIE.UNTERLIPPE.TIP* So wirklich gut habe ich das nicht hinbekommen... aber vielleicht ist dir mit dem Lisp aus dem Anhang schon weitergeholfen. Nach dem Laden steht eine neue Stukturliste zur Verfügung: Analyse. Allerdings wird die Struktur nicht automatisch "abgetastet". So das bei Änderungen die Struktur neu geprüft werden muss. Dazu gibt es im Werkzeugkasten den Eintrag "Refresh structure browser part check" der die Einzelteile der Struktur erneut prüft und die Browserview aktualisiert. Anschließend kannst du ja wunderbar über die Suche/Filter auf die Spalte "Check result" dir die entsprechenden Teile anzeigen lassen. Ist alles mehr oder wenig schnell runter geschrieben und noch nicht wirklich ausgiebig getestet. Bin für Verbesserungsvorschläge jeder Art immer offen und dankbar. Viel Spaß mit dem Lisp. Gruß, Alex ------------------ Computer sind unbrauchbar. Sie können nur Fragen beantworten. Pablo Picasso, Maler Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
Beiträge: 2219 Registriert: 3.20. ● PE20+60+80@home ● W10 Pro Build19045.4780 ● Drafting V17~V20.7 ● Modeling V17~V20.7 ● Windchill 12.1.2.6 ● UWGM Client 13.0.0.1
|
erstellt am: 23. Feb. 2018 11:04 <-- editieren / zitieren --> Unities abgeben: Nur für am
Zitat: Original erstellt von am: gibt es die Möglichkeit fehlerhafte Teile (Fehler 319) direkt im Strukturbaum anzuzeigen?
Dinge, die in der Strukture liste on the fly angezeigt werden sollen, sollten in der Regel SCHNELL ermittelbar sein, oder man benoetige ein intelligentes caching. "Teilecheck" wuerde ich nicht als schnellbezeichnen. Oder man macht die Analyse nur auf "Zuruf", MUSS aber dann wissen das die Anzeige in der Struktuerliste fuer diese Information NICHT uptodate ist/sein kann; was aber in der Regel erwartet wird. Ich wuerde eher wie folgt vorgehen: 1) ein asseembly auswaehlen 2) dieses assembly rekursive nach parts durchsuchen 3) den Teilecheck durchfuehren 3a) wenn Teil ok, das Teil aus der Drawliste entfernen 3b) wenn Teil fehlerhaft, die komplette Fehlermeldung/Analyse ausgeben Entweder ist dein viewport dann leer oder du siehst deine kaputten Teile. Alternativen zu 3a/b waeren: schreiben einer Textdatei, schreiben einer HTML Datei. Die Dateien kann man natuerlich auch zusaetlich schreiben (lassen). Fuer solche "temporaeren" Geschichten wuerde ich nix in die Struktuerliste einbauen. Wenn man _da_ was falsch macht, geht das schnell auf die Performance (wenn man assemblies groeser 1k oder 10k Teile im Auge behaelt) ------------------ ● Firefox ESR ● Java Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en) ● NotePad++ ● BuFDi ● Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
Beiträge: 2219 Registriert: 3.20. ● PE20+60+80@home ● W10 Pro Build19045.4780 ● Drafting V17~V20.7 ● Modeling V17~V20.7 ● Windchill 12.1.2.6 ● UWGM Client 13.0.0.1
|
erstellt am: 23. Feb. 2018 11:16 <-- editieren / zitieren --> Unities abgeben: Nur für am
Zitat: Original erstellt von AlexG: Viel Spaß mit dem Lisp.
Hehe. Waehrend ich meinen Beitrag schrieb und verbesserte und korrigierte ( bin manchmal langsam), hast Du dein Lisp hochgeladen. Und viele der Punkte addressiert, auf die ich 'am' hinweisen wollte. So beim drueberlesen sieht der lisp code schon sehr gut aus. "cachen via contents sysid" war genau das was ich im Hinterkopf hatte. Und eine separate browser view ist auch eine gute Idee! Ich haette ne hashmap genommen, aber egal. In die *structure-check-result* haette ich noch den "last modified timestamp" aufgenommen, und beim refresh dann ausgenutzt und nur die geaenderten Teile neu geprueft. Das haette bei fetten Assemlies dann ein (neudeutsch) boost. ------------------ ● Firefox ESR ● Java Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en) ● NotePad++ ● BuFDi ● Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AlexG Mitglied
Beiträge: 133 Registriert: 05.04.2013 Win7 64-bit; Intel Core i7, 8CPUs @ 2,2GHz; 16GB RAM; 120GB SSD; Nvidia Quadro 1000 M; SolidDesigner 18.0
|
erstellt am: 23. Feb. 2018 11:27 <-- editieren / zitieren --> Unities abgeben: Nur für am
Hallo Wolfgang, wo wir gerade den Experten hier haben: Gibt es eine Möglichkeit das Aktualisieren der Strukturliste (temporär) zu unterdrücken? Ich hatte Probleme, welche vermutlich durch Rekursive Aufrufe von check_part, welches wahrscheinlich eine update der Strukturliste durchgeführt hat, verursacht wurden. Daher wollte ich das Aktualisieren unterdrücken... bin aber leider kläglich gescheitert. :-( Dank & Gruß, Alex ------------------ Computer sind unbrauchbar. Sie können nur Fragen beantworten. Pablo Picasso, Maler Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
Beiträge: 2219 Registriert: 3.20. ● PE20+60+80@home ● W10 Pro Build19045.4780 ● Drafting V17~V20.7 ● Modeling V17~V20.7 ● Windchill 12.1.2.6 ● UWGM Client 13.0.0.1
|
erstellt am: 23. Feb. 2018 11:58 <-- editieren / zitieren --> Unities abgeben: Nur für am
Zitat: Original erstellt von AlexG: Gibt es eine Möglichkeit das Aktualisieren der Strukturliste (temporär) zu unterdrücken?
Hi Alex, gut gefragt ist halb gefunden: integration_kit/reference/gbrowser.html#sd-browser-exec-cmd sd-browser-exec-cmd + :BUFFER-DISPLAY einmal mit T aufrufen, rumnudeln, einmal mit NIL aufrufen (!!! nicht vergessen !! -->> ggf. in der CleanupAction eines dialogs) Ohne diese seit Jahrzehnten existierende IKIT funktion haette ich gesagt: browser hiden, oder auf root zusammen schrumpfen. Aber CoCreate hat ja vor gesorgt!
------------------ ● Firefox ESR ● Java Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en) ● NotePad++ ● BuFDi ● Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AlexG Mitglied
Beiträge: 133 Registriert: 05.04.2013 Win7 64-bit; Intel Core i7, 8CPUs @ 2,2GHz; 16GB RAM; 120GB SSD; Nvidia Quadro 1000 M; SolidDesigner 18.0
|
erstellt am: 23. Feb. 2018 13:04 <-- editieren / zitieren --> Unities abgeben: Nur für am
Das ist aber schon sehr gut im IKIT versteckt. Und zu meiner Verteidigung sei gesagt, dass ich mit Views und Browsern bis Dato sehr wenig gearbeitet habe. Bin ich so noch nie drüber gestolpert. Daher umso herzlicher der Dank für den Tipp mit dem sd-browser-exec-cmd. Ich hatte vor, dass wenn nicht vorhandene Elemente in *structure-check-result* auftauchen, die Struktur neu gecheckt wird - bzw. die fehlenden Einträge ergänzt werden. Leider bekomme ich nur ein "check_part/signal/sigsegv" um die Ohren gehauen. ...Egal... Viel spannender finde ich aber die Idee den "last modified timestamp" mit aufzunehmen. Ich stehe aber gerade mal wieder mit beiden Beinen fest auf dem Schlauch. Wie bekomme ich denn den timestamp aus dem Modell heraus? *AM.KOPF.KRATZ* Dank & Gruß, Alex ------------------ Computer sind unbrauchbar. Sie können nur Fragen beantworten. Pablo Picasso, Maler Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
am Mitglied Ingenieur FH / Manager Development Tools
Beiträge: 245 Registriert: 01.02.2003
|
erstellt am: 23. Feb. 2018 14:31 <-- editieren / zitieren --> Unities abgeben:
Hallo AlexG vorab mal besten Dank für das Lisp. Es ist schön, dass es in diesem Forum so aktive Leute hat. Habe natürlich mit einer Baugruppe getestet. Darin sind 1 Teile mit dem Fehler 319. Vorgehen: - Baugruppe aus ModelManager geladen. (Ohne Bearbeiten zulassen) - Danach Lisp-Datei in Fenster gezogen. - Strukturliste "Analyse" wurde aktiv - in Werkzeugbox "Refresh structure browser part check" ausgeführt. Leeres Fenster erschien - Dann wollte ich in der Suche nach "check result = ???? suchen. Habe aber leider kein Ergebnis gesehen. Frage: Was habe ich da falsch gemacht? (Habe es in der Version 18.1 versucht) Danke und Gruss am PS: Dank geht natürlich auch an Wolfgang ------------------ am [Diese Nachricht wurde von am am 23. Feb. 2018 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AlexG Mitglied
Beiträge: 133 Registriert: 05.04.2013 Win7 64-bit; Intel Core i7, 8CPUs @ 2,2GHz; 16GB RAM; 120GB SSD; Nvidia Quadro 1000 M; SolidDesigner 18.0
|
erstellt am: 23. Feb. 2018 15:10 <-- editieren / zitieren --> Unities abgeben: Nur für am
Hi am(?), bitte, bitte ...versuche hier nur einen Teil von dem wieder zu geben, was mir dieses Forum gegeben hat. Aber das wird wahrscheinlich auch nicht mehr all zu lange sein. *seufz* Also ich habe es gerade mal mit deinen Daten auf der 18.1 getestet... works as designed. Ferndiagnose... schwierig sie ist. Wenn du dir die Details der Strukturliste anzeigen lässt, siehst du da das Resultat der Teileprüfung? Hast du bei der Suche/Filter mit Wildcard um 319 gearbeitet? Also *319* als Suchkriterium angegeben? Gruß, Alex ------------------ Computer sind unbrauchbar. Sie können nur Fragen beantworten. Pablo Picasso, Maler Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
am Mitglied Ingenieur FH / Manager Development Tools
Beiträge: 245 Registriert: 01.02.2003
|
erstellt am: 23. Feb. 2018 15:13 <-- editieren / zitieren --> Unities abgeben:
Hallo AlexG habe natürlich die Details in der Strukturliste nicht eingeschaltet gehabt. Also Dein Programm hat die 319er Fehler gefunden. Funktioniert in der 18er wie auch in der 20er Version. Schade, wenn wir Dich im Forum verlieren. Forum lebt mit solchen aktiven Leuten wie Dich. Wünsche Dir ein schönes Wochenende. Gruss Urs
------------------ am Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AlexG Mitglied
Beiträge: 133 Registriert: 05.04.2013 Win7 64-bit; Intel Core i7, 8CPUs @ 2,2GHz; 16GB RAM; 120GB SSD; Nvidia Quadro 1000 M; SolidDesigner 18.0
|
erstellt am: 23. Feb. 2018 15:26 <-- editieren / zitieren --> Unities abgeben: Nur für am
Hi Urs, freut mich zu hören, dass es doch noch funktioniert hat. Dann kann ich ja gleich auch entspannt ins Wochenende starten. Und noch bleibe ich euch ein wenig erhalten. Wünsch ebenfalls ein schönes (und hoffentlich) sonniges Wochenende!!! Gruß, Alex ------------------ Computer sind unbrauchbar. Sie können nur Fragen beantworten. Pablo Picasso, Maler Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
Beiträge: 2219 Registriert: 3.20. ● PE20+60+80@home ● W10 Pro Build19045.4780 ● Drafting V17~V20.7 ● Modeling V17~V20.7 ● Windchill 12.1.2.6 ● UWGM Client 13.0.0.1
|
erstellt am: 23. Feb. 2018 15:54 <-- editieren / zitieren --> Unities abgeben: Nur für am
Zitat: Original erstellt von AlexG: Das ist aber schon sehr gut im IKIT versteckt.
nein gar nicht. Wenn man an 'browser' denkt, muss man auch nach 'browser' im Ikit gucken. sd-browser-exec-cmd kann ne ganze Menge. Zitat: die Struktur neu gecheckt wird
Die Struktur scannest Du schon neu ab. Aber deine cache liste loescht du NIE, damit bleiben alle vorherigen Ergebnisse gespeichert (bis zum restart vom OSD, fuer den Anwendungsfall ist da okay IMHO) Zitat: Viel spannender finde ich aber die Idee den "last modified timestamp" mit aufzunehmen. Ich stehe aber gerade mal wieder mit beiden Beinen fest auf dem Schlauch. Wie bekomme ich denn den timestamp aus dem Modell heraus? *AM.KOPF.KRATZ*
Dann schiebe ich dich mal aus dem Bahnhof, aehm vom Schlauch: Code: (sd-inq-obj-mod-time (sd-inq-curr-part) :contents)
Dein gepuffertes result (zeile 70) ist dann halt ein triple. Da wuerde sich dann schon eine pflegeleichte properties liste anbieten statt mit (nth 1..2..3) zu arbeiten. Aber das kriegste hin! . ------------------ ● Firefox ESR ● Java Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en) ● NotePad++ ● BuFDi ● Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
Beiträge: 2219 Registriert: 3.20. ● PE20+60+80@home ● W10 Pro Build19045.4780 ● Drafting V17~V20.7 ● Modeling V17~V20.7 ● Windchill 12.1.2.6 ● UWGM Client 13.0.0.1
|
erstellt am: 23. Feb. 2018 16:30 <-- editieren / zitieren --> Unities abgeben: Nur für am
am besten schiebst Du einen TimeStamp String in den cache: Code: (defun sd-inq-obj-mod-time-string (object &optional attachment) (let ((modtime (sd-inq-obj-mod-time object attachment))) (format nil "~4,'0D~2,'0D~2,'0D~2,'0D~2,'0D~2,'0D" (getf modtime :year) (getf modtime :month) (getf modtime :Day) (getf modtime :hour) (getf modtime :minutes) (getf modtime :seconds))))
dann kannst du bei passender sys-id den timestamp via sd-string> auswerten. Aber dann nicht vergessen selbigen im cache auch upzudaten. ------------ Irgendwie geht es hier um relative viel LISP. Das Thema waere in 'PTC Creo Elements/Programmierung' fast besser aufgehoben gewesen. ------------------ ● Firefox ESR ● Java Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en) ● NotePad++ ● BuFDi ● Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AlexG Mitglied
Beiträge: 133 Registriert: 05.04.2013 Win7 64-bit; Intel Core i7, 8CPUs @ 2,2GHz; 16GB RAM; 120GB SSD; Nvidia Quadro 1000 M; SolidDesigner 18.0
|
erstellt am: 26. Feb. 2018 12:48 <-- editieren / zitieren --> Unities abgeben: Nur für am
Hallo, hat leider ein wenig gedauert, da ich dem Rechenknecht am Wochenende auch mal seine Ruhe gönnen wollte. Zitat: ...sd-browser-exec-cmd kann ne ganze Menge.
Ist notiert. Zitat: Aber deine cache liste loescht du NIE...
Eigentlich wollte ich das ja ursprünglich mit der Zeile 61 bewerkstelligen *aiaiai*, dass es überhaupt noch funktioniert hat ...*zzz* bitte nicht näher hinschauen - ich glaube, da war ein Teil von mir Mental bereits im Wochenende. *SCHÄM* Zitat: Dann schiebe ich dich mal aus dem Bahnhof, aehm vom Schlauch
Danköööö... auch für die sd-inq-obj-mod-time-string Funktion. Aber warum vergleicht man hier (besser) mit string= und nicht mit equal auf die plists? Zitat: Aber das kriegste hin!
Hab ich... :-) Dem Lisp wurde auch noch einen Fortschrittsbalken spendiert - damit man in großen Strukturen auch sieht, dass sich da was tut. Vielen Dank für die Unterstützung und nun viel Spaß damit. Gruß, Alex ------------------ Computer sind unbrauchbar. Sie können nur Fragen beantworten. Pablo Picasso, Maler Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
Beiträge: 2219 Registriert: 3.20. ● PE20+60+80@home ● W10 Pro Build19045.4780 ● Drafting V17~V20.7 ● Modeling V17~V20.7 ● Windchill 12.1.2.6 ● UWGM Client 13.0.0.1
|
erstellt am: 26. Feb. 2018 21:50 <-- editieren / zitieren --> Unities abgeben: Nur für am
|