Communicating Design Intent with Manufacturing Outputs

David Haboud
|  Created: May 20, 2020  |  Updated: April 12, 2021

No one wants to do a board respin because of inaccurate or incomplete manufacturing outputs confusing design intent. This webinar covers the information needed for PCB Manufacturing and Assembly, as well as, a simple way to communicate and collaborate with manufacturing.


  • Output files for PCB Manufacturing and Assembly
  • Uses for output files
  • Methods of output generation
  • Collaborating with Your Manufacturer



Welcome everyone, I'm David Haboud. Today's webinar is dedicated to Communicating Design Intent with Manufacturing Outputs. I'll be initiating some polls throughout the webinar. If you have any questions, please put them in the Q & A panel. And if there are any issues, please just raise up your hand and throw something over in the chat panel.

We're going to get started today by discussing the different output files required for PCB manufacturing and assembly. We will then move on to discussing the methods for a data generation and the different data package sets. Once we've discussed the different data package sets, we'll discuss the standard extensions and file types found in those data packages. Lastly, we will discuss what is necessary to collaborate with manufacturing and how Altium 365 can enable you to share and collaborate on your designs.

PCB project output files are divided into three main file packages. The first group of files are data sets for PCB manufacturing. This includes Gerber, NC drill files, ODB++, and the data about the PCB structure, such as the layer stack up, impedance profiles and layer materials.

The second group are files for device assembly. Pick and place files, assembly drawings, and the bill of materials.

The third group of files are used to check models of the device assembly in the product design. So a 3D model, the device is useful for design engineers. Why is this? A 3D model can be used, it's needed for coordination of the device assembly design components in the whole device. So let's start our first poll. What do you send to the PCB manufacturer and to the manufacturing plant? Since there are many methods of generating data sets for manufacturing, we will discuss the two main methods utilized in Altium Designer.

The first method of data generation is the fabrication outputs option in the file menu. So in my opinion, this method is not very convenient since you need to manually create and customize it for each project. When you select Gerber file under fabrications output, a setup wizard opens up. You see here we have defined the units and format as 4:4. The first digit is the number of digits before the decimal point for the dimensions of your PCB and the second digit is the number of digits after the decimal point.

So this determines the accuracy of the drawing to form a photo template of graphical data. For example, if you use a 0.005 grid and the output file is at 4:3, the maximum PCP dimensions will be 9,999, and the grid will be rounded to 0.001. Which, in some places may lead to potential problems in reproducing the topology drawing in the photo template.

So in the next window we will specify the layers to be generated in Gerber files. So pay attention to the check box that says, include unconnected. In a multi-layer PCB the via connect pad will remain on all layers if the check box is enabled. If the check box is disabled, the via contact pad will be on only the top and bottom layers of the PCB.

You can also specify the mechanical layers that will be displayed in each layer on the right side in the layers menu. So for manufacturers with older CAM systems, this can be useful when they are combining photo templates with no-through holes on the PCB.

Next is the drill drawing tab providing two more information layers. The first shows the location of the drill holes. The second indicates the placement of the guide for each hole type. So manufacturing can determine and verify the correctness of the drilling data from this documentation.

Then we have the apertures tab. So set the embedded apertures check box. This is RS-274X. This will place the apertures for photo template drawing formation in the Gerber files. Lastly, we have the advanced tab. The first thing to know is under batch mode, separate file per layer. We then set the check box, keep leading and trailing zeros.

For example, if the coordinate of some element is 10, earlier we chose the leading length to the decimal point as four. When writing the coordinate in the Gerber file, it will be displayed as 0010. Next, we should specify the reference to the relative origin, and that is determined in our project.

For now, we're not going to pay attention to the other parameters. The next fabrication output is the NC drill file. We start by selecting the units and format as we did with the Gerber file and we set the generate separate NC drill files check box for plated and non-plated holes.

If a project has connectors with contact packets defined as slots, you need to set the used drilled slot check box. If you plan to create a panel, you can specify the size of the cutter that will separate the work pieces. So you can set the checkbox, generate board edge root paths, and then specify the root tool dia, or the size. In this case, a Gerber file with specified root paths with custom size around the board shape will be created. I'm going to start another poll here. How do you create Gerber files?

Next is ODB++ generation. This requires you to simply select the layers by selecting the plot check boxes. The last fabrication output we will discuss is the board stack report. You could use the report board stack from the fabrication outputs menu, but I'm going to show you how to get the board stack up outputs with information about impedance profiles and via types.

This method provides information on layer stack parameters, material types, and thickness. This information already exists in the layer stack manager with both via types and impedance profiles. We simply open up the PCB document and go to design layer stack manager, or shortcut keys DK and in the file menu, we use export CSV to get all of the information from the layer stack manager.

Now we're going to take a look at assembly outputs, starting with pick and place files. This file will show you the coordinates of the component center. So we simply specify the units and file formats, and then we choose which column should be display and in what order. To build a PCB assembly, you need to create a bill of materials and assembly drawings. The assembly drawing sheets allow you to print various required layers.

Later, I'm going to demonstrate how to configure one of these assembly drawings. Now that we have seen how to individually configure important files for our data packages, we can move on to the best way to create outputs for all of our designs. So this is going to be the output job file.

The output job file is created as a template that can be added to new projects. When added to a new project, you only need to slightly modify the configuration to have all of the necessary outputs. The outjob file is divided into outputs and output containers. Now let's take a look at actually creating an outjob file.

Any output type can be added and configured to the outjob. This is going to ensure you have all outputs necessary for your project. Just right click on the output and select configure. The appropriate setup will automatically open.

We've just gone through some of the most important ones throughout the webinar. Here I'm just going to configure this assembly drawing as we talked about earlier. I start off by specifying the layers displayed on each sheet. Right here I right click and select insert layer and a new window will appear here so I can choose the layer information to add.

Now I can specify the options for displaying various elements here.

And a layer will be added to the specific sets that I have defined here. And I can just add as many layers as I want and just keep repeating.

So once we've configured our outputs, we can configure our output containers. So let's first look at PDFs. When generating PDFs, you can specify where the files will be created. These should be separated by file type to minimize confusion. You should also specify the zoom display level with the slider between far and close.

When we create a container to generate Gerber files, we also customize the paths where we can find the file. In advanced options we can also specify that the generated files must be added to the project. After generation, we should open up the generated files. You can make sure you do this every time by specifying that the outputs auto-load into CAMtastic. Here we're viewing a Gerber file in CAMtastic. In this environment you can see how the graphics were generated as well as the aperture correctness.

It's also possible to find any component by its D code. Let's go over some shortcuts. Shift+F enables transparent mode. Shift+H highlights selected D code, and Q is used to find out the D code of the element.

The solder mask is needed to find accidental errors in the footprint or the absent of solder mask clearing. You can see how the solder mask on the pads significantly exceeds the required size and clears the polygon near the pad. For example, the poor distance of the polygon is 0.1 and the mask on the pad is cleared by 0.2. This mask will potentially short out.

Let's go over the data package sets. Depending on the completeness of the order form of the specific manufacturer, additional files may be required. Such as the description of the Gerber files, information on the stack up, or impedance calculations. Gerber files and stack up descriptions should specify the minimum hole width, clearances, holes and hole types such as blind and buried vias.

This will allow the manager to promptly provide you with a preliminary commercial offer. If a contract PCB manufacturer company does not have its own order form, you can generate a text file that includes a layer description, drawing parameters, holes, clearances, finished coding, and other PCB parameters.

Here's another poll question. Do you have enough Altium Designer tools and resources to prepare your project for manufacturing? Do you use other programs?

Let's go over the standard extensions and file types. Let's take another look at Gerber's. You can export the required layers with specifications, dimensions, and PCB layer stack. The EXTREP file shows all of the files for the individual layers that were generated. This file can be edited in notepad to clarify the description of user layers. For example, Mechanical 1 can be changed to board outline. It's also possible to place data about dimensions and technical requirements on additional layers.

It is important to pay attention to the check boxes required to form separate layer files. The reports here are presented from two projects. The left is the report of the webinar project. The right is a more complex project. It is necessary to provide more information about a complex stack as demonstrated by the complexity of the report. Advanced Gerber file RS-274X represents a series of separate images, independent of the graphics objects extension.

By putting these objects together, this file type offers a combined image of each layer of your board, including the dimensions, shapes, and placement of real components. This file consists of a collection of commands that control both the graphical state and the graphical objects used to create an image of your PCB layer. Each file in RS-274X matches one layer and contains all of the information needed to create this layer in its physical form.

Logical commands inside each Gerber file are structured and executed in a linear manner. These commands manage the graphical objects and change the way they are created. You can see a fragment of the RS-274X Gerber file presented here. RS-274D is an older format used by particular manufacturers. It often causes difficulties and increases the probability of data error and should not be used. ODB++ can be useful to transfer all of the critical design information to a simulation environment. This makes ODB files more practical for manufacturing than Gerber's. You'd get all the information you'd get from Gerber files plus additional information like net names and impedances.

We have now seen all of the critical outputs on how to generate a complete set of documentation. The key goal of generating these complete outputs is to convey your design intent. This will provide a quick start to your device manufacturing by reducing questions, errors, and discussions.

We are now going to take a look at how Altium 365 provides the most connected experience for PCB design and realization. So you can collaborate with manufacturing.

If the key goal of our documentation is to convey design intent we need to look at the challenges we face trying to get this done. Sharing our outputs and content remotely is the first major hurdle. We often have to package these files or convert them into another format for our manufacturer. Then we must figure out how to get it to them and whether it is through email or some other method.

Next step, the manufacturer needs a viewer and a license. An Altium Designer Viewer License can be created automatically using a free Altium Live account, but many manufacturers use third party file viewers, and those require their own licenses.

This is where Altium 365 steps in to keep you connected with manufacturing, enabling clear communication. Your manufacturer should be able to review design content easily and securely regardless of where they are located. Altium 365 allows you to share designs and outputs for ease of access from anywhere. Browser based viewing allows manufacturing to access your design data over the web without the need for an additional license. Basic functionality necessary for file viewing is maintained for review purposes.

You can collaborate with others who don't need to have an installation with Altium with the ability to make comments on design objects or areas that show up directly in Altium Designer.

Let's take a look at an Altium 365 workspace. So you see here, you have an area for all of your projects. I'm going to come in here and take a look at the project we've been looking at, the Bluetooth Sentinel. You can see all of my files are here in the design tab.

We have my schematics and my PCB. People would be able to comment over here, whether it's a manager or manufacturing, and there is an actual manufacturer tab. Here you are able to see all of your outputs that you have released. You are able to use your out job files and use the project releaser, which is the topic of another webinar. We actually already have a webinar on it. We might do a new one in the future. You release the project using the outjob file, and then you are able to send your packages out to your manufacturer through this tab.

And there you have it. So, that is the basic functionality I want to show you today. I want to thank everyone for your attention. If you have any questions, feel free to put them in the Q & A chat right now. If you want to follow up with me, please email me at

About Author

About Author

David Haboud joined Altium as a Product Marketing Engineer in 2015. He studied electrical engineering, emphasizing computer architecture and hardware/software design at the University of Southern California. As an embedded software engineer in the aerospace industry, his focus on firmware development and data acquisition for auxiliary power units highlighted the importance of cross-functional collaboration. Through his engineering experiences, he discovered his passion for enabling cross-discipline engineers to communicate effectively. In his spare time, he hosts and performs in improvisational and stand-up comedy nights in San Diego, California.

Back to Home