On 1/4/19 6:18 PM, Tomasz Wlostowski wrote: > On 04/01/2019 18:51, Brian Piccioni wrote: >> I am still keen to attempt to incorporate geographical component annotation >> into KiCad. In general, it is preferable for component annotation to be done >> relative to the PCB and in some logical order (left/right, top to bottom, >> etc). Thereafter this information is imported to the schematic. I wrote a >> standalone utility (RenumKicadPCB) which does this but ideally, we’d want >> the function built into Kicad. >> >> I understand this would be viewed as a “rogue effort” but lack of >> geographical component annotation is a major missing feature and my hope is >> that if my code works the developers might consider adding it or something >> like it into the project. Otherwise I’ll just maintain my own variant of the >> two affected applications for limited use. >> >> I am not used to working in c++ or working on large projects. Nevertheless, >> I figured I’d give it a try. I have been studying the source for a few weeks >> and have developed a strategy which would be very simple to implement if I >> had more skill/experience. >> >> The first thing I want to do is to add the ability for eeSchema to import a >> “was/is” file to update schematic annotation. Since renumbering the PCB can >> be done manually or with a plugin this seems like a good first step. Since >> an annotation function already exists in eeSchema, all I would have to do it >> provide an option for replacing annotation with a was/is rather than the >> annotation generated by eeSchema’s annotate function. >> >> I see a clear path to doing so however, the scope of Kicad and my limited >> experience with c++ and large projects mean it is not going to be easy for >> me. I am not that adept at navigating Doxygen files so I have a few >> questions regarding the source code (these are limited to eeSchema at the >> moment). >> >> 1) Where are the file IO functions? I have searched for (for example) >> LoadProjectFIle and find the prototype but not the actual function. >> Similarly I find the prototype for SaveEEFile() but not the actual function. >> >> 2) I would like to copy as much of the existing code and dialogs as >> possible (i.e. make new dialog based off another dialog) but when I open, >> for example, dialog_annotate_base.h I see >> >> >> /////////////////////////////////////////////////////////////////////////// >> // C++ code generated with wxFormBuilder (version Jun 5 2018) >> // http://www.wxformbuilder.org/ >> // >> // PLEASE DO *NOT* EDIT THIS FILE! >> >> /////////////////////////////////////////////////////////////////////////// >> >> But I can’t find the “source” from which this file is generated. Where is it? >> >> 3) There is a guide on the Kicad documentation “Tool framework” which >> describes adding a tool to PCBNew. Is there a similar guide to adding a >> tool/function to eeSchema? How do I go about this? >> > > Hi Brian, > > Others have already answered to your questions so here's my offer: I > believe geographical annotation is a very useful feature so I can offer > a bit of my help. Point me to: > - the latest sources of your tool, > - a sketch of the user interface (dialogs), can be a hand-made drawing > - a brief description of how you want all this to work (in terms of user > experience). > > Once I have this information, I'll try making a basic port of your code > to Kicad codebase to the stage where you could take it over and > contribute further features/fixes on your own. > > Tom >
There is a lower level piece of the puzzle that is missing and that is back annotation from the board editor to the schematic editor. This is non-trivial because you have create a netlist from the board information and pass it back to the schematic editor. This would be the only solution that I would accept. I want to avoid multiple ad-hoc solutions for back annotation purposes. Cheers, Wayne _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp