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


Поиск  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
Деталировка, Создание деталировачных файлов
 
Всем здравствуйте,
Возник вопрос по деталировке. Есть сборочная модель с переменными Ширина, Высота и Глубина. Соответсвенно они передаются во фрагенты сборки.
Можно ли использовать эти переменные для задания имени файла, а не Фрагмент - Деталь 1, Фрагмент - Деталь 2, Фрагмент - Деталь 3...Фрагмент - Деталь N
 
Как я понял, Вы хотите, чтобы в дереве 3D модели были осмысленные имена фрагментов? Это просто - в контекстном меню дерева 3D модели есть пункт "Представление". Появится окошко, в котором Вы сможете настроить, какая информация о фрагментах будет отображаться. В частности, можно сделать, чтобы было просто название детали.
Вообще говоря, управлять через переменные можно только внутренними параметрами фрагментов, но уж никак не названиями файлов. Вы можете создать фрагмент, в котором, в зависимости от значения переменных, одни детали высвечены, другие погашены. Или количество деталей разное (параметры массива). Если у Вас коммерческая версия, ещё можно легко управлять названиями деталей при вставке в сборку. В учебной версии такое тоже возможно, но там надо хитрить (организовывать собственную обработку скрытых переменных), ибо возможность работы со спецификациями заблокирована.
 
В дереве меня всё устраивает, есть правда предложение после деталировки использовать макрос который сам переименует файл. Будем думать :)
 
Прекрасная половина человечества предложила использовать метод SaveAs(TextValue); :)
Изменено: Дмитрий - 18.04.2013 17:51:24
 
А откуда такая уверенность, что программистов сейчас половина населения? ;)
Главное - спокойствие!
 
Видимо у всех разные представления о прекрасных половинах человечества :)
 
Прекрасная половина программиста :bal:
 
Как вариант решения, макрос запускать в деталированном файле :)
Код
using System;
using TFlex;
using TFlex.Model; 

namespace NewMacroNamespace
{
   public class NewMacroClass
   {
      public static void NewMacro()
      {
      Document doc = TFlex.Application.ActiveDocument;
      foreach(Variable v in doc.Variables) 
           {
         if (String.Compare(v.Name, "$name") == 0)
          {
         doc.SaveAs (v.TextValue);
         return;
          }
        }
      return;
      } 
   }
} 
Но появился вопрос, можно ли обращаться сразу к определённой переменно без использования foreach?

P.S.: Программист может и входить в прекрасную половину человечества, но обратно не всегда верно :) А вот прекрасную половину программиста даже не знаю что ответить, есть предположения что бы это могло быть? :)
 
В программисте все должно быть прекрасно - и голова и руки: 8)
Главное - спокойствие!
 
У программистов есть и другие части тела. Все описывать не надо :)
 
Цитата
Дмитрий пишет:
Но появился вопрос, можно ли обращаться сразу к определённой переменно без использования foreach?
как-то так:

Код
 // Найти переменную по имени
 //
 // Параметры:
 // name:
 // Имя переменной
 public Variable FindVariable(string name);

т.е.
 // Обозначение 
string designation = doc.FindVariable("$name").TextValue;

doc.SaveAs ( designation );
Изменено: Сергей Максимов - 19.04.2013 23:50:30
 
Спасибо за FindVariable(string name) вопрос к разработчикам, а в этом методе заложен foreach? :)
Страницы: 1