Для работы с буфером обмена применяются стандартные команды Windows. Помеченные объекты можно либо в буфер, а затем из него. Команды для работы с буфером находятся на главной панели инструментов, в меню и в контекстном меню.
Скопировав объекты в буфер, вы можете вставить их как в эту же карту (исходную), так и в любою другую, открытую в данный момент (целевую).
Digitals поощряет работу с буфером обмена. Например, вместо того, чтобы отключать множество ненужных и мешающих слоев, вы можете вырезать или скопировать требуемые объекты в пустую карту, проделать там необходимые манипуляции, а затем вернуть объекты на место. Такой же трюк можно использовать, когда вы не уверены в том, как именно работает та или иная команда.
Временную пустую карту можно создавать без шаблона, кнопкой
> . Это позволит избежать пересечения кодов слоев между вашей картой и пустой картой, созданной на базе шаблона по умолчанию. О пересечении кодов немного ниже.Объекты вставляются из буфера в своих координатах.
Другими словами, копия объекта займет в карте (в этой же или другой) точно то же место, что и оригинал. Из этого правила есть исключение. При копировании объекта из карты в карту, если картам назначены разные системы координат, программа произведет автоматический пересчет координат из системы в систему. Подробнее об использовании систем координат в Гл.9, «Cистема координат карты».
Объекты вставляются в карту на своем слое и со своими параметрами.
Как мы уже знаем, каждый слой, как и параметр, имеет код (ID). Именно этот ключевой атрибут слоя (параметра) проверяется при вставке. Таким образом, возможны следующие варианты вставки.
Если слой с требуемым кодом отсутствует в карте, то такой слой создается при вставке. Аналогично, если требуется, будут созданы отсутствующие параметры. При необходимости будет добавлен и условный знак, назначенный вставляемому слою.
Из этого правила вытекает очевидный трюк. Если вам требуется добавить в карту некие отсутствующие в ней условные знаки, просто скопируйте и вставьте их из карты, в которой они есть. Сразу после вставки отмените операцию. Объект будет удален, а его слой, параметры и условный знак останутся в целевой карте.
Если слой с требуемым кодом присутствует в целевой карте, то объект вставится на существующий слой. Параметры, имеющие соответствующие коды, также попадут в существующие.
Проблем не возникает, когда исходная и целевая карта базируются на одном шаблоне или вставка происходит в пределах одной карты. В этом случае все объекты будут попадать в “свои” слои. Если карты базируются на разных шаблонах, но коды слоев не пересекаются, также ничего страшного не произойдет, необходимые слои и параметры просто добавятся в карту.
Ситуация усложняется, если шаблоны карт разные, да еще и с пересекающимися кодами слоев. В этом случае объект может попасть в совершенно другой слой, возможно даже с другим типом. Например, слой “Будівлі” вставится в “Стовпи ЛЕП”, что приведет к неверному отображению объекта. То же и с параметрами. Характеристика здания КЖ вполне может оказаться в параметре “Висота опори”, что не смертельно, но с толку сбивает.
Смешивать или нет разные шаблоны в одной карте, дело ваше. Программа этого не запрещает. Продолжая наш пример, отметим, что объект “Будівлі”, ставший объектом “Стовпи ЛЕП”, при обратном копировании снова займет свой исходный слой. Таким образом, вполне возможно проверить или подправить объект даже в карте с другим шаблоном и затем вернуть его на место. Имейте в виду, что при обратном копировании некоторая вероятность “притянуть” лишние параметры все-таки остается.
Вы можете поэкспериментировать с галочкой Проверка имен слоев при вставке на закладке Правка в диалоге настроек программы. Включение данной опции изменяет поведение вставки таким образом, что в случае отстутствия слоя с требуемым кодом программа будет искать слой (и параметр) по имени.
Может показаться, что опция Проверка имен слоев при вставке позволяет создавать шаблоны карт без оглядки на коды, с одинаковыми именами слоев. Это возможно, но помните, что код все равно ищется первым, не запутайте ситуацию еще больше. Коды слоев в любом случае не должны пересекаться.
Если коды слоев для вас не важны, возможно стоит доверить их генерацию программе. В этом случае для слоев с одинаковыми именами программа сгенерирует одинаковые коды. Команда генерации уникальных кодов рассматривается в разделе «Контекстное меню слоя» в Гл.6, «Классификатор».
Рассмотрим расширенные возможности вставки объектов из буфера обмена, доступные в меню
> :Вставляет объект в центр рабочего окна карты, игнорируя его координаты. Полезна при копировании типовых элементов карты, например, легенды или штампа.
Команда позволяет вставить объект в масштабе, отличном от масштаба карты. После выбора команды специальный диалог запросит знаменатель масштаба, после чего, при вставке, объект будет увеличен или уменьшен в соответствующее число раз. Коэфициент увеличения хранится вместе с объектом и используется для коррекции всех его метрических характеристик: площади, периметра, длин линий. Вставка происходит в центр рабочего окна карты.
Например, вы можете захотеть сделать врезку с увеличенным изображением объекта, вставив объект в масштабе 1:500 в карту масштаба 1:2000. Коэфициент увеличения в этом случае будет равен четырем.
Если площадь объекта или его длины линий кажутся не
соответствующими видимому размеру объекта, наверняка мы
имеем дело со вставкой в другом масштабе. Увидеть масштаб
объекта можно, создав и подключив к слою параметр с именем
“=ObjectScale Масштаб объекта”. Здесь
=ObjectScale
это функция, возвращающая
масштаб объекта. Для обычных объектов значение этого
параметра будет совпадать со значением масштаба
карты.
Чтобы сбросить коефициент масштабирования, скопируйте объект, а затем вставьте со знаменателем масштаба 0 (ноль). Размеры объекта вернутся к первоначальным, но его исходное положение в карте восстанавливать придется ручным переносом.
Подробнее о создании параметров с функциями читайте в разделе «Производные параметры» в Гл.6, «Классификатор».
Позволяет вставить в карту фрагмент из любого приложения, поддерживающего технологию OLE, например, из таблицы Excel. Перед применением команды скопируйте требуемую часть таблицы в буфер обмена. В дальнейшем, вставленную таблицу можно редактировать в “родном” приложении, для чего просто щелкните дважды на внедренном объекте.
Может использоваться для оформления планов экспликациями и прочими таблицами из сторонних программ.