horizon-eda / horizon

Horizon is a free EDA package
https://horizon-eda.org/
GNU General Public License v3.0
1.11k stars 82 forks source link

Annotation / Explanation for schematic segments #372

Open rroohhh opened 4 years ago

rroohhh commented 4 years ago

This is just something I have been thinking about a bit and am not sure about wether its actually useful or if I maybe just haven't found the proper way to do it yet.

For non-obvious parts of a schematic I would like to add explanations like for example the reasoning for a certain circuit or specific calculations to a specific part of a schematic. Currently I do by just adding text to the schematic, however this text is often quite long / big (compared to the size of rest of the schematic). Also the text tends to include links to things like datasheets, that tend to be long and distracting. In addition to that I wouldn't want to always include these explanations, for example when printing the schematic.

I am not sure what the best way to improve this is (or if it is actually necessary to improve this), but what I have been thinking about is being able to draw a polygon around a schematic section and then being able to add text that is associated with this polygon, maybe by clicking the polygon and editing the text in the sidebar, or popping up a window to edit the text. The text would not be visible in the schematic itself, only the polygon. For exporting the polygon would be excluded. Some more advanced text markup atleast for links would also be helpful (maybe similar to markdown?) .

What do you all think?

m-byte commented 4 years ago

Kind of what Altium is doing? https://www.altium.com/documentation/altium-designer/sch-obj-notenote-ad

rroohhh commented 4 years ago

Yes that sounds similar to what I am imagining, though I would like to be able to associated a the note with a specifc section of the schematic (like actual components). Maybe Altium can do that, I am not sure from just the documentation and have never used Altium.

carrotIndustries commented 4 years ago

Apart from the linkage to schematic items, perhaps this could be solved by making the text really small?

If really want to go down the 'sticky note' road, then they sticky note needs to have some distinct advantages over regular texts.

m-byte commented 4 years ago

I guess it could also be solved with links in the text. Maybe the regex for link detection should be replaced with ((https?:\/\/|file:\/\/\/?)([\w\.-]+)(\/\S+)?). Then, one could link to files that contain calculations, explanations, ... Even better if file://./file.x would resolve to file.x in the project directory.

rroohhh commented 4 years ago

Apart from the linkage to schematic items, perhaps this could be solved by making the text really small?

Hmm I don't really like that idea, either you end up with text thats unreadably small when printing, or the text is so small, that it is difficult to find it to select it in the editor

If really want to go down the 'sticky note' road, then they sticky note needs to have some distinct advantages over regular texts.

Well I am not married to the 'sticky note' idea, it would for example also maybe be possible to expand regular texts, maybe with

fruchti commented 4 years ago

You can, today, add footnotes to a schematic by adding text ‘Note 1’ to parts of the schematic and including an extra sheet with the explanations. This has the added bonus that no information is lost when exporting a PDF or printing the schematic (which is pretty important for archiving projects IMHO).

I still like the idea of a more convenient way to add background information to portions of a schematic. A few advantages and ideas for sticky notes, in particular, as they are, in my opinion, the most intuitive solution:

So it all boils down to a matter of convenience when adding notes to schematics. So far, I haven't really placed more than a paragraph of text on a schematic but then again, I haven't used any EDA tools having such options so far and my documentation preference is probably shaped by their limitations.