Top | Previous | Next


Shape Nesting Editor can generate a variety of BOMs, which are necessary to service the production process based on shape nesting. Similar to Woodwork for Inventor BOM generator, shape nesting generator iterates through the Shape Nesting Data Model and generates final BOMs by interpreting the BOM template.


hmtoggle_plus1Shape nesting data model


Nesting Data Model




Shape Nesting Data Model initial item, which contains a collection of worktops and has a reference to the list of products included in shape nesting.


The item which contains a reference to the material and a collection of raw material sheets with piece instances.


Raw material sheet is an item which contains references to piece instances.


A copy of the piece, which has its own position and rotation angle on the sheet as well as a reference to the piece description.


A piece is an item linking piece instances with the part data container.


Data container of part properties.

Included Products

List of products included in the current shape nesting design.


Item of included product with a collection of constituent parts.


hmtoggle_plus1Principles of creating BOM template


The principle of creating BOM templates for shape nesting is the same as with Woodwork for Inventor BOM generator. A BOM template is created, which instructs the BOM generator about how to iterate through shape nesting data model, which data of the item have to be read and where they should be exported on the generated BOM. The template is created as a MS Excel file containing operating instructions also known keywords. The BOM template can have different forms on different sheets of MS Excel template. This way, a generated BOM can have several sheets containing different forms of BOM. In order to generate a BOM, the user has to specify the desired BOM template and run the BOM generator for the current shape nesting.


hmtoggle_plus1BOM template structure


A certain structure has to be followed when creating a BOM template. The scheme below shows the necessary components of the BOM template.


Nesting BOM template structure


1.Cell A1 contains a keyword describing the type of BOM.


2.Column A is intended for command keywords. It contains keywords which control the operation of BOM generator itself. This column of the template is deleted in the generated BOM.


3.Optional area where BOM header details may be entered.


4.Table start and end markers. This means that between these brackets, the BOM generator will iterate through the data model tree and reach one data model item after another. In other words, one-step processing through the data model tree takes place between these operators. The table cycle is repeated until all data model items are iterated.


5.Inside the table markers, a search for data description row(s) is performed and they are marked with {Table.DataDescription} keyword. It means that this is the beginning of the area where the search for keywords (paragraph 5) that require specific item properties is carried out. This area is considered ended until another keyword is found in the command column.


6.Upon finding such keyword, the BOM generator searches for keywords in the row or the few subsequent rows. According to the keyword, a property of the current data model item is extracted and placed in the cell, i.e. in the place of the keyword.


hmtoggle_plus1Keywords types


All keywords can be relatively divided into:


1.Command keywords - These are they keywords which control the mode of operation of the generator: indicates the type of BOM, data tree branches to be iterated, item types to be considered, how the data is filtered, etc. These keywords are entered in the command keyword area (column A). Typical command keyword {Table.Start}; {Table.End}; {Table;DataDescription}.


2.Property keywords - They extract specific properties of data item or BOM header and places them in cells instead of themselves.


hmtoggle_plus1BOM types


All BOMs intended for shape nesting specifications start with {Nesting.<BOM type>} keyword value. Meanwhile {BOM.<BOM type>} keyword is used to start the BOMs intended for Woodwork for Inventor BOM generator.


Nesting generator supports the following BOM types:



In this type of BOM, BOM generator iterates through data model items as shown in the scheme below.


Nesting Structured List Iteration


This BOM allows defining a different data output template for each data level. The illustration below shows an example of how data output structure can be defined for each level in the table. Each subsequent keyword {Table.DataDescription} opens an area intended for describing data output in each lower item of the data tree.


Nestin Structured List BOM template


1.Nest item level and description of its data output.


2.Desktop item level and description of its data output.


3.Sheet item level and description of its data output.


4.Instance item level and description of its data output.



These BOMs are designed for creating plain lists. The lists may include different types of items. The items to be iterated in this type of BOM are decided by providing an additional sub-keyword in the table’s keyword. For example, according to the keyword {Table.Start.NestingSheet}, the generator will iterate through shape nesting items only and ignore other items. Meanwhile the keyword {Table.Start.NestingDesktop} will be used to iterate through Desktop items only.


The following data tree iteration types are currently supported:





Nesting List Table Start Iteration scheme





Nesting List Table Start Desktop Schema






Nesting Table Start Sheet Scheme






Nesting Table Start Piece Instance Schema



Important! During output of data to a table, BOM generator automatically merges similar items. If only piece part code {Item.Piece.Part.Code} is required to be output to the table, even if there are several instances, they will be provided in a single item. This is because the generator sees this field as uniform, because they originate from the same part.


If the number of items is requested using a keyword {Item.Quantity}, the number of piece instances collected during the whole shape nesting will be output. However, if we add data fields separating these items (e.g. {Item.LabelPos.X} and{Item.LabelPos.Y}), there will be a difference in the data model item description and it will be output by separate items for each instance in the final BOM.




This type of BOM is designed to obtain information about products included in the designed shape nesting. It supports only {Table.Start} type tables.


Nesting Included products BOM iteration Schema