This seems simple... but I can't see a clean way to do it.
If I need some non-plated holes in a board, what's the right way to add them?
The only way I have found is to create a library part that has a schematic symbol and footprint. But even then, I have to assign a pad (copper) to the hole (pin).
There must be an easier way?
To make a non-plated hole, make the pad sizes on all layers the same size as the hole, and make sure the "Plated" box is unchecked.
To add it to the PCB without affecting the netlist or using the schematic, define the part with the "ECO registered part" box unchecked, then add it manually in ECO mode.
Thanks - but in ECO mode how do I add a footprint (decal)? I don't see that option - only to add a part, and that needs to have a schematic symbol.
You can only add parts. I use a single part I named NPTH, and have assigned multiple decals to it, non plated through holes of every standard size.
You do not need to add a symbol to a part. Just dismiss any error messages you may get when saving the part.
Normally, I find that I WANT the mounting holes in the schematic and in the library.
I put certain kinds of board features including mounting holes board features on the schematic so that when I synchronize, they'll automatically be added if they're not there already. Then if I accidentally modify or delete them in the PCB design, the synchronizing process will alert me that something is not right. And I won't be able to delete them without going to ECO mode.
The reason I want mounting holes in the library is that they usually correspond to standard hardware sizes. I don't want to create a mounting hole to fit a #4 hardware set over and over again. I can do it and get it right once and then re-use it a zillion times.
Consider putting mask reliefs on the SM top and SM bottom layers.
You might want to keep fill and metal features away from the hole if you need clearances for mounting hardware. You can do this with antipads but it's easier to just add a circular keepout on the top and bottom layers.
In general, I agree with your suggestion, and want to add some context.
In companies where electrical and mechanical are separate groups, EEs usually aren't going to care about hole and hardware sizes, much less put them in the schematic. But I do tell them EVERY electrical connection has to be in the schematic. So if mounting holes need to be grounded or decoupled, they have to be on the schematic.
I tell them to use a part I maintain called MTGHOLE, which has multiple decals assigned to it. After I refer to the mechanical details, I assign the correct decal. I have dozens representing evey standard hardware size and a few non-standard ones too. Those decals I build almost exactly as you describe, and they're named by hardware and pad size, not hole size. This makes everyone happy.
Since the schematic BOM is generally used for PCB assembly, and not the product assembly, hardware callouts tend to get lost in the shuffle, and easily get out of sync with the final design. You can call out a screw, but is there a washer? a lock washer? a nut? a lock-nut? How long is the screw? Is it a philips? a pan-head? a hex head? You can see where the schematic is not the right place for hardware BOM. Having said that, I worked for a company that wanted exactly that, and it was a complete nightmare. Every hardware change required a schematic change, and guess who had to waste their time, since no one else could run the schematic software?
Here's a slighty different scenario with same intent - I have a PCB layout with 4 mounting holes defined as 4 separate 4.2mm holes. I want to combine all 4 into a PCB decal for this specific layout so I generated a new decal through the editior and added the 4 holes. I thn moved each hole to the proper xy center location as those on the PCB. I created the PCB part type in schematic part editor and set the 4 pins to "unused" since there is no chasis or gnd connection for these mounting holes. I also assigned the previously created PCB decal to the part type and saved decal to library. From here I entered ECO mode in layout and deleted the 4 mounting holes. I then added the new PCB part to the schematic, linked the schematic and layout, then ran ECO to PCB (from Tools>PCB Layout). Nothing happend to show that the decal was added. I checked part types and decals and found no sign of the new part. I went to the layout, entered ECO mode and added the decal, but when I forward annoted again from schematic (ECO to PCB), the decal disappeared from Layout.......Not sure what is heppening or what I may have done wrong.
Any suggestions how to make it right or make this process easier? I create PCB decals based on board mounting holes since they often are tied to chasis gnd, but up to the last 3mos, my layouts were done out of house, so the process was already performed.
Did you check the box that says the part with the mounting holes is an ECO-registered part?
Yes, ECO-Registered part is selected
So maybe the problem is making the pin "unused." Instead, try making the pins regular pins that can be connected to something and then just don't draw a wire to them on the schematic. That's what I do when I want a hole that's not electrically connected. They'll show up as unconnected pins on your schematic and should show up as padstacks on your board.
I make a part for each mounting hole so I can locate it individually and then I glue their location once they're in the right places.
I can help make it right, but it's not easier.
First, if you use the link, double-check all of the settings on the various tabs. Something might have changed.
Second, double-check your part to make sure it is calling out the right decal.
Third, check your library paths to make sure you're referencing the part you think you are. The schematic library path is not the same as the PCB library path.
Fourth, don't use the link. Since in my work I don't always have complete control over the schematic, I always generate a netlist, and use Compare/ECO on the PCB end. This lets me review the ECO file and make sure the changes being made are the ones I expect to happen. If there's a lot of changes, I'll import the netlist into a new PCB just to see if all of the parts can be found, before having routes ripped up because the ECO file can't find a new part.
Just the other day, a customer gave me a new schematic, and told me they changed only an HDMI connector (actually a bank of 8), but not to worry, since they were the same size and locations as the old ones. Looking at the ECO file, I noticed every single trace was going to be deleted, which represented many days of work. What my customer didn't tell me was the new connector was the mate of the original, and all the pin numbers had been changed (mirrored), even though the physical layout would be the same. In this case, manually ECOing in the new part and making the new pin assignments manaully was the correct fix. It took an hour, not two days. It would have been impossible to do this correctly if I had used the link.