| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
Autor
|
Thema: Geändert-Status (2075 mal gelesen)
|
Walter Geppert Moderator Frank und Frei
Beiträge: 2143 Registriert: 12.12.2000 Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.4, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf HP ZBook 17 G4, Windows 10 Pro 64
|
erstellt am: 03. Mrz. 2004 10:58 <-- editieren / zitieren --> Unities abgeben:
Hallo, hab grad versucht, ein Makro zu schreiben, das geänderte Teile/Baugruppen sucht und anzeigt, sprich solche mit Disketten-Icon. Das ist bei grossen Baugruppen nämlich sonst ganz schön eklig, keins zu vergessen. sd-inq-obj-contents-modified-p und sd-inq-obj-instance-modified-p geben aber schon bei einer "jungfräulich" geladenen Baugruppe alle Teile zurück, obwohl natürlich keins die Diskette hat Wer kann zweckdienliche Angaben dazu machen? ------------------ meine LISP-Makros sind auf Heikos Hilfeseite Grüße aus Wien Walter DC4 Technisches Büro GmbH Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorothea Mitglied
Beiträge: 242 Registriert: 22.11.2001
|
erstellt am: 03. Mrz. 2004 11:19 <-- editieren / zitieren --> Unities abgeben: Nur für Walter Geppert
Hallo Walter, Ich habe gerade mal bei mir versucht, dein Problem nachzuvollziehen. Bei mir tut aber alles. Kannst du vielleicht mal deinen Testcode reinhaengen? Ich habe einfach mal in der Kommandozeile folgenden Code eingegeben: (display (oli::sd-inq-obj-contents-modified-p (oli::sd-pathname-to-obj <string des kompletten Pfades> ))) und in dem Fensterchen kam jeweils T oder NIL, so wie es sein sollte. Gruss Dorothea Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Walter Geppert Moderator Frank und Frei
Beiträge: 2143 Registriert: 12.12.2000 Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.4, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf HP ZBook 17 G4, Windows 10 Pro 64
|
erstellt am: 03. Mrz. 2004 11:33 <-- editieren / zitieren --> Unities abgeben:
Hallo Dorothea, bei mir hauts einfach nicht hin, ich krieg auch mit deiner Methode nur "T", obwohl das fragliche Teil sogar vom WM gesperrt geladen wurde??? Zur Ergänzung den Code, wie ich ihn derzeit zum Austesten verwende: Code: (sd-defdialog 'dc4-object-flags-dialog :dialog-title "Flags" ;;:dialog-control :sequential :variables '( (bgr :value-type :assembly :prompt-text "Baugruppe angeben" :title "Baugruppe" :initial-value nil :after-input (after-bgr-action) :modifies nil ) ("gesperrt") (cro :value-type :boolean :toggle-type :wide-toggle :title "Inhalt" :initial-value nil ) (iro :value-type :boolean :toggle-type :wide-toggle :title "Eigenschaft" :initial-value nil ) (ut :value-type :boolean :toggle-type :wide-toggle :title "Unberuehrbar" :initial-value nil ) ("geaendert") (cm :value-type :boolean :toggle-type :wide-toggle :title "Inhalt" :initial-value nil ) (im :value-type :boolean :toggle-type :wide-toggle :title "Eigenschaft" :initial-value nil ) ) :local-functions '((after-bgr-action () (let (objlist obj text disp) (setf objlist (sd-call-cmds (get_selection :focus_type *sd-part-seltype* :allow_wire_part :allow_face_part :select :recursive :in_assembly bgr))) (setf objlist (nconc objlist (sd-call-cmds (get_selection :focus_type *sd-assembly-seltype* :select :recursive :in_assembly bgr)))) (display "CRO IRO UT CM IM") (dolist (obj objlist) (display (oli::sd-inq-obj-pathname obj)) (display (oli::sd-inq-obj-contents-modified-p obj)) (setf text "") (setf disp nil) (if (and cro (oli::sd-inq-obj-contents-read-only-p obj)) (progn (setf text (format nil "~a X " text)) (setf disp t) );;progn (setf text (format nil "~a " text)) );;if (if (and iro (oli::sd-inq-obj-instance-read-only-p obj)) (progn (setf text (format nil "~a X " text)) (setf disp t) );;progn (setf text (format nil "~a " text)) );;if (if (and ut (oli::sd-inq-obj-untouchable-p obj)) (progn (setf text (format nil "~a X " text)) (setf disp t) );;progn (setf text (format nil "~a " text)) );;if (if (and cm (oli::sd-inq-obj-contents-modified-p obj)) (progn (setf text (format nil "~a X " text)) (setf disp t) );;progn (setf text (format nil "~a " text)) );;if (if (and im (oli::sd-inq-obj-instance-modified-p obj)) (progn (setf text (format nil "~a X " text)) (setf disp t) );;progn (setf text (format nil "~a " text)) );;if (setf text (format nil "~a ~a" text (oli::sd-inq-obj-pathname obj))) (when disp (display text)) );;dolist );;let ) ) :ok-action '() )
Die ausgerückten Displays sind nur mal zum Testen drin ------------------ meine LISP-Makros sind auf Heikos Hilfeseite Grüße aus Wien Walter DC4 Technisches Büro GmbH Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dieter Kotsch Mitglied
Beiträge: 311 Registriert: 10.08.2002
|
erstellt am: 03. Mrz. 2004 13:22 <-- editieren / zitieren --> Unities abgeben: Nur für Walter Geppert
|
Walter Geppert Moderator Frank und Frei
Beiträge: 2143 Registriert: 12.12.2000 Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.4, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf HP ZBook 17 G4, Windows 10 Pro 64
|
erstellt am: 03. Mrz. 2004 14:01 <-- editieren / zitieren --> Unities abgeben:
Ich wachs hier noch aus! Hab OSD komplett neu gestartet, mach aus T1 einen Quader, den in Baugruppe B1. Dann Makro gestartet und beide Modified-Flags von T1 TRUE. Alles klar soweit. Dann T1 und B1 in WM gespeichert, Disketten sind weg (auch das "änd" in der erweiterten Strukturliste), aber bei T1 sind noch immer beide Modified-Flags TRUE , sogar nach Reservierung aufheben Die ReadOnly-Flags funktionieren allerdings. Mal sehen was ClausB und Klaus Lörincz dazu sagen. ------------------ meine LISP-Makros sind auf Heikos Hilfeseite Grüße aus Wien Walter DC4 Technisches Büro GmbH Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dieter Kotsch Mitglied
Beiträge: 311 Registriert: 10.08.2002
|
erstellt am: 03. Mrz. 2004 15:07 <-- editieren / zitieren --> Unities abgeben: Nur für Walter Geppert
|
Walter Geppert Moderator Frank und Frei
Beiträge: 2143 Registriert: 12.12.2000 Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.4, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf HP ZBook 17 G4, Windows 10 Pro 64
|
erstellt am: 03. Mrz. 2004 15:32 <-- editieren / zitieren --> Unities abgeben:
Hallo Dieter, wenn ich ein Baugruppe als Paket speichere und dann wieder lade, funktioniert mein Makro auch bei mir, übrigens mit V12.01. Bloss wenn ich das Ding über den WM lade, sind überall die Flags gesetzt, zwar nicht in der Strukturliste, aber die Inquieries finden sie doch. Weiss der Kuckuck, was das soll! Hab jetzt aus dem geladen Package mal versuchsweise ein Teil vom ReadOnly befreit. Das reicht schon, um beide Modified-Flags zu setzen, Diskette gibts aber keine. Sind wohl zwei Paar Schuhe und es gibt keine user-zugängliche Abfrage für "echte" Änderungen ------------------ meine LISP-Makros sind auf Heikos Hilfeseite Grüße aus Wien Walter DC4 Technisches Büro GmbH Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorothea Mitglied
Beiträge: 242 Registriert: 22.11.2001
|
erstellt am: 03. Mrz. 2004 19:11 <-- editieren / zitieren --> Unities abgeben: Nur für Walter Geppert
Hallo Walter, Es gibt einen Unterschied zwischen den Datenbank- und den SD-Flags. Das kannst du z.B. mit dem goody "dbdialog" dir anzeigen lassen. Es gibt da auch jede Menge Funktionen. Ich habe alle mir bekannten Stellen nach einer Doku abgesucht und nichts gefunden. Nur so viel. Versuche doch mal, die Funktionen um ein db- zu erweitern vor dem modified-p und anderen Funktionen. Da solltest du fuendig werden, hoffe ich. Gruss Dorothea
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Walter Geppert Moderator Frank und Frei
Beiträge: 2143 Registriert: 12.12.2000 Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.4, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf HP ZBook 17 G4, Windows 10 Pro 64
|
erstellt am: 04. Mrz. 2004 09:14 <-- editieren / zitieren --> Unities abgeben:
|
Dieter Kotsch Mitglied
Beiträge: 311 Registriert: 10.08.2002
|
erstellt am: 04. Mrz. 2004 09:29 <-- editieren / zitieren --> Unities abgeben: Nur für Walter Geppert
Hallo Walter Vermutung: Wenn Du dich an SD V 6.x und dem Speichern in den WM erinnerst. Beim ersten Speichern eines Objekts in den WM war auch ein Modify-Flag am Bauteil sichtbar. Ich vermute dies kann man in diesen Zusammenhang bringen. Gruß Dieter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MartinG Mitglied Entwicklungsingenieur
Beiträge: 64 Registriert: 26.11.2003 OSD 15.50B auf Win XP Pro SP3 Intel Core2 Duo E8500 3,16 GHz 3,24 GB ATI FireGL V5000
|
erstellt am: 26. Okt. 2005 13:16 <-- editieren / zitieren --> Unities abgeben: Nur für Walter Geppert
Hallo zusammen, gibt es in der Zwischenzeit von irgendjemandem ein Programm / Makro, das die als geändert gekennzeichneten Baugruppen und Teile innerhalb einer Baugruppe findet und listet? Ich arbeite regelmässig mit Baugruppen mit mehreren 100 Einzelteilen, und verzweifle ab und an beim Suchen von geänderten Teilen, wenn sich OSD mal wieder weigert, meine Baugruppe zu speichern ... Viele Grüsse Martin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 26. Okt. 2005 13:39 <-- editieren / zitieren --> Unities abgeben: Nur für Walter Geppert
Zitat: Original erstellt von MartinG: gibt es in der Zwischenzeit von irgendjemandem ein Programm / Makro, das die als geändert gekennzeichneten Baugruppen und Teile innerhalb einer Baugruppe findet und listet?
So ein Programm wuerde vermutlich die gleichen Funktionen rufen wie OSDM selbst, wenn er bei "Save Modified" prueft, welche Teile sich denn tatsaechlich veraendert haben. Wenn also "Save Modified" einen Fehler hat, dann haette es vermutlich auch das selbstgestrickte Programm. Daher: Wenn es tatsaechlich so einen Fehler gibt, kann ich nur den Rat geben, sofort den CoCreate-Support zu verstaendigen. Claus
------------------ OneSpace Designer Modeling FAQ: http://www.clausbrod.de/Osdm/ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MartinG Mitglied Entwicklungsingenieur
Beiträge: 64 Registriert: 26.11.2003
|
erstellt am: 26. Okt. 2005 13:48 <-- editieren / zitieren --> Unities abgeben: Nur für Walter Geppert
Mein Problem ist, die WorkManager- Konfiguration in der Umgebung, in der ich arbeiten muss, lässt mich nicht "Save Modified" speichern. Das heisst, wenn ich eine Baugruppe speichern will, in der sich irgendwo eine Diskette "versteckt", muss ich die Diskette suchen und zunächst manuell das betroffene Element speichern oder neuladen. Was eine sehr mühsame Angelegenheit ist. Nun ist ja OSD/WM in der Lage zu erkennen, dass Teile geändert wurden. Können mir dann diese Teile nicht in einer Liste ausgegeben werden? Gruss Martin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 26. Okt. 2005 14:04 <-- editieren / zitieren --> Unities abgeben: Nur für Walter Geppert
|
highway45 Moderator Bastler mit Diplom
Beiträge: 6331 Registriert: 14.12.2004 SolidDesigner-20.5.1 + PhoenixPDM-11 + Solidworks-2022 + PE8
|
erstellt am: 26. Okt. 2005 14:22 <-- editieren / zitieren --> Unities abgeben: Nur für Walter Geppert
|
MartinG Mitglied Entwicklungsingenieur
Beiträge: 64 Registriert: 26.11.2003
|
erstellt am: 26. Okt. 2005 14:27 <-- editieren / zitieren --> Unities abgeben: Nur für Walter Geppert
Ich weiss nicht. Hoffe, das ist nur in unserer Anpassung so (wäre wahrscheinlich relativ leicht zu beheben, muss mal den Herrn SysAd fragen). Die Krönung der Geschichte wäre, wenn das Makro auch noch geänderte Baugruppen und Behälter aufspüren würde. Vielen Dank Martin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 26. Okt. 2005 15:13 <-- editieren / zitieren --> Unities abgeben: Nur für Walter Geppert
Zitat: Original erstellt von MartinG: Die Krönung der Geschichte wäre, wenn das Makro auch noch geänderte Baugruppen und Behälter aufspüren würde.
Left as an exercise for the reader. Im Ernst: Selbst mit so einem Prograemmchen ergibt sich daraus eine ziemlich eigenartige Arbeitsweise. Besser waere es wohl, wenn Du mal mit Eurem Admin ueber eine allgemeine Loesung sprichst. Oder Dir vielleicht mal ModelManager zeigen laesst, in dem auch viele andere typische Aufgaben im Vergleich kinderleicht geworden sind. Claus
------------------ OneSpace Designer Modeling FAQ: http://www.clausbrod.de/Osdm/ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Martin.M Mitglied Maschinenbau-Ingenieur
Beiträge: 352 Registriert: 05.10.2002
|
erstellt am: 29. Okt. 2005 15:05 <-- editieren / zitieren --> Unities abgeben: Nur für Walter Geppert
Hallo Martin, wenn Du nur ein paar hundert Teile hast kannst Du ja die neuen oder geänderten Teile über die Details in der Strukturliste suchen. Setz einen Filter auf DB-Status <> OK. (Details expandieren) Wir arbeiten mit mehreren tausend Teilen und dann arbeiten die Details zu langsam. In der Version 13.20 gibt es glaube ich in der Suchenfunktion der Strukturliste eine Option geänderte Teile zu suchen. Kann sein das die Option nur vorhanden ist wenn man mit dem "Model"Manager arbeitet. (Ich habt gerade kein Modeling zur Hand).
@Clausb Unser Workmanager speichert auch neue und geänderte Teile. Der WM unterscheidet leider nicht ob nur geänderte dabei sind oder neue Teile. Die neuen Teile werden dann mit dem Namen aus dem Modeling als Modelname im WM gespeichert oder wenn der Name schon existiert mit einer BR-Zufallsnummer. Wenn der Admin also keine Schrottnummern im Workmanager haben will klemmt er das überschreiben ab.
Schönes Wochenende Martin
------------------ OSDM - Die freie Wissensdatenbank WorkManager Forum Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 02. Nov. 2005 12:49 <-- editieren / zitieren --> Unities abgeben: Nur für Walter Geppert
|
clausb Ehrenmitglied V.I.P. h.c.
Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 23. Nov. 2005 14:03 <-- editieren / zitieren --> Unities abgeben: Nur für Walter Geppert
|