Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Tip

Во вкладке Проектирование в панели Вид найдите поле Взрывные / Выемочные блоки и нажмите на раскрывающийся список

...

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

...

запасов.

Вы можете расширить этот список, добавив в него пользовательские

...

цветовые заливки.


Table of Contents
Image Added

Создание простой пользовательской

...

заливки

  1. Нажмите на значок шестеренки, находящийся справа от раскрывающегося списка

...

  1. Цвет. Откроется диалоговое окно пользовательской настройки.

  2. Нажмите синюю иконку со знаком плюса, чтобы добавить новую заливку.

  3. Измените имя заливки на «Grade» (Содержание).

  4. Нажмите на раскрывающийся список

...

  1. Поле заливки и выберите «Reserves: DryTonnes.FE» (Запасы:

...

  1. Сухой тоннаж.FE).

  2. В таблице

...

  1. Значения

...

  1. введите бортовые содержания

...

  1. (например, 52, 54 ,56 ,58 ,60) и назначьте цвет для каждого интервала.

  2. Нажмите ОК для подтверждения.

Image Added

7. В панели Взрывные / Выемочные блоки справа в раскрывающемся списке поля Цвет выберите созданную заливку — Grade (Обратите внимание, что пользовательские настройки показаны жирным оранжевым, а стандартные — обычным черным шрифтом).

  1. Выберите уступ(ы) из древовидной структуры слева, которые Вы хотите отобразить в области просмотра, и просмотрите результат.

...

Image Added

Цвета, назначенные выбранной заливке, можно увидеть в легенде (кнопка Легенда в правом нижнем углу под областью просмотра).

Image Added

Создание сложной

...

заливки

...

взрывных блоков

  1. Нажмите на значок шестеренки, находящийся справа от раскрывающегося списка

...

  1. Цвет. Откроется диалоговое окно пользовательской настройки.

  1. Нажмите синюю иконку со знаком плюса, чтобы добавить новую заливку.

  2. Измените имя заливки на

...

  1. «Источник данных» (Data Source).

  2. Перейдите во вкладку

...

  1. Комплексная, чтобы открыть редактор кода.

  2. Вставьте в него фрагмент кода, приведенный ниже.

  3. Нажмите ОК для подтверждения.

...

Image Added

Примеры кодов для пользовательских заливок

Заливка по источнику данных

Code Block
languagec#
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;
    	}
}
Image Added

Проверка

...

тоннажа

Code Block
languagec#
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.

...

GetReserveValue("DryTonnes");
             
            if(tonnes > 0) return Color.BlanchedAlmond;
            else return Color.Red;
    	}
}
Image Added

Заливка по

...

типу: руда и вскрыша

Code Block
languagec#
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;
        }
}

Image Added


Цветовой градиент

...

для косогоров

Code Block
languagec#
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 contPct = context.GetReserveValue("volume.contour_pct"); //block model value
    double overrideContPct = context.GetSolidPropertyValue("ContPctFix"); //user manual override

    if(overrideContPct >=0) contPct = overrideContPct;
    contPct = Math.Max(0, Math.Min(1, contPct));

    Color high = Color.Magenta;
    Color low = Color.DeepSkyBlue;

    return Lerp(low, high, contPct);
  }

  public Color Lerp(Color one, Color two, double pct)
  {
    return Color.FromArgb( (int)(one.R + pct * (two.R-one.R)) ,
    (int)(one.G + pct * (two.G-one.G)) ,
    (int)(one.B + pct * (two.B-one.B)) );
  }
}

Image Added