Как корректно разбить динамический блок?

Автор Тема: Как корректно разбить динамический блок?  (Прочитано 8303 раз)

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

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

  • ADN Club
  • ****
  • Сообщений: 421
  • Карма: 16
    • Advanced software for AutoCAD
  • Skype: Debalance
При попытке применить AcDbEntity::explode() к динамическому блоку получается полная каша из всех возможных элементов этого самого блока. А как разбить только текущее его представление? Я так понимаю надо копать в сторону AcDbDynBlockReference::convertToStaticBlock()... Кто нибудь в курсе?

Отмечено как Решение Debalance 05-02-2015, 13:43:35

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Попробуй обычный метод explode(), но отфильтровывай результат по двум критериям:
1) Полученный объект - это примитив (т.е. AcDbEntity::cast(pEnt) != NULL)
2) Полученный примитив видим (т.е. pEnt->visibility() == AcDb::kVisible)
Должно получится. Во всяком случае в .NET такое работает: http://forums.autodesk.com/t5/net/explode-dynamic-block-with-visibility-states/td-p/3643036
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • ****
  • Сообщений: 421
  • Карма: 16
    • Advanced software for AutoCAD
  • Skype: Debalance
pEnt->visibility() == AcDb::kVisible
А ларчик просто открывался... Спасибо!

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
А ларчик просто открывался... Спасибо!
Пожалуйста! Надеюсь ты проверил моё предположение до того, как отметить мой ответ как Решение? :-)
« Последнее редактирование: 05-02-2015, 14:15:49 от Александр Ривилис »
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • ****
  • Сообщений: 421
  • Карма: 16
    • Advanced software for AutoCAD
  • Skype: Debalance
Пожалуйста? Надеюсь ты проверил моё предположение до того, как отметить мой ответ как Решение? :-)

Обижаете!!! Так как я доверяю только себе  :)  я, естественно, всё предварительно проверил...