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


Поиск  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
Document или Fragment3d из Face/Edge/Plane
 
Добрый день, подскажите как можно получить программно документ или фрагмент для выделенного фэйса или другого элемента? Owner->Document возвращает корневой документ, а Owner - компонент корневого документа внутри которого может быть еще много уровней подсборок до текущего элемента... Мне нужно именно тот документ который является непосредственным родителем.
 
Цитата
Игорь написал:
Добрый день, подскажите как можно получить программно документ или фрагмент для выделенного фэйса или другого элемента?
Код
void PluginInstance::ObjectSelectionChangedEventHandler(ObjectEventArgs^ args)
{
   ModelObject ^obj = args->Object;
   Fragment3D^ fr3d = nullptr;

   if (obj->GroupType == ObjectType::Topol)
   {
      TopolReference^ topol = (TopolReference^)obj;

      for each (ParentObject ^p in topol->Parents)
      {
         fr3d = (Fragment3D^)p->Object;
         if (fr3d != nullptr)
            break;
      }
   }

   args->Document->Diagnostics->Add(
      gcnew DiagnosticsMessage(DiagnosticsMessageType::Information, 
         String::Format("select [id:{0}, type:{1}, parent:{2}]", 
            obj->ObjectId, obj->GroupType, fr3d ? fr3d->PathName : "NULL"), obj));
}
T-FLEX CAD 17.1.21.0
Страницы: 1