Structuring schema by blocks, normally decreases the problems …
(both for humans and for some clear s/w processes that could be applied for each problem to be solved separately and one at a time, decoupling the efforts block per blocks…).
Have a look to the example used in ‘layout_cloner’ utility (https://github.com/tlantela/KiCAD_layout_cloner )
it gives an idea of what could be expected from a “2-layers hierarchical schema” (Lev-1 top layer + Lev-2 sub-layer(s)).
As it could be observed in KiCad V5, the parts of each Lev-2 pages are well regrouped separately block by block (when importing the netlist in pcbnew).
With the same relative positions and with its different part ref. belonging to a block.
Selecting and Moving those blocks in pcbnew is an ‘other story’, while expecting to be improved in V6 (Comparing V4&V5 to other ECAD’s, competitors are still better… )
Seeing the V5 placement result, one could deduce ‘net weigths’ not considered at all
(would have been different if it were the case…).
It should be needed then to apply additional different treatments apart the V5 one.
for example, counting and computing all net lengthes between pin’s parts to position until an ‘average *weigth within the group would be minimal within each groups’… *
It would give probably some good results, at the effort of some affordable python scripts to be launched from eeschema console…
A good s/w programming ‘python exercice’ for master degree students (among some others interesting exercices) … Have we s/w students interested in developping for fun some kind of mokeup ?
Route and optimise only one (of each different groups) and apply ‘layout cloner utility’ to the other untouched ones, then finish the remaining details… Watch some Web tutos explaining this utility.
Could become a bunch of separate dedicated recipies (which could be sequenced automatically step-by-step, calling or not, each of them when necessary…).
With a ‘3-layers schema’ example, it reveals some bad surprise : the ‘netlist import’ seems to be limited to ‘Top+2nd layer’, Lev-3 being not considered and then not grouped where the parts should belong to …
Probably will be the same for more than 3-layers (but not yet tried…).
For my DIY leisure time projects, I’m structuring schema a hierarchical way, trying to limit hierarchy up to 4-layers, sufficiant as not tremendous design…
(from profesionnal experience could be not sufficiant on heavy designs…).