...
Нажмите значок шестеренки, находящийся справа от раскрывающегося спика списка Text.
Нажмите синюю кнопку со знаком плюса, чтобы добавить новую метку.
Измените имя метки на «Ore Tonnes» (Тонн руды).
Вставьте фрагмент формулы в редактор поле редактора кода.
Подсказки по кодам можно посмотреть дважды щелкнув по формуле из списка вкладки Available Formulas (Доступные формулы) снизу.
Нажмите ОК для завершения.
...
Code Block | ||
---|---|---|
| ||
using System; using Alastri.RR.Ui; using Alastri.RR.Service; public class LabelFormat : ILabel { public string GetLabel(ShadingContext context) { return "Blast " + context.GetLevelName("Solid") + "\n" + context.GetReserveValue("Volume").ToString("#,##0") + " bcm \n" + context.GetReserveValue("DryTonnes").ToString("#,##0") + "t"; } } |
...
Площадь/периметр
Code Block | ||
---|---|---|
| ||
using System; using Alastri.RR.Ui; using Alastri.RR.Service; public class LabelFormat : ILabel { public string GetLabel(ShadingContext context) { return (context.SurfaceArea / context.Perimeter).ToString("#,##0.00"); } } |
...
Code Block | ||
---|---|---|
| ||
using System; using System.Collections.Generic; using System.Linq; using Alastri.RR.Ui; using Alastri.RR.Service; public class LabelFormat : ILabel { public string GetLabel(ShadingContext context) { List<string> temp = context.GetParcels(); List<string> parcels = temp.ConvertAll(low => contextlow.GetParcelsToLowerInvariant()); List<string> ores = new List<string>(){ "hg", "mg", "lg" }; double oreTonnes = 0; foreach(var parcel in parcels) { if(ores.Any(ore => parcel.StartsWith(ore))) { oreTonnes += context.GetReserveValue("DryTonnes", parcel); } } return oreTonnes.ToString("#,##0"); } } |
...
Приобладающий полезный компонент
Code Block | ||
---|---|---|
| ||
using System; using Alastri.RR.Ui; using Alastri.RR.Service; public class LabelFormat : ILabel { public string GetLabel(ShadingContext context) { var parcels = context.GetParcels(); string majorityParcel = ""; double majorityTonnes = -1e7; foreach (var parcel in parcels) { double t = context.GetReserveValue("DryTonnes", parcel); if (t > majorityTonnes) { majorityTonnes = t; majorityParcel = parcel; } } return majorityParcel; } } |
Коэффициент содержания руды
Code Block | ||
---|---|---|
| ||
using System; using System.Collections.Generic; using System.Linq; using Alastri.RR.Ui; using Alastri.RR.Service; public class LabelFormat : ILabel { public string GetLabel(ShadingContext context) { List<string> wasteList = new List<string>(){ "w", "lg1", "lg2", "lg3" }; double oreTonnes = 0; foreach(var parcel in context.GetParcels()) { if(!wasteList.Contains(parcel.ToLower())) { oreTonnes += context.GetReserveValue("DryTonnes", parcel); } } double allTonnes = context.GetReserveValue("DryTonnes"); return allTonnes == 0 ? "0" : (oreTonnes / allTonnes).ToString("0.0%"); } } |
...
Присвоение имен по
...
контролю содержания
Code Block | ||
---|---|---|
| ||
using System; using Alastri.RR.Ui; using Alastri.RR.Service; public class LabelFormat : ILabel { public string GetLabel(ShadingContext context) { string mine = context.GetLevelName("Mine"); string pit = context.GetLevelName("Pit"); string bench = context.GetLevelName("Bench"); string blast = context.GetLevelName("Solid"); string gradeBlock = context.GetSolidPropertyString("GradeBlock"); if(context.ReservesDataSource.ToString() == "BlockModel") { return mine + "/" + pit + "/" + bench + "/" + blast; } else { blast = blast.Split('_')[0]; return mine + "/" + pit + "/" + bench + "/" + blast + "/" + gradeBlock; } } } |
...