I’m trying to exclude some components from the build, and from discussions, I see that do no populate doesn’t do this. You have to set “exclude from BOM” and “exclude from position file”, but “exclude from position file” is only settable in the PCB editor, not in the schematic, which is really strange.
I’ve also read that there is a DNP flag that is in some generated output if that is set, but I can’t find that. Is there a way to get that in the BOM or position file? I can post-process as necessary for what I need, but I need to be able to find it.
Yes, and unfortunately it doesn’t really help. I know I can mark them all, but I have to do it in both the schematic and the PCB editor, otherwise updating the PCB might overwrite the BOM setting.
What I really want is a way to find out from the fabrication output if a component has DNP set. That would be ideal. But I can’t figure out how.
It would also make a ton of sense to have the “exclude from position file” flag in the schematic, which would also work for me. But I think that has been discussed before.
You should also consider keeping DNP parts in the position file. The position file is just a list of the positions of all potential components according to their reference designators. It is not the same as the BOM (which controls which components actually exist).
You can choose to include or exclude DNPs. I choose to include them and sort them to the very bottom of the BOM then manually edit the BOM to include only the reference designators in a separate section called Do Not Stuff:
FWIW, my CM wants to see all the components in both the BOM and the PnP files and they reconcile on job setup. It’s flushed out an error on my part more than once with an email about a footprint with a refdes but not called out on the BOM as either a stuff or nostuff. They recon that’s an error and they’re usually right.
I also make use of the ‘show Exclude From BOM’ function as an error check now. I sort on that column and make sure it only has things like test points and mounting holes. One of the errors I made early on in Kicad that was the root of irreconcilable BOM entry is that I had mistakenly somehow checked Exclude from BOM on a critical Xilinx part and the tool dutifully . . . excluded it from the BOM. Doh!