bounding box too large for 0.001 to 0.04 mm stroke width

Bug #1094802 reported by Brynn on 2012-12-31
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Inkscape
Medium
Alvin Penner

Bug Description

Hi Friends,
I can't believe this has not been reported, so chances are that I just don't know the proper search terms. If path has any width between 0.001 and 0.04 mm, the bounding box is offset from the path. I've only found this for mm units, and only between those values. The same numeric values for pixels does not show the offset. But I haven't checked all the possible units.

I'll attach a file, but you should be able to see the same problem (unless it's been reported and fixed, and i simply can't find the report). Select the rectangles in the attached file, to see the problem.

Also, this is using Visual Bounding Box. Inkscape 0.48.1 on Windows 7, 64-bit.

Thanks,
Brynn

PS -- this is especially important for users of certain cutter/plotter machines, which only work when stroke widths are set to 0.01 mm

Related branches

Brynn (brynn4inks) wrote :
su_v (suv-lp) on 2012-12-31
tags: added: precision selection stroke
su_v (suv-lp) wrote :

Reproduced with Inkscape 0.48.4 and current trunk r12000 on OS X 10.7.4.

Similarly, converting stroke to path produces no precise results for paths with such small stroke widths (as if hitting a lower minimal stroke width limit, somewhere close to 0.1 px) - in current stable as well as latest trunk (cairo 1.12.2, cairo 1.12.8).

Changed in inkscape:
importance: Undecided → Medium
status: New → Confirmed
su_v (suv-lp) wrote :

Closely related to:
Bug #820425 “Stroke to Path on thin strokes results in random segment widths”
<https://bugs.launchpad.net/inkscape/+bug/820425>

(The sample file from bug #820425 has the same slightly increased visual bounding box for the original path with a very small stroke width).

su_v (suv-lp) wrote :

Attaching reduced (hand-written) test case without involving unit conversion, or translations on parent groups.

Results differ between stable and trunk:
- with stable, minimal visual bounding box dimension falls back to 0.125 px if stroke width is <= 0.125 px and > 0.010 px.
- in current trunk, the lower limit for a visual bounding box dimension seems to be 0.1 px, but never lower.

su_v (suv-lp) wrote :

~suv wrote:
> (…) minimal visual bounding box dimension (…)
> (…) the lower limit for a visual bounding box dimension (…)

Maybe I should better rephrase this: it seems more correct to say "the minimal stroke width considered contributing to the visual bounding box is …".

Brynn (brynn4inks) wrote :

Thanks ~suv, and everyone :-)

su_v (suv-lp) wrote :

<opinion>
> this is especially important for users of certain cutter/plotter
> machines, which only work when stroke widths are set to 0.01 mm

There are several different workflows and specific snap modes available so that users do not have to rely solely on the _visual_ bounding box for such tasks (geometric bounding box mode, node snapping to other paths, to grid and guides, working with unstroked paths in outline view mode (only setting stroke widths before sending the file to the plotter), etc).

The next major version (0.49) will also respect the current bounding box mode in 'Align & Distribute' (bug #473608), and has other bugs fixed related to the geometric bounding box mode (e.g. bug #825840, bug #452102, bug #190557). 'Rows & Columns' on the other hand is AFAICT still based on the visual bounding box, irrespectively of the preference setting for the bounding box mode.
</opinion>

Alvin Penner (apenner) wrote :

the lower limit on the stroke width that is used to calculate the width of the visual bbox has been changed from 0.1 px to 0.01 px.

fix committed to rev 12010

Changed in inkscape:
status: Confirmed → Fix Committed
su_v (suv-lp) on 2013-01-05
Changed in inkscape:
assignee: nobody → Alvin Penner (apenner)
milestone: none → 0.49
Bryce Harrington (bryce) on 2015-02-21
Changed in inkscape:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers