vielleicht indem Sie eine Teilefamilie erstellen, die PPs importieren, sortieren, das Modell aktualisieren und die Familie anschließend löschen. OK, es ist ein Hack, aber es kann funktionieren, eine Kopie für alle Fälle anzuprobieren.
Vielen Dank für Ihre Antworten, ich war in der Frage nicht präzise genug, wir verwenden PDM, daher ist es nicht möglich, den Formulareditor zu durchlaufen und ein Formular zu verwenden.
Ich hatte bereits die XLS-Lösung in Betracht gezogen, aber sie zwingt mich, alle unsere Dokumentvorlagen zu verwenden, da wir als Subunternehmer je nach Kunde unterschiedliche Vorlagen verwenden, was bedeutet, dass wir die Handhabung für jede Vorlage durchführen müssen:(
Mit einem Makro und einem String-Komparator sollte es das tun. Ich habe den PC nicht zur Hand, aber es ist weitgehend machbar. Um zu helfen, hatte ich ein Tutorial zum Exportieren von pps erstellt. Im Grunde ist es dasselbe, nur dass sie in einer zweiten Tabelle gespeichert werden müssen.
Es mag etwas spät sein, aber hier ist ein Stück Code in C#, das es Ihnen ermöglicht, die benutzerdefinierten Eigenschaften der aktiven Konfiguration zu nehmen, sie alphabetisch zu sortieren und dann das Ergebnis anzuzeigen.
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);
Danke Alain, aber in der Liste sind die Eigenschaften wahrscheinlich standardmäßig Solidworks, aber nicht unsere Eigenschaften in der Datei.
Wir haben bestimmte Eigenschaften, die wir mit PdmWorks verwenden, aber sie erscheinen nicht, weder in der "Liste bearbeiten" noch in der Eigenschaftendatei, was logisch erscheint.
Danke Roger, sobald ich ein wenig Zeit habe schaue ich mir das genauer an, ich konnte mir deine Exe leider nicht vorstellen, sie wird systematisch von unserem Antivirenprogramm entfernt und ich kann sie nicht verhindern (interne Anweisung ).