RR. Блочная модель

В шаге Блочная модель выполняется создание общей модели запасов на основе одной или нескольких блочных моделей, которые могут быть импортированы из CSV, Surpac (.mdl), Vulcan (.bmf), MineSight (.dat) или Micromine (.DAT). Форматом блочной модели Alastri является «.resmodel».

Общее представление

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

Общее представление шага работы с блочными моделями
  • Модель запасов — это сборка всех блочных моделей.

  • Каждый проект загружает по одному файлу с расширением «.resmodel» за раз.

  • Для создания и загрузки файлов моделей запасов используются кнопки Новый и Открыть.

  • Для добавления или удаления блочных моделей из модели запасов используется кнопка Изменить.

Создание модели запасов

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

Импорт из CSV

Нажмите на кнопку Новый — откроется окно Генератор модели запасов.

Импорт CSV файла в окне Генератора модели запасов
  1. Нажмите синюю иконку со знаком плюса и импортируйте CSV-файл блочной модели.

  2. Зеленое поле Header Line требуется сопоставить со строкой с текстом заголовка.

  3. Желтое поле Data Offset требуется сопоставить с первой строкой с данными.

  4. Нажмите ОК для завершения.

При импорте CSV-файла блочной модели, выйдет предварительный просмотр первых 100 строк этого файла. Это полезная функция, поскольку CSV файлы блочных моделей Вашего рудника могут быть очень большого размера и долго открываться.

Импорт из Micromine

Для импорта блочной модели в формате .dat, созданной в Micromine, выберите опцию “Блочная модель из Micromine" и заполните форму Configure Micromine Block Model Settings.

  1. Укажите путь к блочной модели.

  2. Сопоставьте поля X, Y, Z и размеров блоков с полями модели Micromine fields.

Сопоставление полей

  • После загрузки блочной модели, поля ее заголовка будут отображаться на панели Variables (Переменные) в правой части экрана.

  • Переменные можно перетащить в необходимое поле (или сопоставить с выбранным полем двойным щелчком мыши).

  • Для числовых полей используется порядок записи N(«поле»), а для текстовых полей Т(«поле»).

Поле Parcel используется для категоризации типа материала в каждой ячейке блочной модели.

  • В большинстве блочных моделей присутствует поле типа материала, такое как «MatType» или «IDProduct».

  • При отсутствии такого поля типа материала, см. раздел Block Model Formulas (Формулы блочных моделей), чтобы написать свои собственные.

Для поля объема Volume используется формула N("DX")*N("DY")*N("DZ").

Для поля сухого тоннажа DryTonnes используется формула N("DX")*N("DY")*N("DZ")*N("плотность"), или N("плотность") > 0 ? N("DX")*N("DY")*N("DZ") * N("SG") : 0 для исключения отризательных значений.

Для поля влажного тоннажа WetTonnes используется формула N("DX")*N("DY")*N("DZ")*N("плотность")/<влага>.

  • При использовании порядка записи текста T(«материал») убедитесь, что ячейка читается как текст, а не как число.

Примечания по блочным моделям из Micromine

При импорте блочных моделей в формате .DAT, в списке Доступные переменные справа будет присутствовать переменная MetaN(“Rotation”), которая не отображается при работе с CSV файлом.

Сопоставьте эту переменную в поле “Bearing”. Это значение извлекает данные о повороте блочной модели Micromine с поправкой на поворот Alastri.

Формулы и логические операторы для построения модели запасов

Для генерирования модели запасов в соответствии с пользовательскими требованиями доступен ряд формул.

Формулы

A+B

Сложить A и B

A-B

Вычесть B из A

A*B

Умножить A на B

A/B

Разделить A на B

A.ToLower()

Преобразовать все заглавные буквы (HG, Hg, hg) в строчные (hg)

Math.Min(A,B)

Вернуть минимум A и B

Math.Max(A,B)

Вернуть максимум A и B

N("density") <= 0 ? 0 : N("volume")

Если плотность меньше или равна нулю, вернуть нулевой объем, иначе вернуть поле объема

A.Substring(0,Math.Min(3,A.Length))

Вернуть первые три буквы A

( RowT("material")=="waste1" || RowT("material")=="waste2" ) ? "waste" : RowT("material")

При материале «waste1» или «waste2», вернуть «waste», иначе вернуть «материал»

Логические операторы

And (И)

&&

Если A — «истина» и B — «истина» и C — «истина», то возвращается значение «истина», в противном случае возвращается «ложь»

Or (Или)

||

Если A — «истина» или B — «истина» или C — «истина», то возвращается значение «истина», в противном случае возвращается «ложь»

Equal to (Равно)

==

Если A равно B, вернуть значение «истина», иначе вернуть «ложь»

Not equal to (Не равно)

!=

Если A не равно B, вернуть значение «истина», иначе вернуть «ложь»

Greater than (Больше)

>

Если A больше B, вернуть значение «истина», иначе вернуть «ложь»

Greater than or equal to (Больше или равно)

>=

Если A больше или равно B, вернуть значение «истина», иначе вернуть «ложь»

Less than (Меньше)

<

Если A меньше B, вернуть значение «истина», иначе вернуть «ложь»

Less than or equal to (Меньше или равно)

<=

Если A меньше или равно B, вернуть значение «истина», иначе вернуть «ложь»

Поля

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

Тип поля

Описание

Пример

Тип поля

Описание

Пример

Сумма

Суммарные поля используются для представления суммируемых параметров, например, объем, тонны и унции золота.

Средневзвешенное

Усредняемые поля рассчитываются (усредняются) на основе суммируемого поля поля, например, процент железа или миллионные доли золота.

Текст

Поля класса (текстовые), создают промежуточные итоги поля суммы, например, указанные/предполагаемые/измеренные значения.

  • Используйте верхнюю панель инструментов для добавления дочерних полей под соответствующими родительскими.

  • Используйте список переменных для сопоставления значений с полями.

  • Выберите соответствующий формат для каждого поля.

  • Проверьте подсказки в панели Ошибки под областью полей.

Закрепление значенией модели запасов

Используйте столбцы Минимум и Максимум для ограничения минимальных и максимальных значений различных параметров данных по блокам.

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

Рекомендация

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

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

Копирование сопоставлений

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

Также для ускорения заполнения подобных параметров в скопированных сопоставлениях можно использовать кнопку поиска и замены.

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

Рекомендация по хранению данных

Сводка по запасам

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

  • Для проверки данных на предмет отсутствующих или недостающих, используйте кнопку переключения Min/Max.

  • Приблизительно проверьте точность типов материалов, тонн и содержаний.

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

В зависимости от объема содержащихся данных, некоторые блочные модели могут быть достаточно большого размера, что приводит к генерированию также очень объемных моделей запасов (несколько Гигабайт), загрузка/передача и чтение которых может занимать значительное время. При работе с краткосрочным планом в APS, вам может не потребоваться информация по запасам на не отрабатываемых горизонтах, поэтому при создании модели запасов, вы можете ограничить генерируемые данные по необходимым координатам Z. Это значительно сократит количество блоков, попадающих в пределы модели запасов, и соответственно, объем созданного файла для облегчения хранения и передачи.

Например, используемая блочная модель находится в координатах (2,000 | 297 | 600) х (2,808 | 1, 697 | 900), но вы знаете, что в вашем плане будут отрабатываться только верхние горизонты, поэтому данных по нижним вам не будут применимы. Поэтому вы можете ограничить входящие в модель запасов данные по координате Z, используя формулу по примеру “если интересующие уступы находятся на горизонтах выше или равных 750 метров по оси Z, то сообщить объем согласно размерам, в противном случае, вернуть ноль” - “N("Z") >= 750 ? N("DX")*N("DY")*N("DZ") : 0”.

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