Add auto-fill option?
Possible model: An option checkbox in AxiDraw Control allows you to enable auto-fill.
If selected, any object that has a fill will be filled by hatch fills, using some reasonable set of assumptions. (In particular, angle of hatches, inset value, and spacing of hatches.) It may be better to allow a single adjustable parameter (hatch spacing/pen width).
Possible choice: Fill will be ignored if white in color?
(This would be relatively simple to implement, but will have a huge performance cost...)
A better model might be to pick a single type of fill (say, single-hatch, 45 degrees, joined ends, moderate inset), where the spacing and inset values are selected by a single adjustable parameter, "pen width" with values "extra fine", "fine" and "broad".
Implementation question on this: Would it be better to have the fills saved as part of the SVG file, once computed (in which case subsequent fills are fast) or not?
hi @oskay this is a great idea! just as a thought, the hatching algorithm seems quite good, once you figured out a good combination of settings, which can take quite some trial an error. From a usability perspective, anything that could help shortcut a certain combination of settings to an approximation of the final result would be very helpful. This is in line with your comment from Jul 20, 2016 - a single type of fill, something alongside a "preset".
To exemplify, here is one concrete and rather trivial requirement: filling an area with a 0.8mm pen of one color, and doing a second pass for the stroke only, using a 0.8mm pen of another color. One can assume that using Hatch Spacing of 0.8mm would be a good starting point, but things get less predictable with Inset fill. And Tolerance is a black-box, I remember using it but I cannot tell what exactly it does to my output - but I do remember having to tweak it.
An even simpler idea, to provide a link in Help tab of the Hatch fill extension that would have pictures of real plots and the respective combination of values. Here is how it could go:
- The list of examples does not need to be exhaustive - a few examples can help narrow down which settings are critical for a certain output.
- No need to rethink the UI paradigm and make compromises around all the amazing and diverse applications of AxiDraw
- You wouldn't need to change the extension much (apart from adding a hyperlink to some permalink), and you could decouple the releases of the documentation (with pictures!) and the extension. Perhaps even with a separate repo, that could be more easily accept community contributions?
From a usability perspective, anything that could help shortcut a certain combination of settings to an approximation of the final result would be very helpful.
The number of different situations that people use is really quite varied. If you're having trouble, I'd suggest using the live preview option; it's the only way to really cover all use cases.
It is not possible to render sample images in real time to put in the extension window.
We do also have a set of visual examples showing what most of the options do, in the AxiDraw user guide (pages 80-81 in the current version).
One can assume that using Hatch Spacing of 0.8mm would be a good starting point,
The real difficulty that most people tend to have is that a pen labeled as "0.8 mm" does not actually give a line width that matches that value. Rather, the line width depends on the writing conditions and paper choice as much as the nominal nib width.
but things get less predictable with Inset fill.
Inset fill does not change the spacing.
If you have found a case where the results are not predictable (not as expected), please consider opening an issue for it with an example SVG file that can be used to reproduce the issue.
And Tolerance is a black-box, I remember using it but I cannot tell what exactly it does to my output - but I do remember having to tweak it.
As it says in the Help tab, "The Tolerance parameter affects how precisely the hatches try to fill the input paths." If you have hatch fill lines going outside the boundaries where they should, use a lower (smaller) tolerance value (at increased computation time cost).
An even simpler idea, to provide a link in Help tab of the Hatch fill extension that would have pictures of real plots and the respective combination of values.
The pictures in the user guide are illustrations, not pictures of plots, but I think that they are honestly better than pictures of real plots for illustrating what the functional differences between the parameters are.