Bonjour,
Je vais essayer d'expliquer mon probleme au mieux mais ce n'est pas evident.
J'utilise une macro excel pour remplacer des pieces et assemblages dans une assemblage modele.
Mon programme marche bien sur mon PC mais je viens de remarque un probleme de version des assemblages que la macro va chercher sur un autre PC.
Exemple:
Si j'extrait un assemblage sur mon PC (PC1), que je le modifie puis que je remet dans le coffre fort PDM (je ne l'ai plus d'extrait sur mon PC)
Si, sur un autre PC (PC2), j'utilise ma macro Excel et importe cet assemblage fraichement modifie, la version que je vais recuperer est la version d'avant modification.
Techniquement, la facon dont ma macro excel va chercher mon assemblage est toute simple, mon fichier excel contient des noms assemblages et leurs localisations et utilise ce code (ci-dessous) pour remplacer une piece modele (PIECE_A _REMPLACER) comprise dans l'ASSEMBLAGE_MODELE par l'assemblage selectionne (NEW_PART_NAME) qui a le chemin NEW_PART_PATH:
boolstatus = swModel.Extension.SelectByID2(PIECE_A_REMPLACER & "@" & ASSEMBLAGE_MODELE, "COMPONENT", 0, 0, 0, True, 0, Nothing, 0)
boolstatus = swModel.ReplaceComponents2(NEW_PART_PATH & "\" & NEW_PART_NAME, "", False, 0, True)
Ne comprenant pas pourquoi la version de l'assemblage que le PC2 ouvrait j'ai tout ferme et recherche manuellement (dans PDM) cet assemblage que je veux importer dans mon assemblage modele puis je l'ai ouvert, et la .... la bonne version s'ouvre (la version que j'avais mondifie sur le PC1).
Je referme tout puis reessaye ma macro via excel.... ca marche il importe maintenant la bonne version du fichier solidworks.
J'ai d'abord pense a un probleme de memoire cash du PC2 et que donc solidworks ouvrait ce qu'il avait dasn sa memoire cash et non la derniere version de chaque fichier.
Sauf que... sur un autre essai, j'essai maintenant d'importer un assemblage (toujours en remplacer une piece dans mon assemblage modele par ce nouvel assemblage) qui n'existait pas avant dans le coffre fort PDM : le dossier dans lequel ce nouvel assemble est n'existait pas avant (le PC2 n'a jamais ouvert le dossier avant).
Sur le PC2, Je teste ma macro Excel et la le programme reagit comme si il ne trouvait meme pas le fichier en question... il passe a autre chose sans rien faire.... meme si, comme pour les autres pieces, je lui donne un nom de fichier et un emplacement correctes.
Je refaire tout, je recherche ce nouveau fichier sur le PDM du PC2, je le trouve et l'ouvre... tout se passe bien.
Je refaire tout et retente ma macro Excel... ca marche, il trouve enfin le nouveau fichier.
Il semblerait que via Excel, meme si je donne une emplacement de fichier valide, la macro n'a pas acces a la derniere version du coffre fort PDM, non pas uniquement d'un fichier mais de tout PDM.
Existe t'il sur chaque PC une sorte de "memoire cash du coffre fort PDM" ou quelque chose du genre?
Je pensais donc a, au debut de a ma macro Excel, ajouter une ligne pour vider cette memoire cash (si elle existe) et donc force la macro a aller piocher dans la version actuelle de PDM et non une memorisee....
Si vous avez une idees, ou si alors je suis completement parti dans une mauvaise direction... dite le moi... c'est peut etre juste dans la facon dont je vais chercher mes fichiers dans ma macro...
Merci d'avance
Yves
PS: desole pour le manque d'accents, je suis au UK donc clavier QWERTY