Is this PCB function which can be handy to use “smart” or does it just pack components by random together? I mean do it at least try to move components net/route-wise close to each other or not? If it does it’s a good thing & if not why not? I tried it but it seems just random or is it a setting somewhere?
it packs them in a way that the space is minimized, but not smart so that it makes it easier for you to route
thanks and I wonder why.
still wonder why making a handy tool like this without optimising it. its not about autorouting which seem not popular to speak about here.
Did you read the whole faq article? Autoplacing is handled explicitly. And contrary to what you say, autorouting is a popular topic. So popular that it’s difficult to find something new to say.
“Pack and Move Footprints” tries to place footprints neatly, sorted by references.
Placing footprints by ratsnest lengths is computationally expensive, and you don’t want it to be slow.
Also EDA software usually has no idea what your design requirements are, so the auto-placements don’t make sense.
“Pack and Move Footprints” is designed for this workflow:
- Have Schematic and PCB editors open side-by side
- Select a block of symbols on Schematic
- The corresponding footprints are selected on the PCB
- Right-click → Pack and Move Footprints (or P hotkey if the PCB editor has focus, also see Preferences → Common → Focus follows mouse between schematic and PCB editors)
- The footprints get packed together in a functional block
“Placing footprints by ratsnest lengths is computationally expensive, and you don’t want it to be slow.”
could be worth some extra time if its handled more optimized, why not choosable if most like it very fast but without a better function. Otherwise it might be like a pizzeria making dough for their pizzas, but it’s not pizza dough. And when a customer ask: is this pizza dough? No the pizza chef says, this is normal dough, what we call standard dough wanted by many many. Then the customer ask surprised: but why not pizza dough if its for pizza? Now the chef answers firm and a bit angry: Normal dough is very popular here and if you don’t like it don’t eat it.
You can use the tools I posted earlier if you want some auto-placement:
thanks dsa-t but that is something else, a different function/different tool compared to pack and move. I better give up in this. Im sorry for asking.
Placing is much harder than routing, it is not just a case of minimum rats nest length. It requires an understanding of the circuit function. Look at the mess so many SMPS layouts become
yes agree its not only the placement which matters for a good routing but why not make the “pack and move” at least start with the ratnests as close as possible then the user steps in and do what the user think is suitable for the routing. ie make the function/pizza dough as optimised as possible as a starting point. its just a kind idea/suggestion then if its possible or not is not in my toolbox as i don’t understand how computer program making is done.
I have suggested many years ago that an optional total ratsnest length figure at the bottom of the window would be very helpful at times.
In my view, this is simply not the intended purpose of the pack and move function. It’s goal is only intended to assist with the initial sorting of footprints before starting the real placement. I.e:
- Select the “power supply” section on the schematic.
- Go to the PCB Editor, where the corresponding footprints are also selected (assuming a previous update PCB has been done).
- Drag these parts to some off-board area.
In this way initial sorting of circuit sections is straightforward and quick.
In the next step, you can attempt to make a selection of the footprints in one of such blocks and then PCB Editor / Place / Auto- Place Footprints / Place Selected Footprints and then see whether it does something sensible with your selection. If it does not work, little effort is lost, if you’re lucky, it creates a decent start for the final footprint placement of such a section.
But I do agree this Pack and Move could be improved. My own preference is probably to have an option to keep parts in the same relative orientation as the schematic. This is unlikely to be close to the final footprint placement, but it does make it quicker to visually correlate the footprints to the schematic symbols. It could also help with the layout for repetitive sections such as LED arrays.
But in the end, it nearly always boils down to the same dilemma. There is a limited amount of hours the developers can put into KiCad, and there are many feature requests (1000+ or so) already on Gitlab.
yes paulvdh I agree in all though would just wish the first tool (pack and move) is as optimised as possible and then the auto-place function may not be needed. I have tried the auto-place function but so far without good results so now it seems like not needed (here). anyone else had good results with the auto-place function?
Yeah, orientation of symbols in the schematic is very unlikely to correlate to the footprint orientations on the PCB layout, that’s why it didn’t make sense to implement this.
It’s easier to drag out footprints out of a neat functional block of footprints (this is what “Pack and Move Footprints” allows to do), rather than out of an auto-placed mess.
“…that’s why it didn’t make sense to implement this.”
its never to late for changes/improvements. good luck and thank you.
Well I still think it doesn’t make sense.