Altium Designer Documentation

Support for Panelization in tthe Altium Designer CAM Editor

Created: January 27, 2017 | Updated: June 22, 2021

Traditionally, design engineers have used CAM tools for verification only, visually reviewing their Gerber and Drill outputs before forwarding these files to the fabrication house. Experienced designers may acknowledge the importance of the post-design work that must be done for working boards to come back in a reliable manner. This work entails precise and open communication with the fabrication and assembly units.

Altium Designer's CAM Editor empowers designers with everything they need to foster this communication, including not just reliable verification tools, but the full CAM toolset available to board fabricators and assembly houses. This includes tools for panelizing the board and defining routing edges.

Many board designers will wonder why these tools are included. Our answer is that it's hard for us to pinpoint where your job as a designer ends. Some of you will be happy to review your designs and let the fab house worry about maximizing the real-estate on their boards, so long as you get back what you ordered. Others may want more involvement. You may, for example, want panels that best suit not just the fabrication house, but the assembly house, too.


The Panelization dialogThe Panelization dialog

A panel is created through an automated process, in which you determine the size of the panel and how the multiple copies of the board data will be arranged within the panel space. You may also indicate how the data will be stored. We highly recommend that you use one of the available offset codes because they keep your files small and manageable. The image and drill information will only be defined once in the panel, followed by a set of step instructions.

Positioning Tools

Panelization follows the CAM Editor's general editing pattern. To begin, you may issue the Tools » Panelize PCB command, then select the objects you want to include in the panel (or use the E, S, L keyboard shortcuts to select everything), then execute the command by right-clicking or using the Shift+9 keyboard shortcut. This sequence will open the Panelization dialog.

The Panelization dialogThe Panelization dialog

At the top of the dialog, the horizontal and vertical extents of the objects you selected are reported in the Image Size fields. Following, you are shown values for the Panel Size, Spacing, and Parts Count.

All of these fields operate dynamically. If the Calculate option is enabled, you will be shown the maximum number of columns and rows that will fit whatever panel size and spacing values you enter. You may be able to increase the number of columns and/or rows on your panel by fitting the boards closer together or allowing for a smaller border around the panel edges. You are also able to fit more boards by increasing the panel size.

Turning off the Calculate option lets you work this system backward, meaning, you may now enter the number of columns and rows you want to fit on the panel, and the resulting panel size will be shown according to the values you have entered in both the Parts Count and the Spacing fields. Since the resulting panel size will have irregular values, this method will probably only be used for determining minimum panel requirements, after which you will want to turn the Calculate option back on and enter a panel size that is supported by your fabrication and assembly houses.

The array of boards may be centered within the panel or tucked into the lower left-hand corner.

Steps in the Right Direction

It stands to reason that if you stamped eight full copies of your board onto one panel, the resulting file would be at least eight times as large. This is true wherever data is exploded, that is, fully re-written in the description file for each new location. Usually, the real burden of such a file isn't derived from its size, but rather from the fact each screen redraw takes eight times longer.

The CAM Editor offers two types of offset codes to help you keep your files from inflating to unmanageable proportions when panelizing, being traditional Step & Repeat commands and ODB++ Steps.

Step & Repeat

When the Use Step & Repeat option is enabled in the Panelization dialog, the data you selected previously is moved to the lower-left corner of the panel. All other panel sections appear very much as they appeared in the panel preview: as empty boxes showing the vertical and horizontal extents of the copied data. These boxes appear on every layer that contains Step & Repeat information.

Since the data stored in each step is fixed at the time of panelization, it is best to postpone any use of Step & Repeat codes until you are absolutely sure that the original data is not going to change. This is, of course, the ideal scenario, since panelization is typically done after verification is complete. But what if you discover some small edits that must be made after you have panelized the board?

It is possible to edit Step & Repeat data, though it is not easy. New flashes, draws or text may be added to the data visible in the lower-left section of the panel. These additional objects can then be added to the remaining (repeated) sections of the panel using the Edit » Step/Repeat » Add Objects command.

Making deletions is a little more complex and involves removing objects from the repeated (non-visible) sections of the panel by using the Edit » Step/Repeat » Remove Objects command before deleting those same objects from the visible section of the panel when using the Edit » Clear command. As the same group of objects must be selected two different times, for two different commands, the possibility for error is high, but the CAM Editor does provide the ability to re-select a previous selection. This difficulty is compounded by the fact that the arrayed Step & Repeat boxes remain empty, not yielding any hints as to their contents until the data is exploded into primitive information using the Edit » Step/Repeat » Explode command.

ODB++ Steps

ODB++ solves the problems encountered in Step & Repeat codes. Each step you create becomes a new column corresponding to the current layer rows. The more steps you add, the larger grows the matrix in which data can be stored. One step may be inserted once or multiple times within another step, which is exactly what happens when you panelize with the Create ODB++ Step option enabled. When using the Create ODB++ Step option two new steps are created in addition to the default step for the workspace (cam_work):

  • one for the data you selected for panelization (campcb)
  • one for the panel itself (campanel).
    You can see the contents of each step by double-clicking on its name in the Steps tab of the CAM panel.
    The step containing the selected data is automatically inserted as a sub-step of the panel step, appearing in the format:
    [n]: StepName (Rows, Columns),
    where [n] is the next available number allocated to the inserted step, starting from 1, and Rows and Columns are taken from the Parts Count region of the Panelization dialog.

When viewing the content of the panel step in the main design window, the inserted (data) step will appear as RowsxColumns empty white rectangles. Unlike a Step & Repeat array, the object data is not visible in any of the array sections. A white cross is displayed for each instance of the inserted step, defining where data content will be inserted, should you choose to explore the step array.

Before finishing your work, you should right-click on the panel step and choose Refresh Inserts. This ensures that the inserted steps on the panel will reflect the current state of the source data, making sure that any post-panelization edits you have made will be reflected in the finished panel.

Additional Panel Strategies

The automatic tools can help you maximize the number of identical boards on your panel, but what if your panel requirements are more complex? How can you add drill coupons or tooling holes to the panel? What if you want to step-and-turn your data, creating a panel that is the same either way you flip it, letting you load components on both sides by running the panel through the same pick-and-place machine twice? Or what if you want to optimize panel space by arranging different boards on the same panel?

All of these requirements can be met by using ODB++ steps in the CAM Editor. The starting point is the automatic panelization routine because it is the only way to create a panel outline by using the Create ODB++ Step option instead of the Use Step & Repeat option.

Step Insertion

The Enter Value and Add Insert to ODB Step dialogsThe Enter Value and Add Insert to ODB Step dialogs

You may insert additional steps alongside the array of boards on your panel. A board fabricator, for instance, may be utilized to place a drill coupon on one of the break-away rails to visually check the intended hole sizes against those in the fabricated boards. Tooling holes, those used to hold the panel down while panel layers are drilled and routed, may be required elsewhere on the panel, rather than within the board instances.

First, you need to create a new step. This is done using the Add Step command, accessed from the right-click menu in the Steps tab of the CAM panel. The new step has all the same layers, but all of these will be empty for the new step. You may copy or move data between steps through this same right-click menu. Otherwise, you can place new objects on the existing layers when the new step is current, and these objects will only exist for that step.

For example, to create a drill coupon, you might create a new step, then flash each of the used tools in your design on the drill layer in a row. On the top silkscreen layer, you might place some text or other identifying markers for each drill size.

You should also draw a closed polyline around your data upon the layer which you have designated as type Border in the Layers table by selecting Tables » Layers from the main menu. This will be used to generate a profile for ODB++, which is a file that allows steps to be inserted within one another without having their extents violated by venting patterns.

You may create another step for each coupon or object you need to add to your panel. You may insert each of them at a measured location in the parent step for the panel, such as campanel, with the panel step current. To do so, use the Add Insert command from the right-click menu. If you applied a venting pattern when you originally created this panel, you should remove it, then re-apply it. Upon doing so, the venting pattern will respect each step's profile border.

Step and Turn

Step-and-turn panelization is a technique that will streamline assembly house routines. Normally, boards with components on the top and bottom will require two pick-and-place machines, one for the panel's top-side components and another for the bottom. Suppose, however, that the top and bottom side of the panel were identical when turned over, then the panel could be put through the same assembly machine twice.

It is important to distinguish between the top-side of the board and the top-side of the panel since it requires that the boards on the right side of the panel be the same as the left side, unless upside-down. It also requires that the layer-type stackup be symmetrical. Half of the panel's top-side will include the board's top-side images and the other half will include the board's bottom-side images in mirror-format.

To achieve this in the CAM Editor, you must first copy all of the board data to a new step. You may use the Swap Layers Data feature by selecting Edit » Layers » Swap Layers Data from the main menu to determine where flipped layer data will be placed. The result is that your top layer will contain both top and bottom layer images, but these images will remain in separate steps.

If you haven't already created a panel from the original design, you may do so now, ensuring you have an even number of columns or rows centered in the panel. Click on the plus sign beside the generated campanel step, then right-click on the inserted step to modify it. Change the rows or columns value so that half of the boards will disappear. Now, insert the new step you created, panelizing it in an identical way, except using a calculated base point that will place the new array in the same location as the steps you previously eliminated. Make sure that the Mirror option is enabled for this step.

The Modify Insert in ODB Step dialogThe Modify Insert in ODB Step dialog

Different Boards on the Same Panel

The flipping of boards on a panel is actually a very narrow application of the power of ODB steps. Boards can be flipped due to the fact that the same layer can hold different data in each of its steps, which can then be placed side by side in the same design space. This underlying freedom begs the question: why must a panel be arrayed with the same board? The answer is that no such constraint exists in the CAM Editor.

The reasons for wanting different boards on the same panel are varied. A fabrication house will be interested in maximizing the used portions of the panel, but the larger the board, the more difficult this becomes. Small boards, even if they come from a different source, could fill the available space and cut manufacturing costs. Conversely, a single product may consist of several boards, which a designer would prefer to fabricate together on a single panel.

Of course, there are certain constraints. You can only panelize boards that share the same stackup of signal layers and internal planes. They also require compatible drill layer sets.

The default behavior of the CAM Editor is to create new layers when new images or drill files are loaded. This method will not suffice for panelizing different boards together, because you need different board data to exist on the same layer, but in different steps. To facilitate this, an option is available on the CAM Editor - Import/Export page of the Preferences dialog, which allows you to import additional Gerber/Drill files into existing layers.

With this option enabled, you will see a mapping dialog whenever you import additional Gerber, drill, or IPC data files after such layers have already been imported.

The Map Layers to Import to Existing Layers dialogThe Map Layers to Import to Existing Layers dialog

The Maps Layers to Import to Existing Layers dialog contains the new files on the left and the existing layers on the right. According to extensions and the Layer Types Detection Template, which is accessed by selecting Tables » Layer Type Detection from the main menu, the CAM Editor will propose matches, but you can adjust these as you require. Any files that you don't want to map to existing layers can be set either to create a new layer or to be dropped out of the import process altogether.

It is necessary to create a new ODB step and make it current before proceeding with this mapping process. Otherwise, layer data would all be superimposed without any way of separating one board's data from the others.


The Venting and Edit Pattern - Venting dialogThe Venting and Edit Pattern - Venting dialog

You may add a venting pattern to the unused portions of your panel, which can help distribute the chemical etchant evenly across your panel. The CAM Editor's automatic panelization will fill all the space between the panel edge and the board instances with a venting pattern of your choice.

This pattern may be raster, vector, solid, or shape-based. You may choose from generic shape options with user-defined sizes, or select an existing DCode as the basis for a venting pattern. This pattern will be applied to the signal and plane layers only (these are defined in the Layers Table in the Types column).

If you created venting when you originally panelized the data, then added ODB++ steps such as coupons, tooling holes, or even flipped or alternate boards, it is best to refresh the venting pattern. This is achieved by removing venting and then adding it again. Commands for such will appear when you right-click on the step entry for the panel (campanel), which is found in the Steps tab of the CAM panel. It is best to remember to make the panel step the current step in order for these commands to become active.

Board Edges

How the boards will be separated from the panel is a consideration for both fabrication and assembly houses. For instance, an assembly house may prefer to keep panels intact until the boards are populated, which supposes that the panels will be sturdy enough to hold together during assembly, but perforated to an extent that will allow them to be snapped off the panel afterward without any trouble.


V-scoring is a viable solution, which applies a v-shaped groove between board sections on both the top and bottom sides of the panel, leaving a thin connecting web remaining. All of the details of this process, such as blade angle and web thickness, and whether to apply jump-scoring (areas where the groove is disconnected, making the panel sturdier), must be passed on to the scoring machine operator.

Currently, scoring machines require programming. This will often be taken from non-CAD forms that you fill out indicating the data points and lines within your panel configuration. Some scoring companies will, however, be able to extract drill and line information from Gerber files, in which case you could design the scoring lines in the CAM Editor just how you want them. In any case, placing scoring lines on the top silkscreen layer will provide visual cues for the machine operator, which will be used in conjunction with the extracted and explicit information you provide.

NC Routing

The traditional method for board edging, however, is done with routing bits. Smooth board edges can be created by plunging a routing bit into the board at specific locations, dragging it along a pre-determined path, then retracting it.

Several considerations are important when preparing routing information. These include the size and shape of the drill tool, and the rout path, along with its plunge and retract points.

To generate and review these instructions, the CAM Editor must be configured in the NC Routing mode, which is reached from either the View menu or the CAM panel. In this mode, you can create new drills for your Tool Table by selecting Tables » NC Tools from the main menu, based upon selected flashes in your design. You can then use commands available from the Rout menu to define routing paths with these or other existing tool bits.

Automatic Border Routing

Routing paths may be defined manually, but the automatic tools should be used whenever possible. Joining board outline segments into a single, closed polyline is going to be much less work than trying to manually place a routing path with precision, especially when your board outline contains arcs.

Use the Auto-Rout PCB Border command from the Rout menu to create a routing path around the entire board, using the PCB border. You will be prompted (via the Status bar) to select the plunge-point vertex of your routing path. Again, if you cannot seem to select any vertex on your PCB outline at this point, you should make sure that your border is a closed polyline object.

The Auto Rout PCB dialogThe Auto Rout PCB dialog

The vertex you choose as the start of your routing path should be in the lower-left corner of your design, otherwise the extension lines, should you choose to have any, might actually cut into your board. You may follow the Status Bar instructions and click on a second location on your outline, by which you determine the direction of the routing path. Right-clicking to finish will bring up the Auto Rout PCB dialog, where you may select the drill tool and the extension values for the plunge and retraction points.

If you do not have a cutter compensation offset value defined for your selected tool (in the Tool Table), one can be generated for you automatically. A new layer (*.rte) will be created containing the rout path for your PCB outline.
You may proceed to add tabs along the routing path, which retracts the drill from the panel and moves ahead along the path a specified distance before plunging in again. Placing routing tabs is analogous to jump-scoring segments: they leave boards fully connected to the panel at certain points, ready to be broken away at a later time.

When positioning the cursor at the required point along the rout path at which to insert a tab, it is important to click on the rout path itself. When in Fill mode, the rout path may consist of the actual rout path and an offset path. The result is that the center of the filled path may not be the actual rout path and hence clicking will insert no tab. It is advisable in this case to change to Outline mode (Shift+F). The rout path and any offset (compensation) path will be shown, with the former represented by a solid line and the latter by a dotted line.

Mill Boundary

Another automatic tool, Mill Boundary, detects a border in a similar way (a closed polyline is again required), but proceeds to create a back-and-forth pattern that will mill away the entire area, rather than cutting around it and letting it fall out of the board or panel.

After successfully selecting a border, you must decide which tool to use and whether you want to place the milling path on an existing layer or a new one. Toggle the view from Fill to Outline (Shift+F) to see the actual path that has been determined for the milling path. Climb milling is when the milling path moves in the same direction as the concave side of the drill tooth; milling in the opposite direction is called conventional.

Milling an area is a particularly valuable feature in the case where you have assigned a Z-axis parameter to your milling tool that is less than the panel thickness. Thereby, you can create an indentation on the board, such as you might require when mounting special components.

Manual Routing Tools

Circles may be created as clockwise or counter-clockwise entities that let you determine the radius. The plunge point will be at the circle center and the tool will retract when the circle is fully routed. Slots are less automatic because you must make sure you start on the plunge point and return there when you want to place the retract point by right-clicking if you want your slot to be complete. Text routs are like slot routs with predefined paths for each letter (including plunge and retract points); you simply provide a message and indicate how high you want the letters to be.

Routing instructions, of course, are not necessarily post-panelization features. Any milling objects that are defined within a board, such as internal slots, which you include for panelization will be included with all other panelized data.

Found an issue with this document? Highlight the area, then use Ctrl+Enter to report it.

Contact Us

Contact our corporate or local offices directly.

We're sorry to hear the article wasn't helpful to you.
Could you take a moment to tell us why?
200 characters remaining
You are reporting an issue with the following selected text
and/or image within the active document: