Features wish list

Schematics:

  • power symbol creates connection when placed on components pins. When you place resistor in a such way that resistor’s pad is overlapping other component’s pad, a connection is created. You can just drag the resistor and net line is created. This does not happen with power symbol
  • Align components - align top, bottom,vertical center, horizontal center, left right
  • Sheet symbol and hierarchy - also this would be a step in a direction of design reuse, ie having a pool for sheet symbols and underlying schematics. End game would be reuse of both schematics and layout(ie Xpedition managed blocks, Altium snippets).

Layout

  • Align components - align top, bottom,vertical center, horizontal center, left right
  • snap to grid
  • shortcuts for grid settings. ie. alt +1 - “grid setting 1”
  • view sets - ability to save layers settings (ideally to file) and bind it to keyboard shortcut
  • shortcut to cycle “layer mode”
  • Auto update - Horizon will notify me when netlist has changed, or that 3d needs to be refreshed. It would be great if there was an option to enable auto update. So user does not have to click on anything.
  • Online DRC - i know this is probably HUGE effort, but would be great.
  • Assign net name to trace and via on paste, ie if i copy part of routing and place it, the placed routing would assume net name of the pad on which it was pasted.
  • Ability to show default net names - all nets have a net name, but if net is not named in schematics, default name is not shown and does not appear in plane drop down menu. So if you are routing, and decided that a small polygon/plane would be better fit, you have to go to schematics, name the net, save schematics, fetch the update in layout and then you can create your plane.
  • Forgo the “width from rule” radio button - if i click in the width input field, it means that I want to change the width. Clicking on the radio button, so i can click and change the width is an extra step that is not needed. Color coding could be useful to indicate if the width is in compliance with the rule or not…

Library

  • Edit multiple parts in excel like view (parameters/attributes, assigned footprint etc). Even creating new ones. Speeds up creating of the new parts, also useful for updating old parts.

It might be that some of it is already in, and I just wasn’t able to figure it out. I know that developer team is rather small and better than wish list would be a pull request, unfortunately SW is not my cup of tea. I can do testing, I can provide feedback and suggestion, but I can’t code. Sorry :frowning:

Cheers,
Pitrsek

These are all very reasonable things, some of which I’d even call more of a bug fix than a feature request. Traditionally we collected the feature requests in the github issues of the horizon repo. IMO it makes sense to make one issue per feature or bug, so it can be discussed and fixed one by one (what do you think @lukas?)

On your ideas

I will comment on some of those, this is not a statement about how important I think these are, but more about what I already know:

  • sheet symbol hierarchy – this is about creating reusable “blocks” consisting of multiple parts, their net connections, and maybe even their placement(s) on the board? There is already something called “groups” but I never really understood what it was for ( @lukas want to explain? ) and it has probably a different scope. There is also this
  • snap to grid – this is already possible using the mouse: place the cursor on the pivot of the not-on-grid-object, hit m to move it and it will snap to the next gridline. Maybe it could make sense to bind this to a modifier as well? E.g. Ctrl+LMB
  • view sets – these are basically layer view presets. Makes totally sense.
  • auto update – I mentioned this already somewhere, this makes a lot of sense. I’d even put the toggle for that prominently into the top bar
  • **Edit multiple parts in excel like view ** – I mentioned something similar already (I just couldn’t find where). I didn’t mention “excel like”, I just thought some sort of editor where you can lay out multiple parts and their inheritances in one “virtual environment” and only save the whole thing to the pool once you are done, makes a ton of sense. I am not sure if a table is the best format for this. Maybe it could be a combination of tree and table or something?

Groups are for reuse of layout within the same project - ie. copy layout of left channel to right channel. I’d like to expand reuse across different projects. Why reinvent the wheel every time? Like a library when you code.
Indeed the #120 is exactly where it could end. For me the first step is re-use of schematics. Also hierarchy helps with the structure and readability(YMMV).

Up to you guys where you want to keep the suggestions/inputs. Also do you prefer single suggestion per topic? I know that some of the features were requested via Github - but that was before this forum(maybe a dedicated section where we could discuss suggestions?). Let me know what is your preference.

I would say git is the better place, since you can link it to a PR and close the request once it is merged.