https://bugs.documentfoundation.org/show_bug.cgi?id=173882

--- Comment #4 from [email protected] ---
(In reply to jan d from comment #3)
> Inkscape seems to do the following:
> - Define the grid distance (every n px/mm/...)
> - Define major grid every n normal grid lines. 
> 
> This dodges the problem of manually defining several grids and having
> incompatible grids. 

Otherwise known as an infinitely scrolling grid. A little harder to implement,
but equally viable. You find this type of solution in all sorts of CAD
programs, like Inkscape (which you mentioned), Visio (the thing I'm trying to
get away from), LibreCAD, and others. The infinite scroll becomes more
important when you start looking at significantly larger projects, where you
want the detail of a small sensor on something that could be hundreds of meters
/ yards long (like the internal layout of a building).

The solution I suggested is trivial to implement: 3 grid values, 3 zoom
factors, a single boolean toggle, and the grid being rendered based on that
toggle plus the current zoom factor and those 3 grid values.

The infinitely scrolling grid implementation is a bit different. You start with
the page size, which is based on the drawing scale (which is currently embedded
in the options). Then, for metric systems, the grid division is a lot easier
(simply divide by 10 at every step), and for imperial it's a divide by 2^n
(1/2, 1/4, 1/8, and so on).

If the developers are going to go down the path of implementing the infinitely
scrolling grid, the page scale needs to be bound to the document / page you are
working on (which already happens when it's saved), rather than a single global
setting (which would effectively become the default for new drawings, rather
than a fixed value for all drawings). That means people would need to be able
to modify the drawing scale on a per-page basis, and I'm not sure there's an
easy access point at the moment (the obvious solution would be to add the
drawing scale to the right-click options in the Page Pane).

Either way works for me.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to