ADN Open CIS
Сообщество программистов Autodesk в СНГ

22/01/2015

Порядок создания мультивыноски (MLEADER) в AutoCAD

Подняли тут тему на dwg.ru о порядке создания мультивыноски в AutoCAD. Результаты собственных изысканий представляю на суд общественности.

Разговор шел о командном создании мультивыноски. Сама по себе команда не должна представлять особых трудностей: Command: _.mleader
А вот дальше начинаются варианты в зависимости от установленных ранее и сохраненных параметов:
  1. можно указать все точки стрелки (выноски), количество которых регулируется настройками стиля, потом вводить собственно аннотацию

    Вид командной строки (для английской версии AutoCAD):

    Command: _.MLEADER
    Specify leader arrowhead location or [leader Landing first/Content first/Options]:

    То же, для русской версии AutoCAD:

    Команда: МВЫНОСКА
    Укажите местоположение стрелки выноски или [вначале пОлка выноски/Вначале содержимое/Параметры] <параметры> :
  2. можно указать сначала положение полки, потом указывать вершины стрелки, и в конце вводить аннотацию

    Вид командной строки (для английской версии AutoCAD):

    Command: _.MLEADER
    Specify leader landing location or [leader arrowHead first/Content first/Options]:

    То же, для русской версии AutoCAD:

    Команда: МВЫНОСКА
    Укажите местоположение полки выноски или [вначале Стрелка выноски/Вначале содержимое/Параметры] <Параметры>:
  3. наконец, можно сначала ввести аннотацию, а потом уже вводить вершины стрелки

    Вид опций командной строки (для английской версии AutoCAD):

    Command: _MLEADER
    Specify first corner of text or [leader arrowHead first/leader Landing first/Options]:

    То же, для русской версии AutoCAD:

    Команда: МВЫНОСКА
    Укажите первый угол текста или [вначале Стрелка выноски/вначале пОлка выноски/Параметры] <Параметры>:

Обратите внимание: выбрать можно только варианты, не совпадающие с текущим! Что это значит? Если текущее значение параметра - "сначала точки, потом аннотация" (п.1), то ввод _h (в русской версии С) приведет к ошибке.

Соответствующее состояние читается при старте AutoCAD из реестра: ветка HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\RXX.X\ACAD-YYYY:ZZZZ\<Имя профиля>\MLeader ключ CreatedMode

Соответствующие значения:

Вариант создания мультивыноски Вид командной строки Значение в реестре
указать все точки стрелки (выноски), количество которых регулируется настройками стиля, потом вводить собственно аннотацию Command: _.MLEADER
Specify leader arrowhead location or
[leader Landing first/Content first/Options] :


Команда: МВЫНОСКА
Укажите местоположение полки выноски или
[вначале пОлка выноски/Вначале содержимое/Параметры] <Параметры>:
1
указать сначала положение полки, потом указывать вершины стрелки, и в конце вводить аннотацию Command: _.MLEADER
Specify leader landing location or
[leader arrowHead first/Content first/Options] :


Команда: МВЫНОСКА
Укажите местоположение полки выноски или
[вначале Стрелка выноски/Вначале содержимое/Параметры] <Параметры> :
2
сначала ввести аннотацию, а потом уже вводить вершины стрелки Command: _MLEADER
Specify first corner of text or
[leader arrowHead first/leader Landing first/Options] :


Команда: МВЫНОСКА
Укажите местоположение полки выноски или
[вначале Стрелка выноски/вначале пОлка выноски/Параметры] <Параметры> :
0
И теперь самое грустное:

  1. AutoCAD читает эту настройку только один раз при старте приложения
  2. Настройка не меняется при переключении профиля AutoCAD
  3. Изменение настройки, которое указывается опциями, хранится только в памяти AutoCAD. Так что запись в реестр нового значения ни к чему не приведет
  4. При закрытии AutoCAD в реестр записывается то значение, которое было установлено пользователем
Поэтому, если необходимо строго определенное поведение команды, придется либо вне AutoCAD'a менять соответствующие ключи реестра, либо писать свою замену стандартной команде (по крайней мере третьего пути я не вижу).

Автор: Алексей Кулик

Обсуждение: http://adn-cis.org/forum/index.php?topic=1793

Опубликовано 22.01.2015