получить имя ArrowSymbol из стиля мультивыноски

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

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

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

Оффлайн Захаров МаксимАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 141
  • Карма: 3
Добрый день.
Подскажите пожалуйста, почему в стиле мультивыноски переменная userMLeaderStyle.ArrowSymbolId=null ?
Я точно уверен что стилю назначен символ стрелки (встроенный символ, не пользовательский блок)
Мне надо получить ArrowSymbol из внешнего файла, который содержит все стили мультивыносок

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Захаров Максим,
Если я правильно понял, то ArrowSymbolId==null в случае если символ стрелки - Closed filled. В других случаях он не null.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
А это имена блоков, которые получаются при установке встроенных символов стрелок:



Не хватает только одного для "Closed Filled".
« Последнее редактирование: 19-02-2024, 17:28:52 от Александр Ривилис »
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Захаров МаксимАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 141
  • Карма: 3
Да, Александр, правильно. Как мне получить имя этого символа?
Dim arrowSumbId As ObjectId = userStyleMLeader.ArrowSymbolId
И я получаю null ну и дальше тупик у меня...

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
И я получаю null ну и дальше тупик у меня...
Ты видимо не понял. Что ты имеешь в виду под именем? Имя в редакторе стилей MLeader? Так я и написал - "Closed filled" для null. Если имя BlockTableRecord - то имени никакого нет, так как и блока нет (видимо рисуется без блока).
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Захаров МаксимАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 141
  • Карма: 3
Мне просто надо узнать, какой символ используется в качестве наконечника у моего стиля мультивыноски. Как его получить я не понимаю пока.

Оффлайн Захаров МаксимАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 141
  • Карма: 3
Скажите Александр, я могу получить имя этого объекта?


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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Мне просто надо узнать, какой символ используется в качестве наконечника у моего стиля мультивыноски. Как его получить я не понимаю пока.
Если ты получил null, то это значит, что "Closed Filled". Для остальных ты получаешь нормальные ObjectId и по ним получаешь имя блока. Что непонятного?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Скажите Александр, я могу получить имя этого объекта?
"Закрашенная замкнутая" это и есть "Closed Filled", о которой я писал выше. У него нет блока - видимо изображение генерируется автоматически самим AutoCAD без создания блока.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Если расчленить (_EXPLODE) такой MLEADER (с ArrowSymbolId == null), то стрелка представляет из себя не блок, а примитив SOLID (ФИГУРА), а в других случаях - это вставка блока.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Захаров МаксимАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 141
  • Карма: 3
Да, я понял, что если null - то это встроенный символ. Но ведь это не обязательно - закрашенная замкнутая, это может быть и треугольник и интеграл и другой. Есть возможность получить имя этого встроенного символа?

Отмечено как Решение Александр Ривилис 20-02-2024, 16:34:16

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Но ведь это не обязательно - закрашенная замкнутая, это может быть и треугольник и интеграл и другой
Нет! Только закрашенная замкнутая! Я же не зря тебе привел список блоков, которые создались, когда я менял символ стрелки в диалоге редактирования стиля MLEADER. Т.е. для всех остальных создается блок и ссылка на него не null.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Захаров МаксимАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 141
  • Карма: 3
Спасибо Александр за помощь. А я что то зациклился на этой закрашенной замкнутой, остальные и не проверил.... Да мне как то и в голову не могло придти, что есть такое "чудо"