peut être qu'en réalisant une famille de pièce, importer les PP, les trier, MAJ du model et suppression de la famille après. OK, c'est de la bidouille, mais ça peu peut être marcher, à essayer sur une copie au cas ou.
Merci pour vos réponses, je n'ai pas été assez précis dans la question, nous utilisons PDM dons pas possible de passer par le l'éditeur de formulaire et d'utiliser un formulaire.
J'avais déja envisagé le solution XLS mais cela m'oblige à reprendre tous nos modèles de documents, étant sous-traitant nous utilisons des modèles différents suivant les clients ce qui implique de faire la manip pour chaque modèle :(
Avec une macro et un comparateur de string, ça doit le faire. Je n'ai pas le pc sous la main mais c'est largement faisable. Pour aide, j'avais fait un tutoriel sur l'export des pp. En gros c'est pareil sauf qu'il faut les stocker dans un deuxième tableau.
C'est peut-être un peu tard mais voici un bout de code en C# qui permet de relever les propriétés personnalisées de la configuration active, de les trier par ordre alphabétique puis d'afficher le résultat.
ModelDoc2 swModel = null;
swModel = ((ModelDoc2)(swapp.ActiveDoc));
CustomPropertyManager PropMgr = null;
ConfigurationManager swConfigMgr;
Configuration swConfig;
swConfigMgr = swModel.ConfigurationManager;
swConfig = swConfigMgr.ActiveConfiguration;
int nNbrProps;
int j;
object[] vPropNames;
string valOut;
string resolvedValOut;
string msg = string.Empty;
int custPropType;
List<string> ListeProp = new List<string>();
PropMgr = swConfig.CustomPropertyManager;
// Récupérer le nombre de propriétés personnalisées dans la configuration active
nNbrProps = PropMgr.Count;
// Récupérer le nom de la propriété personnalisée
vPropNames = (object[])PropMgr.GetNames();
// Récupérer le nom de la variable et la valeur assignée pour chaque propriété personnalisée
for (j = 0; j <= nNbrProps - 1; j++)
{
PropMgr.Get2(vPropNames[j].ToString(), out valOut, out resolvedValOut);
ListeProp.Add(vPropNames[j].ToString() + " ==> " + resolvedValOut.ToString());
}
ListeProp.Sort();
foreach (string element in ListeProp)
{
msg = msg + element + "\n";
}
MessageBox.Show(msg);
Merci Alain, cependant dans la liste figure les propriétés probablement par défaut de Solidworks mais pas nos propriété figurant dans le fichier.
Nous avons des propriété spécifiques que nous utilisons avec PdmWorks mais celle-ci n'apparaissent pas, ni dans "Editer la liste" ni dans le fichier de propriété ce qui parait logique.
Merci Roger, des que j'ai un peu de temps j'y regarde de plus près, je n'ai malheureusement pas pu visualiser ton exe, il est systémathique supprimé par notre anti-virus et je ne peux pas l'empècher (consigne interne).