Je travaille avec SolidWorks PDM Standard 2017, et MyCADTools. Actuellement, j'ai beaucoup de doublons de noms, suite à un import de données massif dans le PDM. Les doublons sont généralement dans des dossiers V01, V02, etc... qui étaient utilisés pour faire des alternatives de conceptions.
Aujourd'hui, j'aurais besoin de RENOMMER les fichiers, SANS LES COPIER (car je dois garder l'historique, la révision, l'état, etc), mais en lot (plusieurs milliers de fichiers), et avec des règles : Remplacer V01 par V02 par exemple, ou ajouter un suffixe.
Quel est l'outil adapté pour cela ?
J'ai déjà fait de nombreux tests (Project Explorer, Copier l'arborescence, etc), et je n'ai peut-être tout simplement pas trouvé l'option qui me manque !
Avec PDM j'utilise deplacer l'arborescence, mais je reste dans le même dossier et j'utilise la fonction remplacer par
les fichiers que je renomme qui reste a la même place sont en ligne jaune, et je decoche tout autre fichier qui pourrait etre emmener par erreur (exemple la visserie, le commerce,.... )
Que les fichiers soient extraits ou non du coffre, le renommage avec Project Explorer COPIE les fichiers, il ne les renomme pas...
Smart Properties ne peut pas les renommer : les options de "renommage" ne sont là que pour la stratégie de nommage des fichiers copiés.
Project Manager va également copier les fichiers, et pas les renommer. Il y a une option de connexion au PDM, mais ce n'est possible qu'avec MyPDMTools, qui n'est disponible qu'avec un PDM Pro...
Donc, je n'ai toujours pas de solution avec mon PDM Standard !!!
Si aucun outils existant ne fait ce que tu souhaites alors tu peux peut-être envisager la méthode "Fait maison" et pour cela une macro Excel doit pouvoir faire le job. Ton revendeur Solidworks/PDM doit pouvoir t'aider sur ce point si tu ne maitrise pas suffisamment le vba.
Je ne sais pas si PDM standard se manipule aussi par les API comme PDM Pro et si ce n'est pas le cas il faudra peut-être extraire tous les fichiers manuellement avant traitement puis les archiver manuellement.
[EDIT] peut-être un peu plus compliqué que ça, apparemment PDM standard ne se manipule pas par les API comme PDM Pro.
Pourquoi ne pas dupliquer avec Project Manager vers un disque temporaire, supprimer le dossier que tu voulais renommer et replacer ta copie renommer au bon endroit?
De plus cela me semble moins dangereux que de renomme directement et risquer de faire des erreurs.
En effet, le PDM Standard n'a pas d'API… Donc une macro "dans le PDM" n'est pas possible. J'ai essayé les outils traditionnels avec les fichiers extraits, et même hors connexion, mais les outils de renommage font une COPIE, lorsque les fichiers sont dans le PDM.
@sbadenis
Je veux justement renommer SANS COPIER, pour garder l'historique de mes fichiers (qui l'a créé, qui l'a validé la première fois, etc.). Et le PDM garde les versions, donc faire une erreur n'est pas un problème ;)
Merci pour le partage. Chez moi, l'outil se lance avec une erreur, et il ne liste rien… Peut-être parce-que je suis en Windows 10 ? Je ne suis pas administrateur de mon poste, mais je ne pense pas que ce soit ça… Je vous transmets volontiers le message d'erreur complet en cas d'intérêt (Exception non gérée - impossible de créer le composant ActiveX). Mais si ça passe par l'API SolidWorks, j'aurai le même problème qu'avec Project Explorer, je pense.
Si je trouve autre chose, je ne manquerai pas de mettre à jour ce fil, et si quelqu'un a "la" solution je suis toujours preneur !!!
Avez-vous accès au complément "Dispatch" dans votre version de ePDM? Celui-ci permet via une interface graphique (assez limitée) de créer de petits scripts. J'en ai créé un dans notre implémentation qui renomme via une commande contextuelle un ou plusieurs fichiers SOLIDWORKS à partir d'une variable contenant une référence unique.
En utilisant un programme externe au PDM, je crains que la mise à jour des références entre fichiers (comme lorsqu'on renomme manuellement) ne s'effectue pas.
Manuellement, j'arrive à renommer les fichiers. Y a-t-il une autre option à activer / autoriser, pour le renommage par script / programme "externe" ?
Si je dois passer par une copie, je préfère le "Copier l'arborescence" du PDM, mais là aussi je perds l'historique… Donc malheureusement le Project Manager ne m'amène pas la solution du renommage, malgré que ce soit un excellent outil.
Le complément "Dispatch" n'est disponible qu'avec PDM Pro (anciennement EPDM / Enterprise PDM) : http://help.solidworks.com/2017/French/EnterprisePDM/Admin/c_add_ins_overview.htm.
Donc je ne peux pas faire de macro dans le PDM Standard, qui ne laisse pas l'accès à l'API… Et avec un PDM Pro, j'utiliserais probablement "Déplacer l'arborescence" !
Merci pour vos interventions - je vais continuer mes tests et recherches, et vous tenir informés.
Je viens juste de voir le sujet, si vous avez les droits de renommage sur les fichiers il est possible de passer par le VBA Excel pour renommer les fichiers en automatique.
A voir si c'est accessible sur PDM Standard car je suis en version pro, je peux toujours donner le bout de code et les références à activer dans VBA Excel.
Les cas d'emplois sont mis à jour puisque c'est le fonctionnement classique de PDM. Par contre il demandera normalement des enregistrements à l'ouverture car les noms ont été changé. Après vous pouvez utiliser l'utilitaire de conversion de fichiers de SolidWorks PDM pour qu'il enregistre les fichiers et ainsi vous n'aurez pas ces messages d'enregistrement permanent.
Pour la macro, je joins un fichier Excel qui la contient. Si jamais ça ne fonctionne pas, il faudra aller voir dans les références si la référence "PDMWorks Enterprise 201x Type Library" est bien active (le x devrait être un 7). Ceci se trouve dans le menu Outils> Références de l'éditeur VBA.
Les colonnes à renseigner proviennent des résultats de recherche du coffre. Il se peut en fonction de votre paramétrage qu'il y ait plus ou moins de colonnes, il faudra donc modifier dans la macro les numéros de colonne pour que ça aille chercher les informations au bon endroit.