feature wishlist

89 views
Skip to first unread message

Rafał Pietrak

unread,
Nov 20, 2022, 10:45:52 AM11/20/22
to dev...@kicad.org

Hello,

I'm new to KiCAD, and after starting a project I've noticed, that:

1. once I do create a PCB from new schematic, the parts are lumped
together pretty randomly. I tried to figure out where in the sources,
that happens, but wasn't able to locate relevant module ... this is why
I'm writing here. I'd like to modify the "initial creation" of PCB so,
that footprints are lied down "just like they are on schematic diagram".
Meaning, X-Y position of a part reflects its X-Y symbol position. This
is because 90% of the time, that would be my desired component layout.

2. I've worked with hierachy sheets, and in particular, I've replicated
one sub-sheet to have an array of functionality (like memory array).
Since I'm doing most of the trace layout by hand (autorouter still
doesn't work for me) I have to repeat the routing task for every
subsheet with that same sub-functionality. A feature that brings layout
and routing of one sheet to components of its' copy would be great.

3. then again, some of my projects are multi-pcb. It would help greatly,
if one could mark certain diagram-sheets (in the hierarchy), that this
particular level will be on separate PCB.... so that pcb editor don't
clutter the view with components, that are not destined for that
particular pcb (sub pcb).

Anyway. Should there be a chance somebody give me an idea where to look
into sources to work on feature (1), I'd be greatfull.

-R

Kliment (Future Bits)

unread,
Nov 20, 2022, 11:11:02 AM11/20/22
to dev...@kicad.org
On 20.11.22 16:45, 'Rafał Pietrak' via KiCad Developers wrote:
>
> Hello,
>
> I'm new to KiCAD, and after starting a project I've noticed, that:

Hi Rafal, welcome!

>
> 1. once I do create a PCB from new schematic, the parts are lumped
> together pretty randomly. I tried to figure out where in the sources,
> that happens, but wasn't able to locate relevant module ... this is why
> I'm writing here. I'd like to modify the "initial creation" of PCB so,
> that footprints are lied down "just like they are on schematic diagram".
> Meaning, X-Y position of a part reflects its X-Y symbol position. This
> is because 90% of the time,  that would be my desired component layout.

A dramatically better implementation (thanks dsa-t!) of this was merged
recently and will be in the next major release (v7). See
https://forum.kicad.info/t/post-v6-new-features-and-development-news/32633/76
for details. You can look at the underlying merge request to see where
and how it's implemented. The merge request is at
https://gitlab.com/kicad/code/kicad/-/merge_requests/1325

>
> 2. I've worked with hierachy sheets, and in particular, I've replicated
> one sub-sheet to have an array of functionality (like memory array).
> Since I'm doing most of the trace layout by  hand (autorouter still
> doesn't work for me) I have to repeat the routing task for every
> subsheet with that same sub-functionality. A feature that brings layout
> and routing of one sheet to components of its' copy would be great.

Check out the "replicate layout" plugin in the plugin and content
manager. It does exactly this. There are plans to implement this in the
main application for a later version, but for now the plugin should get
you most of the way there.

>
> 3. then again, some of my projects are multi-pcb. It would help greatly,
> if one could mark certain diagram-sheets (in the hierarchy), that this
> particular level will be on separate PCB.... so that pcb editor don't
> clutter the view with components, that are not destined for that
> particular pcb (sub pcb).

Multi-pcb support is planned for a future version of KiCad. For now, you
can mark all the components on that sheet to be excluded from PCB. Sadly
it's not yet possible to do this for the whole sheet in one step, you
have to do it component by component.

Rafał Pietrak

unread,
Nov 20, 2022, 11:47:34 AM11/20/22
to dev...@kicad.org
Hi,

W dniu 20.11.2022 o 17:10, Kliment (Future Bits) pisze:
> On 20.11.22 16:45, 'Rafał Pietrak' via KiCad Developers wrote:
>>
>> Hello,
>>
>> I'm new to KiCAD, and after starting a project I've noticed, that:
>
> Hi Rafal, welcome!
>
>>
>> 1. once I do create a PCB from new schematic, the parts are lumped
>> together pretty randomly. I tried to figure out where in the sources,
>> that happens, but wasn't able to locate relevant module ... this is
>> why I'm writing here. I'd like to modify the "initial creation" of PCB
>> so, that footprints are lied down "just like they are on schematic
>> diagram". Meaning, X-Y position of a part reflects its X-Y symbol
>> position. This is because 90% of the time,  that would be my desired
>> component layout.
>
> A dramatically better implementation (thanks dsa-t!) of this was merged
> recently and will be in the next major release (v7). See
> https://forum.kicad.info/t/post-v6-new-features-and-development-news/32633/76 for details. You can look at the underlying merge request to see where and how it's implemented. The merge request is at https://gitlab.com/kicad/code/kicad/-/merge_requests/1325
>

Hmm.. This will be useful during project modifications (which may be
more useful, since one spends more time fixing the project, then for
initial design), but I'm looking for initial layout. Small project with
small number of components will hugely benefit from "more or less"
correct initial component positioning.

Anyway, I'll look up the pull request, where I may get hints in the PCG
initialization code.

>>
>> 2. I've worked with hierachy sheets, and in particular, I've
>> replicated one sub-sheet to have an array of functionality (like
>> memory array). Since I'm doing most of the trace layout by  hand
>> (autorouter still doesn't work for me) I have to repeat the routing
>> task for every subsheet with that same sub-functionality. A feature
>> that brings layout and routing of one sheet to components of its' copy
>> would be great.
>
> Check out the "replicate layout" plugin in the plugin and content
> manager. It does exactly this. There are plans to implement this in the
> main application for a later version, but for now the plugin should get
> you most of the way there.
>

OK thenx,

(BTW: as I said, I'm not using autoruoter ... because its' a plugin and
it fails with my <debian-11> version of java runtime 🙁, I hope it will
not be the same case with replication layout plugin )

>>
>> 3. then again, some of my projects are multi-pcb. It would help
>> greatly, if one could mark certain diagram-sheets (in the hierarchy),
>> that this particular level will be on separate PCB.... so that pcb
>> editor don't clutter the view with components, that are not destined
>> for that particular pcb (sub pcb).
>
> Multi-pcb support is planned for a future version of KiCad. For now, you
> can mark all the components on that sheet to be excluded from PCB. Sadly
> it's not yet possible to do this for the whole sheet in one step, you
> have to do it component by component.
>

Good to know, still this is not my top priority (just nice to have) - as
you said, one can think of workarounds.

I'm planning to focus on dissecting the "create-fresh-pcb" source code
at this point.... whenever I'll have time (not doing the actual pcb
design). Having this done will greatly improve my workflow.

Thenks again for quick response.

BE. Rafał.

Kliment (Future Bits)

unread,
Nov 20, 2022, 11:58:38 AM11/20/22
to dev...@kicad.org
>> Check out the "replicate layout" plugin in the plugin and content
>> manager. It does exactly this. There are plans to implement this in
>> the main application for a later version, but for now the plugin
>> should get you most of the way there.
>>
>
> OK thenx,
>
> (BTW: as I said, I'm not using autoruoter ... because its' a plugin and
> it fails with my <debian-11> version of java runtime 🙁, I hope it will
> not be the same case with replication layout plugin )
>

Replicate Layout is a Python plugin and should work with no issues. It
does not use Java, and Python is already bundled with KiCad so it should
work fine. See https://github.com/MitjaNemec/ReplicateLayout for usage
instructions. Make sure you save your schematic before using it.


>
> I'm planning to focus on dissecting the "create-fresh-pcb" source code
> at this point.... whenever I'll have time (not doing the actual pcb
> design). Having this done will greatly improve my workflow.

Note that KiCad is currently in feature freeze and will not be accepting
any new features until after the release of the next version, V7. You
can still submit new feature contributions on gitlab, of course, but
they will not be reviewed and merged until after the release, currently
planned for early 2023. More details at
https://dev-docs.kicad.org/en/rules-guidelines/release-policy/

Kliment

Шварцкоп Александр

unread,
Nov 20, 2022, 12:04:47 PM11/20/22
to dev...@kicad.org
1. once I do create a PCB from new schematic, the parts are lumped
together pretty randomly. I tried to figure out where in the sources,
that happens, but wasn't able to locate relevant module ... this is why
I'm writing here. I'd like to modify the "initial creation" of PCB so,
that footprints are lied down "just like they are on schematic diagram".
Meaning, X-Y position of a part reflects its X-Y symbol position. This
is because 90% of the time,  that would be my desired component layout.

Check out this plugin if you want to position footprints according to schematic: https://github.com/ian-ross/kicad-plugins

Rafał Pietrak

unread,
Nov 20, 2022, 12:06:16 PM11/20/22
to dev...@kicad.org
Hi Kliment,

W dniu 20.11.2022 o 17:58, Kliment (Future Bits) pisze:
[--------]
>
> Replicate Layout is a Python plugin and should work with no issues. It
> does not use Java, and Python is already bundled with KiCad so it should
> work fine. See https://github.com/MitjaNemec/ReplicateLayout for usage
> instructions. Make sure you save your schematic before using it.

Ok. sounds promising :)

[----------]
>> design). Having this done will greatly improve my workflow.
>
> Note that KiCad is currently in feature freeze and will not be accepting
> any new features until after the release of the next version, V7. You
> can still submit new feature contributions on gitlab, of course, but
> they will not be reviewed and merged until after the release, currently
> planned for early 2023. More details at
> https://dev-docs.kicad.org/en/rules-guidelines/release-policy/

Hm. But I'll be introducing myself to the code, currently totally
strange to me - this will take time, so I'm not too optimistic about
quick results. early 2023 is reasonable (even if I get "something"
working on my local patches somewhat earlier).

-R

Rafał Pietrak

unread,
Nov 20, 2022, 12:21:32 PM11/20/22
to dev...@kicad.org


W dniu 20.11.2022 o 18:04, Шварцкоп Александр pisze:
> <https://github.com/ian-ross/kicad-plugins>
>

Works quite nicely. Thenx.

-R
Reply all
Reply to author
Forward
0 new messages