Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Current »

In the Network tab in the Display panel locate Label field and press its dropdown: there is a preloaded list of preconfigured labels for Segments, Blocks, Nodes and Joins. We can add to this list by configuring custom labels. Find below examples of some custom labels.


Adding Custom Label

  1. Press the gear icon on the right from the Label dropdown.

  2. Click the blue plus icon to add a new label.

  3. Rename the label as desired.

  4. Paste the sample formula into the code editor window.

  5. Press OK to finish.

  6. Select the newly added label from the Label: field dropdown.

  7. To view the label, make sure you the Labels eye toggle is enabled.


Note, that you can change label’s colors and alignments by pressing the Aa button on the right.


Available Formulas

In the Formulas tab, there is a list of available formulas. Double click on one of the code hints and paste it in the “return” row.

  • To convert data of the “double” type to the “string” type, you’ll need to use “.ToString()” extension.

  • To display a certain number of decimals in the text labels, use formats like “"#,##0.00"“.

  • To add a new line in the label, use ““\n”“.

  • To add any other text in the label, use +””…””, for example, “ + " m"“;.


Segments Distance Label

using System;
using Alastri.HaulInfinity.ScriptExtensions.Shading;

public class CustomLabel : ISegmentLabel
{         
    public string GetLabel(ISegmentShadingContext context)
    {
        return (context.Distance).ToString("#,##0.00") + " m"; 

    }
}

Segments Gradient Label

using System;
using Alastri.HaulInfinity.ScriptExtensions.Shading;

public class CustomLabel : ISegmentLabel
{         
    public string GetLabel(ISegmentShadingContext context)
    {
        return (context.GradePct).ToString("#,##0.00") + "%"; 
    }
}

Segments Custom Property

using System;
using Alastri.HaulInfinity.ScriptExtensions.Shading;

public class CustomLabel : ISegmentLabel
{         
    public string GetLabel(ISegmentShadingContext context)
    {
        return (context.GetCustomProperty("Region")); 
    }
}

Blocks Name

using System;
using Alastri.HaulInfinity.ScriptExtensions.Shading;

public class CustomLabel : IBlockLabel
{         
    public string GetLabel(IBlockShadingContext context)
    {
        string name = context.FullName;
		string[] nameParts = name.Split('\\');
		if(nameParts.Length <5) return "";
		string pitName= nameParts[2];
		string benchName= nameParts[4];
		string blastName= nameParts[5];
		return string.Concat(pitName,'-',benchName,'-',blastName);
    }
}

Blocks Auto Joins Number

using System;
using Alastri.HaulInfinity.ScriptExtensions.Shading;

public class CustomLabel : IBlockLabel
{         
    public string GetLabel(IBlockShadingContext context)
    {
        return  (context.AutoJoinCount).ToString(); 
    }
}

Nodes Data Source

using System;
using Alastri.HaulInfinity.ScriptExtensions.Shading;

public class CustomLabel : INodeLabel
{         
    public string GetLabel(INodeShadingContext context)
    {
        return context.DataSource;
    }
}


Nodes Coordinates

using System;
using Alastri.HaulInfinity.ScriptExtensions.Shading;

public class CustomLabel : INodeLabel
{         
    public string GetLabel(INodeShadingContext context)
    {
	return "(" + context.X.ToString("#,##0.00") + " | " + context.Y.ToString("#,##0.00") + " | " + context.Z.ToString("#,##0.00") + ")";
    }
}

  • No labels