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


Поиск  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
Обход дерева фрагментов 3d модели
 
Доброго времени суток, дамы и господа. Есть следующая задачка
1. Необходимо пройти по дереву фрагментов (дерево отображается
слева в окне 3D модели), собрать данные для спецификации из всех элементовт во всех уровнях дерева, с учетом параметрического функционала T-Flex
2. И вывести в отдельную форму отчета в T-Flex и в файл Word/Excel

Установил T-FLEX CAD11.С T-FLEX не работал никогда.
Посоветуйте, в каком направлении двигаться, как лучше решить эту проблему: используя API и создать свое приложение или используя макросы?...может есть еще варианты?

Вообще что есть Дерево фрагментов, данные для спецификации?
Что есть отдельная форма отчета? Как вообще принято составлять подобные отчеты?

Как реализовывать с помощью API функционала или с помощью макросов?

Я программирую на VS 2008 (C#).

Заранее благодарен.
 
По фрагментам бегу следующим образом:

doc = TFlex.Application.OpenDocument("d:\\TFLEX\\2_1.grb");
foreach(Fragment fr in doc.Fragments)
{
}

вопрос: как по фрагменту определить данные для спецификации?

в TFlex они находятся: Сервис->Спецификации->Данные

может в АПИ функционале есть как-то метод, позволющий по фрагменту вытащить эти данные?
 
Раз больше ответить некому....

ты по 2D фрагментам бегаешь или по 3D?
по 3D вроде как foreach(Fragment fr in doc.Fragments3D)

А по вопросу смотри doc.BOMData и, возможно, TFlex::Model::Model2D::BOMObject
 
по 3d.
Спасибо посмотрю.
 
Цитата
Александр Смок пишет:

ты по 2D фрагментам бегаешь или по 3D?

Нужно по 2D.
Кто ищет - тот всегда найдет!
 
А просто вытащить переменные для "особой" спецификации недостаточно?
Зачем именно "данные для спецификации"? Входимость что-ли определять?
 
Зачем именно "данные для спецификации" не знаю....мне дали эту задачу на собесодовании, в терминалогии не разбираюсь. Вообще с TFLEX 3 день знаком...нашел пример макроса C:\Program Files\T-FLEX\T-FLEX CAD 11\Program\BOMExport\Экспорт данных спецификации в Excel.grb

foreach (Text textobj in document.Texts)
{
if (textobj is BOMObject)
{
BOMObjectName = ((BOMObject)textobj).FriendlyName;
if (!((BOMObject)textobj).ReportFileLink.IsEmpty)
{
X Document doc = TFlex.Application.OpenDocument(((BOMObject)textobj).ReportFileLink);
X if (doc != null)
X {
X doc.BeginChanges("Получение данных из полей спецификации связанного документа и экспорт их в Microsoft Excel");
X ModelObject textobject = doc.GetObjectByID(((BOMObject)textobj).ReportID);
X if (textobject is BOMObject)
X {
X SetFieldsValues((BOMObject)textobject, resultsFile);
X }
X doc.EndChanges();
X }
}
else
{
X SetFieldsValues((BOMObject)textobj, resultsFile);
}
}
я заполнил данные для спецификации, а количество document.Texts равно 0.
Почему так?
Может это вообще не тот пример?
 
Для считывания данных для спецификации "копайте" в сторону класса TFlex::Model::BOMData.
Кто ищет - тот всегда найдет!
Страницы: 1