fritzing / fritzing-app

Fritzing desktop application
http://fritzing.org
Other
4.06k stars 838 forks source link

add hatched ground as ground fill option #4150

Open ClemensGruber opened 5 months ago

ClemensGruber commented 5 months ago

Some applications, e.g. touch buttons, require hatched ground instead of plain ground, but this is currently in Fritzing only possible as a complex workaround editing the SVG and replacing the ground layer afterwords.

So it would be nice to have the option "hatched" as ground fill, (perhaps with different hatching percentages) for ground fill.

See also:

KjellMorgenstern commented 5 months ago

Instead of a solid ground fill, an element like this should be made available, right?

<svg width="200" height="200" xmlns="http://www.w3.org/2000/svg">
  <defs>
    <pattern id="hatch" width="10" height="10" patternUnits="userSpaceOnUse">
      <path d="M0,0 L10,10" stroke="#000" stroke-width="1"/>
      <path d="M10,0 L0,10" stroke="#000" stroke-width="1"/>
    </pattern>
  </defs>

  <rect x="10" y="10" width="180" height="180" fill="url(#hatch)" stroke="black" stroke-width="2"/>
</svg>

hatched_fill

ClemensGruber commented 5 months ago

Nice finding! Did not know that SVG has such "easy" opportunities to realize a hatched area!

From Espressif's Touch Sensor Application Note > section 3.3.7. Ground Plane a good default (at least for touch sensors) could be:

Typical hatching for the ground fill is 19% (5 mil line, 50 mil spacing).

For more flexible parameters (don't know if we need / want them in Fritzing) I found a screenshot from DipTrace in this thread https://forum.kicad.info/t/copper-pour-with-hatched-fill-instead-of-solid-fill/860/8 e.g. with line width and line spacing as editable parameter.

KjellMorgenstern commented 5 months ago

Beware, just an example. Ideally it would work, and Qt (the framework we use) has improved their support for fill patterns quite recently (earlier this year) : https://www.qt.io/blog/qt-svg-not-so-1.2-tiny-any-more

And we would still have to support the various transformations the pattern undergoes, especially exporting to gerber.

Of course we could just 'brute force' it by adding a number of lines.

TRST-P commented 3 months ago

I would like to express my interest in this feature😁 For me specifically, I use an additive PCB printer to create PCB's and full ground fills are extremely time consuming and ink consuming.

KjellMorgenstern commented 3 months ago

I guess you do some further processing to "slice" areas in the gerber file into lines.

Nevertheless, is there a nozzle diameter that would allow direct conversion?

TRST-P commented 3 months ago

The software for the printer creates toolpaths from imported gerbers (when they are correctly formatted😜). The nozzles for the printer come in sizes of 100, 150 and 250 micrometer. Check out voltera.io for more info.