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.
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.
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.
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.
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.
Right-click within the material pointer list to edit the material pointer list.
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.
Delete Selected Material Pointer(s) - Use this command to delete the currently selected material pointer.
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 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.
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.
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.
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.
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.
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.
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.
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.
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".
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.