Trouver des doublons dans le coffre EPDM

Bonjour à tous,

Je m'adresse à vous pour une question liée à Enterprise PDM.

Dans la société où je travaille depuis 1 an, Enterpise PDM a été implanté il y a 5 ans sans qu'aucune formation ni sensibilisation n'ait été faite auprès des utilisateurs. Chacun avait dû se débrouiller pour apprendre l'utilisation de PDM.

Aujourd'hui, nous nous retrouvons avec un coffre fort qui se rempli cruellement et ralenti tout autant. Le remplissage est en partie lié à la possibilité laissée d'enregistrer des doublons dans la coffre. Ces pièces en doublons sont principalement des 3D de pièces du commerce qui, par un mauvaise habitude (à mon sens) sont stockées dans les dossiers d'affaire plutôt qu'une bibliothèque partagée... [REFLEXION PERSO] Je n'imaginais pas qu'on puisse encore travailler comme ça ! [/REFLEXION PERSO]

Ma question est la suivante :

Je souhaiterais lister l'ensemble des doublons. Existe-t-il un outils, une méthode ou que sais-je encore qui me permettrait de lister l'intégralité des doublons (noms et/ou types de fichiers identiques), leur emplacement dans le coffre ainsi que les assemblages dans lesquelles ils sont utilisés ?

Merci d'avance pour vos réponses.

Bonjour,

De manière native, hormis via le formulaire de recherche il n'y pas de moyen direct de détecter les doublons. Du coup lister leur cas d'emploi se fait également dans cette interface.

Pour automatiser la recherche et l'analyse il est possible de passer par des macros excel mais le plus difficile reste à trouver les critères qui permettront d'identifier les doublons.

Si le nom de fichier est identique c'est facile mais après s'il faut jouer avec les propriétés des fichiers pour trouver les similitudes ça devient un peu plus complexe.

Pour la réponse à la réflexion perso, c'est malheureusement le cas dans pas mal de sociétés (principalement profil PME).

Merci de ta réponse Cyril.f !

Si je comprends bien, hormis à être informaticien très habile avec les macro Excel pour fouiner dans une base de données qui n'est pas sur Excel, je n'ai plus qu'à fouiller les 514Go du coffre fort ?

Par pitié, dis-moi que non ! lol

Ce n'est pas bien compliqué, je peux te fournir des bouts de code pour l'analyse de l'utilisation des fichiers en double.

Par contre malheureusement il n'y a rien à posteriori qui permet de vérifier les doublons. Le seul paramétrage pour les futurs fichiers et éviter le doublon de nom dans toute la base ça se règle avec les options sur les types de fichier dans l'interface d'administration. Ceci n'empêche cependant pas un petit malin d'enregistrer un doublon avec un autre nom.

L'autre moyen est d'interdire la copie de certains fichiers/dossiers lorsque l'on utilise les fonction de copie d'arborescence dans le coffre mais par contre ce paramétrage ne s'applique pas si quelqu'un passe par la composition à emporter dans Solidworks (j'ai demandé une évolution à Solidworks pour ce sujet).

Tu peux toujours tenter avec ton revendeur voir s'il n'a pas un outil à dispo pour faire le job mais je crains que ce ne soit à toi de faire ton bout de code (je veux bien aider si besoin) car en général c'est fortement dépendant du "client" (en l'occurence ton entreprise).

Re-Merci Cyril...

Je veux effectivement bien tes morceaux de codes pour tenter de me débrouiller et je ferai peut-être appel à toi si j'en ai réellement besoin et si un peu de temps m'est réellement attribué pour faire ce job... Merci bcp pour ta proposition en tout cas.

En tout état de cause, en analysant la situation, j'ai l'impression de faire face à un problème "humain" qui réside dans la réticence à changer ses habitudes de travail et à devoir se creuser un peu la tête si on est confronté au fait qu'un fichier que l'on veut enregistrer dans le coffre existe déjà sous le même nom... J'ai déjà tenté de cocher la case interdisant les doublons dans l'administrateur et les situations se sont vite présentées !! Au vue de l'urgence permanente d'avancer dans les projets, j'avais donc du faire marche arrière...

Je crois que c'est peine perdue ! :-(

Re,

Ci-dessous le bout de code:

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

Pour expliciter le fonctionnement, feuille 1 me sert de base de données dans laquelle j'ai les fichiers que je veux analyser, feuille 2 permet d'afficher le résultat de l'analyse des cas d'emploi du fichier.

Les données sont réparties ainsi:

  • Colonne A: Chemin d'accès complet de type C:\xxx\ (ne pas oublier le dernier \)
  • Colonne B: Nom du ficheir avec extension
  • Colonne C: Numéro de version du fichier analysé (optionnel)

Si tu ne veux pas te servir du numéro de version tu peux supprimer le critère Worksheets("Feuil2").Cells(k, 3) des Set ref et Set pos et remplacer par 0 ça récupère la dernière version du fichier analysé.

 

Ta réponse me mets le doute sur la clarté de ma demande en fait (ou ma compréhension de la réponse).

Je ne cherche pas à faire une recherche de doublon dans la liste d'un fichier excel... je cherche à faire une recherche de fichiers de CAO ayant de même nom (que je ne connais pas) dans le coffre fort de mon Enterprise PDM (lié à Solidworks).

C'est bien comme ça que tu as compris ma question Cyril.f ?

Bonjour,

Tu peux passer par l'outils de recherche d'Epdm pour lancer ta recherche sur tous les fichiers dont le nom comprend le texte .sld puis tu exporte ce résultat en csv pour enfin l'ouvrir dans Excel.

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

Cordialement,

2 « J'aime »

Effectivement j'ai omis la phase tu recherches avec l'outil de recherche et tu exportes la liste.

Sinon possibilité également d'automatiser la recherche et de comparer les noms de résultats.

Bonjour, moi une question me chagrinne. Une fois les doublons trouvés tu vas les supprimer! oui??? Et quand tu ouvriras un ensemble qui utilisait un des doublons supprimés tu devrais remettre le chemin dans chacun d'entre eux!!!! 

Je pense que le mieux est de laissé ce qui est fais mais que à partir de maintenant il faut cocher l'option "archivage de doublons impossible" (ou équivalent).

De ce fait tu ne touche pas aux anciens assemblages et tu "rétablis" le problème.

 

Cdt

G.

2 « J'aime »

@G. : Chez nous, une fois un doublon détecté nous le renommons en xxx-doublon pour ne pas faire sauter les anciennes versions d'assemblage mais nous faisons également en sorte que le fichier ne soit plus exploitable comme ça nous forçons les utilisateurs à mettre à jour le fichier avec le bon lien (quand tu te retrouves avec un texte en lieu et place d'une vis ça fait bouger en général). Comme nos utilisateurs ont tendance à ne pas faire attention au fait qu'ils chargent la dernière version ou non du coup ça fonctionne plutôt bien.

@JMo: Pour la recherche via macro et analyse tu peux te baser sur ça:

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

  En l'état, pour chaque fichier trouvé, la macro inscrit en colonne A le dossier, en colonne B le nom de fichier avec extension.

Tu peux stocker les résultats de nom de fichier dans une variable tableau puis ensuite faire un traitement pour trouver les doublons. Sinon des formules dans excel peuvent suffir. Si tu dois passer par d'autres analyses pour identifier les doublons (du type une référence ou une désignation parfaitement identique) il faudra que tu passes par une extraction des fichiers, récupération des propriétés de variables de cartes puis analyse comparative.

1 « J'aime »

Merci à tous pour vos réponses.

Je devrais pouvoir me débrouiller avec tout ça.

 

@G. : L'objectif de ma liste de doublons avec leurs cas d'emploi est de pouvoir cibler directement dans quels assemblages chaque doublon est utilisé. L'idée est donc, dans la mesure du possible, d'ouvrir chaque assemblage et de refaire les liens et contraintes avec la version du fichier rangée correctement en bibliothèque, pour ensuite supprimer le doublon. Bien évidement, le pragmatisme est de rigueur puisque ça serait complètement fou de perdre du temps à la faire ces modification si je trouver 300 cas d'emploi par exemple ! ;-)

1 « J'aime »

Bonjour

Nous aussi nous sommes confrontés à ce problème de doublon principalement avec les pièces du commerce que nous appelons bibliothèque.

Notre coffre est aussi âgé de 5ans et c’est vrai qu’il se rempli super vite. J’ai imposé des règles, qui ne sont pas toujours bien acceptées. Mais je pense qu’il est important d’avoir une méthodologie commune pour avancer. La critique doit être constructive mais elle doit être dans les 2 sens entre les concepteurs et l’admin.

Je rejoins G. et Cyril.f, il est primordial de mettre en place l’option de refuser l’archivage des doublons.

Une procédure que tu peux mettre en place et qui marche très bien chez nous, est lorsque tu rencontres un doublon :

  • Identifier le fichier doublon et le fichier officiel. (il y a souvent des sacrifices à faire, et cela est dur à entendre pour le concepteur qui a archivé le doublon) soit par antériorité soit par le plus utilisé soit le validé….
  • Changer d’état -> OBSOLETE (uniquement le groupe BIBLIOTHECAIRE)
  • Renommer le fichier avec l’ajout d’un préfixe -> Obsolète - ………
  • Vider les cartes de données pour « l’oublier » (éviter de le voir apparaitre dans une recherche)
  • Et le mettre en rouge afin qu’il soit visible dans l’assemblage pour éventuellement le remplacer lorsque que tu copies une affaire pour le remplacer à ce moment-là.

Il ne faut jamais supprimer un fichier car tu iras vers des gros problèmes avec tes collègues… ;)

Mon conseil, laisse le passé comme il est et concentre toi sur les nouvelles affaires. Les débuts vont être durs mais avec le temps tu vas gagner en production. COURAGE.

Aujourd’hui nous souhaitons standardiser nos pièces à plan. Et je recherche un moyen pour avertir le concepteur qu’il est entrain de concevoir un doublon. Je sais qu’il existe des outils qui analysent la géométrie du 3D. Avez-vous déjà mis en place ce genre d’outils ?

A+