Re-Name Feature Request?


#1

It is not uncommon to have an “internal” name for a project prior to external release.

I think that it might be really nice if there was another “Archive” selection that was “Archive and ReName”.

During the process, all of the important files could be renamed with this feature without requiring the user to figure out which files are important and also having to rename them all manually.

It could also create a new sub-folder with the new name; or whatever location method is preferred by the users.

And, include the NEW creation as the TOP selection in the “Open Recent” selection.

What are your opinions before I actually create a GitHub account and submit this request?


How to up issue a board
#2

All kicad project files are simple text files and are very suitable for managing in a versioning system of your choice. For instance you can use git/svn or my current favourite, fossil, to maintain as many versions as you want, tagging, tracking and versioning and keeping a record of changes allowing you to go back to a previous version. Personally I found svn easier to get my head around but git is very capable. Fossil is quite interesting as it facilitates notes and wiki, is very easy to install and can runs its own lightweight web server so not just command line driven.that being said, there are plenty of git / svn gui clients too.
Not sure that building this into kicad would add anything that is not already available in a more complete and mature form.


#3

Embarrassing internal names - been there and done that too.
A sensible wish list item


#4

It seems like could be quite easily done with a script, or even a batch/shell file.


#5

This sounds very similar to a user who wants to start a new project based on an existing project (i.e., making a revised version of an existing board, while leaving the existing design files intact). I will suggest that the menu name “Clone Current Project” be used.

Well, yeah, it probably could. Scanning through the Forum I see many mentions of useful scripts, or suggestions where a script/batch file could be created. For a moment I’ll set aside the idea that many of us are circuit designers and layout guys by vocation, and our attempts at programming are inefficient, amateurish, fumblings. I’m still left with a sizable stack of scripts and batch files: a proposed script to clone a project; scripts to accurately import *.dxf files; scripts to manage component annotation; scripts to generate a BOM; etc, etc. I don’t see a centralized way to manage, document, maintain, and catalog all those scripts. If these scripted tasks have merit and broad-based usefulness - and I believe many of them do, even if I personally have no current use for such a script - then can we start thinking of scripts as a stop-gap measure until the tasks become integrated into the regular KiCAD programs? Or, can we have a more comprehensive, formalized way to “extend” KiCAD’s capabilities via scripts and batch files.

Dale


#6

Yeah, I slightly forgot not everyone is a command line guru :slight_smile:

It would be nice to have a tool plugin/setup for KiCad, at least for running external tools. A script can be written far quicker than the release cycle of KiCad, assuming even wishlist items ever get added to KiCad.

I’m often cloning projects, so I might even write the script :slight_smile:


#7

The traditional way would be to have a ‘save as’ option.

Which what I use for project reports that go to a client for approval / comments. You then up the revision and work from that. Which then allows you to go back to see what the changes were if there is a case of ‘he said, she said’. Also a good reason to be able to archive the whole project including revision history, for however years down the line where it may be investigated.


#8

Linux terminal bash

~$ for FILE in oldname* ; do NEWFILE=` echo $FILE | sed ‘s/oldname/newname/g’` ; mv $FILE $NEWFILE ; done

All in one line.


#9

Why didn’t I think of that…:smiley: Would make more sense like that. There is already code in KiCad to rename project files which is used when creating a project from a template, so either way it seems like an easy mod.

Try using \ to escape special characters like `, _ and <


#10

The developers use Launchpad for the main Kicad developement.


#11

As of now, the main KiCAD program doesn’t have a project-wide “Save As” menu item.

When I think of cloning a project, especially for a revision, it’s a bit more involved than simply copying the project folder. As already mentioned, you’ll probably want to change the file names within the folder. Temporary work files, and backup files, would probably not get copied. Pathnames in some of the KiCAD files should be changed to reflect the fact that the new project is living in a different location. I don’t think KiCAD keeps anything like a Log file but if it did, the contents would probably get purged and replaced by a new entry such as "Cloned from project " . . . . “, yyyymmdd”. My project folders tend to accumulate datasheets, spreadsheet and simulation files, notes to myself, etc, and I probably wouldn’t want to carry these into a revised project. If I was dreaming in living color, the “Clone” function would include an option to modify the title, drawing number, date, and revision level of the cloned documents.

Dale


#12

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 test.pro project.


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.


#13

While I understand the desire, I don’t suggest KiCad become its own version control system (even VCS Lite). To support those who aren’t command line users, an interface to a script is perhaps justified along with a default bash script to perform a primitive “Save As”. This would comfort the afflicted without afflicting the comfortable.