Duplikate im EPDM-Tresor finden

Hallo ihr alle

Ich wende mich mit einer Frage zum Thema Enterprise PDM an Sie.

In dem Unternehmen, in dem ich seit 1 Jahr arbeite, wurde Enterpise PDM vor 5 Jahren implementiert, ohne dass eine Schulung oder Sensibilisierung der Benutzer durchgeführt wurde. Jeder musste es schaffen, den Umgang mit PDM zu erlernen.

Heute haben wir es mit einem Tresor zu tun, der sich grausam füllt und genauso langsamer wird. Das Füllen hängt zum Teil mit der Möglichkeit zusammen, Duplikate im Tresor zu speichern. Bei diesen doppelten Teilen handelt es sich hauptsächlich um 3D-Teile von kommerziellen Teilen, die aufgrund einer schlechten Angewohnheit (meiner Meinung nach) in den Geschäftsordnern und nicht in einer gemeinsam genutzten Bibliothek gespeichert werden... [PERSÖNLICHE REFLEXION] Ich hätte mir nicht vorstellen können, dass wir so noch arbeiten können! [/PERSÖNLICHE REFLEXION]

Meine Frage lautet wie folgt:

Ich möchte alle Duplikate auflisten. Gibt es ein Werkzeug, eine Methode oder etwas, das es mir ermöglichen würde, alle Duplikate (identische Namen und/oder Dateitypen ), ihren Speicherort im Tresor und die Baugruppen, in denen sie verwendet werden, aufzulisten?

Vielen Dank im Voraus für Ihre Antworten.

Hallo

Nativ gibt es, abgesehen von der Suchmaske, keine direkte Möglichkeit, Duplikate zu erkennen. Die Auflistung ihres Anwendungsfalls erfolgt also auch in dieser Schnittstelle.

Um die Suche und Analyse zu automatisieren, ist es möglich, Excel-Makros zu verwenden, aber das Schwierigste ist, die Kriterien zu finden, die Duplikate identifizieren.

Wenn der Dateiname identisch ist, ist es einfach, aber wenn Sie dann mit den Eigenschaften der Dateien spielen müssen, um Ähnlichkeiten zu finden, wird es etwas komplexer.

Für die Antwort auf die persönliche Reflexion ist dies leider in vielen Unternehmen (hauptsächlich KMU-Profil) der Fall.

Vielen Dank für Ihre Antwort Cyril.f!

Wenn ich das richtig verstehe, muss ich, abgesehen davon, dass ich ein Informatiker bin, der sehr geschickt mit Excel-Makros umgehen kann, um in einer Datenbank herumzuschnüffeln, die nicht in Excel ist, nur die 514 GB des Safes durchsuchen?

Um Gottes willen, sag mir nein! Laut loslachen

Es ist nicht sehr kompliziert, ich kann Ihnen Code-Schnipsel zur Analyse der Verwendung doppelter Dateien zur Verfügung stellen.

Auf der anderen Seite gibt es leider nichts a posteriori, was es uns erlaubt, nach Duplikaten zu suchen. Die einzige Konfiguration für zukünftige Dateien besteht darin, doppelte Namen in der gesamten Datenbank zu vermeiden, sie kann mit den Optionen für Dateitypen in der Verwaltungsoberfläche festgelegt werden. Dies hindert eine schlaue Person jedoch nicht daran, ein Duplikat mit einem anderen Namen zu registrieren.

Die andere Möglichkeit besteht darin, das Kopieren bestimmter Dateien/Ordner zu verbieten, wenn die Funktionen zum Kopieren des Baums im Tresor verwendet werden, aber auf der anderen Seite gilt diese Einstellung nicht, wenn jemand die Komposition durchläuft, um sie in Solidworks mitzunehmen.

Sie können es immer mit Ihrem Reseller versuchen, um zu sehen, ob er kein Tool zur Verfügung hat, um die Arbeit zu erledigen, aber ich fürchte, es liegt an Ihnen, Ihren Code zu erstellen (ich bin bereit, bei Bedarf zu helfen), da es im Allgemeinen stark vom "Kunden" (in diesem Fall Ihrem Unternehmen) abhängt.

Nochmals vielen Dank, Cyril...

Ich möchte, dass Ihre Codeteile versuchen, über die Runden zu kommen, und ich werde Sie vielleicht anrufen, wenn ich sie wirklich brauche und wenn mir wirklich ein wenig Zeit für diese Arbeit zur Verfügung steht... Vielen Dank auf jeden Fall für Ihren Vorschlag.

Auf jeden Fall habe ich bei der Analyse der Situation den Eindruck, dass ich vor einem "menschlichen" Problem stehe, das in der Abneigung liegt, seine Arbeitsgewohnheiten zu ändern und sich ein wenig den Kopf zerbrechen zu müssen, wenn man damit konfrontiert wird, dass eine Datei, die man im Tresor speichern möchte, bereits unter dem gleichen Namen existiert... Ich habe bereits versucht, das Kästchen zum Verbot von Duplikaten im Administrator zu aktivieren, und die Situationen stellten sich schnell dar!! Angesichts der permanenten Dringlichkeit, die Projekte voranzutreiben, musste ich einen Rückzieher machen...

Ich denke, es ist eine verschwendete Mühe! :-(

Re

Nachfolgend finden Sie den Codeausschnitt:

Dim i As Long
Dim j As Long
Dim k As Long
Dim vault               As EdmVault5
Dim folder              As IEdmFolder6
Dim varEnum             As IEdmEnumeratorVariable5
Dim valueRes            As Variant
Dim file                As IEdmFile6
Dim ref                 As IEdmReference6
Dim pos                 As IEdmPos5

Sub AnalyseHisto()
i = 2
j = 2
k = 2

Set vault = New EdmVault5
vault.LoginAuto "xxx", 0 'Remplacer xxx par le nom du coffre sans le C:\
Do While Worksheets("Feuil1").Cells(i, 2) <> ""
    If Worksheets("Feuil1").Cells(i, 3) = "" Then i = i + 1
    Worksheets("Feuil2").Cells(k, 1) = Worksheets("Feuil1").Cells(i, 1)
    Worksheets("Feuil2").Cells(k, 2) = Worksheets("Feuil1").Cells(i, 2)
    Worksheets("Feuil2").Cells(k, 3) = Worksheets("Feuil1").Cells(i, 3)
    Set folder = vault.GetFolderFromPath(Worksheets("Feuil2").Cells(k, 1))
    Set file = vault.GetFileFromPath(Worksheets("Feuil2").Cells(k, 1) & Worksheets("Feuil2").Cells(k, 2))
    Set ref = file.GetReferenceTree(folder.ID, Worksheets("Feuil2").Cells(k, 3))
    Set pos = ref.GetFirstParentPosition(Worksheets("Feuil2").Cells(k, 3), False)
    If Not pos.IsNull Then j = k
    While Not pos.IsNull
        Set ref = ref.GetNextParent(pos)
        Worksheets("Feuil2").Cells(j, 4) = ref.Name
        Worksheets("Feuil2").Cells(j, 5) = ref.folder.LocalPath
        Worksheets("Feuil2").Cells(j, 6) = ref.VersionRef
        j = j + 1
        k = j - 1
    Wend
        k = k + 1
    i = i + 1
Loop
End Sub

Um zu erklären, wie es funktioniert, dient Blatt 1 als Datenbank, in der ich die Dateien habe, die ich analysieren möchte, Blatt 2 ermöglicht es mir, das Ergebnis der Analyse der Anwendungsfälle der Datei anzuzeigen.

Die Daten verteilen sich wie folgt:

  • Spalte A: Vollständiger Pfad vom Typ C:\xxx\ (letztes \ nicht vergessen)
  • Spalte B: Name der Datei mit der Erweiterung
  • Spalte C: Versionsnummer der gescannten Datei (optional)

Wenn Sie die Versionsnummer nicht verwenden möchten, können Sie das Kriterium Arbeitsblätter ("Tabelle2") löschen. Cells(k, 3) von Set ref und Set pos und replace durch 0 erhält es die neueste Version der analysierten Datei.

 

Ihre Antwort lässt mich an der Klarheit meiner Bitte (oder meinem Verständnis der Antwort) zweifeln.

Ich möchte keine Duplikatsuche in der Liste einer Excel-Datei durchführen ... Ich suche nach CAD-Dateien mit demselben Namen (die ich nicht kenne) im Tresor meines Enterprise PDM (verknüpft mit Solidworks).

Hast du meine Frage Cyril.f so verstanden?

Hallo

Sie können das Epdm-Suchwerkzeug verwenden, um Ihre Suche nach allen Dateien zu starten, deren Name den Text .sld enthält, und dann exportieren Sie dieses Ergebnis in CSV, um es schließlich in Excel zu öffnen.

http://help.solidworks.com/2016/English/EnterprisePDM/FileExplorer/t_Searching_in_Vaults_search_tool.htm

Herzliche Grüße

2 „Gefällt mir“

In der Tat habe ich die Phase weggelassen, in der Sie mit dem Suchwerkzeug suchen und die Liste exportieren.

Andernfalls ist es auch möglich, die Suche zu automatisieren und die Namen der Ergebnisse zu vergleichen.

Hallo, ich habe eine Frage, die mich beschäftigt. Sobald Sie die Duplikate gefunden haben, löschen Sie sie! Ja??? Und wenn Sie ein Set öffnen, das eines der gelöschten Duplikate verwendet hat, sollten Sie den Pfad wieder in jedes von ihnen einfügen!!  

Ich denke, es ist am besten, das zu lassen, was getan wurde, aber von nun an müssen Sie die Option "Es ist unmöglich, Duplikate zu archivieren" (oder gleichwertig) aktivieren.

Dies hat zur Folge, dass Sie die alten Baugruppen nicht anfassen und das Problem "wiederherstellen".

 

Cdt

G.

2 „Gefällt mir“

@G. : Bei uns benennen wir, sobald ein Duplikat erkannt wird, es in xxx-doublon um, um die alten Assembler-Versionen nicht zu sprengen, aber wir stellen auch sicher, dass die Datei nicht mehr verwendbar ist, so dass wir die Benutzer zwingen, die Datei mit dem richtigen Link zu aktualisieren (wenn Sie am Ende einen Text anstelle einer Schraube haben, führt dies dazu, dass Sie einziehen Allgemein). Da unsere Nutzer tendenziell nicht darauf achten, ob sie die neueste Version laden oder nicht, funktioniert es ziemlich gut.

@JMo: Für die Suche per Makro und Analyse kannst du dich darauf stützen:

Sub Main()
Const cCoffre = "C:\xxx\"
Set vault = New EdmVault5
vault.LoginAuto "xxx", 0
Set folder = vault.GetFolderFromPath(cCoffre)
i = 2
Call Search_File
Call Traitement
End Sub

Sub Search_File()
Set Search = vault.CreateSearch
Search.StartFolderID = folder.ID
Search.FindFolders = False
Search.filename = "" 'Ici, renseigner soit une extension particulière soit rien mais du coup la recherche va sortir tout le contenu du coffre puisque le dossier correspond à la racine (à chnager dans Set folder du module main)
End Sub

Sub Traitement()
Set result = Search.GetFirstResult
While Not result Is Nothing
    Set file = vault.GetFileFromPath(result.Path)
    Cells(i, 1) = Left(result.Path, InStrRev(result.Path, "\"))
    Cells(i, 2) = file.Name
    Set result = Search.GetNextResult
    i = i+1
    DoEvents
Wend

End Sub

  So wie es aussieht, schreibt das Makro für jede gefundene Datei in Spalte A den Ordner, in Spalte B den Dateinamen mit der Erweiterung.

Sie können die Dateinamensergebnisse in einer Array-Variablen speichern und dann einige Verarbeitungen durchführen, um die Duplikate zu finden. Andernfalls können Formeln in Excel ausreichen. Wenn Sie andere Analysen durchführen müssen, um Duplikate zu identifizieren (z. B. eine Referenz oder eine vollkommen identische Bezeichnung), müssen Sie eine Extraktion der Dateien, die Wiederherstellung der Eigenschaften der Kartenvariablen und dann eine vergleichende Analyse durchführen.

1 „Gefällt mir“

Vielen Dank an alle für Ihre Antworten.

Ich sollte in der Lage sein, mit all dem umzugehen.

 

@G.: Das Ziel meiner Liste von Duplikaten mit ihren Anwendungsfällen ist es, direkt ansteuern zu können, in welchen Baugruppen welches Duplikat verwendet wird. Die Idee ist daher, so weit wie möglich, jede Baugruppe zu öffnen und die Verknüpfungen und Abhängigkeiten mit der Version der Datei zu wiederholen, die korrekt in der Bibliothek gespeichert ist, um dann das Duplikat zu löschen. Natürlich ist Pragmatismus erforderlich, denn es wäre völlig verrückt, Zeit mit diesen Änderungen zu verschwenden, wenn ich zum Beispiel 300 Anwendungsfälle finde! ;-)

1 „Gefällt mir“

Hallo

Auch wir sind mit diesem Problem der Vervielfältigung vor allem bei kommerziellen Stücken konfrontiert, die wir Bücherregale nennen.

Unser Kofferraum ist auch 5 Jahre alt und es stimmt, dass er super schnell voll ist. Ich habe Regeln auferlegt, die nicht immer gut akzeptiert werden. Aber ich denke, es ist wichtig, eine gemeinsame Methodik zu haben, um voranzukommen. Die Kritik muss konstruktiv sein, aber sie muss in 2 Richtungen zwischen den Designern und dem Admin erfolgen.

Ich stimme G. und Cyril.f zu, es ist wichtig, die Option einzurichten, die Archivierung von Duplikaten abzulehnen.

Ein Verfahren, das Sie einrichten können und das bei uns sehr gut funktioniert, ist, wenn Sie auf ein Duplikat stoßen:

  • Identifizieren Sie die doppelte Datei und die offizielle Datei. (Es müssen oft Opfer gebracht werden, und das ist für den Designer, der das Duplikat archiviert hat, schwer zu hören), entweder durch Vorläufer oder durch die am meisten verwendeten oder validierten...
  • Status ändern -> OBSOLETE (nur die Bibliotheksgruppe)
  • Benennen Sie die Datei mit dem Präfix -> Deprecated - ......... um
  • Leere Datenkarten, um sie zu " vergessen " (vermeiden Sie, dass sie in einer Suche erscheinen)
  • Und setzen Sie es in rot, damit es in der Baugruppe sichtbar ist, um es möglicherweise zu ersetzen, wenn Sie ein Gehäuse kopieren, um es zu diesem Zeitpunkt zu ersetzen.

Sie sollten niemals eine Datei löschen, da Sie sonst große Probleme mit Ihren Kollegen bekommen... ;)

Mein Rat: Lassen Sie die Vergangenheit so, wie sie ist, und konzentrieren Sie sich auf neue Geschäfte. Die Anfänge werden hart sein, aber mit der Zeit wirst du in der Produktion gewinnen. KOPF HOCH.

Heute wollen wir unsere Blaupausenteile standardisieren. Und ich suche nach einer Möglichkeit, den Designer zu warnen, dass er ein Duplikat entwirft. Ich weiß, dass es Werkzeuge gibt, die die Geometrie von 3D analysieren. Haben Sie diese Art von Tool bereits implementiert?

A+