Versions Compared

Key

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

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.

Table of Contents

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. Double-click in the Available Formulas for code hints.

  6. Press OK to finish.

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

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


Tip

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()” method.

  • To display a certain number of decimals in the text label, 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"“;.

Image Added


Segments Distance Label

Code Block
languagecpp
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

Code Block
languagecpp
using System;
using Alastri.HaulInfinity.ScriptExtensions.Shading;

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

Segments Custom Property

Code Block
languagecpp
using System;
using Alastri.HaulInfinity.ScriptExtensions.Shading;

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

Image Added

Blocks Name

Code Block
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

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

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

Nodes Data Source

Code Block
languagecpp
using System;
using Alastri.HaulInfinity.ScriptExtensions.Shading;

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


Nodes Coordinates

Code Block
languagecpp
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") + ")";
    }
}