Właściwości niestandardowe

Witam

Czy istnieje sposób sortowania lub ponownego rozmieszczania właściwości niestandardowych pliku PRT lub ASM?

O wiele łatwiej byłoby znaleźć nieruchomość na liście, gdyby były one wymienione alfabetycznie.

Z góry dziękuję za odpowiedzi

Nie sądzę jednak, że możesz je uporządkować za pomocą menedżera formularzy

1 polubienie

Witam

Być może tworząc rodzinę części, zaimportuj PP, posortuj je, zaktualizuj model, a następnie usuń rodzinę. OK, to hack, ale może zadziałać, aby przymierzyć kopię na wszelki wypadek. 

W przeciwnym razie menedżer PP jest bardzo przydatny.

1 polubienie

W idei @a.leblanc możesz skopiować i wkleić PP do XL, posortować je, usunąć w pokoju i wkleić z powrotem z XL.

To wciąż hack.

Może któryś z naszych programistów byłby w stanie to dla nas zautomatyzować...

2 polubienia

Dziękuję za odpowiedzi, nie byłem wystarczająco precyzyjny w pytaniu, używamy PDM, więc nie ma możliwości przejścia przez edytor formularzy i skorzystania z formularza.

Zastanawiałem się już nad rozwiązaniem XLS ale zmusza mnie to do korzystania ze wszystkich naszych szablonów dokumentów, będąc podwykonawcą używamy różnych szablonów w zależności od klienta, co oznacza, że musimy wykonać obsługę dla każdego szablonu:(

Witam

Z makrem i komparatorem ciągów powinien to zrobić. Nie mam pod ręką komputera, ale jest to w dużej mierze wykonalne. Aby pomóc, zrobiłem samouczek dotyczący eksportu pps. Zasadniczo jest tak samo, z wyjątkiem tego, że muszą być przechowywane w drugiej tabeli. 

1 polubienie

Dziękuję Yves, postaram się jak najszybciej.

Witam

Może to być trochę spóźnione, ale oto fragment kodu w języku C#, który pozwala pobrać niestandardowe właściwości aktywnej konfiguracji, posortować je alfabetycznie, a następnie wyświetlić wynik.

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

Pozdrowienia

1 polubienie

A oto plik wykonywalny, aby zobaczyć, jak to wygląda.

Pozdrowienia


listpropsw.zip

Informacje na ten temat w moich tutorialach:

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

Dzięki Alain, jednak na liście znajdują się właściwości prawdopodobnie domyślnie Solidworks, ale nie nasze właściwości w pliku.

Mamy określone właściwości, których używamy z PdmWorks, ale nie pojawiają się one ani w "Liście edycji", ani w pliku właściwości, co wydaje się logiczne.

Dziękuję Roger, jak tylko mam trochę czasu, przyjrzę się bliżej, niestety nie mogłem sobie wyobrazić twojego exe, jest on systematycznie usuwany przez nasz program antywirusowy i nie mogę temu zapobiec (instrukcja wewnętrzna).