@ifc-lite/drawing-2d 1.18.6 → 1.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +23 -0
  2. package/dist/dxf/aci-colors.d.ts +17 -0
  3. package/dist/dxf/aci-colors.d.ts.map +1 -0
  4. package/dist/dxf/aci-colors.js +142 -0
  5. package/dist/dxf/aci-colors.js.map +1 -0
  6. package/dist/dxf/convert.d.ts +32 -0
  7. package/dist/dxf/convert.d.ts.map +1 -0
  8. package/dist/dxf/convert.js +382 -0
  9. package/dist/dxf/convert.js.map +1 -0
  10. package/dist/dxf/geom.d.ts +70 -0
  11. package/dist/dxf/geom.d.ts.map +1 -0
  12. package/dist/dxf/geom.js +194 -0
  13. package/dist/dxf/geom.js.map +1 -0
  14. package/dist/dxf/index.d.ts +13 -0
  15. package/dist/dxf/index.d.ts.map +1 -0
  16. package/dist/dxf/index.js +44 -0
  17. package/dist/dxf/index.js.map +1 -0
  18. package/dist/dxf/parser.d.ts +9 -0
  19. package/dist/dxf/parser.d.ts.map +1 -0
  20. package/dist/dxf/parser.js +903 -0
  21. package/dist/dxf/parser.js.map +1 -0
  22. package/dist/dxf/types.d.ts +255 -0
  23. package/dist/dxf/types.d.ts.map +1 -0
  24. package/dist/dxf/types.js +10 -0
  25. package/dist/dxf/types.js.map +1 -0
  26. package/dist/dxf/writer.d.ts +111 -0
  27. package/dist/dxf/writer.d.ts.map +1 -0
  28. package/dist/dxf/writer.js +338 -0
  29. package/dist/dxf/writer.js.map +1 -0
  30. package/dist/dxf-exporter.d.ts +66 -0
  31. package/dist/dxf-exporter.d.ts.map +1 -0
  32. package/dist/dxf-exporter.js +137 -0
  33. package/dist/dxf-exporter.js.map +1 -0
  34. package/dist/index.d.ts +5 -1
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +13 -1
  37. package/dist/index.js.map +1 -1
  38. package/dist/svg-exporter.d.ts +23 -0
  39. package/dist/svg-exporter.d.ts.map +1 -1
  40. package/dist/svg-exporter.js +80 -1
  41. package/dist/svg-exporter.js.map +1 -1
  42. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -54,6 +54,14 @@ export { HatchGenerator } from './hatch-generator.js';
54
54
  // ═══════════════════════════════════════════════════════════════════════════
55
55
  export { SVGExporter, exportToSVG } from './svg-exporter.js';
56
56
  // ═══════════════════════════════════════════════════════════════════════════
57
+ // DXF EXPORT (issue #1861)
58
+ // ═══════════════════════════════════════════════════════════════════════════
59
+ // Only the exporter facade is public. The low-level writer internals
60
+ // (DxfWriter, sanitizeDxfLayerName, cssToAci, the linetype/justification
61
+ // types) stay package-private: no external consumer exists, and an unused
62
+ // public export is permanent semver liability (PR #1871 review).
63
+ export { DXFExporter, exportToDXF } from './dxf-exporter.js';
64
+ // ═══════════════════════════════════════════════════════════════════════════
57
65
  // GPU ACCELERATION
58
66
  // ═══════════════════════════════════════════════════════════════════════════
59
67
  export { GPUSectionCutter, isGPUComputeAvailable } from './gpu-section-cutter.js';
@@ -76,7 +84,7 @@ lineLength, lineMidpoint, lineDirection, linesCollinear, projectPointOnLine,
76
84
  // Bounds operations
77
85
  boundsEmpty, boundsExtendPoint, boundsExtendLine, boundsCenter, boundsSize, boundsValid,
78
86
  // Plane operations
79
- signedDistanceToPlane, getAxisNormal, getProjectionAxes, projectTo2D,
87
+ signedDistanceToPlane, getAxisNormal, getProjectionAxes, projectTo2D, projectTo2DBasis,
80
88
  // Polygon operations
81
89
  polygonSignedArea, isCounterClockwise, reversePolygon, ensureCCW, ensureCW, } from './math.js';
82
90
  // ═══════════════════════════════════════════════════════════════════════════
@@ -106,6 +114,10 @@ ifcTypeCriterion, propertyCriterion, andCriteria, orCriteria,
106
114
  // Built-in presets
107
115
  BUILT_IN_PRESETS, VIEW_3D_PRESET, ARCHITECTURAL_PRESET, FIRE_SAFETY_PRESET, STRUCTURAL_PRESET, MEP_PRESET, MONOCHROME_PRESET, getBuiltInPreset, getPresetsByCategory, } from './graphic-overrides/index.js';
108
116
  // ═══════════════════════════════════════════════════════════════════════════
117
+ // DXF IMPORT (reference underlays, issue #1782)
118
+ // ═══════════════════════════════════════════════════════════════════════════
119
+ export { importDxf, parseDxf, convertDxfToUnderlay, applyDxfPlacement, aciToCss, DEFAULT_DXF_PLACEMENT, } from './dxf/index.js';
120
+ // ═══════════════════════════════════════════════════════════════════════════
109
121
  // DRAWING SHEETS (Paper, Frames, Title Blocks, Scale Bars)
110
122
  // ═══════════════════════════════════════════════════════════════════════════
111
123
  export {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AA+D/D,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEnF,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGxE,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEtF,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAG1B,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,8EAA8E;AAC9E,4DAA4D;AAC5D,8EAA8E;AAE9E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,8EAA8E;AAC9E,6CAA6C;AAC7C,8EAA8E;AAE9E,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAG/B,2EAA2E;AAC3E,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGxD,8EAA8E;AAC9E,mCAAmC;AACnC,8EAA8E;AAE9E,OAAO;AACL,iBAAiB;AACjB,cAAc,EACd,eAAe;AAEf,cAAc;AACd,WAAW,EACX,iBAAiB,EACjB,YAAY;AAEZ,SAAS;AACT,aAAa,EACb,mBAAmB;AAEnB,cAAc;AACd,WAAW,GACZ,MAAM,aAAa,CAAC;AAUrB,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAG7D,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E,qEAAqE;AACrE,yEAAyE;AACzE,0EAA0E;AAC1E,iEAAiE;AACjE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAG7D,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAElF,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAGhC,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,OAAO;AACL,YAAY;AACZ,OAAO;AAEP,kBAAkB;AAClB,IAAI,EACJ,OAAO,EACP,OAAO,EACP,SAAS,EACT,OAAO,EACP,SAAS,EACT,UAAU,EACV,aAAa,EACb,QAAQ,EACR,UAAU,EACV,YAAY;AAEZ,qBAAqB;AACrB,OAAO,EACP,UAAU,EACV,UAAU,EACV,YAAY,EACZ,UAAU,EACV,aAAa,EACb,eAAe,EACf,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,YAAY;AAEZ,kBAAkB;AAClB,UAAU,EACV,YAAY,EACZ,aAAa,EACb,cAAc,EACd,kBAAkB;AAElB,oBAAoB;AACpB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,WAAW;AAEX,mBAAmB;AACnB,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,gBAAgB;AAEhB,qBAAqB;AACrB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,SAAS,EACT,QAAQ,GACT,MAAM,WAAW,CAAC;AAEnB,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,OAAO,EACL,0BAA0B,EAC1B,aAAa,EACb,yBAAyB,EACzB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAc7B,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAa5B,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,WAAW,EACX,cAAc,EACd,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAgB5B,8EAA8E;AAC9E,gEAAgE;AAChE,8EAA8E;AAE9E,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAY5B,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,OAAO;AACL,SAAS;AACT,qBAAqB,EACrB,oBAAoB;AAEpB,mBAAmB;AACnB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,UAAU;AAEV,mBAAmB;AACnB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AAmBtC,8EAA8E;AAC9E,gDAAgD;AAChD,8EAA8E;AAE9E,OAAO,EACL,SAAS,EACT,QAAQ,EACR,oBAAoB,EACpB,iBAAiB,EACjB,QAAQ,EACR,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAcxB,8EAA8E;AAC9E,2DAA2D;AAC3D,8EAA8E;AAE9E,OAAO;AACL,cAAc;AACd,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB;AAEnB,SAAS;AACT,aAAa,EACb,WAAW,EACX,eAAe;AAEf,eAAe;AACf,0BAA0B,EAC1B,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB;AAErB,YAAY;AACZ,iBAAiB,EACjB,mBAAmB,EACnB,8BAA8B,EAC9B,yBAAyB;AAEzB,kBAAkB;AAClB,uBAAuB,EACvB,yBAAyB;AAEzB,kBAAkB;AAClB,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GACjB,MAAM,kBAAkB,CAAC"}
@@ -9,6 +9,7 @@
9
9
  */
10
10
  import type { Drawing2D, DrawingPolygon, Bounds2D } from './types.js';
11
11
  import { type PaperSize, type DrawingScale } from './styles.js';
12
+ import { type DxfPlacement, type DxfUnderlay } from './dxf/types.js';
12
13
  export interface SVGExportOptions {
13
14
  /** Paper size */
14
15
  paperSize?: PaperSize;
@@ -30,6 +31,18 @@ export interface SVGExportOptions {
30
31
  backgroundColor?: string;
31
32
  /** Units for dimension display */
32
33
  units?: 'mm' | 'm';
34
+ /** DXF reference underlays rendered beneath the drawing (issue #1782) */
35
+ underlays?: SVGUnderlayOptions[];
36
+ }
37
+ /** One DXF reference underlay to composite under the drawing. */
38
+ export interface SVGUnderlayOptions {
39
+ underlay: DxfUnderlay;
40
+ /** Placement in drawing space; identity when omitted. */
41
+ placement?: DxfPlacement;
42
+ /** Per-layer visibility override; falls back to the DXF layer state. */
43
+ layerVisibility?: Record<string, boolean>;
44
+ /** Overall opacity (default 1). */
45
+ opacity?: number;
33
46
  }
34
47
  export declare class SVGExporter {
35
48
  private hatchGenerator;
@@ -54,6 +67,16 @@ export declare class SVGExporter {
54
67
  private polygonToPath;
55
68
  private renderHatchLine;
56
69
  private createTitleBlock;
70
+ /**
71
+ * Render one DXF reference underlay as an SVG layer group (issue #1782).
72
+ * Underlay geometry is in world plan coordinates (metres, +Y = north);
73
+ * it maps to plan drawing space (`x, -y`), takes the user placement,
74
+ * then goes through the shared drawing → paper transform. Note this
75
+ * assumes the Drawing2D was generated without a render-frame origin
76
+ * shift; shifted/georeferenced pipelines (like the viewer) must handle
77
+ * the shift themselves before calling into SVG export.
78
+ */
79
+ private createUnderlayLayer;
57
80
  private escapeXml;
58
81
  }
59
82
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"svg-exporter.d.ts","sourceRoot":"","sources":["../src/svg-exporter.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,SAAS,EAET,cAAc,EAEd,QAAQ,EAET,MAAM,YAAY,CAAC;AAGpB,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,YAAY,EAElB,MAAM,aAAa,CAAC;AAOrB,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB;IACjB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2BAA2B;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uBAAuB;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,0BAA0B;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kCAAkC;IAClC,KAAK,CAAC,EAAE,IAAI,GAAG,GAAG,CAAC;CACpB;AAaD,qBAAa,WAAW;IACtB,OAAO,CAAC,cAAc,CAAwB;IAE9C;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,GAAE,gBAAqB,GAAG,MAAM;IAmElE;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAE,gBAAqB,GAAG,MAAM;IAsBpG,OAAO,CAAC,gBAAgB;IA4BxB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,sBAAsB;IAwC9B,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,aAAa;IAwBrB,OAAO,CAAC,aAAa;IA8BrB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,SAAS;CAQlB;AAMD;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAGlF"}
1
+ {"version":3,"file":"svg-exporter.d.ts","sourceRoot":"","sources":["../src/svg-exporter.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,SAAS,EAET,cAAc,EAEd,QAAQ,EAET,MAAM,YAAY,CAAC;AAGpB,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,YAAY,EAElB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAyB,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAM5F,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB;IACjB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2BAA2B;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uBAAuB;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,0BAA0B;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kCAAkC;IAClC,KAAK,CAAC,EAAE,IAAI,GAAG,GAAG,CAAC;IACnB,yEAAyE;IACzE,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAClC;AAED,iEAAiE;AACjE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,WAAW,CAAC;IACtB,yDAAyD;IACzD,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAaD,qBAAa,WAAW;IACtB,OAAO,CAAC,cAAc,CAAwB;IAE9C;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,GAAE,gBAAqB,GAAG,MAAM;IAyElE;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAE,gBAAqB,GAAG,MAAM;IAsBpG,OAAO,CAAC,gBAAgB;IA4BxB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,sBAAsB;IAwC9B,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,aAAa;IAwBrB,OAAO,CAAC,aAAa;IA8BrB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,gBAAgB;IAyBxB;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IAsE3B,OAAO,CAAC,SAAS;CAQlB;AAMD;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAGlF"}
@@ -4,6 +4,8 @@
4
4
  import { HatchGenerator } from './hatch-generator.js';
5
5
  import { getLineStyle, getHatchPattern, PAPER_SIZES, COMMON_SCALES, } from './styles.js';
6
6
  import { boundsSize, boundsCenter } from './math.js';
7
+ import { applyDxfPlacement } from './dxf/convert.js';
8
+ import { DEFAULT_DXF_PLACEMENT } from './dxf/types.js';
7
9
  // ═══════════════════════════════════════════════════════════════════════════
8
10
  // SVG EXPORTER CLASS
9
11
  // ═══════════════════════════════════════════════════════════════════════════
@@ -13,12 +15,16 @@ export class SVGExporter {
13
15
  * Export a 2D drawing to SVG string
14
16
  */
15
17
  export(drawing, options = {}) {
16
- const { paperSize = PAPER_SIZES.A3_LANDSCAPE, scale = COMMON_SCALES.find((s) => s.factor === drawing.config.scale) || COMMON_SCALES[5], padding = 20, showHiddenLines = true, showHatching = true, showTitleBlock = false, title = 'Section', projectName = '', backgroundColor = '#FFFFFF', } = options;
18
+ const { paperSize = PAPER_SIZES.A3_LANDSCAPE, scale = COMMON_SCALES.find((s) => s.factor === drawing.config.scale) || COMMON_SCALES[5], padding = 20, showHiddenLines = true, showHatching = true, showTitleBlock = false, title = 'Section', projectName = '', backgroundColor = '#FFFFFF', underlays = [], } = options;
17
19
  // Calculate transform from drawing coordinates to SVG coordinates
18
20
  const transform = this.computeTransform(drawing.bounds, paperSize, scale, padding);
19
21
  // Build SVG
20
22
  let svg = this.createHeader(paperSize, backgroundColor);
21
23
  svg += this.createDefs(drawing, scale.factor);
24
+ // Layer: DXF reference underlays (bottom-most, issue #1782)
25
+ for (const underlayOptions of underlays) {
26
+ svg += this.createUnderlayLayer(underlayOptions, transform);
27
+ }
22
28
  // Layer: Hatching (bottom)
23
29
  if (showHatching && drawing.cutPolygons.length > 0) {
24
30
  svg += this.createHatchingLayer(drawing.cutPolygons, transform, scale.factor);
@@ -256,6 +262,79 @@ export class SVGExporter {
256
262
  <text x="${x + 105}" y="${y + 45}" font-family="Arial" font-size="7">${new Date().toLocaleDateString()}</text>
257
263
  </g>\n`;
258
264
  }
265
+ /**
266
+ * Render one DXF reference underlay as an SVG layer group (issue #1782).
267
+ * Underlay geometry is in world plan coordinates (metres, +Y = north);
268
+ * it maps to plan drawing space (`x, -y`), takes the user placement,
269
+ * then goes through the shared drawing → paper transform. Note this
270
+ * assumes the Drawing2D was generated without a render-frame origin
271
+ * shift; shifted/georeferenced pipelines (like the viewer) must handle
272
+ * the shift themselves before calling into SVG export.
273
+ */
274
+ createUnderlayLayer(options, transform) {
275
+ const { underlay, placement = DEFAULT_DXF_PLACEMENT, layerVisibility = {}, opacity = 1 } = options;
276
+ const mapPoint = (p) => this.transformPoint(applyDxfPlacement({ x: p.x, y: -p.y }, placement), transform);
277
+ const groupId = `dxf-${underlay.name.replace(/[^A-Za-z0-9_-]/g, '_')}`;
278
+ let layer = ` <g id="${this.escapeXml(groupId)}" inkscape:label="${this.escapeXml(underlay.name)}" inkscape:groupmode="layer" opacity="${opacity}">\n`;
279
+ for (const dxfLayer of underlay.layers) {
280
+ const visible = layerVisibility[dxfLayer.name] ?? dxfLayer.visible;
281
+ if (!visible)
282
+ continue;
283
+ layer += ` <g data-dxf-layer="${this.escapeXml(dxfLayer.name)}">\n`;
284
+ for (const fill of dxfLayer.fills) {
285
+ let d = '';
286
+ const rings = [fill.polygon.outer, ...fill.polygon.holes];
287
+ for (const ring of rings) {
288
+ if (ring.length === 0)
289
+ continue;
290
+ const first = mapPoint(ring[0]);
291
+ d += `${d ? ' ' : ''}M ${first.x.toFixed(3)} ${first.y.toFixed(3)}`;
292
+ for (let i = 1; i < ring.length; i++) {
293
+ const p = mapPoint(ring[i]);
294
+ d += ` L ${p.x.toFixed(3)} ${p.y.toFixed(3)}`;
295
+ }
296
+ d += ' Z';
297
+ }
298
+ const fillColor = fill.color ?? dxfLayer.color;
299
+ const fillOpacity = fill.pattern ? 0.25 : 1;
300
+ layer += ` <path d="${d}" fill="${fillColor}" fill-opacity="${fillOpacity}" fill-rule="evenodd" stroke="none"/>\n`;
301
+ }
302
+ for (const path of dxfLayer.paths) {
303
+ if (path.points.length < 2)
304
+ continue;
305
+ const pts = path.points.map(mapPoint);
306
+ const pointsAttr = pts.map((p) => `${p.x.toFixed(3)},${p.y.toFixed(3)}`).join(' ');
307
+ const tag = path.closed ? 'polygon' : 'polyline';
308
+ const strokeWidth = path.widthMm ?? 0.18;
309
+ const dash = path.dashed ? ` stroke-dasharray="${(strokeWidth * 6).toFixed(3)} ${(strokeWidth * 4).toFixed(3)}"` : '';
310
+ layer += ` <${tag} points="${pointsAttr}" fill="none" stroke="${path.color ?? dxfLayer.color}" stroke-width="${strokeWidth}" stroke-linecap="round"${dash}/>\n`;
311
+ }
312
+ for (const text of dxfLayer.texts) {
313
+ if (!text.text.trim())
314
+ continue;
315
+ const anchor = mapPoint(text.position);
316
+ const tip = mapPoint({ x: text.position.x + text.dirX, y: text.position.y + text.dirY });
317
+ const angle = (Math.atan2(tip.y - anchor.y, tip.x - anchor.x) * 180) / Math.PI;
318
+ // Placement scales geometry through mapPoint; the font height must
319
+ // follow or labels detach from their linework.
320
+ const heightMm = text.height * placement.scale * transform.scale;
321
+ const anchorAttr = text.align === 'center' ? 'middle' : text.align === 'right' ? 'end' : 'start';
322
+ const baseline = text.valign === 'bottom' ? 'text-after-edge'
323
+ : text.valign === 'middle' ? 'central'
324
+ : text.valign === 'top' ? 'text-before-edge'
325
+ : 'alphabetic';
326
+ // Multiline MTEXT stacks with tspans, matching the canvas layout.
327
+ const lines = text.text.split('\n');
328
+ const content = lines
329
+ .map((line, i) => `<tspan x="${anchor.x.toFixed(3)}" dy="${i === 0 ? 0 : (heightMm * 1.3).toFixed(3)}">${this.escapeXml(line)}</tspan>`)
330
+ .join('');
331
+ layer += ` <text x="${anchor.x.toFixed(3)}" y="${anchor.y.toFixed(3)}" font-family="Arial, sans-serif" font-size="${heightMm.toFixed(3)}" fill="${text.color ?? dxfLayer.color}" text-anchor="${anchorAttr}" dominant-baseline="${baseline}" transform="rotate(${angle.toFixed(2)} ${anchor.x.toFixed(3)} ${anchor.y.toFixed(3)})">${content}</text>\n`;
332
+ }
333
+ layer += ' </g>\n';
334
+ }
335
+ layer += ' </g>\n';
336
+ return layer;
337
+ }
259
338
  escapeXml(str) {
260
339
  return str
261
340
  .replace(/&/g, '&amp;')
@@ -1 +1 @@
1
- {"version":3,"file":"svg-exporter.js","sourceRoot":"","sources":["../src/svg-exporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"svg-exporter.js","sourceRoot":"","sources":["../src/svg-exporter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ifc-lite/drawing-2d",
3
- "version": "1.18.6",
3
+ "version": "1.20.0",
4
4
  "description": "2D architectural drawing generation from IFC models - section cuts, floor plans, and elevations",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -13,12 +13,12 @@
13
13
  }
14
14
  },
15
15
  "dependencies": {
16
- "@ifc-lite/geometry": "^3.1.4"
16
+ "@ifc-lite/geometry": "^3.5.0"
17
17
  },
18
18
  "devDependencies": {
19
19
  "@webgpu/types": "^0.1.71",
20
20
  "typescript": "^6.0.3",
21
- "vitest": "^4.1.9"
21
+ "vitest": "^4.1.10"
22
22
  },
23
23
  "license": "MPL-2.0",
24
24
  "author": "Louis True",