fix(viewer2d): show lineweight at AutoCAD's display scale (20 px/mm)
Hand test against an AutoCAD capture: the 0.50mm road edge is ~10px there but only ~4px here. Lineweight is zoom-independent screen pixels, so the two captures compare directly - the 8 px/mm mapping was 2.5x too small. AutoCAD's default display scale is one pixel per 0.05mm, so use 20 px/mm (0.35mm = 7px, 0.50mm = 10px, 2.11mm = 42px) and raise the clamp to 48px. Add setLineweightScale()/getLineweightScale() so a host can retune it - AutoCAD exposes the same thing as the Adjust Display Scale slider. Re-measured headless: the 0.35mm road-gutter line now renders ~7px, so both weight classes land on the same scale. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Vendored
+3
@@ -19,6 +19,9 @@ export class Viewer2D {
|
||||
/** Lineweight display (AutoCAD LWDISPLAY); null follows the drawing's own flag. */
|
||||
setLineweightEnabled(on: boolean | null): void;
|
||||
getLineweightEnabled(): boolean;
|
||||
/** Lineweight display scale in px per mm (AutoCAD's display-scale slider). Default 20. */
|
||||
setLineweightScale(pxPerMm: number | null): void;
|
||||
getLineweightScale(): number;
|
||||
getLayerInfo(): { name: string; colorHex: string; count: number; visible: boolean }[];
|
||||
setHiddenLayers(nameSet: Set<string>): void;
|
||||
/** Model / Paper (Layout) spaces for the loaded drawing. */
|
||||
|
||||
Reference in New Issue
Block a user