In the PDF canvas, if the lineWidthStyle
of a LineType
is not unit
, the code sets the minimum width to be 1.
Furthermore, the width
of a LineType
is an integer, which further prevents width values that are less than 1 and greater than 0 (eg 0.001).
This makes the lines too thick for material handling since the systems can be enormous and users might want to zoom-in on a frame or beam that is small relative to the system.
The changes are adopted from GDICanvas
's getPen
method, which calculates the scaling and pixel width-to-millimeter conversion factors. Then, these values are used to calculate the actual width of the GDI pen.
For PDF, the same calculations are used to obtain a floating-point width from the integer width field.
Now that new calculations are performed when obtaining the width of a LineType
, developers might have to tune the width values used in their non-unit width style LineType
s (eg. variable
and real
).