Разные длины выноски в разных экземплярах блока

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

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

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

  • ADN Club
  • Сообщений: 36
  • Карма: 1
Мне необходимо отобразить на плане множество практически одинаковых объектов.
При этом потом пользователь должен иметь возможность выбрать произвольный объект и, например, изменить его свойства.
Я решил упростить себе жизнь и добавлять все эти объекты в виде блоков (я создаю один блок, а потом просто размещаю в нужных местах его экземпляры).
Однако здесь у меня вылезла проблема: каждый такой объект сопровождается подписью на выноске, и длина этой подписи каждый раз разная. Хотелось бы длину выноски "обрезать" по длине подписи.
Чтобы сделать такую вещь, мне придется создавать динамические блоки? Или можно как-то в каждом экземпляре блока установить разную длину выноски?

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Чтобы сделать такую вещь, мне придется создавать динамические блоки?
Да.
Или можно как-то в каждом экземпляре блока установить разную длину выноски?
Только если этот блок динамический. Если блок статический все его экземпляры одинаковы.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • Сообщений: 36
  • Карма: 1
Насколько я понял из ответов на официальном форуме (http://forums.autodesk.com/t5/NET/Dynamic-Block-Creation/m-p/3376653/highlight/true#M27768) и в блоге Kean'а (http://through-the-interface.typepad.com/through_the_interface/2009/03/accessing-the-properties-of-a-dynamic-autocad-block-using-net.html), создать динамический блок с помощью .NET API я не могу, да?

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
создать динамический блок с помощью .NET API я не могу, да?
Да. Создать динамический блок можно только "вручную", средствами AutoCAD. Нет ни одного публичного API (а не только .NET API) для создания динамических блоков. Так что единственный способ - создать блоки вручную и вставлять/модифицировать их используя .NET API.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • Сообщений: 36
  • Карма: 1
Ясно, спасибо.

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

  • Administrator
  • *****
  • Сообщений: 1096
  • Карма: 172
Достаточно давно на theswamp.org была тема, где люди пытались создавать динамические блоки (использовался lisp). К сожалению, точной ссылки подсказать не могу (да и корректность решения оценить я тоже не в силах), этим вопросом в свое время озадачивался Евгений Елпанов.
Все, что сказано - личное мнение.

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

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

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Леша. Ты наверное про это: http://autolisp.ru/2011/11/28/create-dynblock/ и это: http://www.private.peterlink.ru/poleshchuk/cad/2009/tainypod08.htm - тупиковые ветки.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • Administrator
  • *****
  • Сообщений: 1096
  • Карма: 172
Именно. :) Дожил, я свой сайт уже не помню - что там было, а чего там не было :))
Все, что сказано - личное мнение.

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

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

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

  • ADN Club
  • Сообщений: 36
  • Карма: 1
И еще один вопрос сюда же.
Я сначала думал уйти от блоков к группам, а потом решил - может быть, стоит оставить статические блоки, просто на каждый объект создавать свой статический блок?
Насколько это плохо, если в документе будет, скажем, 1000 статических блоков? Намного ли лучше сделать вместо этого 1000 групп?

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Насколько это плохо, если в документе будет, скажем, 1000 статических блоков?
Ничего страшного - это не критическое значение.
Намного ли лучше сделать вместо этого 1000 групп?
Лучше только в том, что легче редактировать, но хуже в том, что возникнут проблемы при ручном копировании в другой чертеж (в другом чертеже "это" уже не будет группой).
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • Сообщений: 36
  • Карма: 1
Ну, тогда создам мильон статических блоков.
За Индию! Да здравствует быдлокод!  ;D
---
Этот вопрос вроде исчерпан, спасибо Вам за ответы.

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Ну, тогда создам мильон статических блоков.
А вот это уже будет перебором.

Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • Сообщений: 36
  • Карма: 1
Да нет, я уточнил у заказчика - на одном чертеже их должно быть около тысячи. Надеюсь, это не вызовет принципиальных проблем.

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Если не планируется редактировать эти блоки средствами AutoCAD, то я бы рекомендовал делать их "неименованными" - тогда их не будет видно в списке блоков и они не будут путаться с "нормальными" блоками.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • Сообщений: 36
  • Карма: 1
А о таком варианте я как-то и не подумал. Надо попробовать, спасибо.