Overview: Part Material Graining

Overview: Part Material Graining

There are two different types of graining in Microvellum.

One is the ability to set the grain of a material or an individual part. Setting the "material grain" to the width or length of the material means that you are determining that parts from that material should be cut with the grain running either with the width of the part, or the length of the part. Usually, this is set to the material length, but it is also possible to set it to Width if needed, or None for non-grained materials. You may also set the "part grain" property of a particular part to be either Force Width, Force Length, or None. In Microvellum, this is called Material Graining, or Part Graining.

The other graining type is the ability to "grain match" the doors and drawer fronts across multiple cabinets. This means that the doors and drawer fronts are cut from the same sheet of plywood veneer, so the grain of adjacent parts is continuous from one to another. The wood pattern continues from one part to the next in the series of parts that have been setup. In Microvellum, this is called Perfect Graining.

Without a CNC machine, Perfect Graining or grain matching parts is a labor-intensive operation as close attention must be given to matching the necessary parts on a single sheet of material. Using a CNC, Microvellum automates the process using part property settings and optimization algorithms.

The two types of graining are related, with material and part graining being the lower level of graining and perfect graining being the upper level or graining. This is because perfect graining depends on some of the settings of material and part graining.

There are two settings required for material and part graining.

  1. Material sheet grain (accessible from Toolbox Setup > Advanced Project Setup > Open Material File > Project Materials [right click material and Edit Selected Material]


  2. Part grain override (accessible from Modify > Modify Parts > Part Properties > select the product > right click on the door or drawer front from the list on the left and click Show Properties)

  3. Microvellum recommends that you configure a separate Spec Group for materials that will be grained and those that will not, to reduce any confusion that may result from multiple Spec Groups.

The two settings described above also apply to Perfect Graining with the addition of one more setting.

  1. Perfect grain info (accessible from Modify > Modify Parts > Part Properties > select the product > right click on the door or drawer front from the list on the left and click Show Properties)

In the Perfect Grain Info box, enter the character # (pound sign or hash sign), followed by a number that will be used for all the parts to be grouped into a single grain matched group of parts in the nest or saw optimization. The program will try to group all like numbers, so be careful to use unique numbers for all the perfect grain groups in the products that will be included in any single work order.

The Microvellum optimization algorithms produce what we call a "grain container" on the sheet layouts. The grain container contains all the parts that have been set up to be included in each group. That means that all part setup with #1 will be grouped into a single grain container.


For example, you have a One Door Base, and an adjacent 2 Door 2 Drawer Base that you want to be included in the same perfect grain grouping, enter a #1 in the Perfect Grain Info box of all the doors and drawer fronts of those two cabinets. Then, if you have a 1 Door Upper and a 2 Door Upper that you want to be included in a second grouping, enter a #2 in the Perfect Grain Info box of all the doors of those two cabinets.



Grain Containers for group #1 and group #2 above in the AutoCAD composite nest drawing:



To set the perfect graining of one group of parts differently from the parts of another product, set the first group as desired with perfect graining information, and set the other group of parts from the other product to None in the Grain box. Additionally, do not enter a pound sign or number in the Product Grain Info box for the second group of parts.

If the optimizer cannot fit a grain container on the material sheet, it will display a message indicating the size of the container and continue processing.


If this happens and you are unsure of how the parts will be optimized to the sheet to create that container, increase the sheet size beyond the size of the anticipated grain container, and optimized again. If the sheet size is large enough, this will display the optimized patterns, and further adjustments can be made to your perfect graining properties.

The adjustments you may need to make include breaking up your perfect grain groupings to produce smaller grain containers or purchasing larger material sheets.

This new perfect grain option will work with all Nesting Optimization types, Microvellum Sawing Optimization, and Ardis Optimization.

Geometric Algorithm

This is the algorithm used to create the grain containers described above. It can interpret most of the possible perfect graining configurations. It has been completely rewritten and now takes advantage of the Solid Model Analyzer functionality of Microvellum.

This is the only algorithm that is used with the Perfect Graining described above.

Product Level Perfect Graining

Microvellum also supports Perfect Graining on a Product level using a Global Variable and Product Prompts. Instead of grouping parts based on the #1, #2, etc., as does the Perfect Graining discussed above, it groups all parts that belong to a single product, and which also contains a 1 in the Perfect Grain Info box, into a single grain container. A complete explanation of that functionality is outside the scope of this article and will be covered in a separate article in the future.

The algorithms below apply to this product level graining and are presented here as general information only.

There are five (5) different Perfect Graining algorithms currently included in Toolbox. The five are Geometric, Perfect Grain Indexing, Ardis, Ardis Formulaic, and Cut Rite.

All five of these algorithms have the following requirements in common.

  • The sheet must have graining applied to it. If it has no sheet graining, no perfect graining will be performed, regardless of whether other perfect graining information is set or not.
  • Part Machine Points must be set to either 1 or 3M. If they are not, the parts will be correctly grained, but the machining and part rotation will be incorrect in the G-Code produced.
  • All parts to be included in the grain container must be in the same AutoCAD plane.

Geometric Algorithm

This is the recommended way to perfect grain your parts and is the best and most robust of the options available. It can interpret most of the possible perfect graining configurations. It has been completely rewritten and now takes advantage of the Solid Model Analyzer functionality of Microvellum.

It gathers all the doors and drawer fronts that have a 1 in the Perfect Grain Info box and builds a mathematical representation of them, laying them out and moving them around little by little until the proper kerf is attained.

Perfect Grain Indexing

This algorithm was written to eliminate the flaws of the previous version of the Geometric algorithm. It uses indexing you setup to specify where all the parts are meant to be located on the nest.  It is recommended to use the Geometric algorithm instead of this feature whenever possible.

Ardis Perfect Graining

This algorithm uses the geometric version and creates the formulas that Ardis needs to Grain it correctly.  Like the Geometric version, it is now capable of doing very complex patterns.  To use it, a 1 must be in the Perfect Grain Info box.

Ardis Formulaic

This algorithm simply uses the formula that is in the Perfect Grain Info cell.  Since it can be set up manually, it can accommodate very complex patterns as well.

Cut Rite

This algorithm has not changed; it is still the same as it always has been.  The Cut Rite Patten name must be in the subassembly comments.

    • Related Articles

    • Perfect Graining

      Being able to control perfect graining included in a single product, or even from product to product has been difficult in previous Microvellum releases.  There is now the ability to tell the optimizer what to perfect grain inside of a product, or ...
    • 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 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 ...
    • 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 ...
    • Understanding the Part Size Tab

      Part Size Tab The Part Size tab contains the values related to the size of the part and material.  Review the details below for each parameter on the Part Size tab. Part Name The name of the part. Quantity The quantity of the part. Having a part with ...
    • Recent Articles

    • Toolbox Release Notes | Build 24.1.1105.641

      The following release notes apply to Toolbox build 24.1.1105.641 Nesting Fix Fig. 1: The fatal error that would occur during processing. There was reportedly an issue that occurred when clients attempted to process a work order using the nesting ...
    • 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 ...