Официальный форум российского программного комплекса T-FLEX PLM


Поиск  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
Конфигурации библиотек
 
Кто-нибудь знает как создать через API новую конфигурацию библиотеки, а затем создать в ней новые библиотеки?

LibraryConfiguration newLibConf = new LibraryConfiguration("New",@"D:\new.tws");

Так конфигурацию создать не получается.

Library newLib = new Library("Библиотека", @"D:\Проекты\Сборка\Библиотека"); - а так библиотеку.

По логике нужно открыть блок редактирования, как в случае с документом, но ведь это не относится к документу. Потом при создании библиотеки по идее нужно указать в какой конфигурации ее необходимо создать. В документации по API примеров не нашел.
 
Слеши надо экранировать("D:\\new.tws")

Хотя дело не в слешах, конфигурацию создает но не сохраняeт и окно Меню документов не обновляет.

LibraryConfigurations l = new LibraryConfigurations();

LibraryConfiguration newLibConf = new LibraryConfiguration("new","d:\\new.tws");
l.Add(newLibConf);
MessageBox.Show(l.Count.ToString());



if (newLibConf.Save()){
MessageBox.Show(newLibConf.Path);
}
Изменено: roand - 05.07.2010 09:06:17
 
Цитата
roand пишет:

Слеши надо экранировать("D:\\new.tws")

В C# эта запись аналогична: @"D:\new.tws"

Вообще синтаксис по конфигурациям какой-то не логичный: масло масляное.
Изменено: Сергей Максимов - 05.07.2010 22:03:55
 
Могу предложить обходной вариант. Создаем шаблон библиотеки в T-FLEX CAD (например "D:\\new.tws"). Затем открываем его, работаем с ним и сохраняем под другим именем:

Код
LibraryConfigurations l = TFlex.Application.LibraryConfigurations;
LibraryConfiguration newLibConf = l.Open("d:\\new.tws");

newLibConf.Name = "b";
if (newLibConf.SaveAs("d:\\b.tws")){
   MessageBox.Show("Библиотека создана");
}

 
Да, так можно создать конфигурацию библиотек, но не сами библиотеки. Вы не правильно трактуете понятие библиотек. Есть конфигурации библиотек (то, что вы и продемонстрировали), а есть сами библиотеки class Library

И Ваш код правильнее записать как:

LibraryConfigurations l = TFlex.Application.LibraryConfigurations;
LibraryConfiguration newLibConf = l.Open("d:\\new.tws");

newLibConf.Name = "b";
if (newLibConf.SaveAs("d:\\b.tws")){
MessageBox.Show("Конфигурация библиотек создана");
}
Изменено: Сергей Максимов - 10.07.2010 18:43:17
 
Трактую то я правильно иначе не написал бы newLibConf ;) .Вы лучше при помощи кода покажите что именно не получается.
 
Читайте первый пост - там все достаточно конкретно. Допускаю, что есть какой-то хитрый способ, но этот способ не описан в руководстве.
Изменено: Сергей Максимов - 10.07.2010 22:42:43
 
Вообще мне так кажется что класс LibraryConfiguration еще не дописан. по логике напрашивается что должен быть еще метод Add. Можно конечно попробовать и дальше идти через шаблон, но все это получается через одно место ;(
 
Согласен. Поэтому свою проблему пока решил не используя эти конфигурации библиотек. Думаю тему пока можно закрыть - здесь обсуждать больше нечего.
Изменено: Сергей Максимов - 11.07.2010 10:47:48
 
Может кто в курсе, чем отличается метод Add от метода Open класа LibraryConfigurations?

Т.е. чем принципиально отличается:
LibraryConfigurations libConfig.Add(libConfig.Open(fileName));
от
LibraryConfigurations libConfig.Open(fileName));

Судя по названиям методов, понимаю, что первый способ должен добавлять к списку открытых конфигураций библиотек еще одну, а второй позволять держать открытой только текущую (открываемую) конфигурацию. Но на практике это не так. Видимо не правильно понимаю. Может кто разъяснит?
Изменено: Сергей Максимов - 14.08.2010 13:45:13
Страницы: 1