Сообщество программистов Autodesk в СНГ

ADN Club => ObjectARX => Тема начата: AndrewKuznets от 10-01-2020, 13:29:34

Название: Ssget-Выборка из другой базы данных
Отправлено: AndrewKuznets от 10-01-2020, 13:29:34
Всем привет!
Можно ли выбрать примитивы из БД, открытой  и заполненной в коде:
Код - C++ [Выбрать]
  1.  AcDbDatabase *pDb = new AcDbDatabase(Adesk::kFalse);
  2.  
  3.                  if (Acad::eOk != pDb->readDwgFile(buffer))
  4.                  {
  5.                          MessageBox(NULL, buffer, L"Warning!", MB_OK);
  6.                          return RTERROR;
  7.                  }
посредством функции  с фильтром
      
   
Код - C++ [Выбрать]
  1.         acedSSGet(L"X", NULL, NULL, &eb2, ssname) != RTNORM)
      
??
Название: Re: Ssget-Выборка из другой базы данных
Отправлено: Александр Ривилис от 10-01-2020, 13:31:29
AndrewKuznets,
Нельзя.
P.S.: Не забывай про правильное форматирование кода.
Название: Re: Ssget-Выборка из другой базы данных
Отправлено: Александр Ривилис от 10-01-2020, 14:13:30
А что фильтр настолько сложный, что без acedSSGet с фильтром никак?
Название: Re: Ssget-Выборка из другой базы данных
Отправлено: AndrewKuznets от 11-01-2020, 15:12:12
Добрый день.
Фильтр простой - имя слоя. Чтобы добраться до примитива слоя сканирую таблицу блоков и
проверяю имя слоя.
Название: Re: Ssget-Выборка из другой базы данных
Отправлено: Александр Ривилис от 11-01-2020, 16:24:16
Добрый день.
Фильтр простой - имя слоя. Чтобы добраться до примитива слоя сканирую таблицу блоков и
проверяю имя слоя.
И это самый правильный и быстрый вариант.