| |
| Die 10 hitzebeständigsten Materialien für den 3D-Druck, ein Fachartikel
|
Autor
|
Thema: Objekt identifizieren (TDM_FILE_ID) (922 mal gelesen)
|
McByte Mitglied Entwicklungsingenieur
Beiträge: 60 Registriert: 05.12.2003
|
erstellt am: 25. Jan. 2010 15:21 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich möchte per Script prüfen ob verschiedene lokale Dateien mit verschiedenen SmarTeam-Objekten übereinstimmen. Die Dateien liegen nicht im work-folder und haben keine zugehörige *.xml im Verzeichnis "SMARTEAM-FileCatalog". Die einzige Möglichkeit die ich sehe: TDM_FILE_ID der jeweiligen Datei ermitteln und gegen die TDM_FILE_ID der SmarTeam-Objekte prüfen. Kann mir jemand sagen wie ich die TDM_FILE_ID einer Datei ermitteln kann? Gibt es eine Alternative um das zugehörige SmarTeam-Objekt zu finden? Danke! ------------------ McByte Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristianS Moderator Leiter Kundenbetreuung
Beiträge: 635 Registriert: 27.09.2000
|
erstellt am: 25. Jan. 2010 15:24 <-- editieren / zitieren --> Unities abgeben: Nur für McByte
Hi, ich denke mal, dass das nicht geht, da die TDM_FILE_ID eine interne Information ist, die mit einer allgemein gültigen GUID definition erstellt wird. Anders ist das mit dem DirtyFlag. Dafür gibt es eine Berechnungsformel bezogen auf das Dateidatum. Aber wie kommen denn die Dateien in das Verzeichnis, ohne FileCatalog ? Gruß Christian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
McByte Mitglied Entwicklungsingenieur
Beiträge: 60 Registriert: 05.12.2003
|
erstellt am: 25. Jan. 2010 16:50 <-- editieren / zitieren --> Unities abgeben:
Es geht um Datenaustausch. Dabei werden verschiedene Daten (Standart-Teile, Umgebungsdaten, ...) an den Subcontractor gesendet. Nach Bearbeitung gibt es folgende Daten: in SmarTeam; geändert durch Subcontractor in SmarTeam; nachträglich geändert (Subcontractor arbeitet mit veraltetem Datenstand) in SmarTeam; unverändert neu Daher kann ich nicht nur nach PartNummer/FileName vorgehen. Ich muss genau wissen welche Datei welchem Objekt in SmarTeam entspricht. Die TDM_FILE_ID wird beim manuellen Speichern automatisch erstellt. Per Script hab ich das noch nicht geschafft. Hab auch die Methode CADInterface.FindObject versucht, jedoch ohne Erfolg. Jeder andere Ansatz wäre mir auch recht. ------------------ McByte Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
kurtbo Mitglied
Beiträge: 63 Registriert: 02.02.2004 CATIA V5, SmarTeam RXX
|
erstellt am: 25. Jan. 2010 19:16 <-- editieren / zitieren --> Unities abgeben: Nur für McByte
Hallo. Falls es sich um CATIA Daten handelt würde ich mir das Tool SEE(Lizenz von DS) einmal anschauen. Der ist genau auf diese Funtion ausgelegt. Das Dokument in SmarTeam per Script zu suchen und dann selber abgleichen ist von der Sache her auch möglich aber mit einigem Aufwand verbunden. In CATIA ist ja auch die UUID dabei ein wichtiges Thema und das Tool bildet das ab. Noch etwas: Ich würde mir überlegen ob ich nicht schon beim Export der Daten in die Daten die wichtigsten Informationen reinschreibe (bspw.: Classid,Objectid). Dann hätte ich immer alles passend beim Reimport zusammen. Gruß Sebastian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
McByte Mitglied Entwicklungsingenieur
Beiträge: 60 Registriert: 05.12.2003
|
erstellt am: 26. Jan. 2010 17:56 <-- editieren / zitieren --> Unities abgeben:
Ja, es handelt sich um CATIA Daten. Soweit ich das verstehe, beinhaltet SEE den CATIA-Reconiliator (manuelle Interaktion). Gibt es die Möglich per COM darauf zuzugreifen? Meta-Daten/xml-Daten mit zu exportieren ist der aktuelle Prozess. Dabei treten leider viele Probleme auf.
mehrere Exporte pro Baugruppe seperate Exporte von Standartteilen zuliefererseitige Mehrfachverwendung von Teilen/Baugruppen ... Deshalb wären mir die reinen CATIA Daten am liebsten. Daher auch die Anfrage. Mein aktueller Ansatz (sollte es keinen besseren geben):
Vorauswahl via PartNumber Detailabgleich via Md5(oder TimeStamp) Ich würde mir nur gern den Aufwand ersparen, Md5 Summen von allen existierenden Teileständen zu verwalten(bzw. "live" zu erstellen). ------------------ McByte Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
kurtbo Mitglied
Beiträge: 63 Registriert: 02.02.2004 CATIA V5, SmarTeam RXX
|
erstellt am: 29. Jan. 2010 20:41 <-- editieren / zitieren --> Unities abgeben: Nur für McByte
Hallo. Eine COM Schnittstelle gibt es leider nicht. Das einzige was es gibt ist ein Batchmode. Ich würde beim Export die wichtigen Parameter in die CATIA Datei schreiben und beim Import / Reimport auf diese Informationen prüfen. Nur dann kannst du dir auch sicher sein, das die Datei welche du bekommst auch die ist, welche ihr Versendet habt. MD5 / Timestamp ist unglücklich. Es kann durch diverse Aktionen beim Kunden (bspw.: Sendto) zu einer Änderung kommen obwohl sich an sich nichts getan hat. Ich habe es bei Kunden auf diese Weise gelöst: - Export aus der DB im Batchmode - Identifizierende Informationen in die Datei schreiben - Rename der Daten - Versand Reimport über SEE - Abgleich der Internen Parameter -> Zuordnung Gleichzeitig wird auch die UUID geprüft - Import als neuer Stand in die DB Der Import findet derzeitig überall interaktiv statt, da bisher niemand eine 100% Regelung für den Datenimport treffen konnte. Gruß, Sebastian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |