On 3/14/2011 10:16 PM, Clive Nicolson wrote: > A few months ago I had a need to reverse engineer a legacy pcb for which all I > had was the pcb board. > > I looked around for a tool to help me with this and could only find > Deltasoft's > CBR 5.0, then I discovered kiCad ... > > I modified pcbnew (ver 2709) so that I could display an underlay image of my > pcb above the background and behind any foot prints. I soon discovered that > although I could place foot prints corresponding to those on the pcb I could > not easily get back to a schematic in eeschema. > > I then added the following: > > 1) the image underlay code to eeschema, the component editor and the foot > print editor. > > 2) modified modedit.cpp so that I could create components from foot prints. > > 3) modified schframe.cpp and sch_component so that at the press of a button I > could flip between a schematic of components and a schematic of foot > prints, > with the wire end points following the pins to which they are connected. > Newly placed foot prints are automatically given sensible positions. > > 4) created some components and corresponding foot prints for junctions and > vias. > > 5) some other stuff! > > Some of this code is buggy, incomplete and a little hackish and without too > many changes to the GUI (ie no dialog changes), but now I can edit both a > schematic and it's pcb dual in eeschema.
Clive, This is a lot to absorb and I'm not sure I understand everything you have done but I'll try to give you a reasonable response. First I would like to thank you for your interest in contributing to Kicad. The Kicad developers are always looking for new developers who are willing to contribute to the project. That being said, there is a preferred process to making contributions to Kicad. Generally, you start by making smaller fixes and improvements and submitting them as patches to the mailing list. If your patch is accepted, it will be committed by one of the developers who has commit access. You may be asked to make some changes in order to get your patch accepted. After you have proven to be a capable coder who is willing to work within the development process, you will be given commit access to the testing branch. The length of this process depends on the quality and frequency of your patches and your willingness to work the rest of the development team. There is a lot of good information for developers on Kicad project page on launchpad at https://launchpad.net/kicad. > > I would like to add the following to eeschema/KiCad (not nessecarily in this > order): > > i) layers as in pcbnew. I'm not sure this is necessary. Layers in the schematic editor aren't as useful as they are in the PCB editor. You generally don't have a lot of overlapping items that require turning layers on and off. Architecturally there are only two types of objects in the schematic editor, objects that have connections and objects that do not have connections. I'm not sure the added complexity of layers buys the user anything useful. > ii) auto routing of a schematic. I'm assuming that you are talking about routing the schematic from the PCB lay out. This might be useful for folks who have to do what you did. I'm not sure most people would approach it this way. I would think most people would generate the schematic first and then duplicating the PCB layout. > iii) component locking etc as in pcbnew. This would certainly be useful. > iv) some functionally from cvpcb to ease adding footprint names to components. Also useful. > v) make images drawable just like lines arcs etc. If by images you mean bitmaps and vector graphics, I'm all for that. > vi) copy foot print position and orientation info into the net list files. Also useful. > vii) make some newly added behaviour controlable via dialogs. > iix) ... > > It is a pity that eeschema and pcbnew (and their corresponding component and > foot print editors) do not share more code and file formats! The file formats are being worked on. The initial push is in the component library file format and the schematic file format. Once that is complete, we'll shift our attention to the module library file and PCB file formats. The shared code issue is something that I've been working on. The PCBNew code needs a lot of clean up before we can push the improvements I made to the EESchema code down a layer where it can be shared with PCBNew without creating a bunch of problems. These changes will happen slowly over time. > > Any interest in this technology? You have proposed some of useful changes to Kicad. Getting these changes into Kicad depends on your willingness to work within the development process to get them committed. I hope you have been keeping your branch up to date because merging from r2709 is not likely to be very successful as the current testing branch is at r2900. If this is the case, don't feel bad. I made this same mistake when I first started working on Kicad. I wrote a complete working autotools build environment to replace the original hand made make files only to find out that CMake was going to be the default build tool. I learned a valuable lesson. Now whenever I plan on making any significant changes to Kicad, I post them to the mailing list to make sure I'm not duplicating any effort or heading in the wrong direction. I find that small incremental improvements are generally more successful than large change sets. I hope you consider contributing to Kicad. We could always use more help. Wayne > > Clive > > _______________________________________________ > Mailing list: https://launchpad.net/~kicad-developers > Post to : [email protected] > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp > _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

