анонимные блоки после удаления блока из выноски

Автор Тема: анонимные блоки после удаления блока из выноски  (Прочитано 4701 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

Оффлайн begizАвтор темы

  • ADN Club
  • ***
  • Сообщений: 156
  • Карма: 8
  • Skype: begiz_i
Добрый день, колеги
в проге нужно периодически обновлять данные в выносках.
чтобы всё было красиво в качестве информации указывается блок
при обновлении выноски выполняю следующий код в надежде всё почистить после себя

Код - C++ [Выбрать]
  1. AcDbObjectId blockId = mleader->blockContentId();
  2. mleader->setContentType(AcDbMLeaderStyle::kNoneContent);
  3. mleader.close();
  4.  
  5. AcDbBlockTableRecordPointer pRec(blockId, AcDb::kForWrite);
  6. if (pRec.openStatus() == Acad::eOk)
  7. {
  8.  AcDbObjectIdArray idArray;
  9.  pRec->getBlockReferenceIds(idArray);
  10.  for (int bi = 0; bi < idArray.length(); bi++)
  11.     EraseEntity(idArray[bi]);
  12.  pRec->erase();
  13. }
  14.  
  15.  

ошибок никаких нет, но вот через purge вижу анонимные блоки.

тут или с последовательностю чтото не так, либо я чтото не делаю.
Может встречались?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
В мультивыноске динамический блок?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн begizАвтор темы

  • ADN Club
  • ***
  • Сообщений: 156
  • Карма: 8
  • Skype: begiz_i
Нет, обычный блок в котором только 1 таблица
AcDbTable  наследован от AcDbBlockReference, может с этим как то связано?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Нет, обычный блок в котором только 1 таблица
AcDbTable  наследован от AcDbBlockReference, может с этим как то связано?
Очень похоже.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн begizАвтор темы

  • ADN Club
  • ***
  • Сообщений: 156
  • Карма: 8
  • Skype: begiz_i
а есть какой-то способ этот анонимный блок посмотреть для начала?
а потом если это точно таблицы то через acdbCurDwg()->purge поудалять их

есть конечно вариант взрывать таблицу перед добавлением в блок, то тогда стили таблицы уже не получется использовать

Отмечено как Решение begiz 09-06-2023, 08:50:50

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1097
  • Карма: 172
А какие маски имен этих анонимных блоков? *D - это размеры, *T - таблицы, *U - как правило, вхождения дин.блоков. И потом, анонимные блоки, как правило, уничтожаются при закрытии документа автоматом (если, конечно, они не используются)
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн begizАвтор темы

  • ADN Club
  • ***
  • Сообщений: 156
  • Карма: 8
  • Skype: begiz_i
многое праясняется :)
да, деиствительно маски *Т