Копия с начальной точкой.mbx

(С) Дмитрий Мазуров, 2006

				Введение.

	Кто работал в АвтоКАДе знает, насколько он удобней МапИнфо. В частности в нем есть функция копирования с начальной точкой. Оно отличается от обычного копирования через буфер обмена тем, что нужно указать начальную точку копируемого набора объектов. Затем, при вставке АвтоКАД запрашивает точку вставки и, соответственно, объекты вставляются из буфера так, чтобы начальная точка попала в точку вставки. Программа "Копия с начальной точкой" является попыткой сделать нечто похожее в МапИнфо.

19 марта 2007:
Теперь программа поддерживает вставку под углом. При копировании можно тянуть линию из начальной точки, указывая таким образом начальную ориентацию копируемой группы объектов. Если отпустить кнопку мыши в той же точке, в какой нажали, фиксируется ориентация 0 градусов, т.е. строго вправо. При вставки можно протянуть из точки вставки линию в направлении конечной ориентации группы. Если не тянуть линию, а просто щелкнуть, то конечная ориентация будет совпадать с начальной.

27 января 2008:
Если при вставке указать точку, удерживая клавишу Ctrl, программа выдаст диалог, в котором можно задать угол вставки в градусах и масштабный коэффициент, т.е. в какое число раз копия должна быть увеличина по сравнению с оригиналом. Примеры масштабного коэффициента: 1 - прежний размер, 2 - увеличение в два раза, 0.5 - уменьшение в два раза. По умолчанию угол вставки равен углу копирования, а масштабный коэффициент - единице. Если при вставке вы тянете линию, то данный диалог не появится.

				Ограничения.

	Программа работает только в окне карты, в отчете ее применять нельзя. Программа не умеет работать с таблицами градусной проекции (напр., долгота-широта). Копия идентична оригиналу, если мерять все на плоскости. В геопроекции могут быть отклонения в длинах линий, площадях. Величина отклонений зависит от удаления оригинала и копии от центров своих координатных систем.

				Порядок работы.

	После запуска mbx появляется плавающая инструментальная панель "Копия с начальной точкой". На ней две инструментальные кнопки со видоизмененными символами копирования в буфер обмена и вставки из оного (вместо строчек на страничках - красные кружки). Замечу, что стандартный буфер обмена в операции копирования с начальной точкой не используется, у программы свой буфер обмена (специальная таблица в папке расположения программы).
	Итак, нам нужно сделать копию группы объектов, лежащих в одной таблице, в ту же таблицу, только в другое географическое местоположение. Что мы делаем? Правильно! Читаем инструкцию дальше.

1) Выбираем нужные объекты любым удобным способом, например, инструментом Выбор (что включается кнопкой с нарисованным курсором-стрелкой)

2) Нажимаем первую кнопку (Копировать с начальной точкой) и указываем начальную точку на карте. Начальная точка не обязана лежать в пределах выборки. Выбранные объекты копируются в буфер и будут пребывать там до того, как вы скопируете с начальной точкой другие объекты. Напоминаю, что у программы свой буфер, который с буфером обмена Windows никак не пересекается. Интересно, что буфер программы более живучий, чем буфер обмена Windows. Пока таблица CopyWithBasePoint_Clipboard.TAB не будет удалена из папки с данной программой, вы сможете вставлять из буфера с помощью моей программы.

3) Работаем себе дальше.

4) В любое удобное нам время нажимаем вторую кнопку (Вставить скопированное), тыкаем на карте точку вставки и получаем уже результат: копию объектов, помещенных в буфер. Вставка производится в изменяемый слой, если такового нет - в косметический. Начальная точка копии, разумеется, совпадает с точкой вставки. Можно вставлять скопированные объекты в другую таблицу, даже если у нее другая проекция (только не градусная, см. ограничения). Можно производить вставку даже в другом окне МапИнфо. Только помните, что буфер обмена у программы один на все окна МапИнфо и при каждом копировании с начальной точкой его содержимое заменяется новым.