bounding box too large for 0.001 to 0.04 mm stroke width

Bug #1094802 reported by Brynn
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
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

Revision history for this message
Brynn (brynn4inks-deactivatedaccount) wrote :
su_v (suv-lp)
tags: added: precision selection stroke
Revision history for this message
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
Revision history for this message
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).

Revision history for this message
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.

Revision history for this message
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 …".

Revision history for this message
Brynn (brynn4inks-deactivatedaccount) wrote :

Thanks ~suv, and everyone :-)

Revision history for this message
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>

Revision history for this message
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)
Changed in inkscape:
assignee: nobody → Alvin Penner (apenner)
milestone: none → 0.49
Bryce Harrington (bryce)
Changed in inkscape:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.