Программно поменять параметр мультивыноски

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

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

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

  • ADN OPEN
  • ***
  • Сообщений: 120
  • Карма: 3
Добрый день.
Есть стандартная мультивыноска. Тип стрелки устанавливаю на "Контурная точка". Задаю размер стрелки в данном случае диаметр.
Но для такого типа стрелки величина диаметра ограничена удаленностью полки от точки начала.
Т.е. на рис.1 диаметр 700, но тогда полка должна быть дальше. Если её переместить ближе к началу, то круг пропадает. Приходится уменьшать диаметр. рис.2

Вопрос 1. Программно можно обойти данное ограничение? Разместить полку близко, но и диаметр сделать побольше?
Вопрос 2. Можно ли узнать необходимое удаление полки в зависимости от нужного диаметра?
Спасибо




Отмечено как Решение RevitTormentor 09-01-2018, 13:07:04

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

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

Оффлайн Владимир Шу

  • ADN Club
  • ****
  • Сообщений: 375
  • Карма: 73
Вопрос 1. Программно можно обойти данное ограничение? Разместить полку близко, но и диаметр сделать побольше?
1. Нет.
А DrawableOverrule не вариант?

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

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

Оффлайн Владимир Шу

  • ADN Club
  • ****
  • Сообщений: 375
  • Карма: 73
К чему такие извращения?
Не знаю, автору виднее.
Вопрос был: Программно можно обойти данное ограничение? ИМХО, если очень надо, то можно попробовать обойти с помощью DrawableOverrule.

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 1513
  • Карма: 327
  • LISP/C#, AutoCAD/Civil 3D
  • Skype: zagor_dmtr
Тогда уж, по-хорошему, Drawable+TransformOverrule (отображение + поведение). Но стоит хорошо подумать, стоит ли результат этих трудозатрат.

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

  • Administrator
  • *****
  • Сообщений: 7669
  • Карма: 902
  • Рыцарь ObjectARX
  • Skype: rivilis
Вопрос был: Программно можно обойти данное ограничение? ИМХО, если очень надо, то можно попробовать обойти с помощью DrawableOverrule.
Если надо, то можно:
1. Использовать блок-стрелку в виде окружности. Тоже есть ограничение на её размер приблизительно в 1/2 длину выноски. Как минимум идёт расчет на то, что две стрелки + текст помещаются между точками выноски.
2. Свой custom entity с любым поведением.
Но пока автор не скажет зачем нужно насиловать AutoCAD, т.е. заставлять его работать так, как он работать не предназначен, я не знаю чем ему помочь...
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Владимир Шу

  • ADN Club
  • ****
  • Сообщений: 375
  • Карма: 73
Могу предположить, что автор хочет таким образом обозначать узлы на чертежах, и это действительно удобно, если не одно но... при больших узлах, выноска должна стоять очень далеко, вот и пытается обойти это ограничение.

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

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

Оффлайн Владимир Шу

  • ADN Club
  • ****
  • Сообщений: 375
  • Карма: 73
А окружность нужного диаметра и выноска совсем без стрелки (возможно объединённые для удобства в группу) уже никак не канает? ;-)
Не канает... неудобно, тем более в группе. Попробуйте.

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

  • ADN OPEN
  • ***
  • Сообщений: 120
  • Карма: 3
Любое решение можно решить несколькими способами. Владимир правильно сказал мне нужны узлы. Выноска чем хороша - штатное решение, без блоков, без Кастом Энтити и прочих лишних премудростей. Чтобы как раз не насиловать автокад.
Группа, насколько я понимаю, не "редактируемая" по-быстрому, чтобы полку повернуть относительно кружка - надо разбить группу... отловить центр кружка ... найти... если это действительно так, то - страшно.
Штатная мультивыноска с данной стрелкой в виде кружка - подходит на 99%. 1% - данное ограничение. Здесь полку с именем узла можно и вручную "крутить", "вертеть" как надо пользователю и она всегда будет смотреть в центр круга, программировать тем же кодом, которым задаю параметры для любой другой мультивыноски. Моя задача "влепить" её на чертёж, а потом можно и "дочертить" руками как надо. В общем одни плюсы, но получается нельзя близко подставлять полку к кружку, и это плохо.

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

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

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

  • ADN OPEN
  • ***
  • Сообщений: 120
  • Карма: 3
Потому что не предназначено оно для этих целей.
:(

Оффлайн Владимир Шу

  • ADN Club
  • ****
  • Сообщений: 375
  • Карма: 73
Разбивать ничего не нужно.
Как редактировать положение выноски и надпись, не разбивая группу, я знаю, а вот как увеличить диаметр окружности нет. Прошу подсказать. (Замена окружности на полилинию - костыль)

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

  • Administrator
  • *****
  • Сообщений: 7669
  • Карма: 902
  • Рыцарь ObjectARX
  • Skype: rivilis
Как редактировать положение выноски не разбивая группу я знаю, а вот как увеличить диаметр окружности нет. Прошу подсказать.
PICKSTYLE в 0, меняешь диаметр, PICKSTYLE в 1 (ну или что там было раньше)
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Владимир Шу

  • ADN Club
  • ****
  • Сообщений: 375
  • Карма: 73
PICKSTYLE в 0, меняешь диаметр, PICKSTYLE в 1 (ну или что там было раньше)
спасибо, так себе решение... удобнее через Ctrl ... но нет совершенства... В любом случае, спасибо.

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

  • Administrator
  • *****
  • Сообщений: 7669
  • Карма: 902
  • Рыцарь ObjectARX
  • Skype: rivilis
спасибо, так себе решение... удобнее через Ctrl ... но нет совершенства... В любом случае, спасибо.
Еще вариант. Выбираешь группу. В панели свойств выбираешь CIRCLE и меняешь ему радиус или диаметр. Никакие системные переменные менять не нужно:


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