Увы, увы, увы, уважаемые
Kudesnick и
Psy, я искренне почитаю Ваш опыт работы в БАЗИСе (говорю безо всякой иронии), однако ж ради любви к истине (ну и к БАЗИСу, разумеется!
) вынужден объяснить ряд моментов:
Цитата:
Сообщение от Psy
Спасибо, я знаю. В программе давно работаю. Но, если есть команда, она должна работать. Работать всегда, а не взависимости от погоды.
|
Именно! Именно так дело и обстоит - привязки работают
ВСЕГДА(!!!), и именно так, как это и заявлено.
Обратимся к документации (раздел 2.2.4), а кроме того, я накидал небольшой листочек с пояснениями, который приаттачил к этому сообщению. Итак, наш разговор касается взаимоотношений режимов ОРТО и привязок.
Что есть ОРТО? ОРТО - это ограничение движения маркера так, что он может двигаться только вдоль некоей линии. Т.е. ОРТО - это направление! Посмотрите рисунок: точка N - это начало движения маркера, а бесконечное множество точек Х1, Х2...Хn - полностью отвечает условию. Маркер может оказаться где угодно
на этой линии,
в любой точке - и это будет правильно. Запомним это.
Что есть привязка? Из документации:
Привязка маркера - это принудительное перемещение маркера к ближайшей характерной точке. (c) При этом обратим внимание на выделенное синим:
Перемещение происходит принудительно, т.е. невзирая на все остальные условия, т.е. - самым высоким приоритетом. И происходит - в точку, т.е. решений может быть только одно. Не два, не три. ОДНО! Таким образом, если мы нажали клавишу привязки (Ctrl, Alt, Shift) - для маркера
перестают существовать все остальные команды управления! Уже маркер не слушается мыши, режимов ОРТО и Сетки, F6 и курсорных клавиш.
Привязка - превыше всего и ВСЕГДА. Именно ВСЕГДА! Тоже запомним это.
Итак, если мы сознательно жмем Ctrl, Alt, Shift, то мы также сознательно оказываемся от действия других команд. Т.е. если режим ОРТО командует маркеру бежать влево, а привязка - вправо, то маркер побежит однозначно ВПРАВО.
Должен побежать! Ибо приоритет.
ВСЕГДА. Таким образом, в общем случае, привязка и режим ОРТО, находясь в равных условиях - просто противоречат друг другу! Разумеется, в таких случаях приоритет необходим из соображений формальной логики.
Теперь переходим к задаче уважаемого
Psy. См. схему №1. Начальное положение - точка N, маркер идет вправо. Желаемая точка привязки - точка Ж. Что делает
Psy? Ведет маркер в точку А (приблизительно к точке Ж) и нажимает Alt. Куда бежать маркеру? В точку Ж? Да в честь чего?:confused: Разумеется, маркер пойдет по нормали (по кратчайшему расстоянию) в точку Б! По одной причине: потому что АБ<АЖ. По определению. А расстояние БЖ - это и есть те самые доли миллиметров, которые не совпадают с желаемым. Все законно. И не должно совпадать, ибо нет причины. Ну и кроме того, приход маркера в точку Ж - логически противоречит приоритету привязки: получается, что приоритет - у режима ОРТО.
Теперь может возникнуть тема: сделать так, что если в режиме ОРТО нажата Alt - бежать в точку Ж. Опровергаю от противного: допустим, но куда бежать маркеру в случае схемы №2?:confused: Где точка Ж? Да ее быть не может! Таким образом, приоритет режима ОРТО над привязкой - ведет к бессмыслице.
И уж совсем абсурд будет, если на листе, кроме одного элемента - есть еще один (схема №3). Тогда получается, что маркер должен привязаться совсем к другому элементу!!!:confused: Понятно, что реально элементов на листе, мягко говоря, много. Дальше сами придумайте, что будет...
-------
Так что не торопитесь делать скоропалительные выводы: в БАЗИСе продумано гораздо больше, чем это иной раз может показаться на первый взгляд.