RR. Пользовательская заливка взрывного блока
Во вкладке Designer в панели Display найдите раздел Blast и нажмите на раскрывающийся список Shading (Заливка). В нем находится предварительно загруженный список автоматических заливок для уровней и полей запасов. Вы можете расширить этот список, добавив в него пользовательские наборы заливки.
Создание простой пользовательской заливка:
Нажмите на значок шестеренки, находящийся справа от раскрывающегося списка Shading. Откроется диалоговое окно пользовательской настройки.
Нажмите синюю иконку со знаком плюса, чтобы добавить новую заливку.
Измените имя заливки на «Grade» (Содержание).
Нажмите на раскрывающийся список Shading Field и выберите «Reserves: DryTonnes.FE» (Запасы: тонны в сухом состоянии.FE).
В таблице Values (Значения) введите бортовые содержания (низкое содержание) (например, 52,54,56,58,60) и назначьте цвет для каждого интервала.
Нажмите ОК для подтверждения.
Создание сложной пользовательской заливки:
Нажмите на значок шестеренки, находящийся справа от раскрывающегося списка Shading. Откроется диалоговое окно пользовательской настройки.
Нажмите синюю иконку со знаком плюса, чтобы добавить новую заливку.
Измените имя заливки на «Data Source» (Источник данных).
Перейдите во вкладку Complex, чтобы открыть редактор кода.
Вставьте в него фрагмент кода, приведенный ниже.
Нажмите ОК для подтверждения.
Пример заливки по источнику данных
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Text;
using System.Linq;
using Alastri.RR.Ui;
using Alastri.RR.Service;
public class CustomBlastShading : IBlastShading
{
public Color GetColor(ShadingContext context)
{
string dataSource = context.ReservesDataSource.ToString();
bool excluded = context.IsExcluded;
if(excluded) return Color.DarkOrchid;
else if(dataSource == "GradeControl") return Color.BurlyWood;
else if(dataSource == "BlockModel") return Color.BlanchedAlmond;
else return Color.Red;
}
}
Проверка тонн
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Text;
using System.Linq;
using Alastri.RR.Ui;
using Alastri.RR.Service;
public class CustomBlastShading : IBlastShading
{
public Color GetColor(ShadingContext context)
{
double tonnes = context.N("DryTonnes");
if(tonnes > 0) return Color.BlanchedAlmond;
else return Color.Red;
}
}
Заливка по руде/вскрыше
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Text;
using System.Linq;
using Alastri.RR.Ui;
using Alastri.RR.Service;
public class CustomBlastShading : IBlastShading
{
static List<string> oreParcels = new List<string> { "hg", "mg", "lg" };
public Color GetColor(ShadingContext context)
{
bool containsOre = false;
bool containsWaste = false;
foreach(string parcel in context.GetParcels())
{
if(oreParcels.Contains(parcel))
{
containsOre = true;
}
else
{
containsWaste = true;
}
}
if(containsOre && containsWaste) return Color.Yellow;
else if(containsOre) return Color.Red;
else return Color.Gray;
}
}