Gestion de projet et modificaton sans PDM

Bonjour,

je cherche à avoir une appli ou macro personnalisable me permettant de copier un projet complet en indiçant plus ou moins automatiquement les fichiers et plans ayant été modifiés.

En plus détaillé :

1 j'ai un produit existant, comportant des pièces, assemblages et mises en plan associées, tous en lecture seule pour éviter les mauvaises manips.

2 je copie l'intégralité du projet avec une composition à emporter avec les plans dans un nouveau répertoire "Projet" en conservant la structure.

3 j'applique toutes les modifications / créations sur mon projet dans ce répertoire qui a conservé la structure du produit initial

4 une fois validées, je veux rebasculer tout ce répertoire "projet" en "produit" en masse en indiçant les fichiers ayant évolué ou étant nouvellement créés, avec leur mise en plan associée (possédant le même nom que le fichier source et dans le même répertoire que celui-ci). Le top serait que si je modifie l'indice d'une pièce, il me propose de lui-même de modifier l'indice de l'assemblage dans lequel elle est utilisée (mais ce sera dans un deuxième temps)

5 j'archive les anciens fichiers dans un autre répertoire "archive" pour ne pas encombrer le répertoire "produit" (avec au passage un traitement en pdf par prudence)

 

Voilà l'objectif de ma démarche, qui ressemble à du PDM simplifié. C'est la phase 4 qui pose le plus de problèmes bien sûr.

Pour compliquer la chose, je dois travailler sous SW2011, pour des raisons de compatibilité avec certains utilisateurs.

 

A ce jour, j'ai essayé de creuser avec projectmanager, mais pas de traitement automatisé du changement d'indice possible car les fichiers possèdent des appelations melant les chiffres et les lettres et les règles de détection sont trop fermées (du moins sur la V2011). En plus, pas de sauvegarde dans l'appli, qui permettrait de refaire la manip ultérieurement ou la corriger.

Avec integration, pas de traitement sur le nom des fichiers. Possible de tester, mais aucune opération.

Je me suis tourné vers la macro "enregistrer sous" de Lucas Prieur, à automatiser pour traiter une syntaxe de fichiers spécifique, mais reste aussi à trouver comment traiter un groupe de fichiers complet.

 

Je sollicite donc vos compétences en utilisations plus poussée des applis existantes ou en rédaction de macros afin d'avancer dans mon projet. A moins que vous n'ayiez une autre méthodologie à proposer.

 

Merci.

Sébastien

Bonjour,

 

J'ai adapté la macro existante pour l'executer sur un dossier, il suffit d'ouvrir un fichier du dossier pour executer la macro pour toutes les pièces du dossier.

 

Penser à activer "Microsoft Script Runtime" dans VBA "Outils > Références".

 

J'ai aussi adapté un peu la macro suite à nos échanges par mail.

 

En espérant que ça marche !


enregistrer-sous-masse.zip

pour ta phase 4 (merci les fourmis)  

pourquoi ?

si tu prends tout les fichiers du dossiers et tu fait une ouverture de celui-ci 

2 je copie l'intégralité du projet avec une composition à emporter avec les plans dans un nouveau répertoire "Projet" en conservant la structure.

 

_donc les ref dossiers sont les memes que avant modif puisque tu va les faires ces dites modif

on arrive a la phase 4

tu renomme ton fichier son nom +1 tu enregistre

tu de retrouve avec 2 dossiers 

1 avec nom origine, 1 avec nom origine +1

 

tu r'ouvre ton origine tu le renomme +A (archive)

et tu le mets dans tes archives une fois imprimer

 

perso moi je pense que toutes modifications merite un indice, Date

 

@+ ;-)

Bonjour,

 

Avec l'utilitaire Integration vous pouvez executer une macro.

 

L'outil ouvrira chaques documents, lancera la macro, enregistre et ferme le document.

 

Cela permet de simplifier la macro.

 

A+

 

3 « J'aime »

Si j'ai bien compris:

  • Le point 1, c'est ton produit standard et donc ta base de travail pour l'élaboration du produit client.
  • Dans le point 2, quand tu dupliques dans "PROJET", tu renommes tes fichiers SolidWorks?

(Si tu ne renomme pas à mon avis c'est super dangeureux: SolidWorks n'aime pas les fichiers doublons !!!)

  • Dans le point 3: si tu modifies une pièce existante (issu de ta base standard) cela signifie que tu indices ta pièce, comment gère tu l'indicages (avec des propriétés dans la pièces?) ou renomme tu le fichier avec "nom du fichier_indice"?
  • Dans le point 4 pourquoi ne pas renommer tout simplement le dossier "projet" en "produit"?

 

Pour "Le top serait que si je modifie l'indice d'une pièce, il me propose de lui-même de modifier l'indice de l'assemblage dans lequel elle est utilisée (mais ce sera dans un deuxième temps)": là je pense qu'il ne faut pas réver, même l'EPDM il ne le fait pas tout seul !!!!

  • 5 Tu archives: c'est à dire que tu fais une copie du répertoire "projet" (en gardant la même numérotation? donc en créant de nouveau doublons?).

 

 

 

en premier :

la macro de Lucas me jette quand je dois renseigner le nom du nouveau fichier (mais  ne m'a pas proposé de choisir un répertoire). Elle est passée une fois après avoir choisi 8 chiffres pour le nouveau nom mais m'a redemandé le nom une deuxième fois (7 chiffres cette fois).

Au final, j'ai pu transformer mon fichier qui s'appelait 02-P10866 en 01234567-1234567. Pas encore ça, désolé. Je vais essayer de comprendre comment faire par moi-même après avoir étudié toutes les réponses (que je n'attendais pas si nombreuses j'avoue).

en deuxième :

je n'ai pas bien compris les "+1"

Quand je retransporte ma composition à emporter du projet vers la fabrication, j'aimerais qu'il me propose à chaque fois:

"ce fichier existe déjà, voulez-vous conserver l'existant (choix 1), conserver les deux (archiver l'ancien et incrémenter l'indice du nouveau)" à la manière de windows, mais en y associant les mises en plan avec indice qui suit celui du fichier source.

J'espère être intelligible...

en trois :

je n'avais pas pensé à utiliser une macro dans intégration, piste à explorer. Dommage que les opérations sur nom de fichier ne soient pas de proposées de base. Mais reste que cet utilitaire ne propose pas de sauvegarder la procédure pour l'appliquer ultérieurement. C'est du "one shot", du moins en 2011.

J'ai modifié la macro que j'ai posté ici pour qu'elle prenne en compte ta syntaxe normalement !

 

Et il faut lancer la macro qui s'appelle "main" pour avoir le choix d'un dossier.

 

Edit : Désolé, en effet j'avais oublié une partie du code, il faut modifier :

 

 

Loop While Len(NewCode) <> 8

 

 

Par :

 

Loop While IsNumeric(Left(NewCode, 2)) = False And IsNumeric(Mid(NewCode, 5, 5)) = False And Mid(NewCode, 3, 2) <> "-P" 

 

 

 

en dernier :

dans le point 3, je ne modifie pas le nom des fichiers. J'ai donc effectivement tous les fichiers en doublons entre la base de travail et le base de projet. Ceux de la base de travail étant en lecture seule pour éviter les bétises justement. La gestion de l'indice est faite sur le nom du fichier directement (syntaxe : type de produit sur 2 chiffres + tiret + "P" + sous-type de produit sur 1 chiffre + A si assemblage + numéro de pièce sur 3 chiffres + indice (rien ou A ou B ...) Si c'est un fichier pièce, pas de A, le numéro de pièce passe sur 4 chiffres + indice.

Ce n'est que quand j'ai décidé de valider la solution et l'appliquer que je change mon indice ou crée un nouveau code en rebasculant dans le répertoire d'origine.

Je ne gère pas l'indiçage par les propriétés (peut-être une erreur, pas l'habitude).

Quand il est retourné dans le répertoire initial en phase 4, le projet complet est devenu un produit et le projet copié précédemment peut être supprimé ou archivé/compressé pour éviter les doublons. L'archivage de l'indice précédent est là pour ne pas polluer le répertoire avec d'anciens indices, ce n'est qu'un déplacement de fichier (pièce+assemblage+plan).

Une idée qui me vient à l'esprit:

 

  • Point 1:

le produit existant: tous les noms de fichiers (prt,asm,drw) commence par "STD_" (pour standard).

Tu rajoutes sur chacun des fichiers (asm,prt) la propriété "ETAT" avec seulement 3 paramètres possible (c'est simple à faire depuis les smartproperties):

  • Standard
  • Nouveau
  • Modifié

Nota: dans ton produit existant tous les fichiers sont dans l'état "Standard"

 

  • Point 2:

Tu fais ta composition à emporter en renommant tous les fichiers (prt,asm,drw) : tu remplace le préfixe "STD_" par le préfixe "PROJET_" (donc pas de doublons !!!) et tu les stockent dans le répertoire Projet.

 

  • Point 3:

Tu fais toutes tes modifications.

Si tu crées une nouvelle pièce: dans la propriété ETAT du fichier, tu affectes la valeur: Nouveau

Si tu modifies une pièce: dans la propriété ETAT du fichier, tu affectes la valeur: modifié

Si tu ne fais rien sur le fichier.... tu ne touches à rien puis que la propriéié ETAT restera à Standard

 

  • Point 4:

Une fois validé, tu refais une composition à emporter en renommant tous les fichiers (prt,asm,drw):tu remplace le préfixe "PROJET_" par le préfixe "PRODUIT_" (donc toujours pas de doublons et tui garde une archive de ton travail en mode projet  !!!) et tu les stockent dans le répertoire Produit.

Tu peux donc en masse imprimé ou créer des DXF via Batchconverter en filtrant via la propriété ETAT.

Tu peux via Propertielist lister tout tes fichier et en extraite les Nouveau et/ou les Modifié (Créer une table avec une colonne ETAT).

 

Ai-je été clair?

Cela te va?

 

 

Cette solution de "l'état" me séduit assez, mais j'ai deux petites objections :

- je ne peux pas modifier les noms des fichiers actuels (repris ailleur par des macros excel ou par les achats je crois). Mais cela n'empeche rien, je peux juste rajouter un préfixe temporaire le temps du projet.

- je dois manuellement changer l'indice de tous les plans modifiés (à moins d'automatiser sur la propriété "ETAT"). Donc retour avec la macro "enregistrer sous" peut-être ?

Parallèlement, je pense que je vais devoir trouver une solution automatique pour changer la propriété ETAT lors des transferts / création pour ne pas avoir de raté si cette propriété a oublié d'être renseignée/modifiée avant les traitements. Je dois y réfléchir à tête reposée, intéressant.

Merci.
Sébastien