Contact our corporate or local offices directly.
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.
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.
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 dialog that appears initially contains information that is calculated based on the extents of the board that you are panelizing (defined by the objects selected). 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.
Clicking the Show Preview button will open a preview window within the dialog, from where you can view how the panels will appear on the sheet. Changes to the panel spacing will be updated in the preview window, enabling you to obtain the spacing you require before proceeding.
After all options have been defined as required, clicking OK will effect the panelization, and the array of panels will appear in the main design workspace. The array starts with the original selected objects and is placed upwards, and to the left.
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.
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. After launching the command, the cursor will change to a square and you will enter object addition mode. The procedure involves performing the following sequence of actions:
The addition of objects may well cause the frames in the array to overlap. You can modify the distance (or gap) between frames, using the Modify Step_Repeat dialog. To do this, choose the Edit » Step/Repeat » Modify command from the main menus. After launching the command, the cursor will change to a square and you will enter array modification mode. An array is modified by performing the following sequence of actions:
Select the particular Step & Repeat array to modify. Simply position the cursor over any object included as part of the array selection in the original frame of the array (lower-left), and click - the Modify Step_Repeat dialog appears. Use the dialog to modify the number of rows and columns in the array and also the spacing for the array, using one of two methods:
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. After launching the Edit » Step/Repeat » Remove Objects command, the cursor will change to a square and you will enter object removal mode. Removal is made by performing the following sequence of actions:
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. After launching the command, the cursor will change to a square and you will be prompted to select the particular Step & Repeat array to explode. Simply position the cursor over any object included as part of the array selection in the original frame of the array (lower-left), and click. All frames in the array will be filled with copied information from the original, and the frame borders will be removed. Continue exploding other Step & Repeat arrays, or right-click, or press Esc, to exit.
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 design space (cam_work):
When viewing the content of the panel step in the design space, 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.
To access the Steps Table dialog, from where you can view ODB++ Step information for the current document, choose the Tables » Steps command from the main menus. When you click OK in the Steps Table dialog, the Steps tab on the CAMtastic panel will be refreshed. You can add/modify Steps from this tab, by right-clicking and choosing the appropriate command from the context menu. The Steps Table dialog will appear automatically when importing ODB++ files into the CAMtastic Editor.
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.
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 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 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 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.
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.
To add a venting pattern to the current panelized PCB, choose the Tools » Venting command from the main menus. The use of this command will depend on whether or not you kept the vent_border layer when the PCB was panelized.
With a vent_border layer present – after launching the command, the Venting dialog will appear. By default, all signal and plane layers will be selected for venting. To deselect a layer, simply click on its entry.
The left-hand side of the dialog shows the currently defined venting pattern that will be applied. Click on the Edit Pattern button to open the Edit Pattern - Venting dialog, from where you can define the specific venting pattern you wish to use.
After defining the venting pattern and layers to be vented as required, clicking OK will apply the venting pattern to the panel, in all areas outside of the vent_border.
With no vent_border layer present – without a vent_border layer, the panel border will still exist, but the individual PCBs on the panel will have no boundary by which to calculate the area for venting. You will therefore need to add borders to each of the PCBs on the panel, essentially creating your own vent_border layer. Adding a new layer and using the polyline command to draw boundaries around each PCB on the panel is one of the fastest ways to achieve this.
After launching the command, the cursor will change to a small square and you will be prompted to select the panel and PCB borders. Simply drag a selection box around the entire panel. All PCB borders and the panel border will now be selected. Right-click - the Venting dialog will appear. Define the venting pattern and layers to be vented as required and then click OK. The venting pattern will be applied to the panel, in the area defined between the panel and PCB borders.
To panelize selected Gerber layers within a single film box, enabling you to output Gerber layers onto film, for the current document, use the Tools » Film Wizard command from the main menus.
First, ensure that only those Gerber layers that you wish to include in the panel are turned ON.
After launching the command, the Film Wizard dialog will appear. Use this dialog to define the size of the film and the array of the layers thereon. You may select one of the predefined size/array definitions from the Film Description drop-down field, or enter your own.
The Individual Film Size region of the dialog shows the amount of film available for each image in the array, based on the size/array settings specified.
Clicking the Neg/Mirror button will open the Film Wizard - Select Layers dialog. Use this dialog to choose which layers you wish to have mirrored, or made negatives, on the film.
After defining the film options, clicking OK in the Film Wizard dialog will effect creation of the film layer(s). A dialog will appear prompting you to choose whether or not to delete old objects. If you choose Yes, the film panel will be created and the original layers will be deleted. If you choose No, the film panel will be created and all original layers will remain, but will be turned OFF.
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.
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. After launching the command, the Tool Table dialog will appear. By default, the table will contain a list of tools based on any imported NC Drill file, otherwise it will appear empty. Use the table to add/edit tool definitions. Up to 99 tools can be defined, each with a unique Dcode, starting from D9500. Use the Save and Open buttons to save the current tool table definition, or load a previously saved definition, respectively. Tool data is stored in a Mill/Rout Table Settings file (*.mts). Hovering within the various columns of the table grid will cause a tool tip to appear, with more information about that entry.
You can then use commands available from the Rout menu to define routing paths with these or other existing tool bits.
To create rout paths from selected traces in the current document, choose the Rout » Create Rout Path(s) command from the main menus.
Firstly, ensure that drill tools have been defined. If you have previously loaded an NC Drill file, tools for the design will have automatically been loaded and will appear in the Tool Table dialog (Tables » NC Tools). If no tools are currently defined, a dialog will appear alerting you to this fact when you try to launch the command, and you will have to define tools by importing a drill file, or by manual entry.
Once tools have been defined as required, launching the command will open the Select Mill/Drill Tool dialog. The dialog provides a drop-down list of all drill tools that are currently defined for the design. Select the tool that you wish to use for the routing and click OK. The cursor will change to a small square and you will be prompted to select the objects that you want to rout. Simply position the cursor over individual objects and click to add them to the selection, or use one of the many selection tools available. When all objects have been selected as required, right-click.
The selected objects will be routed and a rout layer will be created and added to the Layers list in the CAMtastic panel. The Create Rout Path(s) dialog will appear, from where you can change the tool used for the routing and its offset. You can also toggle the direction of the rout path(s) - plunge points will become retract points and vice versa. These changes are virtual and will only be applied permanently when the OK button is clicked.
To modify selected rout paths in the current document, choose the Rout » Modify Rout Path(s) command from the main menus.
First, ensure that the rout layer is the only layer turned ON and is visible in the design space.
After launching the command, the cursor will change to a small square and you will be prompted to select the rout path(s) you wish to modify. Simply position the cursor over individual objects and click to add them to the selection, or use one of the many selection tools available. When all objects have been selected as required, right-click.
The Modify Rout Path(s) dialog will appear, from where you can change the tool used for the routing and its offset. You can also toggle the direction of the rout path(s) - plunge points will become retract points and vice versa. These changes are virtual and will only be applied permanently when the OK button is clicked.
From the Rout Pads Options dialog, you can define options to be observed when pads are encountered along a rout path. To access the dialog, choose the Rout » Rout Pads Options command from the main menus. Setup the available options as required.
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.
First, ensure that the PCB border is a single, closed boundary. You may need to use the Join command to effect this.
Use the Auto-Rout PCB Border command from the Rout menu to create a routing path around the entire board, using the PCB border. After launching the command, the cursor will change to a small square and you will be prompted to select the corner of the border in which to position the plunge and retract points for the path. Simply position the cursor over the border and click - the corner selected will be the one closest to the position you click. 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.
You will then be prompted to choose the routing direction. A guideline is provided relative to the selected corner of the border, to aid you. Position the cursor in the general direction that you wish to rout and click - the Auto Rout PCB dialog appears. Use this dialog to select the tool that you wish to use to rout the border, and also specify plunge and retract point extensions.
After defining the rout options as required, click OK. The rout path will be created and added to the rout layer.
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.
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.
To manually place rout paths on the current document, choose the Rout » Manual Rout command from the main menus. The command is based on polyline placement. Polylines are useful if you need to close the line, or insert arcs as part of the line, both of which cannot be achieved using standard lines.
After launching the command, the Select Mill/Drill Tool dialog will appear. Choose the tool you wish to use for routing from the list of available tools. After clicking OK, you will enter polyline placement mode and a filled circle, representing the tool size selected, will appear floating on the cursor. Placement is made by performing the following sequence of actions:
Right-click to pop-up a menu offering a variety of commands that can be applied while in polyline placement mode. The following commands are available from the menu:
If ending or closing the polyline, or if undoing changes, you will remain in placement mode. Continue placing further polyline objects, or press Esc to exit polyline placement mode. Alternatively, right-click and select Cancel Action from the pop-up menu.
To add a tab along the selected rout path in the current document, choose the Rout » Add Tabs command from the main menus. After launching the command, the Enter Value dialog will appear. Use this dialog to enter a value for the tab size, in the currently selected workspace units (inches or mm). After clicking OK, you will be returned to the main design window, the cursor will change to a small square and you will be prompted to select a location for the tab. Simply position the cursor at the required point along the rout path that you wish to enter the tab, and click.
The tab will be inserted, effectively breaking the rout path into two segments, each segment being assigned its own plunge and retract points.
Continue adding further tabs along rout paths, or right-click, or press Esc, to exit.
To convert lines to an arc for a specified rout path within the current document, choose the Rout » Convert Lines to Arc command from the main menus. After launching the command, you will enter conversion mode, which entails the following sequence of actions:
To convert a closed boundary rout path to a rout circle, within the current document, choose the Rout » Convert Lines to Circle command from the main menus. After launching the command, you will be prompted to select a closed boundary. Simply position the cursor over part of the boundary for the rout path you wish to convert to a circle and click - the closed boundary rout path will be replaced by a circle, whose center point is defined as the center of a bounding rectangle that would enclose the closed boundary shape, and whose radius is defined by the horizontal distance from that center point to the edge of the bounding rectangle.
Continue converting further closed boundary rout paths to rout circles, or right-click, or press Esc, to exit.
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. Choose the Rout » Mill Boundary command from the main menus to create paths for milling out closed boundaries in the current document. After launching the command, the cursor will change to a small square and you will be prompted to select the closed boundary objects that you wish to create milling paths for. Simply position the cursor over each closed boundary in turn, and click. Once all closed boundaries have been selected as required, right-click.
The Milling dialog will appear. Use this dialog to define which layer you wish the milling paths to be placed on. You can select either the current layer, a new layer, or one of the existing layers in the document. Use the Select Tool field to choose which of the available drill tools you want to use to mill the paths. The Delete Old Objects option gives you the choice of keeping the original boundary objects for comparison purposes.
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.
Contact our corporate or local offices directly.