Справка DIGIMINE

Шаблоны (заливки полигонов, значков точек, отрисовки полилиний)

Шаблоны (заливки полигонов, значков точек, отрисовки полилиний)

Previous topic Next topic  

Шаблоны (заливки полигонов, значков точек, отрисовки полилиний)

Previous topic Next topic  

 

 

По назначению шаблоны, используемые в программе DIGIMINE могут быть трех видов:

 

1. Шаблоны для заливки полигонов.

2. Шаблоны для значков точек.

3. Шаблоны для отрисовки вдоль полилинии.

 

Шаблоны используются в соответствующих объектах файлов-чертежей полигонах, точках и полилиниях.

 

 

По происхождению шаблоны могут быть двух видов :

 

1. Шаблоны встроенные в программу.

Встроенные шаблоны заливки полигонов выполнены в соответствии с ГОСТ 2.857-75 "ОБОЗНАЧЕНИЯ УСЛОВНЫЕ ПОЛЕЗНЫХ ИСКОПАЕМЫХ, ГОРНЫХ ПОРОД И УСЛОВИЙ ИХ ЗАЛЕГАНИЯ".

 

2. Шаблоны, создаваемые пользователем (пользовательские шаблоны).

 

 

По месту нахождения шаблоны можно разделить на 4 вида:

 

1. Шаблоны, находящиеся в оперативной памяти программы (встроенные в программу).

Эти шаблоны являются фиксированными и не могут быть изменены пользователем (но можно сохранять такие шаблоны в файл-чертеж, отредактировать и записать в pmn-файл как пользовательские шаблоны).

Положительным свойством встроенных шаблонов является то, что они никуда не записываются, а при использовании того или иного встроенного шаблона для конкретного объекта запоминается только номер шаблона.

 

2. Шаблоны (создаваемые пользователем), находящиеся в специальном файле с шаблонами (*.pmn).

Пользователь имеет возможность добавлять новые шаблоны в pmn-файл или удалять имеющиеся в этом файле шаблоны.

Для того, чтобы добавить новый шаблон в pmn-файл, пользователь сначала рисует его в файле-чертеже *.mn4 (в один файл-чертеж можно записать много шаблонов) при помощи имеющихся в DIGIMINE инструментов, а затем выполняет операцию добавления шаблона в pmn-файл.

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

Шаблоны, имеющиеся в pmn-файле, в дальнейшем могут быть использованы при выборе для конкретных полигонов, точек или полилиний.

 

 

3. Шаблоны (создаваемые пользователем), находящиеся в файле-чертеже.

Те шаблоны, которые используются для конкретных полигонов, точек или полилиний, находятся не внутри каждого из этих объектов, а в одном из трех специальных массивов с шаблонами, относящихся к файлу-чертежу в целом.

Если несколько точек (полигонов или полилиний) файла-чертежа используют один и тот же шаблон, то в соответствующий массив с шаблонами внутри файла-чертежа этот шаблон записывается только один раз, а все объекты, использующие этот шаблон, пользуются только ссылкой на него.

Добавление пользовательского шаблона в файл-чертеж происходит автоматически, после того, как для конкретного объекта (или группы выделенных объектов) произведен выбор пользовательского шаблона в одном из диалогов  - "Выбор шаблона для заливки полигона", "Выбор шаблона значка для точки" и "Выбор шаблона для отрисовки полилинии". Выбор того или иного пользовательского шаблона производится либо из pmn-файла с шаблонами, либо из какого-либо файла-чертежа, внутри которого имеются такие шаблоны.

 

4. Шаблоны (создаваемые пользователем), находящиеся внутри служебных полигонов, точек или полилиний.

Для каждого графического окна в DIGIMINE имеются служебные объекты - текущий полигон, текущая точка, текущая полилиния.

Эти объекты не относятся ни к какому файлу-чертежу. Для того, чтобы для таких объектов можно было использовать шаблоны, предусмотрена возможность хранения шаблонов непосредственно внутри этих объектов.

Запись выбранного пользовательского шаблона в служебные объекты происходит автоматически и не требует каких-либо специальных действий со стороны пользователя.

При сохранении файла проекта шаблоны, входящие в состав служебных объектов, запоминаются в файле проекта и загружаются при чтении файла проекта.

 

 

 

 

 

1. Шаблоны для заливки полигонов.

 

Пример шаблона и полигона, закрашенного при помощи этого шаблона.

Слева показан пользовательский шаблон в том виде, в котором он находится в файле-чертеже, предназначенном для создания пользовательских шаблонов (оранжевая линия - это линия обрамляющего полигона; все объекты, попадающие внутрь этого полигона включаются в шаблон при его создании).

Справа - пример полигона, закрашенного с использованием этого шаблона (цвет заливки фона под шаблоном берется тот, который задан для полигона, а не из шаблона).

 

                               

 

 

 

 

 

 

Обработка шаблонов для заливки полигонов в процессе отрисовки

 

Объекты, которые используются для описания шаблона заливки, так же, как и объекты файлов-чертежей, хранятся в векторном виде.

 

Непосредственно перед выполнением операции заливки внутренней области полигона происходит формирование растрового шаблона заливки, с учетом заданных для конкретного полигона коэффициентов и текущего масштаба изображения, этот процесс можно назвать печатью объектов исходного [векторного] шаблона заливки в растровый шаблон.

Далее, при помощи стандартных функций Windows, производится заполнение области заливки полученным растровым шаблоном.

 

Благодаря тому, что растровое изображение формируется из векторного с учетом масштаба, коэффициентов, а также разрешающей способности устройства, не происходит такой потери качества изображения, как при использовании в качестве исходных чисто растровых шаблонов заливки.

Для чисто растровых шаблонов заливки достаточно характерной является потеря качества изображения при выводе на принтер, имеющей значительно лучшую разрешающую способность, чем дисплей.

 

 

 

В некоторых случаях, при печати на принтер, функции Windows (или функции драйвера принтера) при заливке используют не ту разрешающую способность, которая задана для принтера, а другую.
Например, печать на принтер идет с разрешением 600dpi (600 точек на дюйм), но для операций заливки почему-то берется разрешение не 600dpi, а 150 dpi (?).
Для борьбы с подобным несоответствием в DIGIMINE предусмотрен специальный коэффициент, который задается в диалоге "Печать" (Коэффициент для шаблонов заливки полигонов при выводе на принтер).
Это вынужденная мера, введенная для того, чтобы добиться приемлемого результата даже при неадекватной работе Windows.

 

 

Настройки для шаблонов заливки в диалоге "Параметры полигона" :

 

 

При настройке параметров полигона можно увеличивать/уменьшать размеры объектов, из которых состоит шаблон.

Для этого имеются коэффициенты изменения размеров в длину (по оси X шаблона) и в ширину (по оси Y шаблона).

Кроме того, можно задать, изменять ли размер объектов шаблона пропорционально изменению масштаба изображения.

 

 

 

 

 

2. Шаблоны значков точек.

 

 

Слева показан пользовательский шаблон значка точки в том виде, в котором он находится в файле-чертеже, предназначенном для создания пользовательских шаблонов (оранжевая линия - это линия обрамляющего полигона; все объекты, попадающие внутрь этого полигона включаются в шаблон при его создании).

Справа - пример отрисовки значка точки в окне.

 

     

 

 

В отличие от шаблонов заливки, для которых перед каждым использованием производится преобразование в растровое изображение, объекты из шаблоны значков точек используются "напрямую", без предварительных преобразований в растровое изображение.

 

Шаблоны для значков точек могут быть не только плоские, но и трехмерные, т.е. при отрисовке значка точки в графических окнах используются все 3 координаты объектов, из которых состоит шаблон значка точки.
Правда в таблице с шаблонами отрисовка производится только в виде проекции на плоскость XY.

 

 

Можно управлять положением значков точек в пространстве.

 

Настройки для значков точки в диалоге "Параметры точки":

 

 

 

Для полилиний и полигонов, из которых состоит значок точки, можно использовать либо их собственные цвета (как задано в шаблоне), либо те цвета, которые задаются в параметрах точки.

 

С помощью коэффициентов можно растягивать/сжимать значок точек по любой из трех осей значка точки.

 

Можно задавать, чтобы размеры значка точки изменялись пропорционально изменению масштаба изображения в окне, либо во всех масштабах имели одинаковый размер.

 

Можно задать, чтобы значок имел точно заданную ориентацию в 3D пространстве (иначе значок будет рисоваться относительно плоскости окна и выглядеть одинаково во всех окнах).

 

 

 

Если задать, что приведенный выше значок точки располагается в горизонтальной плоскости (отметить элемент "поворачивать значок точки в 3D", а все углы поворота задать равными нулю), то в 3D окне он будет выглядеть так:

 

 

 

 

 

 

 

 

3. Шаблоны для отрисовки вдоль полилиний.

 

 

Пример шаблона и полилинии, отрисованной при помощи этого шаблона:

 

 

 

                         

 

 

 

Обработка шаблонов для полилиний в процессе отрисовки

 

Непосредственно в процессе отрисовки полилинии с шаблоном, производится необходимая корректировка размеров объектов, из которых состоит шаблон, с учетом заданных для конкретной полилинии коэффициентов и текущего масштаба изображения.

Далее рассчитывается необходимое количество повторений шаблона вдоль полилинии, рассчитывается положение каждого элемента шаблона и производится отрисовка.

 

Все операции производятся с векторными объектами, поэтому нет такой потери качества, которая бывает, если в процесс вовлечены растровые объекты.

 

 

Настройки для значков точки в диалоге "Параметры полилинии":

 

 

 

 

 

 

 

 

 

Шаблон сначала создается пользователем в виде файла-чертежа *.mn4 (в один файл можно записать много шаблонов), а затем производится запись шаблона в pmn-файл с шаблонами.

 

Для того, чтобы была возможность использования шаблонов, созданных пользователем и записанных в pmn-файл, этот файл с шаблонами должен быть загружен в текущий проект.

Одновременно может быть загружено много файлов с шаблонами.

 

 

Более подробно о создании шаблонов и добавлении их в pmn-файл  см. режим Добавление шаблона заливки (в группе режимов Работа с полигонами).