Re: [Kicad-developers] Group selection idea
> - Duplicating a group should create a new group (I'm not sure it works > this way for the moment). Currently duplication just copies the group, but yes, I can change so that it appends -{num} from 1 and upwards when copying. Here I also guess that ideally they would be a subgroup of a nested group after that. {groupname}-copies for example > You can for instance > define a group as a set of unique timestamps of the items which belong > to it. This would also simplify the file format by not polluting the > board entities with group information, e.g. I am not sure I like this, the format pollution you mention is actually something I want, It makes the file format easy to scan with a text editor, which is something I have had to do a few times when using Kicad. But ofcourse I could probably change that if it is deemed neccesary. How does timestamps work? Are they unique always or are they an indication at what time something is added/edited? > - Add Group/Ungroup commands to the Edit menu. Not sure I follow, do you mean the preferences menu? The one you get with the shortcut E? > - if you click on a group member, the selection tool IMHO should select > the group the member belongs to. An alternate mode (e.g. Shift+click) > could be used to pick single elements from a group. This is the typical > behaviour of all programs I know that support grouping (from > Corel/Inkscape to Altium). Hmm, yes, that seems more natural. > - Add a shortcut to group/ungroup (e.g. Ctrl+G/Ctrl+U). > - Add a 'merge groups' option which squashes several groups into a - > single one. Will look into it, although I see these as additions to a feature not yet On 01/19/2017 02:30 PM, Tomasz Wlostowski wrote: > On 19.01.2017 12:18, Kristoffer Ödmark wrote: >> Hey! >> >> Did you have a look at the group selection patch and have any comments? :) > > Hi, > > Yes, but I didn't have much time. My quick observations: > - if you click on a group member, the selection tool IMHO should select > the group the member belongs to. An alternate mode (e.g. Shift+click) > could be used to pick single elements from a group. This is the typical > behaviour of all programs I know that support grouping (from > Corel/Inkscape to Altium). > - Add a shortcut to group/ungroup (e.g. Ctrl+G/Ctrl+U). > - Add Group/Ungroup commands to the Edit menu. > - Add a 'merge groups' option which squashes several groups into a - > single one. > - Duplicating a group should create a new group (I'm not sure it works > this way for the moment). > - Add a possibility to have recursive grouping. This probably means a > bit of changes in the file format and code model. You can for instance > define a group as a set of unique timestamps of the items which belong > to it. This would also simplify the file format by not polluting the > board entities with group information, e.g. > > (track (timestamp A) ... ) > (track (timestamp B) ... ) > (track (timestamp C) ... ) > (track (timestamp D) ... ) > > // all grouping info stored in a separate section of the file which > translates to a separate object within the BOARD. > (groups > ( group (name small1) (timestamp X) ids ( A B ) ) > ( group (name small2) (timestamp Y) ids ( C D ) ) > ( group (name twogroupstogether) (timestamp Z) ids ( X Y ) ) > ) > > If you had time, you could also extend the 'append board' feature to: > - Let the user append a board as a new group. > - Optionally, rename the nets so that they are in a 'private' namespace > in each appended board. > This would be a *big* help for panelization which currently is quite > cumbersome in Kicad. > > Many thanks for your efforts, > Tom > > > >> - Kristoffer >> >> >> On 2017-01-12 12:55, Tomasz Wlostowski wrote: >>> I like it. Give me a few days to review it and I hope it will get >>> merged. You'll also have to make the groups persistent (save to file). >>> Recursive grouping (group of groups) would be also an advantage. >>> >>> >>> Cheers, >>> Tom >>> >>> Sent from my Samsung Galaxy smartphone. >>> >>> >>> Original message >>> From: Kristoffer Ödmark <kristofferodmar...@gmail.com> >>> Date: 12/01/2017 12:41 (GMT+01:00) >>> To: kicad-developers@lists.launchpad.net >>> Subject: Re: [Kicad-developers] Group selection idea >>> >>> Hey again, What would be the chances of seing this getting into the >>> master branches on launchpad, what would I have to add/change to get it >>> there? >>> >>> - Kristoffer >>> >>> On 2017-01-11 21:59, Kristoffer Ödmark wrote: >>>
Re: [Kicad-developers] Group selection idea
kicad_pcb file. suggesting (group ) >>> to be used for this. ( tracks, vias, texts, etc etc ) >>> >>> This does not hinder the development for hierarchy of the groups later >>> on. That could be fixed with having another field later which keeps >>> track of the hierarchy and parents/childs groups. >>> >>> I looked over my implementation and changed everything to use wxStrings >>> and wxArrayStrings, to be more like current things in Kicad, I do not >>> know if this was an issue or not. >>> >>> Is the file format upgrade for the current implementation okay? If it is >>> I will start implementing it this weekend. >>> >>> - Kristoffer >>> >>> On 01/13/2017 02:07 PM, Wayne Stambaugh wrote: >>>> Kristoffer, >>>> >>>> I was merely talking about getting your initial implementation correct >>>> in Pcbnew to prevent issues with the full implementation down the road. >>>> While I'm OK with opening up a full design specification, I think it's a >>>> bit premature and will distract us from the immediate work at hand. >>>> None of the schematic group linking work can happen until the new >>>> schematic and symbol library file formats are complete. I want to keep >>>> the focus on grouping in Pcbnew for the time being and not get bogged >>>> down in a full implementation specification. >>>> >>>> Cheers, >>>> >>>> Wayne >>>> >>>> On 1/12/2017 3:38 PM, Kristoffer Ödmark wrote: >>>>> I think Physical design reuse (PDR) is far out of scope of the group >>>>> selection idea. However it Might be used. I actually put some thinking >>>>> on howto implement some kind of PDR into Kicad without having to >>>>> redesign everything existing already. Its in a google doc with comments >>>>> enabled. >>>>> >>>>> [Google docs link] >>>>> https://docs.google.com/document/d/1ivRRu7F2g6_WU9bgHlaUTaXZw02oluMh4NA41BqEM-8/edit?usp=sharing >>>>> >>>>> >>>>> >>>>> PDR discussions I think should be in a separate thread, since the amount >>>>> of work to get there is quite a bit more, involves both eeschema and >>>>> pcbnew, new file formatting, specifying workflows etc etc. >>>>> >>>>> Its called snippets in Am, PDR in PADS. >>>>> >>>>> - Kristoffer >>>>> >>>>> On 2017-01-12 18:47, Clemens Koller wrote: >>>>>> Hello! >>>>>> >>>>>> This feature looks really useful in production if it's implemented >>>>>> properly. >>>>>> Some comments from my side how things could be extended in the future: >>>>>> >>>>>> Group selection (also read: table-based/parametric-based selection!) >>>>>> seems like a great feature and the step towards physical design reuse >>>>>> (PDR). >>>>>> With some intelligent grouping of routed components and >>>>>> automatic/assisted selection of components based on netlist-topology >>>>>> (or manual or table based selection) it is possible to create a >>>>>> physical design reuse (or channels) by duplicating groups with the >>>>>> same layout but different component references + different net names / >>>>>> instances of net names. >>>>>> An additional approach is intelligent "group editing" (table based - a >>>>>> must have for complex designs!) where there is an automatic / assisted >>>>>> rename of components and netnames to create reuses. This also applies >>>>>> to the schematic entry, obviously. >>>>>> >>>>>> The word "intelligent" above means obviously, that there is some >>>>>> infrastructure and coding work to consider. >>>>>> >>>>>> An example screenshot of one of my designs using a buggy commercial >>>>>> product is attached. There are 60 similar channels. >>>>>> Layouting these manually would be a hell of work, obviously. >>>>>> >>>>>> Regards, >>>>>> >>>>>> Clemens >>>>>> >>>>>> >>>>>> On 2017-01-12 17:37, Wayne Stambaugh wrote: >>>>>>> I think this feature would be useful but w
Re: [Kicad-developers] Group selection idea
er, >>> >>> I was merely talking about getting your initial implementation correct >>> in Pcbnew to prevent issues with the full implementation down the road. >>> While I'm OK with opening up a full design specification, I think it's a >>> bit premature and will distract us from the immediate work at hand. >>> None of the schematic group linking work can happen until the new >>> schematic and symbol library file formats are complete. I want to keep >>> the focus on grouping in Pcbnew for the time being and not get bogged >>> down in a full implementation specification. >>> >>> Cheers, >>> >>> Wayne >>> >>> On 1/12/2017 3:38 PM, Kristoffer Ödmark wrote: >>>> I think Physical design reuse (PDR) is far out of scope of the group >>>> selection idea. However it Might be used. I actually put some thinking >>>> on howto implement some kind of PDR into Kicad without having to >>>> redesign everything existing already. Its in a google doc with comments >>>> enabled. >>>> >>>> [Google docs link] >>>> https://docs.google.com/document/d/1ivRRu7F2g6_WU9bgHlaUTaXZw02oluMh4NA41BqEM-8/edit?usp=sharing >>>> >>>> >>>> >>>> PDR discussions I think should be in a separate thread, since the amount >>>> of work to get there is quite a bit more, involves both eeschema and >>>> pcbnew, new file formatting, specifying workflows etc etc. >>>> >>>> Its called snippets in Am, PDR in PADS. >>>> >>>> - Kristoffer >>>> >>>> On 2017-01-12 18:47, Clemens Koller wrote: >>>>> Hello! >>>>> >>>>> This feature looks really useful in production if it's implemented >>>>> properly. >>>>> Some comments from my side how things could be extended in the future: >>>>> >>>>> Group selection (also read: table-based/parametric-based selection!) >>>>> seems like a great feature and the step towards physical design reuse >>>>> (PDR). >>>>> With some intelligent grouping of routed components and >>>>> automatic/assisted selection of components based on netlist-topology >>>>> (or manual or table based selection) it is possible to create a >>>>> physical design reuse (or channels) by duplicating groups with the >>>>> same layout but different component references + different net names / >>>>> instances of net names. >>>>> An additional approach is intelligent "group editing" (table based - a >>>>> must have for complex designs!) where there is an automatic / assisted >>>>> rename of components and netnames to create reuses. This also applies >>>>> to the schematic entry, obviously. >>>>> >>>>> The word "intelligent" above means obviously, that there is some >>>>> infrastructure and coding work to consider. >>>>> >>>>> An example screenshot of one of my designs using a buggy commercial >>>>> product is attached. There are 60 similar channels. >>>>> Layouting these manually would be a hell of work, obviously. >>>>> >>>>> Regards, >>>>> >>>>> Clemens >>>>> >>>>> >>>>> On 2017-01-12 17:37, Wayne Stambaugh wrote: >>>>>> I think this feature would be useful but we should proceed with >>>>>> caution >>>>>> if we are going to include persistence. I'm guessing making groups >>>>>> persistent will require a change to the pcb file format. We should >>>>>> think this through thoroughly before moving forward. Is it possible >>>>>> that this grouping could be used for an am like room feature? If >>>>>> so, than we need to plan this out accordingly rather than just >>>>>> commit a >>>>>> new feature for the sake of convenience. >>>>>> >>>>>> On 1/12/2017 6:55 AM, Tomasz Wlostowski wrote: >>>>>>> I like it. Give me a few days to review it and I hope it will get >>>>>>> merged. You'll also have to make the groups persistent (save to >>>>>>> file). >>>>>>> Recursive grouping (group of groups) would be also an advantage. >>>>>>> >>>>>>> >>>>>>> Cheers
Re: [Kicad-developers] Group selection idea
Hi Kristoffer. I cannot apply your patches to the current version. Can you rebuild them ? Thanks. -- Jean-Pierre CHARRAS ___ 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
Re: [Kicad-developers] Group selection idea
n. >>> >>> Cheers, >>> >>> Wayne >>> >>> On 1/12/2017 3:38 PM, Kristoffer Ödmark wrote: >>>> I think Physical design reuse (PDR) is far out of scope of the group >>>> selection idea. However it Might be used. I actually put some thinking >>>> on howto implement some kind of PDR into Kicad without having to >>>> redesign everything existing already. Its in a google doc with comments >>>> enabled. >>>> >>>> [Google docs link] >>>> https://docs.google.com/document/d/1ivRRu7F2g6_WU9bgHlaUTaXZw02oluMh4NA41BqEM-8/edit?usp=sharing >>>> >>>> >>>> >>>> PDR discussions I think should be in a separate thread, since the amount >>>> of work to get there is quite a bit more, involves both eeschema and >>>> pcbnew, new file formatting, specifying workflows etc etc. >>>> >>>> Its called snippets in Am, PDR in PADS. >>>> >>>> - Kristoffer >>>> >>>> On 2017-01-12 18:47, Clemens Koller wrote: >>>>> Hello! >>>>> >>>>> This feature looks really useful in production if it's implemented >>>>> properly. >>>>> Some comments from my side how things could be extended in the future: >>>>> >>>>> Group selection (also read: table-based/parametric-based selection!) >>>>> seems like a great feature and the step towards physical design reuse >>>>> (PDR). >>>>> With some intelligent grouping of routed components and >>>>> automatic/assisted selection of components based on netlist-topology >>>>> (or manual or table based selection) it is possible to create a >>>>> physical design reuse (or channels) by duplicating groups with the >>>>> same layout but different component references + different net names / >>>>> instances of net names. >>>>> An additional approach is intelligent "group editing" (table based - a >>>>> must have for complex designs!) where there is an automatic / assisted >>>>> rename of components and netnames to create reuses. This also applies >>>>> to the schematic entry, obviously. >>>>> >>>>> The word "intelligent" above means obviously, that there is some >>>>> infrastructure and coding work to consider. >>>>> >>>>> An example screenshot of one of my designs using a buggy commercial >>>>> product is attached. There are 60 similar channels. >>>>> Layouting these manually would be a hell of work, obviously. >>>>> >>>>> Regards, >>>>> >>>>> Clemens >>>>> >>>>> >>>>> On 2017-01-12 17:37, Wayne Stambaugh wrote: >>>>>> I think this feature would be useful but we should proceed with >>>>>> caution >>>>>> if we are going to include persistence. I'm guessing making groups >>>>>> persistent will require a change to the pcb file format. We should >>>>>> think this through thoroughly before moving forward. Is it possible >>>>>> that this grouping could be used for an am like room feature? If >>>>>> so, than we need to plan this out accordingly rather than just >>>>>> commit a >>>>>> new feature for the sake of convenience. >>>>>> >>>>>> On 1/12/2017 6:55 AM, Tomasz Wlostowski wrote: >>>>>>> I like it. Give me a few days to review it and I hope it will get >>>>>>> merged. You'll also have to make the groups persistent (save to >>>>>>> file). >>>>>>> Recursive grouping (group of groups) would be also an advantage. >>>>>>> >>>>>>> >>>>>>> Cheers, >>>>>>> Tom >>>>>>> >>>>>>> Sent from my Samsung Galaxy smartphone. >>>>>>> >>>>>>> >>>>>>> Original message >>>>>>> From: Kristoffer Ödmark <kristofferodmar...@gmail.com> >>>>>>> Date: 12/01/2017 12:41 (GMT+01:00) >>>>>>> To: kicad-developers@lists.launchpad.net >>>>>>> Subject: Re: [Kicad-developers] Group selection idea >>>>>>> >>>>>>> Hey again, What would be the
Re: [Kicad-developers] Group selection idea
>>> >>> - Kristoffer >>> >>> On 2017-01-12 18:47, Clemens Koller wrote: >>>> Hello! >>>> >>>> This feature looks really useful in production if it's implemented >>>> properly. >>>> Some comments from my side how things could be extended in the future: >>>> >>>> Group selection (also read: table-based/parametric-based selection!) >>>> seems like a great feature and the step towards physical design reuse >>>> (PDR). >>>> With some intelligent grouping of routed components and >>>> automatic/assisted selection of components based on netlist-topology >>>> (or manual or table based selection) it is possible to create a >>>> physical design reuse (or channels) by duplicating groups with the >>>> same layout but different component references + different net names / >>>> instances of net names. >>>> An additional approach is intelligent "group editing" (table based - a >>>> must have for complex designs!) where there is an automatic / assisted >>>> rename of components and netnames to create reuses. This also applies >>>> to the schematic entry, obviously. >>>> >>>> The word "intelligent" above means obviously, that there is some >>>> infrastructure and coding work to consider. >>>> >>>> An example screenshot of one of my designs using a buggy commercial >>>> product is attached. There are 60 similar channels. >>>> Layouting these manually would be a hell of work, obviously. >>>> >>>> Regards, >>>> >>>> Clemens >>>> >>>> >>>> On 2017-01-12 17:37, Wayne Stambaugh wrote: >>>>> I think this feature would be useful but we should proceed with >>>>> caution >>>>> if we are going to include persistence. I'm guessing making groups >>>>> persistent will require a change to the pcb file format. We should >>>>> think this through thoroughly before moving forward. Is it possible >>>>> that this grouping could be used for an am like room feature? If >>>>> so, than we need to plan this out accordingly rather than just >>>>> commit a >>>>> new feature for the sake of convenience. >>>>> >>>>> On 1/12/2017 6:55 AM, Tomasz Wlostowski wrote: >>>>>> I like it. Give me a few days to review it and I hope it will get >>>>>> merged. You'll also have to make the groups persistent (save to >>>>>> file). >>>>>> Recursive grouping (group of groups) would be also an advantage. >>>>>> >>>>>> >>>>>> Cheers, >>>>>> Tom >>>>>> >>>>>> Sent from my Samsung Galaxy smartphone. >>>>>> >>>>>> >>>>>> Original message >>>>>> From: Kristoffer Ödmark <kristofferodmar...@gmail.com> >>>>>> Date: 12/01/2017 12:41 (GMT+01:00) >>>>>> To: kicad-developers@lists.launchpad.net >>>>>> Subject: Re: [Kicad-developers] Group selection idea >>>>>> >>>>>> Hey again, What would be the chances of seing this getting into the >>>>>> master branches on launchpad, what would I have to add/change to >>>>>> get it >>>>>> there? >>>>>> >>>>>> - Kristoffer >>>>>> >>>>>> On 2017-01-11 21:59, Kristoffer Ödmark wrote: >>>>>>> Attaching Patch! >>>>>>> >>>>>>> ( Thanks Chris! ) >>>>>>> >>>>>>> On 2017-01-11 20:51, Kristoffer Ödmark wrote: >>>>>>>> Hello! >>>>>>>> >>>>>>>> I hacked together a group selection concept looking like this: >>>>>>>> https://youtu.be/eJp-aJ8i0H4 >>>>>>>> >>>>>>>> It can assign BOARD_ITEM to a specific group for easier >>>>>>>> selection and >>>>>>>> group manipulation. I am open to suggestions on changes, this is >>>>>>>> surely >>>>>>>> not an optimal implementation. >>>>>>>> >>>>>>>> Useful when you may want to keep the relative position of >>>>>>>> somethin
Re: [Kicad-developers] Group selection idea
Okay, got it. For the group selection thing, I did some quick tests today, and only letting board items belong to one group at a time seems like a good way, letting them belong to multiple groups gave me a headache in how to implement any way of handling the groups. This would then change the format for the pcb file with one value under every saved board item in the kicad_pcb file. suggesting (group ) to be used for this. ( tracks, vias, texts, etc etc ) This does not hinder the development for hierarchy of the groups later on. That could be fixed with having another field later which keeps track of the hierarchy and parents/childs groups. I looked over my implementation and changed everything to use wxStrings and wxArrayStrings, to be more like current things in Kicad, I do not know if this was an issue or not. Is the file format upgrade for the current implementation okay? If it is I will start implementing it this weekend. - Kristoffer On 01/13/2017 02:07 PM, Wayne Stambaugh wrote: Kristoffer, I was merely talking about getting your initial implementation correct in Pcbnew to prevent issues with the full implementation down the road. While I'm OK with opening up a full design specification, I think it's a bit premature and will distract us from the immediate work at hand. None of the schematic group linking work can happen until the new schematic and symbol library file formats are complete. I want to keep the focus on grouping in Pcbnew for the time being and not get bogged down in a full implementation specification. Cheers, Wayne On 1/12/2017 3:38 PM, Kristoffer Ödmark wrote: I think Physical design reuse (PDR) is far out of scope of the group selection idea. However it Might be used. I actually put some thinking on howto implement some kind of PDR into Kicad without having to redesign everything existing already. Its in a google doc with comments enabled. [Google docs link] https://docs.google.com/document/d/1ivRRu7F2g6_WU9bgHlaUTaXZw02oluMh4NA41BqEM-8/edit?usp=sharing PDR discussions I think should be in a separate thread, since the amount of work to get there is quite a bit more, involves both eeschema and pcbnew, new file formatting, specifying workflows etc etc. Its called snippets in Am, PDR in PADS. - Kristoffer On 2017-01-12 18:47, Clemens Koller wrote: Hello! This feature looks really useful in production if it's implemented properly. Some comments from my side how things could be extended in the future: Group selection (also read: table-based/parametric-based selection!) seems like a great feature and the step towards physical design reuse (PDR). With some intelligent grouping of routed components and automatic/assisted selection of components based on netlist-topology (or manual or table based selection) it is possible to create a physical design reuse (or channels) by duplicating groups with the same layout but different component references + different net names / instances of net names. An additional approach is intelligent "group editing" (table based - a must have for complex designs!) where there is an automatic / assisted rename of components and netnames to create reuses. This also applies to the schematic entry, obviously. The word "intelligent" above means obviously, that there is some infrastructure and coding work to consider. An example screenshot of one of my designs using a buggy commercial product is attached. There are 60 similar channels. Layouting these manually would be a hell of work, obviously. Regards, Clemens On 2017-01-12 17:37, Wayne Stambaugh wrote: I think this feature would be useful but we should proceed with caution if we are going to include persistence. I'm guessing making groups persistent will require a change to the pcb file format. We should think this through thoroughly before moving forward. Is it possible that this grouping could be used for an am like room feature? If so, than we need to plan this out accordingly rather than just commit a new feature for the sake of convenience. On 1/12/2017 6:55 AM, Tomasz Wlostowski wrote: I like it. Give me a few days to review it and I hope it will get merged. You'll also have to make the groups persistent (save to file). Recursive grouping (group of groups) would be also an advantage. Cheers, Tom Sent from my Samsung Galaxy smartphone. Original message From: Kristoffer Ödmark <kristofferodmar...@gmail.com> Date: 12/01/2017 12:41 (GMT+01:00) To: kicad-developers@lists.launchpad.net Subject: Re: [Kicad-developers] Group selection idea Hey again, What would be the chances of seing this getting into the master branches on launchpad, what would I have to add/change to get it there? - Kristoffer On 2017-01-11 21:59, Kristoffer Ödmark wrote: Attaching Patch! ( Thanks Chris! ) On 2017-01-11 20:51, Kristoffer Ödmark wrote: Hello! I hacked together a group selection concept looking like this: https://yo
Re: [Kicad-developers] Group selection idea
Kristoffer, I was merely talking about getting your initial implementation correct in Pcbnew to prevent issues with the full implementation down the road. While I'm OK with opening up a full design specification, I think it's a bit premature and will distract us from the immediate work at hand. None of the schematic group linking work can happen until the new schematic and symbol library file formats are complete. I want to keep the focus on grouping in Pcbnew for the time being and not get bogged down in a full implementation specification. Cheers, Wayne On 1/12/2017 3:38 PM, Kristoffer Ödmark wrote: > I think Physical design reuse (PDR) is far out of scope of the group > selection idea. However it Might be used. I actually put some thinking > on howto implement some kind of PDR into Kicad without having to > redesign everything existing already. Its in a google doc with comments > enabled. > > [Google docs link] > https://docs.google.com/document/d/1ivRRu7F2g6_WU9bgHlaUTaXZw02oluMh4NA41BqEM-8/edit?usp=sharing > > > PDR discussions I think should be in a separate thread, since the amount > of work to get there is quite a bit more, involves both eeschema and > pcbnew, new file formatting, specifying workflows etc etc. > > Its called snippets in Am, PDR in PADS. > > - Kristoffer > > On 2017-01-12 18:47, Clemens Koller wrote: >> Hello! >> >> This feature looks really useful in production if it's implemented >> properly. >> Some comments from my side how things could be extended in the future: >> >> Group selection (also read: table-based/parametric-based selection!) >> seems like a great feature and the step towards physical design reuse >> (PDR). >> With some intelligent grouping of routed components and >> automatic/assisted selection of components based on netlist-topology >> (or manual or table based selection) it is possible to create a >> physical design reuse (or channels) by duplicating groups with the >> same layout but different component references + different net names / >> instances of net names. >> An additional approach is intelligent "group editing" (table based - a >> must have for complex designs!) where there is an automatic / assisted >> rename of components and netnames to create reuses. This also applies >> to the schematic entry, obviously. >> >> The word "intelligent" above means obviously, that there is some >> infrastructure and coding work to consider. >> >> An example screenshot of one of my designs using a buggy commercial >> product is attached. There are 60 similar channels. >> Layouting these manually would be a hell of work, obviously. >> >> Regards, >> >> Clemens >> >> >> On 2017-01-12 17:37, Wayne Stambaugh wrote: >>> I think this feature would be useful but we should proceed with caution >>> if we are going to include persistence. I'm guessing making groups >>> persistent will require a change to the pcb file format. We should >>> think this through thoroughly before moving forward. Is it possible >>> that this grouping could be used for an am like room feature? If >>> so, than we need to plan this out accordingly rather than just commit a >>> new feature for the sake of convenience. >>> >>> On 1/12/2017 6:55 AM, Tomasz Wlostowski wrote: >>>> I like it. Give me a few days to review it and I hope it will get >>>> merged. You'll also have to make the groups persistent (save to file). >>>> Recursive grouping (group of groups) would be also an advantage. >>>> >>>> >>>> Cheers, >>>> Tom >>>> >>>> Sent from my Samsung Galaxy smartphone. >>>> >>>> >>>> Original message >>>> From: Kristoffer Ödmark <kristofferodmar...@gmail.com> >>>> Date: 12/01/2017 12:41 (GMT+01:00) >>>> To: kicad-developers@lists.launchpad.net >>>> Subject: Re: [Kicad-developers] Group selection idea >>>> >>>> Hey again, What would be the chances of seing this getting into the >>>> master branches on launchpad, what would I have to add/change to get it >>>> there? >>>> >>>> - Kristoffer >>>> >>>> On 2017-01-11 21:59, Kristoffer Ödmark wrote: >>>>> Attaching Patch! >>>>> >>>>> ( Thanks Chris! ) >>>>> >>>>> On 2017-01-11 20:51, Kristoffer Ödmark wrote: >>>>>> Hello! >>>>>> >>>>>> I hacked together a group se
Re: [Kicad-developers] Group selection idea
Just adding my 2 cents, as a user of Kicad. I think that PCB groups and schematic groups should be linked. They should also be reusable between different boards and projects. For example I have a 5V switching design I use on a lot of boards, and would like to be able to have it in a library of such designs that I can pull from. Rohan On Thu, Jan 12, 2017 at 12:38 PM Kristoffer Ödmark < kristofferodmar...@gmail.com> wrote: > I think Physical design reuse (PDR) is far out of scope of the group > selection idea. However it Might be used. I actually put some thinking > on howto implement some kind of PDR into Kicad without having to > redesign everything existing already. Its in a google doc with comments > enabled. > > [Google docs link] > > https://docs.google.com/document/d/1ivRRu7F2g6_WU9bgHlaUTaXZw02oluMh4NA41BqEM-8/edit?usp=sharing > > PDR discussions I think should be in a separate thread, since the amount > of work to get there is quite a bit more, involves both eeschema and > pcbnew, new file formatting, specifying workflows etc etc. > > Its called snippets in Am, PDR in PADS. > > - Kristoffer > > On 2017-01-12 18:47, Clemens Koller wrote: > > Hello! > > > > This feature looks really useful in production if it's implemented > properly. > > Some comments from my side how things could be extended in the future: > > > > Group selection (also read: table-based/parametric-based selection!) > seems like a great feature and the step towards physical design reuse (PDR). > > With some intelligent grouping of routed components and > automatic/assisted selection of components based on netlist-topology (or > manual or table based selection) it is possible to create a physical design > reuse (or channels) by duplicating groups with the same layout but > different component references + different net names / instances of net > names. > > An additional approach is intelligent "group editing" (table based - a > must have for complex designs!) where there is an automatic / assisted > rename of components and netnames to create reuses. This also applies to > the schematic entry, obviously. > > > > The word "intelligent" above means obviously, that there is some > infrastructure and coding work to consider. > > > > An example screenshot of one of my designs using a buggy commercial > product is attached. There are 60 similar channels. > > Layouting these manually would be a hell of work, obviously. > > > > Regards, > > > > Clemens > > > > > > On 2017-01-12 17:37, Wayne Stambaugh wrote: > >> I think this feature would be useful but we should proceed with caution > >> if we are going to include persistence. I'm guessing making groups > >> persistent will require a change to the pcb file format. We should > >> think this through thoroughly before moving forward. Is it possible > >> that this grouping could be used for an am like room feature? If > >> so, than we need to plan this out accordingly rather than just commit a > >> new feature for the sake of convenience. > >> > >> On 1/12/2017 6:55 AM, Tomasz Wlostowski wrote: > >>> I like it. Give me a few days to review it and I hope it will get > >>> merged. You'll also have to make the groups persistent (save to file). > >>> Recursive grouping (group of groups) would be also an advantage. > >>> > >>> > >>> Cheers, > >>> Tom > >>> > >>> Sent from my Samsung Galaxy smartphone. > >>> > >>> > >>> Original message > >>> From: Kristoffer Ödmark <kristofferodmar...@gmail.com> > >>> Date: 12/01/2017 12:41 (GMT+01:00) > >>> To: kicad-developers@lists.launchpad.net > >>> Subject: Re: [Kicad-developers] Group selection idea > >>> > >>> Hey again, What would be the chances of seing this getting into the > >>> master branches on launchpad, what would I have to add/change to get it > >>> there? > >>> > >>> - Kristoffer > >>> > >>> On 2017-01-11 21:59, Kristoffer Ödmark wrote: > >>>> Attaching Patch! > >>>> > >>>> ( Thanks Chris! ) > >>>> > >>>> On 2017-01-11 20:51, Kristoffer Ödmark wrote: > >>>>> Hello! > >>>>> > >>>>> I hacked together a group selection concept looking like this: > >>>>> https://youtu.be/eJp-aJ8i0H4 > >>>>> > >>>>> It can assign BOARD_ITEM to a spec
Re: [Kicad-developers] Group selection idea
I think Physical design reuse (PDR) is far out of scope of the group selection idea. However it Might be used. I actually put some thinking on howto implement some kind of PDR into Kicad without having to redesign everything existing already. Its in a google doc with comments enabled. [Google docs link] https://docs.google.com/document/d/1ivRRu7F2g6_WU9bgHlaUTaXZw02oluMh4NA41BqEM-8/edit?usp=sharing PDR discussions I think should be in a separate thread, since the amount of work to get there is quite a bit more, involves both eeschema and pcbnew, new file formatting, specifying workflows etc etc. Its called snippets in Am, PDR in PADS. - Kristoffer On 2017-01-12 18:47, Clemens Koller wrote: Hello! This feature looks really useful in production if it's implemented properly. Some comments from my side how things could be extended in the future: Group selection (also read: table-based/parametric-based selection!) seems like a great feature and the step towards physical design reuse (PDR). With some intelligent grouping of routed components and automatic/assisted selection of components based on netlist-topology (or manual or table based selection) it is possible to create a physical design reuse (or channels) by duplicating groups with the same layout but different component references + different net names / instances of net names. An additional approach is intelligent "group editing" (table based - a must have for complex designs!) where there is an automatic / assisted rename of components and netnames to create reuses. This also applies to the schematic entry, obviously. The word "intelligent" above means obviously, that there is some infrastructure and coding work to consider. An example screenshot of one of my designs using a buggy commercial product is attached. There are 60 similar channels. Layouting these manually would be a hell of work, obviously. Regards, Clemens On 2017-01-12 17:37, Wayne Stambaugh wrote: I think this feature would be useful but we should proceed with caution if we are going to include persistence. I'm guessing making groups persistent will require a change to the pcb file format. We should think this through thoroughly before moving forward. Is it possible that this grouping could be used for an am like room feature? If so, than we need to plan this out accordingly rather than just commit a new feature for the sake of convenience. On 1/12/2017 6:55 AM, Tomasz Wlostowski wrote: I like it. Give me a few days to review it and I hope it will get merged. You'll also have to make the groups persistent (save to file). Recursive grouping (group of groups) would be also an advantage. Cheers, Tom Sent from my Samsung Galaxy smartphone. Original message From: Kristoffer Ödmark <kristofferodmar...@gmail.com> Date: 12/01/2017 12:41 (GMT+01:00) To: kicad-developers@lists.launchpad.net Subject: Re: [Kicad-developers] Group selection idea Hey again, What would be the chances of seing this getting into the master branches on launchpad, what would I have to add/change to get it there? - Kristoffer On 2017-01-11 21:59, Kristoffer Ödmark wrote: Attaching Patch! ( Thanks Chris! ) On 2017-01-11 20:51, Kristoffer Ödmark wrote: Hello! I hacked together a group selection concept looking like this: https://youtu.be/eJp-aJ8i0H4 It can assign BOARD_ITEM to a specific group for easier selection and group manipulation. I am open to suggestions on changes, this is surely not an optimal implementation. Useful when you may want to keep the relative position of something on the board like maybe a RF layout etc. It cannot currently save the group assignments between sessions, since that would require some changes to the file format. That would need some agreement that this is indeed wanted. it also doesnt work on zones right now. ps: I do not now the best way to attach a patch file. I added my feature commit git pull fix conflict commit Anyone have any steps on how to get one patch file for this, now I got one patch file, and a merge. - Kristoffer ___ 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 ___ 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 ___ 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 ___ Mailing list: https://launchpad.
Re: [Kicad-developers] Group selection idea
Yes, my patch was just an idea in its current implementation though it is very useful. But in the future I could see things as: - Hierarchial groups - Connection between eeschema so that symbols could belong to a group by default and that nets that are only connected between symbols sharing the same group could be considered part of the group upon creation in pcb - And of course persistance, that is very nice to have I have noticed On 01/12/2017 06:00 PM, Wayne Stambaugh wrote: On 1/12/2017 11:53 AM, Kaspar Emanuel wrote: It does look really neat and I agree with Wayne it bears some thought and could be a really powerful feature. Wayne, I think what you mean by "a***m like room feature" are reusable "snippets" of placed and routed components. Is that right? I'm not sure what it's called in am. I seem to remember a discussion about "rooms" regarding one of the commercial EDA products but could not say for sure which one. Basically the feature is reusable blocks of board objects. I think this feature could be really powerful if we think about the bigger picture rather than just the patch we have in front of us. On 12 January 2017 at 16:37, Wayne Stambaugh <stambau...@gmail.com <mailto:stambau...@gmail.com>> wrote: I think this feature would be useful but we should proceed with caution if we are going to include persistence. I'm guessing making groups persistent will require a change to the pcb file format. We should think this through thoroughly before moving forward. Is it possible that this grouping could be used for an am like room feature? If so, than we need to plan this out accordingly rather than just commit a new feature for the sake of convenience. On 1/12/2017 6:55 AM, Tomasz Wlostowski wrote: > I like it. Give me a few days to review it and I hope it will get > merged. You'll also have to make the groups persistent (save to file). > Recursive grouping (group of groups) would be also an advantage. > > > Cheers, > Tom > > Sent from my Samsung Galaxy smartphone. > > > Original message > From: Kristoffer Ödmark <kristofferodmar...@gmail.com <mailto:kristofferodmar...@gmail.com>> > Date: 12/01/2017 12:41 (GMT+01:00) > To: kicad-developers@lists.launchpad.net <mailto:kicad-developers@lists.launchpad.net> > Subject: Re: [Kicad-developers] Group selection idea > > Hey again, What would be the chances of seing this getting into the > master branches on launchpad, what would I have to add/change to get it > there? > > - Kristoffer > > On 2017-01-11 21:59, Kristoffer Ödmark wrote: >> Attaching Patch! >> >> ( Thanks Chris! ) >> >> On 2017-01-11 20:51, Kristoffer Ödmark wrote: >>> Hello! >>> >>> I hacked together a group selection concept looking like this: >>> https://youtu.be/eJp-aJ8i0H4 >>> >>> It can assign BOARD_ITEM to a specific group for easier selection and >>> group manipulation. I am open to suggestions on changes, this is surely >>> not an optimal implementation. >>> >>> Useful when you may want to keep the relative position of something on >>> the board like maybe a RF layout etc. >>> >>> It cannot currently save the group assignments between sessions, since >>> that would require some changes to the file format. That would need some >>> agreement that this is indeed wanted. >>> >>> it also doesnt work on zones right now. >>> >>> ps: I do not now the best way to attach a patch file. >>> I added my feature >>> commit >>> git pull >>> fix conflict >>> commit >>> >>> Anyone have any steps on how to get one patch file for this, now I got >>> one patch file, and a merge. >>> >>> - Kristoffer > > ___ > Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers> > Post to : kicad-developers@lists.launchpad.net <mailto:kicad-developers@lists.launchpad.net> > Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers> > More help : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp> > > > ___ > Mailing list: https://launchpad.net/~ki
Re: [Kicad-developers] Group selection idea
On 1/12/2017 11:53 AM, Kaspar Emanuel wrote: > It does look really neat and I agree with Wayne it bears some thought > and could be a really powerful feature. > > Wayne, I think what you mean by "a***m like room feature" are reusable > "snippets" of placed and routed components. Is that right? I'm not sure what it's called in am. I seem to remember a discussion about "rooms" regarding one of the commercial EDA products but could not say for sure which one. Basically the feature is reusable blocks of board objects. I think this feature could be really powerful if we think about the bigger picture rather than just the patch we have in front of us. > > On 12 January 2017 at 16:37, Wayne Stambaugh <stambau...@gmail.com > <mailto:stambau...@gmail.com>> wrote: > > I think this feature would be useful but we should proceed with caution > if we are going to include persistence. I'm guessing making groups > persistent will require a change to the pcb file format. We should > think this through thoroughly before moving forward. Is it possible > that this grouping could be used for an am like room feature? If > so, than we need to plan this out accordingly rather than just commit a > new feature for the sake of convenience. > > On 1/12/2017 6:55 AM, Tomasz Wlostowski wrote: > > I like it. Give me a few days to review it and I hope it will get > > merged. You'll also have to make the groups persistent (save to file). > > Recursive grouping (group of groups) would be also an advantage. > > > > > > Cheers, > > Tom > > > > Sent from my Samsung Galaxy smartphone. > > > > > > Original message > > From: Kristoffer Ödmark <kristofferodmar...@gmail.com > <mailto:kristofferodmar...@gmail.com>> > > Date: 12/01/2017 12:41 (GMT+01:00) > > To: kicad-developers@lists.launchpad.net > <mailto:kicad-developers@lists.launchpad.net> > > Subject: Re: [Kicad-developers] Group selection idea > > > > Hey again, What would be the chances of seing this getting into the > > master branches on launchpad, what would I have to add/change to > get it > > there? > > > > - Kristoffer > > > > On 2017-01-11 21:59, Kristoffer Ödmark wrote: > >> Attaching Patch! > >> > >> ( Thanks Chris! ) > >> > >> On 2017-01-11 20:51, Kristoffer Ödmark wrote: > >>> Hello! > >>> > >>> I hacked together a group selection concept looking like this: > >>> https://youtu.be/eJp-aJ8i0H4 > >>> > >>> It can assign BOARD_ITEM to a specific group for easier > selection and > >>> group manipulation. I am open to suggestions on changes, this is > surely > >>> not an optimal implementation. > >>> > >>> Useful when you may want to keep the relative position of > something on > >>> the board like maybe a RF layout etc. > >>> > >>> It cannot currently save the group assignments between sessions, > since > >>> that would require some changes to the file format. That would > need some > >>> agreement that this is indeed wanted. > >>> > >>> it also doesnt work on zones right now. > >>> > >>> ps: I do not now the best way to attach a patch file. > >>> I added my feature > >>> commit > >>> git pull > >>> fix conflict > >>> commit > >>> > >>> Anyone have any steps on how to get one patch file for this, now > I got > >>> one patch file, and a merge. > >>> > >>> - Kristoffer > > > > ___ > > Mailing list: https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers> > > Post to : kicad-developers@lists.launchpad.net > <mailto:kicad-developers@lists.launchpad.net> > > Unsubscribe : https://launchpad.net/~kicad-developers > <https://launchpad.net/~kicad-developers> > > More help : https://help.launchpad.net/ListHelp > <https://help.launchpad.net/ListHelp> > > > > > > ___ > > Mailing list: https://launchpad.net/~kicad-developers &g
Re: [Kicad-developers] Group selection idea
It does look really neat and I agree with Wayne it bears some thought and could be a really powerful feature. Wayne, I think what you mean by "a***m like room feature" are reusable "snippets" of placed and routed components. Is that right? On 12 January 2017 at 16:37, Wayne Stambaugh <stambau...@gmail.com> wrote: > I think this feature would be useful but we should proceed with caution > if we are going to include persistence. I'm guessing making groups > persistent will require a change to the pcb file format. We should > think this through thoroughly before moving forward. Is it possible > that this grouping could be used for an am like room feature? If > so, than we need to plan this out accordingly rather than just commit a > new feature for the sake of convenience. > > On 1/12/2017 6:55 AM, Tomasz Wlostowski wrote: > > I like it. Give me a few days to review it and I hope it will get > > merged. You'll also have to make the groups persistent (save to file). > > Recursive grouping (group of groups) would be also an advantage. > > > > > > Cheers, > > Tom > > > > Sent from my Samsung Galaxy smartphone. > > > > > > Original message > > From: Kristoffer Ödmark <kristofferodmar...@gmail.com> > > Date: 12/01/2017 12:41 (GMT+01:00) > > To: kicad-developers@lists.launchpad.net > > Subject: Re: [Kicad-developers] Group selection idea > > > > Hey again, What would be the chances of seing this getting into the > > master branches on launchpad, what would I have to add/change to get it > > there? > > > > - Kristoffer > > > > On 2017-01-11 21:59, Kristoffer Ödmark wrote: > >> Attaching Patch! > >> > >> ( Thanks Chris! ) > >> > >> On 2017-01-11 20:51, Kristoffer Ödmark wrote: > >>> Hello! > >>> > >>> I hacked together a group selection concept looking like this: > >>> https://youtu.be/eJp-aJ8i0H4 > >>> > >>> It can assign BOARD_ITEM to a specific group for easier selection and > >>> group manipulation. I am open to suggestions on changes, this is surely > >>> not an optimal implementation. > >>> > >>> Useful when you may want to keep the relative position of something on > >>> the board like maybe a RF layout etc. > >>> > >>> It cannot currently save the group assignments between sessions, since > >>> that would require some changes to the file format. That would need > some > >>> agreement that this is indeed wanted. > >>> > >>> it also doesnt work on zones right now. > >>> > >>> ps: I do not now the best way to attach a patch file. > >>> I added my feature > >>> commit > >>> git pull > >>> fix conflict > >>> commit > >>> > >>> Anyone have any steps on how to get one patch file for this, now I got > >>> one patch file, and a merge. > >>> > >>> - Kristoffer > > > > ___ > > 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 > > > > > > ___ > > 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 > > > > ___ > 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 > ___ 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
Re: [Kicad-developers] Group selection idea
I think this feature would be useful but we should proceed with caution if we are going to include persistence. I'm guessing making groups persistent will require a change to the pcb file format. We should think this through thoroughly before moving forward. Is it possible that this grouping could be used for an am like room feature? If so, than we need to plan this out accordingly rather than just commit a new feature for the sake of convenience. On 1/12/2017 6:55 AM, Tomasz Wlostowski wrote: > I like it. Give me a few days to review it and I hope it will get > merged. You'll also have to make the groups persistent (save to file). > Recursive grouping (group of groups) would be also an advantage. > > > Cheers, > Tom > > Sent from my Samsung Galaxy smartphone. > > > Original message > From: Kristoffer Ödmark <kristofferodmar...@gmail.com> > Date: 12/01/2017 12:41 (GMT+01:00) > To: kicad-developers@lists.launchpad.net > Subject: Re: [Kicad-developers] Group selection idea > > Hey again, What would be the chances of seing this getting into the > master branches on launchpad, what would I have to add/change to get it > there? > > - Kristoffer > > On 2017-01-11 21:59, Kristoffer Ödmark wrote: >> Attaching Patch! >> >> ( Thanks Chris! ) >> >> On 2017-01-11 20:51, Kristoffer Ödmark wrote: >>> Hello! >>> >>> I hacked together a group selection concept looking like this: >>> https://youtu.be/eJp-aJ8i0H4 >>> >>> It can assign BOARD_ITEM to a specific group for easier selection and >>> group manipulation. I am open to suggestions on changes, this is surely >>> not an optimal implementation. >>> >>> Useful when you may want to keep the relative position of something on >>> the board like maybe a RF layout etc. >>> >>> It cannot currently save the group assignments between sessions, since >>> that would require some changes to the file format. That would need some >>> agreement that this is indeed wanted. >>> >>> it also doesnt work on zones right now. >>> >>> ps: I do not now the best way to attach a patch file. >>> I added my feature >>> commit >>> git pull >>> fix conflict >>> commit >>> >>> Anyone have any steps on how to get one patch file for this, now I got >>> one patch file, and a merge. >>> >>> - Kristoffer > > ___ > 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 > > > ___ > 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 > ___ 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
Re: [Kicad-developers] Group selection idea
I like it. Give me a few days to review it and I hope it will get merged. You'll also have to make the groups persistent (save to file). Recursive grouping (group of groups) would be also an advantage. Cheers, Tom Sent from my Samsung Galaxy smartphone. Original message From: Kristoffer Ödmark <kristofferodmar...@gmail.com> Date: 12/01/2017 12:41 (GMT+01:00) To: kicad-developers@lists.launchpad.net Subject: Re: [Kicad-developers] Group selection idea Hey again, What would be the chances of seing this getting into the master branches on launchpad, what would I have to add/change to get it there? - Kristoffer On 2017-01-11 21:59, Kristoffer Ödmark wrote: > Attaching Patch! > > ( Thanks Chris! ) > > On 2017-01-11 20:51, Kristoffer Ödmark wrote: >> Hello! >> >> I hacked together a group selection concept looking like this: >> https://youtu.be/eJp-aJ8i0H4 >> >> It can assign BOARD_ITEM to a specific group for easier selection and >> group manipulation. I am open to suggestions on changes, this is surely >> not an optimal implementation. >> >> Useful when you may want to keep the relative position of something on >> the board like maybe a RF layout etc. >> >> It cannot currently save the group assignments between sessions, since >> that would require some changes to the file format. That would need some >> agreement that this is indeed wanted. >> >> it also doesnt work on zones right now. >> >> ps: I do not now the best way to attach a patch file. >> I added my feature >> commit >> git pull >> fix conflict >> commit >> >> Anyone have any steps on how to get one patch file for this, now I got >> one patch file, and a merge. >> >> - Kristoffer ___ 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 ___ 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
Re: [Kicad-developers] Group selection idea
Hey again, What would be the chances of seing this getting into the master branches on launchpad, what would I have to add/change to get it there? - Kristoffer On 2017-01-11 21:59, Kristoffer Ödmark wrote: Attaching Patch! ( Thanks Chris! ) On 2017-01-11 20:51, Kristoffer Ödmark wrote: Hello! I hacked together a group selection concept looking like this: https://youtu.be/eJp-aJ8i0H4 It can assign BOARD_ITEM to a specific group for easier selection and group manipulation. I am open to suggestions on changes, this is surely not an optimal implementation. Useful when you may want to keep the relative position of something on the board like maybe a RF layout etc. It cannot currently save the group assignments between sessions, since that would require some changes to the file format. That would need some agreement that this is indeed wanted. it also doesnt work on zones right now. ps: I do not now the best way to attach a patch file. I added my feature commit git pull fix conflict commit Anyone have any steps on how to get one patch file for this, now I got one patch file, and a merge. - Kristoffer ___ 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
Re: [Kicad-developers] Group selection idea
Attaching Patch! ( Thanks Chris! ) On 2017-01-11 20:51, Kristoffer Ödmark wrote: Hello! I hacked together a group selection concept looking like this: https://youtu.be/eJp-aJ8i0H4 It can assign BOARD_ITEM to a specific group for easier selection and group manipulation. I am open to suggestions on changes, this is surely not an optimal implementation. Useful when you may want to keep the relative position of something on the board like maybe a RF layout etc. It cannot currently save the group assignments between sessions, since that would require some changes to the file format. That would need some agreement that this is indeed wanted. it also doesnt work on zones right now. ps: I do not now the best way to attach a patch file. I added my feature commit git pull fix conflict commit Anyone have any steps on how to get one patch file for this, now I got one patch file, and a merge. - Kristoffer >From f9aa34cddbb6a8b90f5edf2dfc344c73bf252663 Mon Sep 17 00:00:00 2001 From: totalkrillDate: Wed, 11 Jan 2017 19:49:05 +0100 Subject: [PATCH] Added concept of selectiongroups. Groups context menu Added Modified SELECT_MENU and the select_tool Added getters to BOARD class Added std::string groupId to BOARD_ITEM class --- include/class_board_item.h | 2 + pcbnew/class_board.cpp | 88 + pcbnew/class_board.h| 22 ++ pcbnew/tools/common_actions.cpp | 20 + pcbnew/tools/common_actions.h | 15 pcbnew/tools/pcb_editor_control.cpp | 147 +++- pcbnew/tools/pcb_editor_control.h | 11 +++ pcbnew/tools/selection_tool.cpp | 104 +++-- pcbnew/tools/selection_tool.h | 6 ++ 9 files changed, 408 insertions(+), 7 deletions(-) diff --git a/include/class_board_item.h b/include/class_board_item.h index 34c275c14..d78951ac7 100644 --- a/include/class_board_item.h +++ b/include/class_board_item.h @@ -84,6 +84,8 @@ protected: public: +std::string groupId = ""; + BOARD_ITEM( BOARD_ITEM* aParent, KICAD_T idtype ) : EDA_ITEM( aParent, idtype ), m_Layer( F_Cu ) { diff --git a/pcbnew/class_board.cpp b/pcbnew/class_board.cpp index 6608c3ce0..b292ddd66 100644 --- a/pcbnew/class_board.cpp +++ b/pcbnew/class_board.cpp @@ -1128,6 +1128,94 @@ EDA_RECT BOARD::ComputeBoundingBox( bool aBoardEdgesOnly ) return area; } +std::list BOARD::GetAllItems() +{ +std::list itemsList; + +auto tracks = m_Track.GetFirst(); +auto drawings = m_Drawings.GetFirst(); +auto modules = m_Modules.GetFirst(); +auto zones = m_Zone.GetFirst(); + +for( BOARD_ITEM* item = tracks; item; item = item->Next() ) +{ +if ( item != NULL ) +itemsList.push_back( item ); +} +for( BOARD_ITEM* item = drawings; item; item = item->Next() ) +{ +if ( item != NULL ) +itemsList.push_back( item ); +} +for( BOARD_ITEM* item = modules; item; item = item->Next() ) +{ +if ( item != NULL ) +itemsList.push_back( item ); +} +for( BOARD_ITEM* item = zones; item; item = item->Next() ) +{ +if ( item != NULL ) +itemsList.push_back( item ); +} + +return itemsList; +} + +std::list BOARD::GetAllGroupItems() +{ +std::list itemsList; + +auto tracks = m_Track.GetFirst(); +auto drawings = m_Drawings.GetFirst(); +auto modules = m_Modules.GetFirst(); +auto zones = m_Zone.GetFirst(); + +for( BOARD_ITEM* item = tracks; item; item = item->Next() ) +{ +if ( item != NULL && item->groupId != "" ) +itemsList.push_back( item ); +} +for( BOARD_ITEM* item = drawings; item; item = item->Next() ) +{ +if ( item != NULL && item->groupId != "" ) +itemsList.push_back( item ); +} +for( BOARD_ITEM* item = modules; item; item = item->Next() ) +{ +if ( item != NULL && item->groupId != "" ) +itemsList.push_back( item ); +} +for( BOARD_ITEM* item = zones; item; item = item->Next() ) +{ +if ( item != NULL && item->groupId != "" ) +itemsList.push_back( item ); +} + +return itemsList; +} + +std::list BOARD::GetGroups() +{ + +std::list existingGroups; + +std::list itemsList = GetAllGroupItems(); + +for( BOARD_ITEM* i : itemsList ) +{ +bool groupSeen = false; + +for( std::string s : existingGroups ) +{ +if( s == i->groupId ) +groupSeen = true; +} +if( !groupSeen && i->groupId != "" ) +existingGroups.push_back( i->groupId ); +} +return existingGroups; +} + // virtual, see pcbstruct.h void BOARD::GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) diff --git a/pcbnew/class_board.h b/pcbnew/class_board.h index
[Kicad-developers] Group selection idea
Hello! I hacked together a group selection concept looking like this: https://youtu.be/eJp-aJ8i0H4 It can assign BOARD_ITEM to a specific group for easier selection and group manipulation. I am open to suggestions on changes, this is surely not an optimal implementation. Useful when you may want to keep the relative position of something on the board like maybe a RF layout etc. It cannot currently save the group assignments between sessions, since that would require some changes to the file format. That would need some agreement that this is indeed wanted. it also doesnt work on zones right now. ps: I do not now the best way to attach a patch file. I added my feature commit git pull fix conflict commit Anyone have any steps on how to get one patch file for this, now I got one patch file, and a merge. - Kristoffer >From 2980b0146ab2a195bc9b82bdb8797a5911299740 Mon Sep 17 00:00:00 2001 From: totalkrillDate: Wed, 11 Jan 2017 19:49:05 +0100 Subject: [PATCH 2/2] Added concept of selectiongroups. Groups context menu Added Modified SELECT_MENU and the select_tool Added getters to BOARD class Added std::string groupId to BOARD_ITEM class --- include/class_board_item.h | 2 + pcbnew/class_board.cpp | 88 + pcbnew/class_board.h| 22 ++ pcbnew/tools/common_actions.cpp | 20 + pcbnew/tools/common_actions.h | 15 pcbnew/tools/pcb_editor_control.cpp | 147 +++- pcbnew/tools/pcb_editor_control.h | 11 +++ pcbnew/tools/selection_tool.cpp | 98 +++- pcbnew/tools/selection_tool.h | 6 ++ 9 files changed, 406 insertions(+), 3 deletions(-) diff --git a/include/class_board_item.h b/include/class_board_item.h index 34c275c14..d78951ac7 100644 --- a/include/class_board_item.h +++ b/include/class_board_item.h @@ -84,6 +84,8 @@ protected: public: +std::string groupId = ""; + BOARD_ITEM( BOARD_ITEM* aParent, KICAD_T idtype ) : EDA_ITEM( aParent, idtype ), m_Layer( F_Cu ) { diff --git a/pcbnew/class_board.cpp b/pcbnew/class_board.cpp index 6608c3ce0..b292ddd66 100644 --- a/pcbnew/class_board.cpp +++ b/pcbnew/class_board.cpp @@ -1128,6 +1128,94 @@ EDA_RECT BOARD::ComputeBoundingBox( bool aBoardEdgesOnly ) return area; } +std::list BOARD::GetAllItems() +{ +std::list itemsList; + +auto tracks = m_Track.GetFirst(); +auto drawings = m_Drawings.GetFirst(); +auto modules = m_Modules.GetFirst(); +auto zones = m_Zone.GetFirst(); + +for( BOARD_ITEM* item = tracks; item; item = item->Next() ) +{ +if ( item != NULL ) +itemsList.push_back( item ); +} +for( BOARD_ITEM* item = drawings; item; item = item->Next() ) +{ +if ( item != NULL ) +itemsList.push_back( item ); +} +for( BOARD_ITEM* item = modules; item; item = item->Next() ) +{ +if ( item != NULL ) +itemsList.push_back( item ); +} +for( BOARD_ITEM* item = zones; item; item = item->Next() ) +{ +if ( item != NULL ) +itemsList.push_back( item ); +} + +return itemsList; +} + +std::list BOARD::GetAllGroupItems() +{ +std::list itemsList; + +auto tracks = m_Track.GetFirst(); +auto drawings = m_Drawings.GetFirst(); +auto modules = m_Modules.GetFirst(); +auto zones = m_Zone.GetFirst(); + +for( BOARD_ITEM* item = tracks; item; item = item->Next() ) +{ +if ( item != NULL && item->groupId != "" ) +itemsList.push_back( item ); +} +for( BOARD_ITEM* item = drawings; item; item = item->Next() ) +{ +if ( item != NULL && item->groupId != "" ) +itemsList.push_back( item ); +} +for( BOARD_ITEM* item = modules; item; item = item->Next() ) +{ +if ( item != NULL && item->groupId != "" ) +itemsList.push_back( item ); +} +for( BOARD_ITEM* item = zones; item; item = item->Next() ) +{ +if ( item != NULL && item->groupId != "" ) +itemsList.push_back( item ); +} + +return itemsList; +} + +std::list BOARD::GetGroups() +{ + +std::list existingGroups; + +std::list itemsList = GetAllGroupItems(); + +for( BOARD_ITEM* i : itemsList ) +{ +bool groupSeen = false; + +for( std::string s : existingGroups ) +{ +if( s == i->groupId ) +groupSeen = true; +} +if( !groupSeen && i->groupId != "" ) +existingGroups.push_back( i->groupId ); +} +return existingGroups; +} + // virtual, see pcbstruct.h void BOARD::GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) diff --git a/pcbnew/class_board.h b/pcbnew/class_board.h index 0ad5e9d89..210b7065d 100644 --- a/pcbnew/class_board.h +++ b/pcbnew/class_board.h @@