Masterpanel nesting is used in hsbcad to minimize the production waste of the CLT panels during manufacture.

This document will show you how to create a nesting and apply company settings to optimize the process.


You will find the nester in the ribbon at …

There are two types of nesting as follows:

 hsbNesting Basic

  • The rectangle bounding form shape is taken into account during the nesting.
  • You cannot nest in openings.
  • 180° rotations of childpanels are not supported automatically, but can be done manually later on.

 hsbNesting Pro

  • The real form shape is taken into account during the nesting.
  • Nesting in openings can be allowed.
  • Childpanels are rotated automatically for an optimized result.

Setting nesting parameters

If panels are designed and grain direction is applied, click nesting on the ribbon

The MasterpanelManager will open.

All setting can be saved in the tool catalog, and recalled for execution at any time

Set the properties for nesting in the following categories

Category Masterpanel:   

Grain direction

  • Automatic = Childpanel will be automatically grouped by grain direction.
  • Length direction= Only childpanel with length direction are nested.
  • Cross direction = Only childpanel with cross direction are nested.

Property Format

Set the value of the masterpanel properties and text displayed on the masterpanel.

If unsure how to implement the properties, a useful tip is to insert once a nesting result. Selecting a the text of the nested masterpanel, right click, the custom functionality Add/Remove Format to select the properties from the list. You can than save the settings as catalog entry for future nesting in the masterpanel catalog settings.


Sets the height of the text of the format properties

Category Childpanel :

(Childpanel are representations of the panel in your construction. They are only used to represent the position in the masterpanel)

Top Face Alignment        

  • Determine the alignment of surface quality of the child panel

Oversize Format Cut

  • Defines an offset of the childpanel to the edges of the masterpanel.

Property Format

  • Set the value of the childpanel properties and text displayed on the childpanel.

Text Height

  • Text height of the childpanel properties.

Sorting rule

  • Multiple sorting rules can be created. The sorting rules are defined in the XML file. See below.

See further information for XML

Category Nester:   

Duration [sec]

  • Runtime of nesting per masterpanel.


  • Spacing between childpanels.

The spacing value can be predefined in the XML file and will be used if value here is set to 0

Nest in openings

  • Childpanel can be nested in openings of other childpanels.

Nester Type

  • Select to use Rectangular nesting or Auto nesting

Create nested panels

If you are using sorting rules via XML, a preview of the sorting is shown at this point. Click left mouse button to start the nesting, which displays the sorted result. If you click right mouse button, the nesting is stopped and the presorting remains.

If no sorting rule via XML is used the nesting will start directly.

The progress will be shown in report.

See further information of pre sorting XML


If a sorting rule in XML is used, a presorting is done based on the rules that are a custom criteria list of properties.

Only panels of the same group are nested together. Therefore panels that cannot be in the same masterpanel need a presorting rule. E.g. panel with a different wood type, surface quality or delivery sequence need a presorting, if the selection of the panel is not individually done.

This is why you can create multiple sorting rules, which are accessible in the dialog

The sorting criterias are shown in front of every sorting result.

If the result is not satisfying, the childpanels can be moved after the nesting to other masterpanels to get the optimum result.


Example of a nesting result:

Each masterpanel is visualized with its childpanels.

The title in the bottom left of the masterpanel contains the properties of the masterpanel.

The properties of the childpanel is shown at the center of each childpanel.

Editing nested masterpanel

When nesting is complete, you have several opportunities to optimise the result further afterwards. You find the commands in the ribbon or context menu.

Commands in the ribbon:

Commands in context menu:

Ribbon commands

Rotate Child

Rotates the childpanel in the masterpanel

Flip + Rotate Child

Flips and rotates the childpanel in the masterpanel

Flip Child

Flips the childpanel in the masterpanel

Align panels withe edge

Aligns the outside childpanel with the length edge of the masterpanel.

Set a Fixed Width

Sets a fixed width of the masterpanel

Add Child Panels

Childpanel can be added to a masterpanel

Add Masterpanel data to Panel

The masterpanel data is wirtten into the childpanel

Show Relation

A line between a childpanel and the panel is drawn, therefore locating the location of the panel in the model

Hide Relation

The relation line is not shown anymore

Commands in the context menu

Some of the commands are repeated between the ribbon and the context menu.

See further information on these commands in the ribbon

Additional commands found in the context menu are

Add/Remove Format: 

This will show a list of properties that can be add/subtracted to a display of masterpanel. The selected properties are used at Property Format field in the category Masterpanel.

The +/- in front of the number shows if the property is added or removed.

To add a property, select the number prefix shown for the property. Note you do not need to enter the +/-.

To exit and apply changes, enter -1

If the value of a property is show e.g. @(ElementType). The property has no value in the drawing.

Set feeding direction:

Determines the side towards the machine.

Autosize On/Off:

This will set the maximum width off the masterpanel to the maximum width of the child panels. The masterpanel is still following the rules for minimum width and ceiling.

Auto Edge Aignment On/Off:

Uses the value of the extended properties in the XML file.

Extended properties editable in XML file

The definition of sorting rules, display configurations and other settings are stored in an XML file. You can import or export settings from within a drawing.

Import and export settings

The import/export is done with the command TSL_XML settings on the ribbon.

Category: General


  • Select Setting and find „MasterPanelManagerSettings“ in the list.


  • Select to import, export or delete the settings.

The XML file is stored in the company folder at : hsbCompany\TSL\Settings. The name of the Xml file is “MasterPanelManagerSettings.xml”. You can edit the file with a text editor. E.g. Notepad .

XML settings

There are four different types to be recognized in an XML:

  • <lst …>  </lst> Is a list
  • <str …/> Is a String, it contains charcters and words.
  • <int …/> Is an Integer, a positiv or negativ natural number
  • <dbl …/> Is a Double, is a positiv or negativ point number.

The entry of type “str”, “int” und “dbl” is just on one line. The entry of type “lst” usually ends at a second entry, marked with a “/” (</lst>). If you click on the end, the start entry is highlighted too in Notepad . If the name contains square brackets e.g. (<lst nm=”Sorting[]”> or <lst nm=”Criteria[]”>) you can copy enclosed part.

In the example you find multiple entries of <lst nm=”Criteria”> in <lst nm=”Criteria[]”>. These are the different criteria used for a sorting rule to filter the childpanel. The area <lst nm=”Sorting”> can be copied the same way to create multiple sorting rules. The idea to mark copied parts with square brackets is usually the general method of use.

As a recommendation, it is useful to use the free notepad++ application for viewing XML files, because it handles the syntax of XML quite nicely. See here for further information to download

List of used entries in XML

<dbl nm=”Length” ut=”L” vl=”16000.1″/>Maximum masterpanel length
<dbl nm=”Width” ut=”L” vl=”3100.1″/>Maximum masterpanel width
<str nm=”LineType” vl=”ByBlock”/>Line type of child panel
<dbl nm=”LineTypeScaleFactor” ut=”L” vl=”1″/>Not used at the moment
<int nm=”KeepFloorReferenceBottom” vl=”1″/>KeepFloorReferenceBottom vl=“0“ allows to flip roof/floor panel. Wall panel can be flipped always.
<int nm=”MasterStartNumber” vl=”1″/>Starting number of masterpanel
<dbl nm=”MasterOversize” ut=”L” vl=”0″/>Positive values increase the size of the usable area of the masterpanel.
<int nm=”AlignRight” vl=”1″/>Alignment of the masterpanel from insert point: 0=Left 1=Right
<int nm=”Color” vl=”-1″/>Color of childpanel (Sublabel 2 needs an entry e.g. by TSL: hsbCLT-SetProperties)
<dbl nm=”RowOffset” ut=”L” vl=”1000″/>Presorter: Minimal distance between childpanel rows in the same sorting. The distance between the sorting rows is double the size.
<int nm=”ShowNestingReport” vl=”1″/>Show Nesting Report: 1=yes 0=no
<lst nm=”Dimension”>  
<lst nm=”X”>         
<dbl nm=”Interdistance”ut=”L” vl=”1000″/>
<int nm=”Cells” vl=”5″/>
<lst nm=”Y”>
<dbl nm=”Interdistance” ut=”L” vl=”1000″/>
<int nm=”Cells” vl=”5″/>
Dimension of the masterpanel:   Interdistance = increment of numbers  
Cells =Number of fields inbetween
In this example every meter a dimensioned number and every 20 cm along the dimension line, an increment line is shown.
<dbl nm=”Scale” ut=”L” vl=”0.001″/>
<str nm=”Appendix” vl=”m”/>
<dbl nm=”Text Height” ut=”L” vl=”80″/>
<int nm=”Color”vl=”-1″/>                                                
Scale = Scaling of the dimension.
Default mm E.g: Scale 1/1000 unit meter => 1m, 2m, 3m
Appendix = E.g. m
Text Height = Height of dimension
Color = Color of dimension
<lst nm=”LayerInterference”>
<int nm=”Color” vl=”-1″/>
<dbl nm=”LinetypeScale” ut=”L” vl=”1″/>
<str nm=”Linetype” vl=”ByBlock”/>
<int nm=”Transparency” vl=”0″/>
Layerinterference = Warning if childs overlap.
Color = Color of overlapping area
LinetypeScale=LinetypeScale Linetype = Line type  
Transparency = Transpareny of color: if value is 0 = solid
<lst nm=”ChildHeader[]”>
<int nm=”Color” vl=”1″/>
<str nm=”DimStyle” vl=”Standard”/>
<dbl nm=”TextHeight” ut=”L” vl=”120″/>

<lst nm=”ChildHeader”>
<str nm=”Format”vl= “NR@(hsbPanel.delivernumber)”/>


<lst nm”ChildHeader”>
<str nm=”Blockname” vl=”hsbTruck”/>

<int nm=”Color” vl=”2″/>
<lst nm=”X”>
<dbl nm=”Offset” ut=”L” vl=”2000″/>
<int nm=”Alignment” vl=”1″/>
<lst nm=”Y”>
<dbl nm=”Offset” ut=”L” vl=”0″/>
<int nm=”Alignment” vl=”-1″/>
ChildHeader[] = Additional text to the masterpanel header with childpanel information
Color = Default
Dimstyle = Dimstyle for text
TextHeight = Height of text
ChildHeader = Subgroup of Childheader[]

Format = Property format
“NR“ is a Prefix
@() common format notation
“hsbPanel“ Group name of extended property
delivernumber = Property
Color = individual text color


Blockname: Name of displayed block.

X-Offset = Offset in length direction
Alignment = Left/Right
Y-Offset = Offset in cross direction
Alignment = Bottom/Top

ChildHeader can be used multiple times
<lst nm=”Range[]”>
<lst nm=”Bis 2,6m”>
<dbl nm=”min” ut=”L” vl=”0″/>
<dbl nm=”max” ut=”L” vl=”2600″/>
Range[] = Sorting rule for panel width.
Bis 2,6m= Name of the rule
0= Minimum Width
2600 = Maximum Width

Note you can copy the range multiple times for multiple range usage
<lst nm=”Sorting[]”>
<lst nm=”Sorting”>
<str nm=”Name” vl=”Standard”/>
<lst nm=”Criteria[]”>
<lst nm=”Criteria”>
<str nm=”Property” vl=”Woodtype @(hsbCAD Panel.Woodtype)”/>
<str nm=”Filter” vl=”Fichte”/>
<int nm=”Order” vl=”1″/>
<int nm=”Group” vl=”1″/>
<lst nm=”Criteria”>
<str nm=”Property” vl=”Widthrange @(Ranges)”/>
<int nm=”Order” vl=”1″/>
<int nm=”Group” vl=”1″/>
<lst nm=”Range[]”>
<str nm=”Range” vl=”Bis 2,6m”/>

Sorting[] = General sorting rules
Sorting = Sorting rule (multiple usage)
Name = Name of sorting rule
Criteria[] = General sorting criteria
Criteria = Sorting criteria (multiple usage)
Property = Property for sorting
 „Woodtype“ is Prefix
@() Commonformat notation
„hsbPanel“ Group name of extended property
Woodtype = Property
Filter = Filtering the value
Order = Ordering the values alphabetic
Group = Create new group for different values
Special case Range[]:
Criteria = Sorting criteria
Widthrange is Prefix
Property @(Ranges) is a specific predefined format property . (Only use this way. Same for Range[])

Range[] = Contains sorting rules
Range = Contains the name of the rule (Bis 2.6m)
(Multiple usage)
<lst nm=”AutoSize”>
<lst nm=”X”>
<dbl nm=”Ceiling” ut=”L” vl=”100″/>
<dbl nm=”Minimum” ut=”L” vl=”6000″/>
<lst nm=”Y”>
<dbl nm=”Ceiling” ut=”L” vl=”100″/>
<dbl nm=”Minimum” ut=”L” vl=”2500″/>
AutoSize = Minimum dimension of the masterpanel and grid definition.
X = Lengthwise
Ceiling = Grid increments(e.g. 100mm)
Minimum = Minimum length
Y = Crosswise
Ceiling = Grid increments (e.g. 100mm)
Minimum = Minimum width
<lst nm=”Nesting”>
<int nm=”EdgeAlignment” vl=”1″/>
If value is 1 the outside childpanels are moved to the edge of the masterpanel
<lst nm=”ChildPanel”>
<lst nm=”Spacing[]”>
<lst nm=”Spacing”>
<dbl nm=”ZMin” ut=”L” vl=”0″/>
<dbl nm=”ZMax” ut=”L” vl=”100″/>
<dbl nm=”Spacing” ut=”L” vl=”60″/>
Defines interdistance of childpanel depending on the thickness.
Spacing[] = Contains the rules
Spacing = Single rule always named “Spacing“ (Multiple usage)
ZMin = Minimum thickness
ZMax = Maximum thickness
Spacing = Distance

Updated on 10/12/2020

Was this article helpful?

Related Articles

Need Support?
Can’t find the answer you’re looking for? Don’t worry we’re here to help!
Contact Support