Propriétés personnalisées

Bonjour,

Existe t il de trier ou réorganiser les propriétés personnalisé d'un fichier PRT ou ASM ?

Il serait tellement plus simple de trouver une propriété dans la liste si elles étaient classées par ordre alphabétique.

Merci par avance de vos réponses

Je ne croit pas neamoins tu peut les organiser en passant par le gestionnaire de formulaire

1 « J'aime »

Bonjour,

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. 

Sinon le gestionnaire de PP est très utile.

1 « J'aime »

Dans l'idée de @a.leblanc, vous pouvez copier-coller les PP dans XL, les trier, les supprimer dans la pièce et recoller depuis XL.

ça reste de la bidouille.

Peut-être qu'un de nos dévéloppeurs fou de macro arriverait à nous automatiser ça...

2 « J'aime »

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 :(

Bonjour,

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. 

1 « J'aime »

Merci Yves, j'essaye dès que possible.

Bonjour,

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);

Cordialement,

1 « J'aime »

Et voici l'executable pour voir ce que ça donne.

Cordialement,


listpropsw.zip

Des infos sur le sujet dans mes tutos:

http://tutoriel.solidworks.free.fr/crbst_168.html

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).