Another wish-list item: do not force the PCB to have the same file name as the schematic or the project. Why? At the day job our PCBs are assigned part numbers because they are obviously separate from the schematic and the BOM and they are ordered just like any other part. We use Altium, and it allows you to call the layout file in the project whatever you want, so if a PCB is given part number 1234, the PCB file is called 1234.PcbDoc. Now, assemblies (PCBAs) are also given a part number (a higher-up assembly drawing which calls out a PCBA does so by that part number), so we name the project by the assembly part number and the top-level schematic sheet gets a name like 1235_Top.SchDoc.
The point? Gerbers are generated with filenames based on the PCB document name, which is, as noted, the same as the part number. And thus we do not have to manually rename ANY files at all. There are too many chances for error if people start renaming files generated by CAD programs, so we simply don’t do it. Gerbers for PCB 1234 get zipped up into 1234.zip and that’s what goes to the fab house.
Kicad doesn’t allow the names of the top-level schematic sheet and the pcb file to be different from the project name. It breaks the Kiway communication between EESchema and pcbnew, which, among other things, lets you click on a footprint and have the schematic symbol automatically get selected.
I just did a test with a recent nightly build. I created a project called
test.pro, and it autocreated a top-level schematic
test.sch and a board layout file
test.kicad_pcb. In the Project Manager I renamed the layout file to
test-foo.kicad_pcb. I added some stuff to the schematic, annotated it, then exported a netlist.
Next, I opened the layout file by clicking on its name in the Project Manager. The first thing I noticed is that on my Mac (10.12), pcbnew opened in a separate window, rather than as a tab in the same window as the project manager and EESchema. pcbnew is a separate instance from the rest of the program.
Then, import the netlist. The netlist editor offers
test-foo.net as the default netlist name. I changed that to
test.net which was exported by EESchema. it imports fine. All of the parts are there. Then I click on one to select it, and the EESchema window does not warp to that selected part. Do the same in EESchema, and the footprint in pcbnew is not selected. I save the pcb file, and I am asked if I want to “Update the project with the new settings.” I do so, and then I notice that a new project file
test-foo.pro has been created and added to the original
So it’s the project manager which enforces the naming rule, and it seems to me that it shouldn’t be hard-coded like this. The project manager should know that the one named PCB file in the project is the one we are working with, and it should also know that the one schematic file in the project is the one we are using (remember the project manager doesn’t list subsheets). Those filenames shouldn’t have to be the same as the project name.
sorry for the length.