Introduction
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.
General
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.

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.
Textheight
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.
Category Nester:
Duration [sec]
- Runtime of nesting per masterpanel.
Spacing
- Spacing between childpanels.
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.

Presorting
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.

Nesting
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.
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

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
Setting
- Select Setting and find „MasterPanelManagerSettings“ in the list.
Mode
- 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.
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> <lst nm=”Y”> <dbl nm=”Interdistance” ut=”L” vl=”1000″/> <int nm=”Cells” vl=”5″/> </lst> </lst> | Dimension of the masterpanel: Interdistance = increment of numbers Cells =Number of fields inbetween X=Lengthwise Y=Crosswise 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″/> </lst> | 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)”/> alternative: <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> <lst nm=”Y”> <dbl nm=”Offset” ut=”L” vl=”0″/> <int nm=”Alignment” vl=”-1″/> </lst> </lst> </lst> | 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 Alternative: 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″/> </lst> </lst> | Presorter: 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> <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”/> </lst> </lst> </lst> </lst> </lst> | 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> <lst nm=”Y”> <dbl nm=”Ceiling” ut=”L” vl=”100″/> <dbl nm=”Minimum” ut=”L” vl=”2500″/> </lst> </lst> | 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″/> </lst> | 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″/> </lst> </lst> </lst> | 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 |