Overview: Material Pointers

Overview: Material Pointers

The material of a part is determined by the Material Name property associated with the part. The image below shows a Base Back part within a product and the material that is currently assigned to that part. 


Fig. 1 – Base Back currently has the material named ".25 White Melamine 1S" assigned to it.


To change the material for this part within the product, it is easy enough to change the material from the properties interface, but suppose there are over 100 products within the project for which the material needs to be changed. Going into every part for every individual product could be an overwhelming task.

Material pointers allow the User to quickly change materials for individual parts without having to adjust each product individually. Any parts material property can refer to a material point by using the "M!" workbook reference within a formula and then the name of the pointer. All of the available pointer names can be found within the material file. A PDF with descriptions and explanations of the different kind of pointers can be downloaded at the end of this article.


Fig. 2 – Within the material file, the pointer names are displayed in the list.


The list above contains several different "Base Back" pointers, and the material that is currently assigned to each pointer is shown in the right column in the same row as the name. The formula for the part material property would look something similar to this: =M!Base_Back_Unfinished and the part would be assigned the material that the pointer is currently assigned to. Since all of the Base products in the project are referencing the same material pointer, there is now a single location to adjust the material used for all of the base back parts.

Changing Material Pointers

Change the material assigned to the material pointer within the material file. First, highlight one or more material pointers in the list. Then, select a material. Last, use the assign button in the middle of the interface to assign the selected material to the selected pointers.


Fig. 3 – First, select the pointers you want to change. Second, select the material you want to assign to the pointers. Third, use the assign button to change the material pointers to the selected material.


Click on the column headers within the pointer list to sort the material pointer list based on the selected column header. This makes it easy to find pointers with the same name or find all pointers that specific material is assigned to.

Editing Material Pointers

Right-click within the material pointer list to edit the material pointer list.


Fig. 4 – Right-click context menu to edit material pointers


Add Material Pointer… - Use this command to add a new pointer to the bottom of the list that can be referenced within products.

Insert Material Pointer… - Use this command to insert a new pointer below the currently selected material pointer that can be referenced within products.

Rename Selected Material Pointer… - Use this command to change the name of the currently selected material pointer.   

This will only change the name within the current material workbook, breaking any products that are referencing the existing name. This command is best used for newly created material pointers and not existing material pointers.

Delete Selected Material Pointer(s) - Use this command to delete the currently selected material pointer.   

This will delete the named reference within the material workbook, breaking any products that currently reference the material pointer name. This command is best used for newly created material pointers and not existing pointers.

Collection Values… - Access the collection values of a Material Collection pointer. See the Material Collections section below for reference.

Groups - Use this command to show or hide the material pointer groups in the pointer list. Use the "Edit Groups…" command to assign or remove material pointers to groups. See the Material Pointer Groups section below for reference.

Remove Material Association from Selected Pointer - Use this command to remove the assigned material from the material pointer currently selected.

Find Selected Material - Use this command to open the folder structure on the right side of the material file interface to find the material that is currently assigned to the selected pointer.

Material Pointer Groups

Material pointer groups are another way to assign materials to a group of material pointers at one time. Right-click in the material list and select the Groups > Show Groups menu item to display or hide the available groups in the material pointer list.


Fig. 5 – Material Pointer Groups displayed in the material pointer list.


Each group displayed in the list is assigned many different material pointers, and by changing the material for the group, all the material pointers assigned to that group will also be assigned the same new material. To see which material pointers are assigned to which groups select the Groups > Edit Group menu item.

Edit Groups Interface

The edit groups interface allows you to create new groups and assign material pointers to the groups. The list on the left shows the groups currently available. Expanding the group node will show the material pointers currently assigned to that group. The list on the right shows all the material pointers that are not currently assigned to any group. A material pointer can be assigned to only one group.


Fig. 6 – The list on the left shows the groups. Expanding the group will show the pointers assigned to that group. The list on the right shows all the material pointers not assigned to any group.

Modifying Groups & Pointers

Right-click in the list on the left and select the "Add Group" menu item to create a new group. With a group selected, select a material pointer from the list on the right and then use the assign button in the middle to assign the selected material pointer to the selected group.

If you select a material pointer on the right that is currently assigned to a group, you can right-click and select the "Remove Material Pointer" to remove the material pointer from the group.

If a group no longer has any material pointers assigned to it, you can use the "Remove Group" menu item to delete the group altogether.

Material Pointer Collections

In the material pointer list, you will notice a set of pointers that start with "COL_." When a pointer starts with the "COL_," it is recognized in the software as a material collection and used differently than the standard material pointers. When a material collection pointer is assigned to part, multiple parts are created from a single pointer. The other parts that are created are based on the naming of the used in the other material collection pointers.

For example, if we have a material collection pointer that starts with "COL_Door" other parts will get created that also start with a material collection name of "COL_Door." In the image below, we see the "COL_Door" pointer followed by two other pointers named "COL_DoorAppliedFront" and "COL_DoorCore." The main material pointer is the "COL_Door" and is the pointer that will be referenced by a part in a product. The other pointers, since they start with "DOOR," will create two additional parts when processed. The part sizes for these additional parts are based on the collection values and the material assigned to those pointers.


Fig. 7 – A single set of material collection pointers, used together to create additional parts when the main pointer is assigned to a part.

Material Collection Values

With a collection material pointer selected, you can right-click and select the "Collection Values" menu item to set up the properties of the additional part created. Each material pointer that is part of the collection can have its own collection values assigned to it.


Fig. 8 – The Material collection interface. Each property is a property of the new part that will be created when the collection is processed.


Part Description – This is the name of the new part that is created. This must be populated for each collection value for the collection to work correctly.

Part Quantity This property sets the quantity of the newly created part.

Part Width This specifies the width of the newly created part. Use the keyword "Panel_Width" in the formula box to reference the original part size within the product that is assigned the main material collection pointer.  

Part Length This specifies the length of the newly created part. You can use the keyword "Panel_Length" in the formula box to reference the original part size within the product that is assigned the main material collection pointer.

Inherit Edge  (checkboxes) – The newly created part will be assigned the same edgeband material from the main part that is assigned the material collection pointer within the product.

Inherit Machining – The newly created part will inherit the same machining operations from the main part that is assigned the material collection pointer within the product.

How to work with a material collection

Let's look at an example of how to use a material collection. Fig. 7 above shows the main material collection pointer called "COL_Door." There are also two associated material collection pointers "COL_DoorAppliedFront" and "COL_DoorCore."

The collection values for the "DoorAppliedFront" pointer contains the values that will be used to create the additional part. The name of the part will be HPDL. The size of the part will look to the part in the product parts list, and use its panel width and panel length, but then add an additional amount from the global file. The material assigned to that pointer is the Laminate VG PL1 Solid.


Fig. 9 – Collection values for the DoorAppliedFront material pointer.


The collection values for the "DoorCore" part will create a part named "Door Core," and the size of that part will match the size of the part in the product parts list. The material used for this part will be the ".75 White Melamine 1S".


Fig. 10 – Collection values for the "DoorCore" material pointer.


So, if we assigned a part to the "COL_Door" material pointer and processed this part into a work order, the final result would be the creation of two parts with the sizes, name, and material based on that material collection values. 

The reason we don't get three parts in this example is that the main material collection pointer is assigned a material that starts with a minus symbol, thus making it a part that won't get processed into a work order. This is done so that you can safely assign this material pointer to a part in the product and then use the pointer collection to create all of the parts. If this main material collection pointer were assigned a normal material, we would end up with four parts. The main part in the product spreadsheet, the part created from the main material collection pointer, along with the two additional parts in the material collection.

Using material collections can provide a user with the ability to list one part of the product spreadsheet but have several different parts created from that single line. This can become beneficial when a complex grouping of parts needs to be created in multiple products or subassemblies, and you don't want to add all the parts in the parts list across all the products.

There are also some drawbacks to using material collections. The first is that the additional parts created from the material collection will not draw when the product is drawn. The parts will only show up when the work order is created. If a user is unfamiliar with material collections, it may confuse as to why the additional parts are showing up in the work order but not when the product is drawn.


    • Related Articles

    • Overview: Materials in Microvellum

      Material Levels in Toolbox Figure 1: Library Specification Groups. Figure 2: Project Specification Groups. Materials in Toolbox can be controlled through one of two interfaces, each of which is attached to one of two levels of control: library ...
    • Overview: Material Wizard Prompts

      In our effort to reduce the number of separate cut part materials, edgeband materials, and hardware materials, Microvellum has created what we refer to as formula-driven materials. The interface for user interaction between these materials and the ...
    • Overview: Material Handling Codes

      Material Management Systems are becoming more common in the woodworking industry. One of these is the SCMI Flexstore system. These systems require material information in the header of the TXT files that define the part labels for the sheet. Fig. 1 ...
    • Overview: Formula Driven Materials

      There are two distinct types of Microvellum materials – formula materials and non-formula (traditional) materials. This article focuses on formula-driven materials. Accessing Formula-Driven Materials You may use either the Add Formula Material ...
    • Overview & Tutorials: Formula Generated Materials in Doors

      This video explains and demonstrates how to use formula generated materials in the default 048 library data. Prior to this library version, this had not been included in the shipping library data although some Users have been doing this in their ...
    • Recent Articles

    • Microvellum Foundation Library Release Notes | Build 24.1025

      The following release notes apply to Microvellum Foundation Library build 24.1025. Additions Added new global variable “Remove Stop Dado On Bottom Edge” for wood drawer boxes. Check this option to run the dado through at the bottom of the sub front ...
    • Toolbox Release Notes | Build 24.1.1030.641

      The following release notes apply to Toolbox build 24.1.1030.641 Routing and Profile Fixes Several issues were found with routing and polyline paths: Fig. 1: Horizontal routes off of a part disappearing (left) and appearing correctly (right). When ...
    • Toolbox Release Notes | Build 24.1.1010.641

      The following release notes apply to Toolbox build 24.1.1010.641 Biesse Winstore Fix Several issues with the Biesse Winstore plugin have been resolved: There was an issue that would sometimes occur wherein materials that were intended to stack wound ...
    • Toolbox Release Notes | Build 24.1.1001.641

      The following release notes apply to Toolbox build 24.1.1001.641 HBore Toolfile Fix Fig. 1: The location in the Toolfile UI where the error would occur. There was an issue reported with the functionality of the Horizontal Boring Machine setting in ...
    • Microvellum Foundation Library Release Notes | Build 24.0919

      The following release notes apply to Microvellum Foundation Library build 24.0919 Additions Added 5 new special Wine Rack products and 9 new Wine Rack Insert subassemblies. Products: Master Vertical Wine Rack Corner Frame Master Vertical Wine Rack ...