@mlightcad/libredwg-converter 3.5.32 → 3.5.34

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.
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2025 mlight-lee
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2025 mlight-lee
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,53 +1,53 @@
1
- # @mlightcad/libredwg-converter
2
-
3
- The `libredwg-converter` package provides a DWG file converter for the RealDWG-Web ecosystem, enabling reading and conversion of DWG files into the AutoCAD-like drawing database structure. It is based on the [LibreDWG](https://www.gnu.org/software/libredwg/) library compiled to WebAssembly.
4
-
5
- ## Overview
6
-
7
- This package implements a DWG file converter compatible with the RealDWG-Web data model. It allows you to register DWG file support in your application and convert DWG files into the in-memory drawing database.
8
-
9
- ## Key Features
10
-
11
- - **DWG File Support**: Read and convert DWG files to the drawing database
12
- - **Integration**: Designed to work with the RealDWG-Web data model and converter manager
13
- - **WebAssembly Powered**: Uses LibreDWG compiled to WASM for fast, browser-compatible parsing
14
-
15
- ## Installation
16
-
17
- ```bash
18
- npm install @mlightcad/libredwg-converter
19
- ```
20
-
21
- > **Peer dependencies:**
22
- > - `@mlightcad/data-model`
23
- > - `@mlightcad/libredwg-web`
24
-
25
- ## Usage Example
26
-
27
- ```typescript
28
- import { AcDbDatabaseConverterManager, AcDbFileType } from '@mlightcad/data-model';
29
- import { AcDbLibreDwgConverter } from '@mlightcad/libredwg-converter';
30
-
31
- // WASM module loading (async)
32
- import('@mlightcad/libredwg-web/wasm/libredwg-web').then(libredwgModule => {
33
- const dwgConverter = new AcDbLibreDwgConverter(libredwgModule);
34
- AcDbDatabaseConverterManager.instance.register(AcDbFileType.DWG, dwgConverter);
35
- });
36
- ```
37
-
38
- ## API
39
-
40
- - **AcDbLibreDwgConverter**: Main converter class for DWG files (extends `AcDbDatabaseConverter`)
41
-
42
- ## Dependencies
43
-
44
- - **@mlightcad/data-model**: Drawing database and entity definitions
45
- - **@mlightcad/libredwg-web**: WASM wrapper for LibreDWG
46
-
47
- ## API Documentation
48
-
49
- For detailed API documentation, visit the [RealDWG-Web documentation](https://mlight-lee.github.io/realdwg-web/).
50
-
51
- ## Contributing
52
-
1
+ # @mlightcad/libredwg-converter
2
+
3
+ The `libredwg-converter` package provides a DWG file converter for the RealDWG-Web ecosystem, enabling reading and conversion of DWG files into the AutoCAD-like drawing database structure. It is based on the [LibreDWG](https://www.gnu.org/software/libredwg/) library compiled to WebAssembly.
4
+
5
+ ## Overview
6
+
7
+ This package implements a DWG file converter compatible with the RealDWG-Web data model. It allows you to register DWG file support in your application and convert DWG files into the in-memory drawing database.
8
+
9
+ ## Key Features
10
+
11
+ - **DWG File Support**: Read and convert DWG files to the drawing database
12
+ - **Integration**: Designed to work with the RealDWG-Web data model and converter manager
13
+ - **WebAssembly Powered**: Uses LibreDWG compiled to WASM for fast, browser-compatible parsing
14
+
15
+ ## Installation
16
+
17
+ ```bash
18
+ npm install @mlightcad/libredwg-converter
19
+ ```
20
+
21
+ > **Peer dependencies:**
22
+ > - `@mlightcad/data-model`
23
+ > - `@mlightcad/libredwg-web`
24
+
25
+ ## Usage Example
26
+
27
+ ```typescript
28
+ import { AcDbDatabaseConverterManager, AcDbFileType } from '@mlightcad/data-model';
29
+ import { AcDbLibreDwgConverter } from '@mlightcad/libredwg-converter';
30
+
31
+ // WASM module loading (async)
32
+ import('@mlightcad/libredwg-web/wasm/libredwg-web').then(libredwgModule => {
33
+ const dwgConverter = new AcDbLibreDwgConverter(libredwgModule);
34
+ AcDbDatabaseConverterManager.instance.register(AcDbFileType.DWG, dwgConverter);
35
+ });
36
+ ```
37
+
38
+ ## API
39
+
40
+ - **AcDbLibreDwgConverter**: Main converter class for DWG files (extends `AcDbDatabaseConverter`)
41
+
42
+ ## Dependencies
43
+
44
+ - **@mlightcad/data-model**: Drawing database and entity definitions
45
+ - **@mlightcad/libredwg-web**: WASM wrapper for LibreDWG
46
+
47
+ ## API Documentation
48
+
49
+ For detailed API documentation, visit the [RealDWG-Web documentation](https://mlight-lee.github.io/realdwg-web/).
50
+
51
+ ## Contributing
52
+
53
53
  This package is part of the RealDWG-Web monorepo. Please refer to the main project README for contribution guidelines.
@@ -1,4 +1,4 @@
1
- import { AcDbFace as H, AcGeVector3d as A, AcDbArc as j, transformOcsPointToWcs as x, AcDbCircle as z, AcDbEllipse as W, AcDbLine as X, AcGePoint3d as S, AcDbSpline as M, AcDbPoint as U, AcDbTrace as G, AcDbPolyline as Y, AcGePoint2d as m, AcDbPolygonMesh as Z, AcDbPolyFaceMesh as _, AcDbPoly2dType as b, AcDb2dPolyline as K, AcDbPoly3dType as I, AcDb3dPolyline as q, AcDbHatch as J, AcGePolyline2d as Q, AcGeLine2d as $, AcGeCircArc2d as ee, AcGeVector2d as te, AcGeEllipseArc2d as ne, AcGeSpline3d as v, AcGeLoop2d as k, AcDbHatchObjectType as oe, AcDbTable as re, AcDbText as ie, AcDbMText as se, AcDbLeader as ce, AcDbMLine as ae, AcDbMLeader as le, AcDbMLeaderLineType as de, AcDbMLeaderContentType as T, AcDbAlignedDimension as fe, AcDbRotatedDimension as pe, AcDb3PointAngularDimension as ge, AcDbOrdinateDimension as ue, AcDbRadialDimension as he, AcDbDiametricDimension as De, AcDbRasterImage as ye, AcDbWipeout as Ae, AcDbViewport as be, AcDbRay as Pe, AcDbXline as Ie, AcDbAttributeFlags as P, AcDbAttributeMTextFlag as O, AcDbAttribute as N, AcDbAttributeDefinition as Te, AcDbBlockReference as we, AcCmTransparency as Le, AcDbDatabaseConverter as Ce, createWorkerApi as Ee, AcDbLinetypeTableRecord as xe, AcDbTextStyleTableRecord as Se, DEFAULT_TEXT_STYLE as R, AcDbDimStyleTableRecord as Me, AcCmColor as me, AcDbLayerTableRecord as ve, AcDbViewportTableRecord as ke, AcDbBlockTableRecord as Oe, AcDbBatchProcessing as Ne, ByLayer as Re, AcDbLayout as Ve, AcDbRasterImageDef as Fe } from "@mlightcad/data-model";
1
+ import { AcDbFace as j, AcGeVector3d as A, AcDbArc as z, transformOcsPointToWcs as C, AcDbCircle as W, AcDbEllipse as X, AcDbLine as U, AcGePoint3d as S, AcDbSpline as M, AcDbPoint as G, AcDbTrace as Y, AcDbPolyline as Z, AcGePoint2d as m, AcDbPolygonMesh as _, AcDbPolyFaceMesh as K, AcDbPoly2dType as b, AcDb2dPolyline as q, AcDbPoly3dType as P, AcDb3dPolyline as J, AcDbHatch as Q, AcGePolyline2d as $, AcGeLine2d as ee, AcGeCircArc2d as te, AcGeVector2d as ne, AcGeEllipseArc2d as oe, AcGeSpline3d as v, AcGeLoop2d as k, AcDbHatchObjectType as re, AcDbTable as ie, AcDbText as se, AcDbMText as ce, AcDbLeader as ae, AcDbMLine as le, AcDbMLeader as de, AcDbMLeaderLineType as fe, AcDbMLeaderContentType as w, AcDbAlignedDimension as pe, AcDbRotatedDimension as ge, AcDb3PointAngularDimension as ue, AcDbOrdinateDimension as he, AcDbRadialDimension as De, AcDbDiametricDimension as ye, AcDbRasterImage as Ae, AcDbWipeout as be, AcDbViewport as Ie, AcDbRay as Pe, AcDbXline as we, AcDbAttributeFlags as I, AcDbAttributeMTextFlag as O, AcDbAttribute as N, AcDbAttributeDefinition as Te, AcDbBlockReference as Le, AcCmColor as F, AcCmTransparency as Ee, AcDbDatabaseConverter as xe, createWorkerApi as Ce, AcDbLinetypeTableRecord as Se, AcDbTextStyleTableRecord as Me, DEFAULT_TEXT_STYLE as R, AcDbDimStyleTableRecord as me, AcDbLayerTableRecord as ve, AcDbViewportTableRecord as ke, AcDbBlockTableRecord as Oe, AcDbBatchProcessing as Ne, ByLayer as Re, AcDbLayout as Ve, AcDbRasterImageDef as Fe } from "@mlightcad/data-model";
2
2
  class V {
3
3
  convert(e) {
4
4
  const t = this.createEntity(e);
@@ -8,13 +8,13 @@ class V {
8
8
  return e.type == "3DFACE" ? this.convertFace(e) : e.type == "ARC" ? this.convertArc(e) : e.type == "ATTDEF" ? this.convertAttributeDefinition(e) : e.type == "ATTRIB" ? this.convertAttribute(e) : e.type == "CIRCLE" ? this.convertCirle(e) : e.type == "DIMENSION" ? this.convertDimension(e) : e.type == "ELLIPSE" ? this.convertEllipse(e) : e.type == "HATCH" ? this.convertHatch(e) : e.type == "IMAGE" ? this.convertImage(e) : e.type == "LEADER" ? this.convertLeader(e) : e.type == "LINE" ? this.convertLine(e) : e.type == "LWPOLYLINE" ? this.convertLWPolyline(e) : e.type == "MLINE" ? this.convertMLine(e) : e.type == "MTEXT" ? this.convertMText(e) : e.type == "MULTILEADER" || e.type == "MLEADER" ? this.convertMLeader(e) : e.type == "POINT" ? this.convertPoint(e) : e.type == "POLYLINE2D" ? this.convertPolyline2d(e) : e.type == "POLYLINE3D" ? this.convertPolyline3d(e) : e.type == "RAY" ? this.convertRay(e) : e.type == "SPLINE" ? this.convertSpline(e) : e.type == "ACAD_TABLE" ? this.convertTable(e) : e.type == "TEXT" ? this.convertText(e) : e.type == "SOLID" ? this.convertSolid(e) : e.type == "VIEWPORT" ? this.convertViewport(e) : e.type == "WIPEOUT" ? this.convertWipeout(e) : e.type == "XLINE" ? this.convertXline(e) : e.type == "INSERT" ? this.convertBlockReference(e) : null;
9
9
  }
10
10
  convertFace(e) {
11
- const t = new H();
11
+ const t = new j();
12
12
  return e.corner1 && t.setVertexAt(0, e.corner1), e.corner2 && t.setVertexAt(1, e.corner2), e.corner3 && t.setVertexAt(2, e.corner3), e.corner4 && t.setVertexAt(3, e.corner4), t.setEdgeInvisibilities(e.flag), t;
13
13
  }
14
14
  convertArc(e) {
15
15
  const t = e.extrusionDirection ?? A.Z_AXIS;
16
- return new j(
17
- x(e.center, t),
16
+ return new z(
17
+ C(e.center, t),
18
18
  e.radius,
19
19
  e.startAngle,
20
20
  e.endAngle,
@@ -23,15 +23,15 @@ class V {
23
23
  }
24
24
  convertCirle(e) {
25
25
  const t = e.extrusionDirection ?? A.Z_AXIS;
26
- return new z(
27
- x(e.center, t),
26
+ return new W(
27
+ C(e.center, t),
28
28
  e.radius,
29
29
  t
30
30
  );
31
31
  }
32
32
  convertEllipse(e) {
33
33
  const t = new A(e.majorAxisEndPoint), o = t.length();
34
- return new W(
34
+ return new X(
35
35
  e.center,
36
36
  e.extrusionDirection ?? A.Z_AXIS,
37
37
  t,
@@ -43,7 +43,7 @@ class V {
43
43
  }
44
44
  convertLine(e) {
45
45
  const t = e.startPoint, o = e.endPoint;
46
- return new X(
46
+ return new U(
47
47
  new S(t.x, t.y, t.z),
48
48
  new S(o.x, o.y, o.z)
49
49
  );
@@ -70,18 +70,18 @@ class V {
70
70
  return null;
71
71
  }
72
72
  convertPoint(e) {
73
- const t = new U();
73
+ const t = new G();
74
74
  return t.position = e.position, t;
75
75
  }
76
76
  convertSolid(e) {
77
- const t = new G();
77
+ const t = new Y();
78
78
  return t.setPointAt(0, { ...e.corner1, z: 0 }), t.setPointAt(1, { ...e.corner2, z: 0 }), t.setPointAt(2, { ...e.corner3, z: 0 }), t.setPointAt(
79
79
  3,
80
80
  e.corner4 ? { ...e.corner4, z: 0 } : { ...e.corner3, z: 0 }
81
81
  ), t.thickness = e.thickness, t;
82
82
  }
83
83
  convertLWPolyline(e) {
84
- const t = new Y();
84
+ const t = new Z();
85
85
  t.closed = !!(e.flag & 512);
86
86
  const o = e.constantWidth ?? -1;
87
87
  return e.vertices.forEach((n, r) => {
@@ -117,13 +117,13 @@ class V {
117
117
  }), a.push(c.bulge ?? 0);
118
118
  }), o) {
119
119
  const c = e.meshMVertexCount ?? 2, d = e.meshNVertexCount ?? 2;
120
- return new Z(c, d, i, t, r);
120
+ return new _(c, d, i, t, r);
121
121
  } else {
122
122
  if (n)
123
- return new _(i, s);
123
+ return new K(i, s);
124
124
  {
125
125
  let c = b.SimplePoly;
126
- return e.flag & 2 ? c = b.FitCurvePoly : e.flag & 4 && (e.smoothType == 6 ? c = b.CubicSplinePoly : e.smoothType == 5 && (c = b.QuadSplinePoly)), new K(
126
+ return e.flag & 2 ? c = b.FitCurvePoly : e.flag & 4 && (e.smoothType == 6 ? c = b.CubicSplinePoly : e.smoothType == 5 && (c = b.QuadSplinePoly)), new q(
127
127
  c,
128
128
  i,
129
129
  0,
@@ -144,12 +144,12 @@ class V {
144
144
  z: r.z
145
145
  });
146
146
  });
147
- let n = I.SimplePoly;
148
- return e.flag & 4 && (e.smoothType == 6 ? n = I.CubicSplinePoly : e.smoothType == 5 && (n = I.QuadSplinePoly)), new q(n, o, t);
147
+ let n = P.SimplePoly;
148
+ return e.flag & 4 && (e.smoothType == 6 ? n = P.CubicSplinePoly : e.smoothType == 5 && (n = P.QuadSplinePoly)), new J(n, o, t);
149
149
  }
150
150
  convertHatch(e) {
151
151
  var n;
152
- const t = new J();
152
+ const t = new Q();
153
153
  if ((n = e.definitionLines) == null || n.forEach((r) => {
154
154
  t.definitionLines.push({
155
155
  angle: r.angle,
@@ -159,7 +159,7 @@ class V {
159
159
  });
160
160
  }), t.isSolidFill = e.solidFill == 1, t.hatchStyle = e.hatchStyle, t.patternName = e.patternName, t.patternType = e.patternType, t.patternAngle = e.patternAngle == null ? 0 : e.patternAngle, t.patternScale = e.patternScale == null ? 0 : e.patternScale, e.boundaryPaths.forEach((r) => {
161
161
  if (r.boundaryPathTypeFlag & 2) {
162
- const a = r, s = new Q();
162
+ const a = r, s = new $();
163
163
  s.closed = a.isClosed, a.vertices.forEach((c, d) => {
164
164
  s.addVertexAt(d, {
165
165
  x: c.x,
@@ -173,11 +173,11 @@ class V {
173
173
  if (d != null) {
174
174
  if (d.type == 1) {
175
175
  const l = d;
176
- s.push(new $(l.start, l.end));
176
+ s.push(new ee(l.start, l.end));
177
177
  } else if (d.type == 2) {
178
178
  const l = d;
179
179
  s.push(
180
- new ee(
180
+ new te(
181
181
  l.center,
182
182
  l.radius,
183
183
  l.startAngle,
@@ -187,14 +187,14 @@ class V {
187
187
  );
188
188
  } else if (d.type == 3) {
189
189
  const l = d;
190
- new te().subVectors(l.end, l.center);
190
+ new ne().subVectors(l.end, l.center);
191
191
  const p = Math.sqrt(
192
192
  Math.pow(l.end.x, 2) + Math.pow(l.end.y, 2)
193
193
  ), g = p * l.lengthOfMinorAxis;
194
194
  let u = l.startAngle, y = l.endAngle;
195
195
  const h = Math.atan2(l.end.y, l.end.x);
196
196
  l.isCCW || (u = Math.PI * 2 - u, y = Math.PI * 2 - y), s.push(
197
- new ne(
197
+ new oe(
198
198
  { ...l.center, z: 0 },
199
199
  p,
200
200
  g,
@@ -239,7 +239,7 @@ class V {
239
239
  }
240
240
  }), e.gradientFlag) {
241
241
  const r = e;
242
- if (t.hatchObjectType = oe.GradientObject, t.gradientName = r.gradientName, t.gradientAngle = r.gradientRotation ?? 0, t.gradientShift = r.gradientDefinition ?? 0, t.gradientOneColorMode = r.gradientColorFlag == 1, t.shadeTintValue = r.colorTint ?? 0, r.gradientColors) {
242
+ if (t.hatchObjectType = re.GradientObject, t.gradientName = r.gradientName, t.gradientAngle = r.gradientRotation ?? 0, t.gradientShift = r.gradientDefinition ?? 0, t.gradientOneColorMode = r.gradientColorFlag == 1, t.shadeTintValue = r.colorTint ?? 0, r.gradientColors) {
243
243
  const i = r.gradientColors.length;
244
244
  i > 1 ? (t.gradientStartColor = r.gradientColors[0].rgb, t.gradientEndColor = r.gradientColors[1].rgb) : i > 0 && (t.gradientStartColor = r.gradientColors[0].rgb);
245
245
  }
@@ -247,7 +247,7 @@ class V {
247
247
  return t;
248
248
  }
249
249
  convertTable(e) {
250
- const t = new re(
250
+ const t = new ie(
251
251
  e.name,
252
252
  e.rowCount,
253
253
  e.columnCount
@@ -261,23 +261,23 @@ class V {
261
261
  }), t;
262
262
  }
263
263
  convertText(e) {
264
- const t = new ie();
264
+ const t = new se();
265
265
  t.textString = e.text, t.styleName = e.styleName, t.height = e.textHeight, t.position.copy(e.startPoint);
266
266
  const o = !e.endPoint || e.endPoint.x === 0 && e.endPoint.y === 0 && (e.endPoint.z ?? 0) === 0;
267
267
  return e.endPoint && !o ? t.alignmentPoint.copy(e.endPoint) : t.alignmentPoint.copy(e.startPoint), t.rotation = e.rotation, t.oblique = e.obliqueAngle ?? 0, t.thickness = e.thickness, t.horizontalMode = e.halign, t.verticalMode = e.valign, t.widthFactor = e.xScale ?? 1, t;
268
268
  }
269
269
  convertMText(e) {
270
- const t = new se();
270
+ const t = new ce();
271
271
  return t.contents = e.text, e.styleName != null && (t.styleName = e.styleName), t.height = e.textHeight, t.width = e.rectWidth, t.rotation = e.rotation || 0, t.location = e.insertionPoint, t.attachmentPoint = e.attachmentPoint, e.direction && (t.direction = new A(e.direction)), t.drawingDirection = e.drawingDirection, t;
272
272
  }
273
273
  convertLeader(e) {
274
- const t = new ce();
274
+ const t = new ae();
275
275
  return e.vertices.forEach((o) => {
276
276
  t.appendVertex(o);
277
277
  }), t.hasArrowHead = e.isArrowheadEnabled, t.hasHookLine = e.isHooklineExists, t.isSplined = e.isSpline, t.dimensionStyle = e.styleName, t.annoType = e.leaderCreationFlag, t;
278
278
  }
279
279
  convertMLine(e) {
280
- const t = new ae();
280
+ const t = new le();
281
281
  return t.styleName = e.mlineStyle || "STANDARD", t.scale = e.scale, t.flags = e.flags, t.justification = e.justification, t.startPosition = e.startPoint, t.normal = e.extrusionDirection ?? A.Z_AXIS, t.styleCount = e.numberOfLines ?? 0, t.segments = (e.vertices ?? []).map((o) => ({
282
282
  position: o.vertex,
283
283
  direction: o.vertexDirection,
@@ -292,13 +292,13 @@ class V {
292
292
  }
293
293
  convertMLeader(e) {
294
294
  var p, g, u, y;
295
- const t = new le(), o = e;
295
+ const t = new de(), o = e;
296
296
  t.leaderLineType = this.readNumber(o, [
297
297
  "multileaderType",
298
298
  "leaderLineType",
299
299
  "leaderType"
300
- ]) ?? de.StraightLeader;
301
- const n = this.readNumber(o, ["contentType"]) ?? (e.textContent ? T.MTextContent : e.blockContent ? T.BlockContent : T.NoneContent);
300
+ ]) ?? fe.StraightLeader;
301
+ const n = this.readNumber(o, ["contentType"]) ?? (e.textContent ? w.MTextContent : e.blockContent ? w.BlockContent : w.NoneContent);
302
302
  t.contentType = n, t.doglegEnabled = this.readBoolean(o, ["doglegEnabled", "enableDogleg"]) ?? !1, t.doglegLength = this.readNumber(o, ["doglegLength"]) ?? 0, e.landingPoint && (t.landingPoint = e.landingPoint), e.doglegVector && (t.doglegVector = e.doglegVector);
303
303
  const r = this.readString(o, [
304
304
  "mleaderStyleId",
@@ -370,20 +370,20 @@ class V {
370
370
  });
371
371
  }
372
372
  return (u = e.leaders) == null || u.forEach((h) => {
373
- var w;
373
+ var T;
374
374
  const D = t.addLeader({
375
375
  landingPoint: h.landingPoint ?? e.landingPoint,
376
376
  doglegVector: h.doglegVector ?? e.doglegVector,
377
377
  doglegLength: h.doglegLength ?? e.doglegLength
378
378
  });
379
- (w = h.leaderLines) == null || w.forEach((L) => {
380
- var C;
381
- const B = t.addLeaderLine(
379
+ (T = h.leaderLines) == null || T.forEach((L) => {
380
+ var E;
381
+ const H = t.addLeaderLine(
382
382
  D,
383
383
  L.vertices ?? []
384
384
  );
385
- (C = L.breaks) == null || C.forEach((E) => {
386
- t.addBreak(D, B, E.start, E.end);
385
+ (E = L.breaks) == null || E.forEach((x) => {
386
+ t.addBreak(D, H, x.start, x.end);
387
387
  });
388
388
  });
389
389
  }), t.numberOfLeaders === 0 && ((y = this.readLeaderLineArray(o)) == null || y.forEach((h) => {
@@ -397,7 +397,7 @@ class V {
397
397
  }
398
398
  convertDimension(e) {
399
399
  if (e.subclassMarker == "AcDbAlignedDimension") {
400
- const t = e, o = new fe(
400
+ const t = e, o = new pe(
401
401
  t.subDefinitionPoint1,
402
402
  t.subDefinitionPoint2,
403
403
  t.definitionPoint
@@ -408,7 +408,7 @@ class V {
408
408
  z: 0
409
409
  }), o.rotation = t.rotationAngle, this.processDimensionCommonAttrs(e, o), o;
410
410
  } else if (e.subclassMarker == "AcDbRotatedDimension") {
411
- const t = e, o = new pe(
411
+ const t = e, o = new ge(
412
412
  t.subDefinitionPoint1,
413
413
  t.subDefinitionPoint2,
414
414
  t.definitionPoint
@@ -419,7 +419,7 @@ class V {
419
419
  z: 0
420
420
  }), o.rotation = t.rotationAngle, this.processDimensionCommonAttrs(e, o), o;
421
421
  } else if (e.subclassMarker == "AcDb3PointAngularDimension") {
422
- const t = e, o = new ge(
422
+ const t = e, o = new ue(
423
423
  t.centerPoint,
424
424
  t.subDefinitionPoint1,
425
425
  t.subDefinitionPoint2,
@@ -427,20 +427,20 @@ class V {
427
427
  );
428
428
  return this.processDimensionCommonAttrs(e, o), o;
429
429
  } else if (e.subclassMarker == "AcDbOrdinateDimension") {
430
- const t = e, o = new ue(
430
+ const t = e, o = new he(
431
431
  t.subDefinitionPoint1,
432
432
  t.subDefinitionPoint2
433
433
  );
434
434
  return this.processDimensionCommonAttrs(e, o), o;
435
435
  } else if (e.subclassMarker == "AcDbRadialDimension") {
436
- const t = e, o = new he(
436
+ const t = e, o = new De(
437
437
  t.definitionPoint,
438
438
  t.centerPoint,
439
439
  t.leaderLength
440
440
  );
441
441
  return this.processDimensionCommonAttrs(e, o), o;
442
442
  } else if (e.subclassMarker == "AcDbDiametricDimension") {
443
- const t = e, o = new De(
443
+ const t = e, o = new ye(
444
444
  t.definitionPoint,
445
445
  t.centerPoint,
446
446
  t.leaderLength
@@ -459,15 +459,15 @@ class V {
459
459
  ) * e.imageSize.y, t.rotation = Math.atan2(e.uPixel.y, e.uPixel.x);
460
460
  }
461
461
  convertImage(e) {
462
- const t = new ye();
462
+ const t = new Ae();
463
463
  return this.processImage(e, t), t;
464
464
  }
465
465
  convertWipeout(e) {
466
- const t = new Ae();
466
+ const t = new be();
467
467
  return this.processImage(e, t), t;
468
468
  }
469
469
  convertViewport(e) {
470
- const t = new be();
470
+ const t = new Ie();
471
471
  return t.number = e.viewportId, t.centerPoint.copy(e.viewportCenter), t.height = e.height, t.width = e.width, t.viewCenter.copy(e.displayCenter), t.viewHeight = e.viewHeight, t;
472
472
  }
473
473
  convertRay(e) {
@@ -475,14 +475,14 @@ class V {
475
475
  return t.basePoint.copy(e.firstPoint), t.unitDir.copy(e.unitDirection), t;
476
476
  }
477
477
  convertXline(e) {
478
- const t = new Ie();
478
+ const t = new we();
479
479
  return t.basePoint.copy(e.firstPoint), t.unitDir.copy(e.unitDirection), t;
480
480
  }
481
481
  convertAttributeCommon(e, t) {
482
482
  const o = e.text;
483
483
  t.textString = o.text, t.styleName = o.styleName, t.height = o.textHeight, t.position.copy(o.startPoint);
484
484
  const n = e.alignmentPoint ?? o.endPoint, r = !n || n.x === 0 && n.y === 0 && (n.z ?? 0) === 0;
485
- n && !r ? t.alignmentPoint.copy(n) : t.alignmentPoint.copy(o.startPoint), t.rotation = o.rotation, t.oblique = o.obliqueAngle ?? 0, t.thickness = o.thickness, t.horizontalMode = o.halign, t.verticalMode = o.valign, t.widthFactor = o.xScale ?? 1, t.tag = e.tag, t.fieldLength = e.fieldLength, t.isInvisible = (e.flags & P.Invisible) !== 0, t.isConst = (e.flags & P.Const) !== 0, t.isVerifiable = (e.flags & P.Verifiable) !== 0, t.isPreset = (e.flags & P.Preset) !== 0, t.lockPositionInBlock = e.lockPositionFlag, t.isReallyLocked = e.isReallyLocked, t.isMTextAttribute = (e.mtextFlag & O.MultiLine) !== 0, t.isConstMTextAttribute = (e.mtextFlag & O.ConstMultiLine) !== 0;
485
+ n && !r ? t.alignmentPoint.copy(n) : t.alignmentPoint.copy(o.startPoint), t.rotation = o.rotation, t.oblique = o.obliqueAngle ?? 0, t.thickness = o.thickness, t.horizontalMode = o.halign, t.verticalMode = o.valign, t.widthFactor = o.xScale ?? 1, t.tag = e.tag, t.fieldLength = e.fieldLength, t.isInvisible = (e.flags & I.Invisible) !== 0, t.isConst = (e.flags & I.Const) !== 0, t.isVerifiable = (e.flags & I.Verifiable) !== 0, t.isPreset = (e.flags & I.Preset) !== 0, t.lockPositionInBlock = e.lockPositionFlag, t.isReallyLocked = e.isReallyLocked, t.isMTextAttribute = (e.mtextFlag & O.MultiLine) !== 0, t.isConstMTextAttribute = (e.mtextFlag & O.ConstMultiLine) !== 0;
486
486
  }
487
487
  convertAttribute(e) {
488
488
  const t = new N();
@@ -493,7 +493,7 @@ class V {
493
493
  return this.convertAttributeCommon(e, t), t.prompt = e.prompt, t;
494
494
  }
495
495
  convertBlockReference(e) {
496
- const t = new we(e.name);
496
+ const t = new Le(e.name);
497
497
  return e.insertionPoint && t.position.copy(e.insertionPoint), t.scaleFactors.x = e.xScale, t.scaleFactors.y = e.yScale, t.scaleFactors.z = e.zScale, t.rotation = e.rotation, t.normal.copy(e.extrusionDirection), e.handle != null && (t.objectId = e.handle), e.attribs && e.attribs.forEach((o) => {
498
498
  const n = this.convert(o);
499
499
  n instanceof N && t.appendAttributes(n);
@@ -503,8 +503,12 @@ class V {
503
503
  t.dimBlockId = e.name, t.textPosition.copy(e.textPoint), t.textRotation = e.textRotation || 0, e.textLineSpacingFactor && (t.textLineSpacingFactor = e.textLineSpacingFactor), e.textLineSpacingStyle && (t.textLineSpacingStyle = e.textLineSpacingStyle), t.dimensionStyleName = e.styleName, t.dimensionText = e.text || "", t.measurement = e.measurement;
504
504
  }
505
505
  processCommonAttrs(e, t) {
506
- if (t.layer = e.layer || "0", t.objectId = e.handle, e.ownerBlockRecordSoftId != null && (t.ownerId = e.ownerBlockRecordSoftId), e.lineType != null && (t.lineType = e.lineType), e.lineweight != null && (t.lineWeight = e.lineweight), e.lineTypeScale != null && (t.linetypeScale = e.lineTypeScale), e.color != null && t.color.setRGBValue(e.color), e.colorIndex != null && (e.color == null || e.colorIndex === 7) && (t.color.colorIndex = e.colorIndex), e.colorName && (t.color.colorName = e.colorName), e.isVisible != null && (t.visibility = e.isVisible), e.transparency != null) {
507
- const o = new Le();
506
+ if (t.layer = e.layer || "0", t.objectId = e.handle, e.ownerBlockRecordSoftId != null && (t.ownerId = e.ownerBlockRecordSoftId), e.lineType != null && (t.lineType = e.lineType), e.lineweight != null && (t.lineWeight = e.lineweight), e.lineTypeScale != null && (t.linetypeScale = e.lineTypeScale), e.color != null || e.colorIndex != null || e.colorName) {
507
+ const o = new F();
508
+ e.color != null && o.setRGBValue(e.color), e.colorIndex != null && (e.color == null || e.colorIndex === 7) && (o.colorIndex = e.colorIndex), e.colorName && (o.colorName = e.colorName), t.color = o;
509
+ }
510
+ if (e.isVisible != null && (t.visibility = e.isVisible), e.transparency != null) {
511
+ const o = new Ee();
508
512
  o.method = e.transparencyType, (o.isByBlock || o.isByBlock) && (o.alpha = e.transparency), t.transparency = o;
509
513
  }
510
514
  }
@@ -554,14 +558,14 @@ class V {
554
558
  }
555
559
  }
556
560
  const Be = "*MODEL_SPACE";
557
- class je extends Ce {
561
+ class je extends xe {
558
562
  constructor(e = {}) {
559
563
  super(e), e.useWorker = !0, e.parserWorkerUrl || (e.parserWorkerUrl = "/assets/libredwg-parser-worker.js");
560
564
  }
561
565
  async parse(e, t) {
562
566
  const o = this.config, n = this.getParserWorkerTimeout(e, t);
563
567
  if (o.useWorker && o.parserWorkerUrl) {
564
- const r = Ee({
568
+ const r = Ce({
565
569
  workerUrl: o.parserWorkerUrl,
566
570
  timeout: n,
567
571
  maxConcurrentWorkers: 1
@@ -627,13 +631,13 @@ class je extends Ce {
627
631
  standardFlag: n.standardFlag,
628
632
  totalPatternLength: n.totalPatternLength,
629
633
  pattern: n.pattern
630
- }, i = new xe(r);
634
+ }, i = new Se(r);
631
635
  this.processCommonTableEntryAttrs(n, i), i.name = n.name, t.tables.linetypeTable.add(i);
632
636
  });
633
637
  }
634
638
  processTextStyles(e, t) {
635
639
  e.tables.STYLE.entries.forEach((n) => {
636
- const r = new Se(n);
640
+ const r = new Me(n);
637
641
  this.processCommonTableEntryAttrs(n, r), t.tables.textStyleTable.add(r);
638
642
  });
639
643
  }
@@ -708,13 +712,13 @@ class je extends Ce {
708
712
  dimblk2: n.DIMBLK2 || "",
709
713
  dimlwd: n.DIMLWD,
710
714
  dimlwe: n.DIMLWE
711
- }, i = new Me(r);
715
+ }, i = new me(r);
712
716
  this.processCommonTableEntryAttrs(n, i), t.tables.dimStyleTable.add(i);
713
717
  });
714
718
  }
715
719
  processLayers(e, t) {
716
720
  e.tables.LAYER.entries.forEach((n) => {
717
- const r = new me();
721
+ const r = new F();
718
722
  r.colorIndex = n.colorIndex;
719
723
  const i = new ve({
720
724
  name: n.name,
@@ -1 +1 @@
1
- (function(b,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("@mlightcad/data-model")):typeof define=="function"&&define.amd?define(["exports","@mlightcad/data-model"],r):(b=typeof globalThis<"u"?globalThis:b||self,r(b["libredwg-converter"]={},b.dataModel))})(this,function(b,r){"use strict";class P{convert(e){const n=this.createEntity(e);return n&&this.processCommonAttrs(e,n),n}createEntity(e){return e.type=="3DFACE"?this.convertFace(e):e.type=="ARC"?this.convertArc(e):e.type=="ATTDEF"?this.convertAttributeDefinition(e):e.type=="ATTRIB"?this.convertAttribute(e):e.type=="CIRCLE"?this.convertCirle(e):e.type=="DIMENSION"?this.convertDimension(e):e.type=="ELLIPSE"?this.convertEllipse(e):e.type=="HATCH"?this.convertHatch(e):e.type=="IMAGE"?this.convertImage(e):e.type=="LEADER"?this.convertLeader(e):e.type=="LINE"?this.convertLine(e):e.type=="LWPOLYLINE"?this.convertLWPolyline(e):e.type=="MLINE"?this.convertMLine(e):e.type=="MTEXT"?this.convertMText(e):e.type=="MULTILEADER"||e.type=="MLEADER"?this.convertMLeader(e):e.type=="POINT"?this.convertPoint(e):e.type=="POLYLINE2D"?this.convertPolyline2d(e):e.type=="POLYLINE3D"?this.convertPolyline3d(e):e.type=="RAY"?this.convertRay(e):e.type=="SPLINE"?this.convertSpline(e):e.type=="ACAD_TABLE"?this.convertTable(e):e.type=="TEXT"?this.convertText(e):e.type=="SOLID"?this.convertSolid(e):e.type=="VIEWPORT"?this.convertViewport(e):e.type=="WIPEOUT"?this.convertWipeout(e):e.type=="XLINE"?this.convertXline(e):e.type=="INSERT"?this.convertBlockReference(e):null}convertFace(e){const n=new r.AcDbFace;return e.corner1&&n.setVertexAt(0,e.corner1),e.corner2&&n.setVertexAt(1,e.corner2),e.corner3&&n.setVertexAt(2,e.corner3),e.corner4&&n.setVertexAt(3,e.corner4),n.setEdgeInvisibilities(e.flag),n}convertArc(e){const n=e.extrusionDirection??r.AcGeVector3d.Z_AXIS;return new r.AcDbArc(r.transformOcsPointToWcs(e.center,n),e.radius,e.startAngle,e.endAngle,n)}convertCirle(e){const n=e.extrusionDirection??r.AcGeVector3d.Z_AXIS;return new r.AcDbCircle(r.transformOcsPointToWcs(e.center,n),e.radius,n)}convertEllipse(e){const n=new r.AcGeVector3d(e.majorAxisEndPoint),o=n.length();return new r.AcDbEllipse(e.center,e.extrusionDirection??r.AcGeVector3d.Z_AXIS,n,o,o*e.axisRatio,e.startAngle,e.endAngle)}convertLine(e){const n=e.startPoint,o=e.endPoint;return new r.AcDbLine(new r.AcGePoint3d(n.x,n.y,n.z),new r.AcGePoint3d(o.x,o.y,o.z))}convertSpline(e){try{if(e.numberOfControlPoints>0&&e.numberOfKnots>0)return new r.AcDbSpline(e.controlPoints,e.knots,e.weights,e.degree,!!(e.flag&1));if(e.numberOfFitPoints>0)return new r.AcDbSpline(e.fitPoints,"Uniform",e.degree,!!(e.flag&1))}catch{}return null}convertPoint(e){const n=new r.AcDbPoint;return n.position=e.position,n}convertSolid(e){const n=new r.AcDbTrace;return n.setPointAt(0,{...e.corner1,z:0}),n.setPointAt(1,{...e.corner2,z:0}),n.setPointAt(2,{...e.corner3,z:0}),n.setPointAt(3,e.corner4?{...e.corner4,z:0}:{...e.corner3,z:0}),n.thickness=e.thickness,n}convertLWPolyline(e){const n=new r.AcDbPolyline;n.closed=!!(e.flag&512);const o=e.constantWidth??-1;return e.vertices.forEach((t,i)=>{n.addVertexAt(i,new r.AcGePoint2d(t.x,t.y),t.bulge,t.startWidth??o,t.endWidth??o)}),n}convertPolyline2d(e){const n=!!(e.flag&1),o=!!(e.flag&16),t=!!(e.flag&64),i=!!(e.flag&32),s=[],a=[],c=[];if(e.vertices.map(l=>{if(!(l.flag&16))if(t&&l.flag&128)if(l.flag&64)s.push({x:l.x,y:l.y,z:l.z}),a.push(l.bulge??0);else{const f=[];l.polyfaceIndex0!=null&&l.polyfaceIndex0!=0&&f.push(Math.abs(l.polyfaceIndex0)-1),l.polyfaceIndex1!=null&&l.polyfaceIndex1!=0&&f.push(Math.abs(l.polyfaceIndex1)-1),l.polyfaceIndex2!=null&&l.polyfaceIndex2!=0&&f.push(Math.abs(l.polyfaceIndex2)-1),l.polyfaceIndex3!=null&&l.polyfaceIndex3!=0&&f.push(Math.abs(l.polyfaceIndex3)-1),f.length>=3&&c.push(f)}else s.push({x:l.x,y:l.y,z:l.z}),a.push(l.bulge??0)}),o){const l=e.meshMVertexCount??2,f=e.meshNVertexCount??2;return new r.AcDbPolygonMesh(l,f,s,n,i)}else{if(t)return new r.AcDbPolyFaceMesh(s,c);{let l=r.AcDbPoly2dType.SimplePoly;return e.flag&2?l=r.AcDbPoly2dType.FitCurvePoly:e.flag&4&&(e.smoothType==6?l=r.AcDbPoly2dType.CubicSplinePoly:e.smoothType==5&&(l=r.AcDbPoly2dType.QuadSplinePoly)),new r.AcDb2dPolyline(l,s,0,n,e.startWidth,e.endWidth,a)}}}convertPolyline3d(e){const n=!!(e.flag&1),o=[];e.vertices.map(i=>{i.flag&16||o.push({x:i.x,y:i.y,z:i.z})});let t=r.AcDbPoly3dType.SimplePoly;return e.flag&4&&(e.smoothType==6?t=r.AcDbPoly3dType.CubicSplinePoly:e.smoothType==5&&(t=r.AcDbPoly3dType.QuadSplinePoly)),new r.AcDb3dPolyline(t,o,n)}convertHatch(e){var t;const n=new r.AcDbHatch;if((t=e.definitionLines)==null||t.forEach(i=>{n.definitionLines.push({angle:i.angle,base:i.base,offset:i.offset,dashLengths:i.numberOfDashLengths>0?i.dashLengths:[]})}),n.isSolidFill=e.solidFill==1,n.hatchStyle=e.hatchStyle,n.patternName=e.patternName,n.patternType=e.patternType,n.patternAngle=e.patternAngle==null?0:e.patternAngle,n.patternScale=e.patternScale==null?0:e.patternScale,e.boundaryPaths.forEach(i=>{if(i.boundaryPathTypeFlag&2){const a=i,c=new r.AcGePolyline2d;c.closed=a.isClosed,a.vertices.forEach((l,f)=>{c.addVertexAt(f,{x:l.x,y:l.y,bulge:l.bulge})}),n.add(c)}else{const a=i,c=[];a.edges.forEach(f=>{if(f!=null){if(f.type==1){const p=f;c.push(new r.AcGeLine2d(p.start,p.end))}else if(f.type==2){const p=f;c.push(new r.AcGeCircArc2d(p.center,p.radius,p.startAngle,p.endAngle,!p.isCCW))}else if(f.type==3){const p=f;new r.AcGeVector2d().subVectors(p.end,p.center);const g=Math.sqrt(Math.pow(p.end.x,2)+Math.pow(p.end.y,2)),d=g*p.lengthOfMinorAxis;let h=p.startAngle,A=p.endAngle;const D=Math.atan2(p.end.y,p.end.x);p.isCCW||(h=Math.PI*2-h,A=Math.PI*2-A),c.push(new r.AcGeEllipseArc2d({...p.center,z:0},g,d,h,A,!p.isCCW,D))}else if(f.type==4){const p=f;if(p.numberOfControlPoints>0&&p.numberOfKnots>0){const u=p.controlPoints.map(h=>({x:h.x,y:h.y,z:0}));let g=!0;const d=p.controlPoints.map(h=>(h.weight==null&&(g=!1),h.weight||1));c.push(new r.AcGeSpline3d(u,p.knots,g?d:void 0))}else if(p.numberOfFitData>0){const u=p.fitDatum.map(g=>({x:g.x,y:g.y,z:0}));c.push(new r.AcGeSpline3d(u,"Uniform"))}}}});const l=r.AcGeLoop2d.buildFromEdges(c);l.length==0&&c.length>0?n.add(new r.AcGeLoop2d(c)):l.forEach(f=>n.add(f))}}),e.gradientFlag){const i=e;if(n.hatchObjectType=r.AcDbHatchObjectType.GradientObject,n.gradientName=i.gradientName,n.gradientAngle=i.gradientRotation??0,n.gradientShift=i.gradientDefinition??0,n.gradientOneColorMode=i.gradientColorFlag==1,n.shadeTintValue=i.colorTint??0,i.gradientColors){const s=i.gradientColors.length;s>1?(n.gradientStartColor=i.gradientColors[0].rgb,n.gradientEndColor=i.gradientColors[1].rgb):s>0&&(n.gradientStartColor=i.gradientColors[0].rgb)}}return n}convertTable(e){const n=new r.AcDbTable(e.name,e.rowCount,e.columnCount);return n.tableStyleId=e.tableStyleId,n.owningBlockRecordId=e.blockRecordHandle,e.directionVector&&(n.horizontalDirection=new r.AcGeVector3d(e.directionVector)),n.attachmentPoint=e.attachmentPoint,n.position.copy(e.startPoint),n.tableValueFlag=e.tableValue,n.tableOverrideFlag=e.overrideFlag,n.borderColorOverrideFlag=e.borderColorOverrideFlag,n.borderLineweightOverrideFlag=e.borderLineWeightOverrideFlag,n.borderVisibilityOverrideFlag=e.borderVisibilityOverrideFlag,e.columnWidthArr.forEach((o,t)=>n.setColumnWidth(t,o)),e.rowHeightArr.forEach((o,t)=>n.setRowHeight(t,o)),e.cells.forEach((o,t)=>{n.setCell(t,o)}),n}convertText(e){const n=new r.AcDbText;n.textString=e.text,n.styleName=e.styleName,n.height=e.textHeight,n.position.copy(e.startPoint);const o=!e.endPoint||e.endPoint.x===0&&e.endPoint.y===0&&(e.endPoint.z??0)===0;return e.endPoint&&!o?n.alignmentPoint.copy(e.endPoint):n.alignmentPoint.copy(e.startPoint),n.rotation=e.rotation,n.oblique=e.obliqueAngle??0,n.thickness=e.thickness,n.horizontalMode=e.halign,n.verticalMode=e.valign,n.widthFactor=e.xScale??1,n}convertMText(e){const n=new r.AcDbMText;return n.contents=e.text,e.styleName!=null&&(n.styleName=e.styleName),n.height=e.textHeight,n.width=e.rectWidth,n.rotation=e.rotation||0,n.location=e.insertionPoint,n.attachmentPoint=e.attachmentPoint,e.direction&&(n.direction=new r.AcGeVector3d(e.direction)),n.drawingDirection=e.drawingDirection,n}convertLeader(e){const n=new r.AcDbLeader;return e.vertices.forEach(o=>{n.appendVertex(o)}),n.hasArrowHead=e.isArrowheadEnabled,n.hasHookLine=e.isHooklineExists,n.isSplined=e.isSpline,n.dimensionStyle=e.styleName,n.annoType=e.leaderCreationFlag,n}convertMLine(e){const n=new r.AcDbMLine;return n.styleName=e.mlineStyle||"STANDARD",n.scale=e.scale,n.flags=e.flags,n.justification=e.justification,n.startPosition=e.startPoint,n.normal=e.extrusionDirection??r.AcGeVector3d.Z_AXIS,n.styleCount=e.numberOfLines??0,n.segments=(e.vertices??[]).map(o=>({position:o.vertex,direction:o.vertexDirection,miterDirection:o.miterDirection,elements:(o.lines??[]).map(t=>({parameterCount:t.numberOfSegmentParams,parameters:t.segmentParams??[],fillCount:t.numberOfAreaFillParams,fillParameters:t.areaFillParams??[]}))})),n}convertMLeader(e){var g,d,h,A;const n=new r.AcDbMLeader,o=e;n.leaderLineType=this.readNumber(o,["multileaderType","leaderLineType","leaderType"])??r.AcDbMLeaderLineType.StraightLeader;const t=this.readNumber(o,["contentType"])??(e.textContent?r.AcDbMLeaderContentType.MTextContent:e.blockContent?r.AcDbMLeaderContentType.BlockContent:r.AcDbMLeaderContentType.NoneContent);n.contentType=t,n.doglegEnabled=this.readBoolean(o,["doglegEnabled","enableDogleg"])??!1,n.doglegLength=this.readNumber(o,["doglegLength"])??0,e.landingPoint&&(n.landingPoint=e.landingPoint),e.doglegVector&&(n.doglegVector=e.doglegVector);const i=this.readString(o,["mleaderStyleId","mLeaderStyleId","mleaderStyleHandle","styleHandle","styleName"]);i&&(n.mleaderStyleId=i);const s=this.readPoint(o,["normal","extrusionDirection"]);s&&(n.normal=s);const a=e.textContent,c=this.readString(a??{},["styleName","textStyleName"])??this.readString(o,["textStyleName","textStyle","styleName"]);c&&(n.textStyleName=c),n.textHeight=this.readNumber(a??{},["textHeight","height"])??this.readNumber(o,["textHeight","mtextHeight","textContentHeight"])??n.textHeight,n.textWidth=this.readNumber(a??{},["textWidth","width"])??this.readNumber(o,["textWidth","mtextWidth","textContentWidth"])??n.textWidth;const l=this.readNumber(a??{},["textRotation","rotation"])??this.readNumber(o,["textRotation","mtextRotation","textContentRotation"]);l!=null&&(n.textRotation=l);const f=this.readPoint(o,["textDirection","mtextDirection","textDirectionVector"]);f&&(n.textDirection=f);const p=this.readNumber(o,["textAttachmentPoint","attachmentPoint"]);p!=null&&(n.textAttachmentPoint=p);const u=this.readNumber(o,["textDrawingDirection","drawingDirection"]);if(u!=null&&(n.textDrawingDirection=u),((g=e.textContent)==null?void 0:g.text)!=null&&e.textContent.anchorPoint)n.mtextContent={text:e.textContent.text,anchorPoint:e.textContent.anchorPoint};else{const D=this.readString(o,["text","contents","mtext"]),y=this.readPoint(o,["textLocation","textPosition","textAnchorPoint"]);D!=null&&y&&(n.mtextContent={text:D,anchorPoint:y})}if((d=e.blockContent)!=null&&d.blockHandle&&e.blockContent.position)n.blockContent={blockHandle:e.blockContent.blockHandle,position:e.blockContent.position};else{const D=this.readString(o,["blockHandle","blockContentHandle","blockId"]),y=this.readPoint(o,["blockPosition","blockContentPosition"]);D&&y&&(n.blockContent={blockHandle:D,position:y})}return(h=e.leaders)==null||h.forEach(D=>{var T;const y=n.addLeader({landingPoint:D.landingPoint??e.landingPoint,doglegVector:D.doglegVector??e.doglegVector,doglegLength:D.doglegLength??e.doglegLength});(T=D.leaderLines)==null||T.forEach(I=>{var w;const S=n.addLeaderLine(y,I.vertices??[]);(w=I.breaks)==null||w.forEach(L=>{n.addBreak(y,S,L.start,L.end)})})}),n.numberOfLeaders===0&&((A=this.readLeaderLineArray(o))==null||A.forEach(D=>{const y=n.addLeader({landingPoint:e.landingPoint,doglegVector:e.doglegVector,doglegLength:e.doglegLength});n.addLeaderLine(y,D)})),n}convertDimension(e){if(e.subclassMarker=="AcDbAlignedDimension"){const n=e,o=new r.AcDbAlignedDimension(n.subDefinitionPoint1,n.subDefinitionPoint2,n.definitionPoint);return n.insertionPoint&&(o.dimBlockPosition={x:n.insertionPoint.x,y:n.insertionPoint.y,z:0}),o.rotation=n.rotationAngle,this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDbRotatedDimension"){const n=e,o=new r.AcDbRotatedDimension(n.subDefinitionPoint1,n.subDefinitionPoint2,n.definitionPoint);return n.insertionPoint&&(o.dimBlockPosition={x:n.insertionPoint.x,y:n.insertionPoint.y,z:0}),o.rotation=n.rotationAngle,this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDb3PointAngularDimension"){const n=e,o=new r.AcDb3PointAngularDimension(n.centerPoint,n.subDefinitionPoint1,n.subDefinitionPoint2,n.definitionPoint);return this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDbOrdinateDimension"){const n=e,o=new r.AcDbOrdinateDimension(n.subDefinitionPoint1,n.subDefinitionPoint2);return this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDbRadialDimension"){const n=e,o=new r.AcDbRadialDimension(n.definitionPoint,n.centerPoint,n.leaderLength);return this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDbDiametricDimension"){const n=e,o=new r.AcDbDiametricDimension(n.definitionPoint,n.centerPoint,n.leaderLength);return this.processDimensionCommonAttrs(e,o),o}return null}processImage(e,n){n.position.copy(e.position),n.brightness=e.brightness,n.contrast=e.contrast,n.fade=e.fade,n.imageSize.copy(e.imageSize),n.imageDefId=e.imageDefHandle,n.isClipped=e.clipping>0,n.isShownClipped=(e.flags|4)>0,n.isImageShown=(e.flags|3)>0,n.isImageTransparent=(e.flags|8)>0,e.clippingBoundaryPath.forEach(o=>{n.clipBoundary.push(new r.AcGePoint2d(o))}),n.clipBoundaryType=e.clippingBoundaryType,n.width=Math.sqrt(e.uPixel.x**2+e.uPixel.y**2+e.uPixel.z**2)*e.imageSize.x,n.height=Math.sqrt(e.vPixel.x**2+e.vPixel.y**2+e.vPixel.z**2)*e.imageSize.y,n.rotation=Math.atan2(e.uPixel.y,e.uPixel.x)}convertImage(e){const n=new r.AcDbRasterImage;return this.processImage(e,n),n}convertWipeout(e){const n=new r.AcDbWipeout;return this.processImage(e,n),n}convertViewport(e){const n=new r.AcDbViewport;return n.number=e.viewportId,n.centerPoint.copy(e.viewportCenter),n.height=e.height,n.width=e.width,n.viewCenter.copy(e.displayCenter),n.viewHeight=e.viewHeight,n}convertRay(e){const n=new r.AcDbRay;return n.basePoint.copy(e.firstPoint),n.unitDir.copy(e.unitDirection),n}convertXline(e){const n=new r.AcDbXline;return n.basePoint.copy(e.firstPoint),n.unitDir.copy(e.unitDirection),n}convertAttributeCommon(e,n){const o=e.text;n.textString=o.text,n.styleName=o.styleName,n.height=o.textHeight,n.position.copy(o.startPoint);const t=e.alignmentPoint??o.endPoint,i=!t||t.x===0&&t.y===0&&(t.z??0)===0;t&&!i?n.alignmentPoint.copy(t):n.alignmentPoint.copy(o.startPoint),n.rotation=o.rotation,n.oblique=o.obliqueAngle??0,n.thickness=o.thickness,n.horizontalMode=o.halign,n.verticalMode=o.valign,n.widthFactor=o.xScale??1,n.tag=e.tag,n.fieldLength=e.fieldLength,n.isInvisible=(e.flags&r.AcDbAttributeFlags.Invisible)!==0,n.isConst=(e.flags&r.AcDbAttributeFlags.Const)!==0,n.isVerifiable=(e.flags&r.AcDbAttributeFlags.Verifiable)!==0,n.isPreset=(e.flags&r.AcDbAttributeFlags.Preset)!==0,n.lockPositionInBlock=e.lockPositionFlag,n.isReallyLocked=e.isReallyLocked,n.isMTextAttribute=(e.mtextFlag&r.AcDbAttributeMTextFlag.MultiLine)!==0,n.isConstMTextAttribute=(e.mtextFlag&r.AcDbAttributeMTextFlag.ConstMultiLine)!==0}convertAttribute(e){const n=new r.AcDbAttribute;return this.convertAttributeCommon(e,n),n}convertAttributeDefinition(e){const n=new r.AcDbAttributeDefinition;return this.convertAttributeCommon(e,n),n.prompt=e.prompt,n}convertBlockReference(e){const n=new r.AcDbBlockReference(e.name);return e.insertionPoint&&n.position.copy(e.insertionPoint),n.scaleFactors.x=e.xScale,n.scaleFactors.y=e.yScale,n.scaleFactors.z=e.zScale,n.rotation=e.rotation,n.normal.copy(e.extrusionDirection),e.handle!=null&&(n.objectId=e.handle),e.attribs&&e.attribs.forEach(o=>{const t=this.convert(o);t instanceof r.AcDbAttribute&&n.appendAttributes(t)}),n}processDimensionCommonAttrs(e,n){n.dimBlockId=e.name,n.textPosition.copy(e.textPoint),n.textRotation=e.textRotation||0,e.textLineSpacingFactor&&(n.textLineSpacingFactor=e.textLineSpacingFactor),e.textLineSpacingStyle&&(n.textLineSpacingStyle=e.textLineSpacingStyle),n.dimensionStyleName=e.styleName,n.dimensionText=e.text||"",n.measurement=e.measurement}processCommonAttrs(e,n){if(n.layer=e.layer||"0",n.objectId=e.handle,e.ownerBlockRecordSoftId!=null&&(n.ownerId=e.ownerBlockRecordSoftId),e.lineType!=null&&(n.lineType=e.lineType),e.lineweight!=null&&(n.lineWeight=e.lineweight),e.lineTypeScale!=null&&(n.linetypeScale=e.lineTypeScale),e.color!=null&&n.color.setRGBValue(e.color),e.colorIndex!=null&&(e.color==null||e.colorIndex===7)&&(n.color.colorIndex=e.colorIndex),e.colorName&&(n.color.colorName=e.colorName),e.isVisible!=null&&(n.visibility=e.isVisible),e.transparency!=null){const o=new r.AcCmTransparency;o.method=e.transparencyType,(o.isByBlock||o.isByBlock)&&(o.alpha=e.transparency),n.transparency=o}}readNumber(e,n){for(const o of n){const t=e[o];if(typeof t=="number"&&Number.isFinite(t))return t}}readString(e,n){for(const o of n){const t=e[o];if(typeof t=="string")return t}}readBoolean(e,n){for(const o of n){const t=e[o];if(typeof t=="boolean")return t;if(typeof t=="number")return t!==0}}readPoint(e,n){for(const o of n){const t=e[o];if(this.isPointLike(t))return t;if(Array.isArray(t)&&typeof t[0]=="number"&&typeof t[1]=="number")return{x:t[0],y:t[1],z:t[2]??0}}}readLeaderLineArray(e){const n=e.leaderLines;if(Array.isArray(n))return n.map(t=>{if(!t||typeof t!="object")return;const i=t.vertices;return Array.isArray(i)?i.filter(s=>this.isPointLike(s)):void 0}).filter(t=>!!t&&t.length>0);const o=e.vertices;if(Array.isArray(o)){const t=o.filter(i=>this.isPointLike(i));return t.length>0?[t]:void 0}}isPointLike(e){return!!e&&typeof e=="object"&&typeof e.x=="number"&&typeof e.y=="number"}}const C="*MODEL_SPACE";class E extends r.AcDbDatabaseConverter{constructor(e={}){super(e),e.useWorker=!0,e.parserWorkerUrl||(e.parserWorkerUrl="/assets/libredwg-parser-worker.js")}async parse(e,n){const o=this.config,t=this.getParserWorkerTimeout(e,n);if(o.useWorker&&o.parserWorkerUrl){const i=r.createWorkerApi({workerUrl:o.parserWorkerUrl,timeout:t,maxConcurrentWorkers:1}),s=await i.execute(e);if(i.destroy(),s.success)return s.data;throw new Error(`Failed to parse drawing due to error: '${s.error}'`)}else throw new Error("dwg converter can run in web worker only!")}getFonts(e){const n=new Map;e.tables.BLOCK_RECORD.entries.forEach(s=>{n.set(s.name,s)});const o=new Map,t=s=>{if(s){const a=s.lastIndexOf(".");return a>=0?s.substring(0,a).toLowerCase():s.toLowerCase()}};e.tables.STYLE.entries.forEach(s=>{const a=[];let c=t(s.font);c&&a.push(c),c=t(s.bigFont),c&&a.push(c),o.set(s.name,a)});const i=new Set;return this.getFontsInBlock(e.entities,n,o,i),Array.from(i)}getFontsInBlock(e,n,o,t){const i=/\\f(.*?)\|/g;e.forEach(s=>{if(s.type=="MTEXT"){const a=s;[...a.text.matchAll(i)].forEach(l=>{t.add(l[1].toLowerCase())});const c=o.get(a.styleName);c==null||c.forEach(l=>t.add(l))}else if(s.type=="TEXT"){const a=s,c=o.get(a.styleName);c==null||c.forEach(l=>t.add(l))}else if(s.type=="MULTILEADER"||s.type=="MLEADER"){const a=s,c=a.textContent;[...(typeof(c==null?void 0:c.text)=="string"?c.text:"").matchAll(i)].forEach(u=>{t.add(u[1].toLowerCase())});const f=typeof(c==null?void 0:c.styleName)=="string"?c.styleName:typeof a.textStyleName=="string"?a.textStyleName:typeof a.styleName=="string"?a.styleName:void 0,p=f?o.get(f):void 0;p==null||p.forEach(u=>t.add(u))}else if(s.type=="INSERT"){const a=s,c=n.get(a.name);c&&this.getFontsInBlock(c.entities,n,o,t)}})}processLineTypes(e,n){e.tables.LTYPE.entries.forEach(t=>{const i={name:t.name,description:t.description,standardFlag:t.standardFlag,totalPatternLength:t.totalPatternLength,pattern:t.pattern},s=new r.AcDbLinetypeTableRecord(i);this.processCommonTableEntryAttrs(t,s),s.name=t.name,n.tables.linetypeTable.add(s)})}processTextStyles(e,n){e.tables.STYLE.entries.forEach(t=>{const i=new r.AcDbTextStyleTableRecord(t);this.processCommonTableEntryAttrs(t,i),n.tables.textStyleTable.add(i)})}processDimStyles(e,n){e.tables.DIMSTYLE.entries.forEach(t=>{const i={name:t.name,ownerId:t.ownerHandle,dimpost:t.DIMPOST||"",dimapost:t.DIMAPOST||"",dimscale:t.DIMSCALE,dimasz:t.DIMASZ,dimexo:t.DIMEXO,dimdli:t.DIMDLI,dimexe:t.DIMEXE,dimrnd:t.DIMRND,dimdle:t.DIMDLE,dimtp:t.DIMTP,dimtm:t.DIMTM,dimtxt:t.DIMTXT,dimcen:t.DIMCEN,dimtsz:t.DIMTSZ,dimaltf:t.DIMALTF,dimlfac:t.DIMLFAC,dimtvp:t.DIMTVP,dimtfac:t.DIMTFAC,dimgap:t.DIMGAP,dimaltrnd:t.DIMALTRND,dimtol:t.DIMTOL==null||t.DIMTOL==0?0:1,dimlim:t.DIMLIM==null||t.DIMLIM==0?0:1,dimtih:t.DIMTIH==null||t.DIMTIH==0?0:1,dimtoh:t.DIMTOH==null||t.DIMTOH==0?0:1,dimse1:t.DIMSE1==null||t.DIMSE1==0?0:1,dimse2:t.DIMSE2==null||t.DIMSE2==0?0:1,dimtad:t.DIMTAD,dimzin:t.DIMZIN,dimazin:t.DIMAZIN,dimalt:t.DIMALT,dimaltd:t.DIMALTD,dimtofl:t.DIMTOFL,dimsah:t.DIMSAH,dimtix:t.DIMTIX,dimsoxd:t.DIMSOXD,dimclrd:t.DIMCLRD,dimclre:t.DIMCLRE,dimclrt:t.DIMCLRT,dimadec:t.DIMADEC||0,dimunit:t.DIMUNIT||2,dimdec:t.DIMDEC,dimtdec:t.DIMTDEC,dimaltu:t.DIMALTU,dimalttd:t.DIMALTTD,dimaunit:t.DIMAUNIT,dimfrac:t.DIMFRAC,dimlunit:t.DIMLUNIT,dimdsep:t.DIMDSEP||".",dimtmove:t.DIMTMOVE||0,dimjust:t.DIMJUST,dimsd1:t.DIMSD1,dimsd2:t.DIMSD2,dimtolj:t.DIMTOLJ,dimtzin:t.DIMTZIN,dimaltz:t.DIMALTZ,dimalttz:t.DIMALTTZ,dimfit:t.DIMFIT||0,dimupt:t.DIMUPT,dimatfit:t.DIMATFIT,dimtxsty:r.DEFAULT_TEXT_STYLE,dimldrblk:"",dimblk:t.DIMBLK||"",dimblk1:t.DIMBLK1||"",dimblk2:t.DIMBLK2||"",dimlwd:t.DIMLWD,dimlwe:t.DIMLWE},s=new r.AcDbDimStyleTableRecord(i);this.processCommonTableEntryAttrs(t,s),n.tables.dimStyleTable.add(s)})}processLayers(e,n){e.tables.LAYER.entries.forEach(t=>{const i=new r.AcCmColor;i.colorIndex=t.colorIndex;const s=new r.AcDbLayerTableRecord({name:t.name,standardFlags:t.standardFlag,linetype:t.lineType,lineWeight:t.lineweight,isOff:t.off,color:i,isPlottable:t.plotFlag!=0});this.processCommonTableEntryAttrs(t,s),n.tables.layerTable.add(s)})}processViewports(e,n){e.tables.VPORT.entries.forEach(t=>{const i=new r.AcDbViewportTableRecord;this.processCommonTableEntryAttrs(t,i),t.circleSides&&(i.circleSides=t.circleSides),i.standardFlag=t.standardFlag,i.center.copy(t.center),i.lowerLeftCorner.copy(t.lowerLeftCorner),i.upperRightCorner.copy(t.upperRightCorner),t.snapBasePoint&&i.snapBase.copy(t.snapBasePoint),t.snapRotationAngle&&(i.snapAngle=t.snapRotationAngle),t.snapSpacing&&i.snapIncrements.copy(t.snapSpacing),t.majorGridLines&&(i.gridMajor=t.majorGridLines),t.gridSpacing&&i.gridIncrements.copy(t.gridSpacing),t.backgroundObjectId&&(i.backgroundObjectId=t.backgroundObjectId),i.gsView.center.copy(t.center),i.gsView.viewDirectionFromTarget.copy(t.viewDirectionFromTarget),i.gsView.viewTarget.copy(t.viewTarget),t.lensLength&&(i.gsView.lensLength=t.lensLength),t.frontClippingPlane&&(i.gsView.frontClippingPlane=t.frontClippingPlane),t.backClippingPlane&&(i.gsView.backClippingPlane=t.backClippingPlane),t.viewHeight&&(i.gsView.viewHeight=t.viewHeight),t.viewTwistAngle&&(i.gsView.viewTwistAngle=t.viewTwistAngle),t.frozenLayers&&(i.gsView.frozenLayers=t.frozenLayers),t.styleSheet&&(i.gsView.styleSheet=t.styleSheet),t.renderMode&&(i.gsView.renderMode=t.renderMode),t.viewMode&&(i.gsView.viewMode=t.viewMode),t.ucsIconSetting&&(i.gsView.ucsIconSetting=t.ucsIconSetting),t.ucsOrigin&&i.gsView.ucsOrigin.copy(t.ucsOrigin),t.ucsXAxis&&i.gsView.ucsXAxis.copy(t.ucsXAxis),t.ucsYAxis&&i.gsView.ucsYAxis.copy(t.ucsYAxis),t.orthographicType&&(i.gsView.orthographicType=t.orthographicType),t.shadePlotSetting&&(i.gsView.shadePlotSetting=t.shadePlotSetting),t.shadePlotObjectId&&(i.gsView.shadePlotObjectId=t.shadePlotObjectId),t.visualStyleObjectId&&(i.gsView.visualStyleObjectId=t.visualStyleObjectId),t.isDefaultLightingOn&&(i.gsView.isDefaultLightingOn=t.isDefaultLightingOn),t.defaultLightingType&&(i.gsView.defaultLightingType=t.defaultLightingType),t.brightness&&(i.gsView.brightness=t.brightness),t.contrast&&(i.gsView.contrast=t.contrast),t.ambientColor&&(i.gsView.ambientColor=t.ambientColor),n.tables.viewportTable.add(i)})}processBlockTables(e,n){e.tables.BLOCK_RECORD.entries.forEach(t=>{let i=n.tables.blockTable.getAt(t.name);i||(i=new r.AcDbBlockTableRecord,i.objectId=t.handle,i.name=t.name,i.ownerId=t.ownerHandle,i.origin.copy(t.basePoint),i.layoutId=t.layout,i.blockInsertUnits=t.insertionUnits,i.explodability=t.explodability,i.blockScaling=t.scalability,t.bmpPreview&&(i.bmpPreview=t.bmpPreview),n.tables.blockTable.add(i)),!i.isModelSapce&&t.entities&&t.entities.length>0&&this.processEntitiesInBlock(t.entities,i)})}processBlocks(e,n){}async processEntitiesInBlock(e,n){const o=new P,t=e.length,i=[];for(let s=0;s<t;s++){const a=e[s],c=o.convert(a);c&&i.push(c)}n.appendEntity(i)}async processEntities(e,n,o,t,i){const s=new P;let a=[];e.tables.BLOCK_RECORD.entries.forEach(p=>{this.isModelSpace(p.name)&&(a=p.entities)});const c=a.length,l=new r.AcDbBatchProcessing(c,100-t.value,o);this.config.convertByEntityType&&(a=this.groupAndFlattenByType(a));const f=n.tables.blockTable.modelSpace;await l.processChunk(async(p,u)=>{const g=[];for(let d=p;d<u;d++){const h=a[d],A=s.convert(h);A&&g.push(A)}if(f.appendEntity(g),i){let d=t.value+u/c*(100-t.value);d>100&&(d=100),await i(d,"ENTITY","IN-PROGRESS")}})}processHeader(e,n){const o=e.header;o.CECOLOR&&(o.CECOLOR.index>=0&&o.CECOLOR.index<=256?n.cecolor.colorIndex=o.CECOLOR.index:n.cecolor.setRGBValue(o.CECOLOR.rgb)),n.angBase=o.ANGBASE??0,n.angDir=o.ANGDIR??0,n.aunits=o.AUNITS??0,n.celtype=o.CELTYPE??r.ByLayer,n.celtscale=o.CELTSCALE??1,n.ltscale=o.LTSCALE??1,o.EXTMAX&&(n.extmax=o.EXTMAX),o.EXTMIN&&(n.extmin=o.EXTMIN),n.insunits=o.INSUNITS??1,n.pdmode=o.PDMODE??0,n.pdsize=o.PDSIZE??0,n.textstyle=o.TEXTSTYLE??r.DEFAULT_TEXT_STYLE}processCommonTableEntryAttrs(e,n){n.name=e.name,n.objectId=e.handle,e.ownerHandle!=null&&(n.ownerId=e.ownerHandle)}processObjects(e,n){this.processLayouts(e,n),this.processImageDefs(e,n)}processLayouts(e,n){const o=n.objects.layout;e.objects.LAYOUT.forEach(i=>{const s=new r.AcDbLayout;s.layoutName=i.layoutName,s.tabOrder=i.tabOrder;const a=n.tables.blockTable.newIterator();s.objectId=i.handle;for(const c of a)if(c.layoutId===s.objectId){s.blockTableRecordId=c.objectId;break}s.blockTableRecordId||i.layoutName==="Model"&&(s.blockTableRecordId=n.tables.blockTable.modelSpace.objectId),s.limits.min.copy(i.minLimit),s.limits.max.copy(i.maxLimit),s.extents.min.copy(i.minExtent),s.extents.max.copy(i.maxExtent),i.viewportId&&s.viewportArray.push(i.viewportId),this.processCommonObjectAttrs(i,s),o.setAt(s.layoutName,s)})}processImageDefs(e,n){const o=n.objects.imageDefinition;e.objects.IMAGEDEF.forEach(i=>{const s=new r.AcDbRasterImageDef;s.sourceFileName=i.fileName,this.processCommonObjectAttrs(i,s),o.setAt(s.objectId,s)})}processCommonObjectAttrs(e,n){n.objectId=e.handle,e.ownerHandle!=null&&(n.ownerId=e.ownerHandle)}groupAndFlattenByType(e){const n={},o=[];for(const t of e)n[t.type]||(n[t.type]=[],o.push(t.type)),n[t.type].push(t);return o.flatMap(t=>n[t])}isModelSpace(e){return e&&e.toUpperCase()==C}}b.AcDbLibreDwgConverter=E,Object.defineProperty(b,Symbol.toStringTag,{value:"Module"})});
1
+ (function(b,i){typeof exports=="object"&&typeof module<"u"?i(exports,require("@mlightcad/data-model")):typeof define=="function"&&define.amd?define(["exports","@mlightcad/data-model"],i):(b=typeof globalThis<"u"?globalThis:b||self,i(b["libredwg-converter"]={},b.dataModel))})(this,function(b,i){"use strict";class P{convert(e){const n=this.createEntity(e);return n&&this.processCommonAttrs(e,n),n}createEntity(e){return e.type=="3DFACE"?this.convertFace(e):e.type=="ARC"?this.convertArc(e):e.type=="ATTDEF"?this.convertAttributeDefinition(e):e.type=="ATTRIB"?this.convertAttribute(e):e.type=="CIRCLE"?this.convertCirle(e):e.type=="DIMENSION"?this.convertDimension(e):e.type=="ELLIPSE"?this.convertEllipse(e):e.type=="HATCH"?this.convertHatch(e):e.type=="IMAGE"?this.convertImage(e):e.type=="LEADER"?this.convertLeader(e):e.type=="LINE"?this.convertLine(e):e.type=="LWPOLYLINE"?this.convertLWPolyline(e):e.type=="MLINE"?this.convertMLine(e):e.type=="MTEXT"?this.convertMText(e):e.type=="MULTILEADER"||e.type=="MLEADER"?this.convertMLeader(e):e.type=="POINT"?this.convertPoint(e):e.type=="POLYLINE2D"?this.convertPolyline2d(e):e.type=="POLYLINE3D"?this.convertPolyline3d(e):e.type=="RAY"?this.convertRay(e):e.type=="SPLINE"?this.convertSpline(e):e.type=="ACAD_TABLE"?this.convertTable(e):e.type=="TEXT"?this.convertText(e):e.type=="SOLID"?this.convertSolid(e):e.type=="VIEWPORT"?this.convertViewport(e):e.type=="WIPEOUT"?this.convertWipeout(e):e.type=="XLINE"?this.convertXline(e):e.type=="INSERT"?this.convertBlockReference(e):null}convertFace(e){const n=new i.AcDbFace;return e.corner1&&n.setVertexAt(0,e.corner1),e.corner2&&n.setVertexAt(1,e.corner2),e.corner3&&n.setVertexAt(2,e.corner3),e.corner4&&n.setVertexAt(3,e.corner4),n.setEdgeInvisibilities(e.flag),n}convertArc(e){const n=e.extrusionDirection??i.AcGeVector3d.Z_AXIS;return new i.AcDbArc(i.transformOcsPointToWcs(e.center,n),e.radius,e.startAngle,e.endAngle,n)}convertCirle(e){const n=e.extrusionDirection??i.AcGeVector3d.Z_AXIS;return new i.AcDbCircle(i.transformOcsPointToWcs(e.center,n),e.radius,n)}convertEllipse(e){const n=new i.AcGeVector3d(e.majorAxisEndPoint),o=n.length();return new i.AcDbEllipse(e.center,e.extrusionDirection??i.AcGeVector3d.Z_AXIS,n,o,o*e.axisRatio,e.startAngle,e.endAngle)}convertLine(e){const n=e.startPoint,o=e.endPoint;return new i.AcDbLine(new i.AcGePoint3d(n.x,n.y,n.z),new i.AcGePoint3d(o.x,o.y,o.z))}convertSpline(e){try{if(e.numberOfControlPoints>0&&e.numberOfKnots>0)return new i.AcDbSpline(e.controlPoints,e.knots,e.weights,e.degree,!!(e.flag&1));if(e.numberOfFitPoints>0)return new i.AcDbSpline(e.fitPoints,"Uniform",e.degree,!!(e.flag&1))}catch{}return null}convertPoint(e){const n=new i.AcDbPoint;return n.position=e.position,n}convertSolid(e){const n=new i.AcDbTrace;return n.setPointAt(0,{...e.corner1,z:0}),n.setPointAt(1,{...e.corner2,z:0}),n.setPointAt(2,{...e.corner3,z:0}),n.setPointAt(3,e.corner4?{...e.corner4,z:0}:{...e.corner3,z:0}),n.thickness=e.thickness,n}convertLWPolyline(e){const n=new i.AcDbPolyline;n.closed=!!(e.flag&512);const o=e.constantWidth??-1;return e.vertices.forEach((t,r)=>{n.addVertexAt(r,new i.AcGePoint2d(t.x,t.y),t.bulge,t.startWidth??o,t.endWidth??o)}),n}convertPolyline2d(e){const n=!!(e.flag&1),o=!!(e.flag&16),t=!!(e.flag&64),r=!!(e.flag&32),s=[],a=[],c=[];if(e.vertices.map(l=>{if(!(l.flag&16))if(t&&l.flag&128)if(l.flag&64)s.push({x:l.x,y:l.y,z:l.z}),a.push(l.bulge??0);else{const p=[];l.polyfaceIndex0!=null&&l.polyfaceIndex0!=0&&p.push(Math.abs(l.polyfaceIndex0)-1),l.polyfaceIndex1!=null&&l.polyfaceIndex1!=0&&p.push(Math.abs(l.polyfaceIndex1)-1),l.polyfaceIndex2!=null&&l.polyfaceIndex2!=0&&p.push(Math.abs(l.polyfaceIndex2)-1),l.polyfaceIndex3!=null&&l.polyfaceIndex3!=0&&p.push(Math.abs(l.polyfaceIndex3)-1),p.length>=3&&c.push(p)}else s.push({x:l.x,y:l.y,z:l.z}),a.push(l.bulge??0)}),o){const l=e.meshMVertexCount??2,p=e.meshNVertexCount??2;return new i.AcDbPolygonMesh(l,p,s,n,r)}else{if(t)return new i.AcDbPolyFaceMesh(s,c);{let l=i.AcDbPoly2dType.SimplePoly;return e.flag&2?l=i.AcDbPoly2dType.FitCurvePoly:e.flag&4&&(e.smoothType==6?l=i.AcDbPoly2dType.CubicSplinePoly:e.smoothType==5&&(l=i.AcDbPoly2dType.QuadSplinePoly)),new i.AcDb2dPolyline(l,s,0,n,e.startWidth,e.endWidth,a)}}}convertPolyline3d(e){const n=!!(e.flag&1),o=[];e.vertices.map(r=>{r.flag&16||o.push({x:r.x,y:r.y,z:r.z})});let t=i.AcDbPoly3dType.SimplePoly;return e.flag&4&&(e.smoothType==6?t=i.AcDbPoly3dType.CubicSplinePoly:e.smoothType==5&&(t=i.AcDbPoly3dType.QuadSplinePoly)),new i.AcDb3dPolyline(t,o,n)}convertHatch(e){var t;const n=new i.AcDbHatch;if((t=e.definitionLines)==null||t.forEach(r=>{n.definitionLines.push({angle:r.angle,base:r.base,offset:r.offset,dashLengths:r.numberOfDashLengths>0?r.dashLengths:[]})}),n.isSolidFill=e.solidFill==1,n.hatchStyle=e.hatchStyle,n.patternName=e.patternName,n.patternType=e.patternType,n.patternAngle=e.patternAngle==null?0:e.patternAngle,n.patternScale=e.patternScale==null?0:e.patternScale,e.boundaryPaths.forEach(r=>{if(r.boundaryPathTypeFlag&2){const a=r,c=new i.AcGePolyline2d;c.closed=a.isClosed,a.vertices.forEach((l,p)=>{c.addVertexAt(p,{x:l.x,y:l.y,bulge:l.bulge})}),n.add(c)}else{const a=r,c=[];a.edges.forEach(p=>{if(p!=null){if(p.type==1){const f=p;c.push(new i.AcGeLine2d(f.start,f.end))}else if(p.type==2){const f=p;c.push(new i.AcGeCircArc2d(f.center,f.radius,f.startAngle,f.endAngle,!f.isCCW))}else if(p.type==3){const f=p;new i.AcGeVector2d().subVectors(f.end,f.center);const g=Math.sqrt(Math.pow(f.end.x,2)+Math.pow(f.end.y,2)),d=g*f.lengthOfMinorAxis;let h=f.startAngle,A=f.endAngle;const D=Math.atan2(f.end.y,f.end.x);f.isCCW||(h=Math.PI*2-h,A=Math.PI*2-A),c.push(new i.AcGeEllipseArc2d({...f.center,z:0},g,d,h,A,!f.isCCW,D))}else if(p.type==4){const f=p;if(f.numberOfControlPoints>0&&f.numberOfKnots>0){const u=f.controlPoints.map(h=>({x:h.x,y:h.y,z:0}));let g=!0;const d=f.controlPoints.map(h=>(h.weight==null&&(g=!1),h.weight||1));c.push(new i.AcGeSpline3d(u,f.knots,g?d:void 0))}else if(f.numberOfFitData>0){const u=f.fitDatum.map(g=>({x:g.x,y:g.y,z:0}));c.push(new i.AcGeSpline3d(u,"Uniform"))}}}});const l=i.AcGeLoop2d.buildFromEdges(c);l.length==0&&c.length>0?n.add(new i.AcGeLoop2d(c)):l.forEach(p=>n.add(p))}}),e.gradientFlag){const r=e;if(n.hatchObjectType=i.AcDbHatchObjectType.GradientObject,n.gradientName=r.gradientName,n.gradientAngle=r.gradientRotation??0,n.gradientShift=r.gradientDefinition??0,n.gradientOneColorMode=r.gradientColorFlag==1,n.shadeTintValue=r.colorTint??0,r.gradientColors){const s=r.gradientColors.length;s>1?(n.gradientStartColor=r.gradientColors[0].rgb,n.gradientEndColor=r.gradientColors[1].rgb):s>0&&(n.gradientStartColor=r.gradientColors[0].rgb)}}return n}convertTable(e){const n=new i.AcDbTable(e.name,e.rowCount,e.columnCount);return n.tableStyleId=e.tableStyleId,n.owningBlockRecordId=e.blockRecordHandle,e.directionVector&&(n.horizontalDirection=new i.AcGeVector3d(e.directionVector)),n.attachmentPoint=e.attachmentPoint,n.position.copy(e.startPoint),n.tableValueFlag=e.tableValue,n.tableOverrideFlag=e.overrideFlag,n.borderColorOverrideFlag=e.borderColorOverrideFlag,n.borderLineweightOverrideFlag=e.borderLineWeightOverrideFlag,n.borderVisibilityOverrideFlag=e.borderVisibilityOverrideFlag,e.columnWidthArr.forEach((o,t)=>n.setColumnWidth(t,o)),e.rowHeightArr.forEach((o,t)=>n.setRowHeight(t,o)),e.cells.forEach((o,t)=>{n.setCell(t,o)}),n}convertText(e){const n=new i.AcDbText;n.textString=e.text,n.styleName=e.styleName,n.height=e.textHeight,n.position.copy(e.startPoint);const o=!e.endPoint||e.endPoint.x===0&&e.endPoint.y===0&&(e.endPoint.z??0)===0;return e.endPoint&&!o?n.alignmentPoint.copy(e.endPoint):n.alignmentPoint.copy(e.startPoint),n.rotation=e.rotation,n.oblique=e.obliqueAngle??0,n.thickness=e.thickness,n.horizontalMode=e.halign,n.verticalMode=e.valign,n.widthFactor=e.xScale??1,n}convertMText(e){const n=new i.AcDbMText;return n.contents=e.text,e.styleName!=null&&(n.styleName=e.styleName),n.height=e.textHeight,n.width=e.rectWidth,n.rotation=e.rotation||0,n.location=e.insertionPoint,n.attachmentPoint=e.attachmentPoint,e.direction&&(n.direction=new i.AcGeVector3d(e.direction)),n.drawingDirection=e.drawingDirection,n}convertLeader(e){const n=new i.AcDbLeader;return e.vertices.forEach(o=>{n.appendVertex(o)}),n.hasArrowHead=e.isArrowheadEnabled,n.hasHookLine=e.isHooklineExists,n.isSplined=e.isSpline,n.dimensionStyle=e.styleName,n.annoType=e.leaderCreationFlag,n}convertMLine(e){const n=new i.AcDbMLine;return n.styleName=e.mlineStyle||"STANDARD",n.scale=e.scale,n.flags=e.flags,n.justification=e.justification,n.startPosition=e.startPoint,n.normal=e.extrusionDirection??i.AcGeVector3d.Z_AXIS,n.styleCount=e.numberOfLines??0,n.segments=(e.vertices??[]).map(o=>({position:o.vertex,direction:o.vertexDirection,miterDirection:o.miterDirection,elements:(o.lines??[]).map(t=>({parameterCount:t.numberOfSegmentParams,parameters:t.segmentParams??[],fillCount:t.numberOfAreaFillParams,fillParameters:t.areaFillParams??[]}))})),n}convertMLeader(e){var g,d,h,A;const n=new i.AcDbMLeader,o=e;n.leaderLineType=this.readNumber(o,["multileaderType","leaderLineType","leaderType"])??i.AcDbMLeaderLineType.StraightLeader;const t=this.readNumber(o,["contentType"])??(e.textContent?i.AcDbMLeaderContentType.MTextContent:e.blockContent?i.AcDbMLeaderContentType.BlockContent:i.AcDbMLeaderContentType.NoneContent);n.contentType=t,n.doglegEnabled=this.readBoolean(o,["doglegEnabled","enableDogleg"])??!1,n.doglegLength=this.readNumber(o,["doglegLength"])??0,e.landingPoint&&(n.landingPoint=e.landingPoint),e.doglegVector&&(n.doglegVector=e.doglegVector);const r=this.readString(o,["mleaderStyleId","mLeaderStyleId","mleaderStyleHandle","styleHandle","styleName"]);r&&(n.mleaderStyleId=r);const s=this.readPoint(o,["normal","extrusionDirection"]);s&&(n.normal=s);const a=e.textContent,c=this.readString(a??{},["styleName","textStyleName"])??this.readString(o,["textStyleName","textStyle","styleName"]);c&&(n.textStyleName=c),n.textHeight=this.readNumber(a??{},["textHeight","height"])??this.readNumber(o,["textHeight","mtextHeight","textContentHeight"])??n.textHeight,n.textWidth=this.readNumber(a??{},["textWidth","width"])??this.readNumber(o,["textWidth","mtextWidth","textContentWidth"])??n.textWidth;const l=this.readNumber(a??{},["textRotation","rotation"])??this.readNumber(o,["textRotation","mtextRotation","textContentRotation"]);l!=null&&(n.textRotation=l);const p=this.readPoint(o,["textDirection","mtextDirection","textDirectionVector"]);p&&(n.textDirection=p);const f=this.readNumber(o,["textAttachmentPoint","attachmentPoint"]);f!=null&&(n.textAttachmentPoint=f);const u=this.readNumber(o,["textDrawingDirection","drawingDirection"]);if(u!=null&&(n.textDrawingDirection=u),((g=e.textContent)==null?void 0:g.text)!=null&&e.textContent.anchorPoint)n.mtextContent={text:e.textContent.text,anchorPoint:e.textContent.anchorPoint};else{const D=this.readString(o,["text","contents","mtext"]),y=this.readPoint(o,["textLocation","textPosition","textAnchorPoint"]);D!=null&&y&&(n.mtextContent={text:D,anchorPoint:y})}if((d=e.blockContent)!=null&&d.blockHandle&&e.blockContent.position)n.blockContent={blockHandle:e.blockContent.blockHandle,position:e.blockContent.position};else{const D=this.readString(o,["blockHandle","blockContentHandle","blockId"]),y=this.readPoint(o,["blockPosition","blockContentPosition"]);D&&y&&(n.blockContent={blockHandle:D,position:y})}return(h=e.leaders)==null||h.forEach(D=>{var I;const y=n.addLeader({landingPoint:D.landingPoint??e.landingPoint,doglegVector:D.doglegVector??e.doglegVector,doglegLength:D.doglegLength??e.doglegLength});(I=D.leaderLines)==null||I.forEach(T=>{var w;const S=n.addLeaderLine(y,T.vertices??[]);(w=T.breaks)==null||w.forEach(L=>{n.addBreak(y,S,L.start,L.end)})})}),n.numberOfLeaders===0&&((A=this.readLeaderLineArray(o))==null||A.forEach(D=>{const y=n.addLeader({landingPoint:e.landingPoint,doglegVector:e.doglegVector,doglegLength:e.doglegLength});n.addLeaderLine(y,D)})),n}convertDimension(e){if(e.subclassMarker=="AcDbAlignedDimension"){const n=e,o=new i.AcDbAlignedDimension(n.subDefinitionPoint1,n.subDefinitionPoint2,n.definitionPoint);return n.insertionPoint&&(o.dimBlockPosition={x:n.insertionPoint.x,y:n.insertionPoint.y,z:0}),o.rotation=n.rotationAngle,this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDbRotatedDimension"){const n=e,o=new i.AcDbRotatedDimension(n.subDefinitionPoint1,n.subDefinitionPoint2,n.definitionPoint);return n.insertionPoint&&(o.dimBlockPosition={x:n.insertionPoint.x,y:n.insertionPoint.y,z:0}),o.rotation=n.rotationAngle,this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDb3PointAngularDimension"){const n=e,o=new i.AcDb3PointAngularDimension(n.centerPoint,n.subDefinitionPoint1,n.subDefinitionPoint2,n.definitionPoint);return this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDbOrdinateDimension"){const n=e,o=new i.AcDbOrdinateDimension(n.subDefinitionPoint1,n.subDefinitionPoint2);return this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDbRadialDimension"){const n=e,o=new i.AcDbRadialDimension(n.definitionPoint,n.centerPoint,n.leaderLength);return this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDbDiametricDimension"){const n=e,o=new i.AcDbDiametricDimension(n.definitionPoint,n.centerPoint,n.leaderLength);return this.processDimensionCommonAttrs(e,o),o}return null}processImage(e,n){n.position.copy(e.position),n.brightness=e.brightness,n.contrast=e.contrast,n.fade=e.fade,n.imageSize.copy(e.imageSize),n.imageDefId=e.imageDefHandle,n.isClipped=e.clipping>0,n.isShownClipped=(e.flags|4)>0,n.isImageShown=(e.flags|3)>0,n.isImageTransparent=(e.flags|8)>0,e.clippingBoundaryPath.forEach(o=>{n.clipBoundary.push(new i.AcGePoint2d(o))}),n.clipBoundaryType=e.clippingBoundaryType,n.width=Math.sqrt(e.uPixel.x**2+e.uPixel.y**2+e.uPixel.z**2)*e.imageSize.x,n.height=Math.sqrt(e.vPixel.x**2+e.vPixel.y**2+e.vPixel.z**2)*e.imageSize.y,n.rotation=Math.atan2(e.uPixel.y,e.uPixel.x)}convertImage(e){const n=new i.AcDbRasterImage;return this.processImage(e,n),n}convertWipeout(e){const n=new i.AcDbWipeout;return this.processImage(e,n),n}convertViewport(e){const n=new i.AcDbViewport;return n.number=e.viewportId,n.centerPoint.copy(e.viewportCenter),n.height=e.height,n.width=e.width,n.viewCenter.copy(e.displayCenter),n.viewHeight=e.viewHeight,n}convertRay(e){const n=new i.AcDbRay;return n.basePoint.copy(e.firstPoint),n.unitDir.copy(e.unitDirection),n}convertXline(e){const n=new i.AcDbXline;return n.basePoint.copy(e.firstPoint),n.unitDir.copy(e.unitDirection),n}convertAttributeCommon(e,n){const o=e.text;n.textString=o.text,n.styleName=o.styleName,n.height=o.textHeight,n.position.copy(o.startPoint);const t=e.alignmentPoint??o.endPoint,r=!t||t.x===0&&t.y===0&&(t.z??0)===0;t&&!r?n.alignmentPoint.copy(t):n.alignmentPoint.copy(o.startPoint),n.rotation=o.rotation,n.oblique=o.obliqueAngle??0,n.thickness=o.thickness,n.horizontalMode=o.halign,n.verticalMode=o.valign,n.widthFactor=o.xScale??1,n.tag=e.tag,n.fieldLength=e.fieldLength,n.isInvisible=(e.flags&i.AcDbAttributeFlags.Invisible)!==0,n.isConst=(e.flags&i.AcDbAttributeFlags.Const)!==0,n.isVerifiable=(e.flags&i.AcDbAttributeFlags.Verifiable)!==0,n.isPreset=(e.flags&i.AcDbAttributeFlags.Preset)!==0,n.lockPositionInBlock=e.lockPositionFlag,n.isReallyLocked=e.isReallyLocked,n.isMTextAttribute=(e.mtextFlag&i.AcDbAttributeMTextFlag.MultiLine)!==0,n.isConstMTextAttribute=(e.mtextFlag&i.AcDbAttributeMTextFlag.ConstMultiLine)!==0}convertAttribute(e){const n=new i.AcDbAttribute;return this.convertAttributeCommon(e,n),n}convertAttributeDefinition(e){const n=new i.AcDbAttributeDefinition;return this.convertAttributeCommon(e,n),n.prompt=e.prompt,n}convertBlockReference(e){const n=new i.AcDbBlockReference(e.name);return e.insertionPoint&&n.position.copy(e.insertionPoint),n.scaleFactors.x=e.xScale,n.scaleFactors.y=e.yScale,n.scaleFactors.z=e.zScale,n.rotation=e.rotation,n.normal.copy(e.extrusionDirection),e.handle!=null&&(n.objectId=e.handle),e.attribs&&e.attribs.forEach(o=>{const t=this.convert(o);t instanceof i.AcDbAttribute&&n.appendAttributes(t)}),n}processDimensionCommonAttrs(e,n){n.dimBlockId=e.name,n.textPosition.copy(e.textPoint),n.textRotation=e.textRotation||0,e.textLineSpacingFactor&&(n.textLineSpacingFactor=e.textLineSpacingFactor),e.textLineSpacingStyle&&(n.textLineSpacingStyle=e.textLineSpacingStyle),n.dimensionStyleName=e.styleName,n.dimensionText=e.text||"",n.measurement=e.measurement}processCommonAttrs(e,n){if(n.layer=e.layer||"0",n.objectId=e.handle,e.ownerBlockRecordSoftId!=null&&(n.ownerId=e.ownerBlockRecordSoftId),e.lineType!=null&&(n.lineType=e.lineType),e.lineweight!=null&&(n.lineWeight=e.lineweight),e.lineTypeScale!=null&&(n.linetypeScale=e.lineTypeScale),e.color!=null||e.colorIndex!=null||e.colorName){const o=new i.AcCmColor;e.color!=null&&o.setRGBValue(e.color),e.colorIndex!=null&&(e.color==null||e.colorIndex===7)&&(o.colorIndex=e.colorIndex),e.colorName&&(o.colorName=e.colorName),n.color=o}if(e.isVisible!=null&&(n.visibility=e.isVisible),e.transparency!=null){const o=new i.AcCmTransparency;o.method=e.transparencyType,(o.isByBlock||o.isByBlock)&&(o.alpha=e.transparency),n.transparency=o}}readNumber(e,n){for(const o of n){const t=e[o];if(typeof t=="number"&&Number.isFinite(t))return t}}readString(e,n){for(const o of n){const t=e[o];if(typeof t=="string")return t}}readBoolean(e,n){for(const o of n){const t=e[o];if(typeof t=="boolean")return t;if(typeof t=="number")return t!==0}}readPoint(e,n){for(const o of n){const t=e[o];if(this.isPointLike(t))return t;if(Array.isArray(t)&&typeof t[0]=="number"&&typeof t[1]=="number")return{x:t[0],y:t[1],z:t[2]??0}}}readLeaderLineArray(e){const n=e.leaderLines;if(Array.isArray(n))return n.map(t=>{if(!t||typeof t!="object")return;const r=t.vertices;return Array.isArray(r)?r.filter(s=>this.isPointLike(s)):void 0}).filter(t=>!!t&&t.length>0);const o=e.vertices;if(Array.isArray(o)){const t=o.filter(r=>this.isPointLike(r));return t.length>0?[t]:void 0}}isPointLike(e){return!!e&&typeof e=="object"&&typeof e.x=="number"&&typeof e.y=="number"}}const C="*MODEL_SPACE";class E extends i.AcDbDatabaseConverter{constructor(e={}){super(e),e.useWorker=!0,e.parserWorkerUrl||(e.parserWorkerUrl="/assets/libredwg-parser-worker.js")}async parse(e,n){const o=this.config,t=this.getParserWorkerTimeout(e,n);if(o.useWorker&&o.parserWorkerUrl){const r=i.createWorkerApi({workerUrl:o.parserWorkerUrl,timeout:t,maxConcurrentWorkers:1}),s=await r.execute(e);if(r.destroy(),s.success)return s.data;throw new Error(`Failed to parse drawing due to error: '${s.error}'`)}else throw new Error("dwg converter can run in web worker only!")}getFonts(e){const n=new Map;e.tables.BLOCK_RECORD.entries.forEach(s=>{n.set(s.name,s)});const o=new Map,t=s=>{if(s){const a=s.lastIndexOf(".");return a>=0?s.substring(0,a).toLowerCase():s.toLowerCase()}};e.tables.STYLE.entries.forEach(s=>{const a=[];let c=t(s.font);c&&a.push(c),c=t(s.bigFont),c&&a.push(c),o.set(s.name,a)});const r=new Set;return this.getFontsInBlock(e.entities,n,o,r),Array.from(r)}getFontsInBlock(e,n,o,t){const r=/\\f(.*?)\|/g;e.forEach(s=>{if(s.type=="MTEXT"){const a=s;[...a.text.matchAll(r)].forEach(l=>{t.add(l[1].toLowerCase())});const c=o.get(a.styleName);c==null||c.forEach(l=>t.add(l))}else if(s.type=="TEXT"){const a=s,c=o.get(a.styleName);c==null||c.forEach(l=>t.add(l))}else if(s.type=="MULTILEADER"||s.type=="MLEADER"){const a=s,c=a.textContent;[...(typeof(c==null?void 0:c.text)=="string"?c.text:"").matchAll(r)].forEach(u=>{t.add(u[1].toLowerCase())});const p=typeof(c==null?void 0:c.styleName)=="string"?c.styleName:typeof a.textStyleName=="string"?a.textStyleName:typeof a.styleName=="string"?a.styleName:void 0,f=p?o.get(p):void 0;f==null||f.forEach(u=>t.add(u))}else if(s.type=="INSERT"){const a=s,c=n.get(a.name);c&&this.getFontsInBlock(c.entities,n,o,t)}})}processLineTypes(e,n){e.tables.LTYPE.entries.forEach(t=>{const r={name:t.name,description:t.description,standardFlag:t.standardFlag,totalPatternLength:t.totalPatternLength,pattern:t.pattern},s=new i.AcDbLinetypeTableRecord(r);this.processCommonTableEntryAttrs(t,s),s.name=t.name,n.tables.linetypeTable.add(s)})}processTextStyles(e,n){e.tables.STYLE.entries.forEach(t=>{const r=new i.AcDbTextStyleTableRecord(t);this.processCommonTableEntryAttrs(t,r),n.tables.textStyleTable.add(r)})}processDimStyles(e,n){e.tables.DIMSTYLE.entries.forEach(t=>{const r={name:t.name,ownerId:t.ownerHandle,dimpost:t.DIMPOST||"",dimapost:t.DIMAPOST||"",dimscale:t.DIMSCALE,dimasz:t.DIMASZ,dimexo:t.DIMEXO,dimdli:t.DIMDLI,dimexe:t.DIMEXE,dimrnd:t.DIMRND,dimdle:t.DIMDLE,dimtp:t.DIMTP,dimtm:t.DIMTM,dimtxt:t.DIMTXT,dimcen:t.DIMCEN,dimtsz:t.DIMTSZ,dimaltf:t.DIMALTF,dimlfac:t.DIMLFAC,dimtvp:t.DIMTVP,dimtfac:t.DIMTFAC,dimgap:t.DIMGAP,dimaltrnd:t.DIMALTRND,dimtol:t.DIMTOL==null||t.DIMTOL==0?0:1,dimlim:t.DIMLIM==null||t.DIMLIM==0?0:1,dimtih:t.DIMTIH==null||t.DIMTIH==0?0:1,dimtoh:t.DIMTOH==null||t.DIMTOH==0?0:1,dimse1:t.DIMSE1==null||t.DIMSE1==0?0:1,dimse2:t.DIMSE2==null||t.DIMSE2==0?0:1,dimtad:t.DIMTAD,dimzin:t.DIMZIN,dimazin:t.DIMAZIN,dimalt:t.DIMALT,dimaltd:t.DIMALTD,dimtofl:t.DIMTOFL,dimsah:t.DIMSAH,dimtix:t.DIMTIX,dimsoxd:t.DIMSOXD,dimclrd:t.DIMCLRD,dimclre:t.DIMCLRE,dimclrt:t.DIMCLRT,dimadec:t.DIMADEC||0,dimunit:t.DIMUNIT||2,dimdec:t.DIMDEC,dimtdec:t.DIMTDEC,dimaltu:t.DIMALTU,dimalttd:t.DIMALTTD,dimaunit:t.DIMAUNIT,dimfrac:t.DIMFRAC,dimlunit:t.DIMLUNIT,dimdsep:t.DIMDSEP||".",dimtmove:t.DIMTMOVE||0,dimjust:t.DIMJUST,dimsd1:t.DIMSD1,dimsd2:t.DIMSD2,dimtolj:t.DIMTOLJ,dimtzin:t.DIMTZIN,dimaltz:t.DIMALTZ,dimalttz:t.DIMALTTZ,dimfit:t.DIMFIT||0,dimupt:t.DIMUPT,dimatfit:t.DIMATFIT,dimtxsty:i.DEFAULT_TEXT_STYLE,dimldrblk:"",dimblk:t.DIMBLK||"",dimblk1:t.DIMBLK1||"",dimblk2:t.DIMBLK2||"",dimlwd:t.DIMLWD,dimlwe:t.DIMLWE},s=new i.AcDbDimStyleTableRecord(r);this.processCommonTableEntryAttrs(t,s),n.tables.dimStyleTable.add(s)})}processLayers(e,n){e.tables.LAYER.entries.forEach(t=>{const r=new i.AcCmColor;r.colorIndex=t.colorIndex;const s=new i.AcDbLayerTableRecord({name:t.name,standardFlags:t.standardFlag,linetype:t.lineType,lineWeight:t.lineweight,isOff:t.off,color:r,isPlottable:t.plotFlag!=0});this.processCommonTableEntryAttrs(t,s),n.tables.layerTable.add(s)})}processViewports(e,n){e.tables.VPORT.entries.forEach(t=>{const r=new i.AcDbViewportTableRecord;this.processCommonTableEntryAttrs(t,r),t.circleSides&&(r.circleSides=t.circleSides),r.standardFlag=t.standardFlag,r.center.copy(t.center),r.lowerLeftCorner.copy(t.lowerLeftCorner),r.upperRightCorner.copy(t.upperRightCorner),t.snapBasePoint&&r.snapBase.copy(t.snapBasePoint),t.snapRotationAngle&&(r.snapAngle=t.snapRotationAngle),t.snapSpacing&&r.snapIncrements.copy(t.snapSpacing),t.majorGridLines&&(r.gridMajor=t.majorGridLines),t.gridSpacing&&r.gridIncrements.copy(t.gridSpacing),t.backgroundObjectId&&(r.backgroundObjectId=t.backgroundObjectId),r.gsView.center.copy(t.center),r.gsView.viewDirectionFromTarget.copy(t.viewDirectionFromTarget),r.gsView.viewTarget.copy(t.viewTarget),t.lensLength&&(r.gsView.lensLength=t.lensLength),t.frontClippingPlane&&(r.gsView.frontClippingPlane=t.frontClippingPlane),t.backClippingPlane&&(r.gsView.backClippingPlane=t.backClippingPlane),t.viewHeight&&(r.gsView.viewHeight=t.viewHeight),t.viewTwistAngle&&(r.gsView.viewTwistAngle=t.viewTwistAngle),t.frozenLayers&&(r.gsView.frozenLayers=t.frozenLayers),t.styleSheet&&(r.gsView.styleSheet=t.styleSheet),t.renderMode&&(r.gsView.renderMode=t.renderMode),t.viewMode&&(r.gsView.viewMode=t.viewMode),t.ucsIconSetting&&(r.gsView.ucsIconSetting=t.ucsIconSetting),t.ucsOrigin&&r.gsView.ucsOrigin.copy(t.ucsOrigin),t.ucsXAxis&&r.gsView.ucsXAxis.copy(t.ucsXAxis),t.ucsYAxis&&r.gsView.ucsYAxis.copy(t.ucsYAxis),t.orthographicType&&(r.gsView.orthographicType=t.orthographicType),t.shadePlotSetting&&(r.gsView.shadePlotSetting=t.shadePlotSetting),t.shadePlotObjectId&&(r.gsView.shadePlotObjectId=t.shadePlotObjectId),t.visualStyleObjectId&&(r.gsView.visualStyleObjectId=t.visualStyleObjectId),t.isDefaultLightingOn&&(r.gsView.isDefaultLightingOn=t.isDefaultLightingOn),t.defaultLightingType&&(r.gsView.defaultLightingType=t.defaultLightingType),t.brightness&&(r.gsView.brightness=t.brightness),t.contrast&&(r.gsView.contrast=t.contrast),t.ambientColor&&(r.gsView.ambientColor=t.ambientColor),n.tables.viewportTable.add(r)})}processBlockTables(e,n){e.tables.BLOCK_RECORD.entries.forEach(t=>{let r=n.tables.blockTable.getAt(t.name);r||(r=new i.AcDbBlockTableRecord,r.objectId=t.handle,r.name=t.name,r.ownerId=t.ownerHandle,r.origin.copy(t.basePoint),r.layoutId=t.layout,r.blockInsertUnits=t.insertionUnits,r.explodability=t.explodability,r.blockScaling=t.scalability,t.bmpPreview&&(r.bmpPreview=t.bmpPreview),n.tables.blockTable.add(r)),!r.isModelSapce&&t.entities&&t.entities.length>0&&this.processEntitiesInBlock(t.entities,r)})}processBlocks(e,n){}async processEntitiesInBlock(e,n){const o=new P,t=e.length,r=[];for(let s=0;s<t;s++){const a=e[s],c=o.convert(a);c&&r.push(c)}n.appendEntity(r)}async processEntities(e,n,o,t,r){const s=new P;let a=[];e.tables.BLOCK_RECORD.entries.forEach(f=>{this.isModelSpace(f.name)&&(a=f.entities)});const c=a.length,l=new i.AcDbBatchProcessing(c,100-t.value,o);this.config.convertByEntityType&&(a=this.groupAndFlattenByType(a));const p=n.tables.blockTable.modelSpace;await l.processChunk(async(f,u)=>{const g=[];for(let d=f;d<u;d++){const h=a[d],A=s.convert(h);A&&g.push(A)}if(p.appendEntity(g),r){let d=t.value+u/c*(100-t.value);d>100&&(d=100),await r(d,"ENTITY","IN-PROGRESS")}})}processHeader(e,n){const o=e.header;o.CECOLOR&&(o.CECOLOR.index>=0&&o.CECOLOR.index<=256?n.cecolor.colorIndex=o.CECOLOR.index:n.cecolor.setRGBValue(o.CECOLOR.rgb)),n.angBase=o.ANGBASE??0,n.angDir=o.ANGDIR??0,n.aunits=o.AUNITS??0,n.celtype=o.CELTYPE??i.ByLayer,n.celtscale=o.CELTSCALE??1,n.ltscale=o.LTSCALE??1,o.EXTMAX&&(n.extmax=o.EXTMAX),o.EXTMIN&&(n.extmin=o.EXTMIN),n.insunits=o.INSUNITS??1,n.pdmode=o.PDMODE??0,n.pdsize=o.PDSIZE??0,n.textstyle=o.TEXTSTYLE??i.DEFAULT_TEXT_STYLE}processCommonTableEntryAttrs(e,n){n.name=e.name,n.objectId=e.handle,e.ownerHandle!=null&&(n.ownerId=e.ownerHandle)}processObjects(e,n){this.processLayouts(e,n),this.processImageDefs(e,n)}processLayouts(e,n){const o=n.objects.layout;e.objects.LAYOUT.forEach(r=>{const s=new i.AcDbLayout;s.layoutName=r.layoutName,s.tabOrder=r.tabOrder;const a=n.tables.blockTable.newIterator();s.objectId=r.handle;for(const c of a)if(c.layoutId===s.objectId){s.blockTableRecordId=c.objectId;break}s.blockTableRecordId||r.layoutName==="Model"&&(s.blockTableRecordId=n.tables.blockTable.modelSpace.objectId),s.limits.min.copy(r.minLimit),s.limits.max.copy(r.maxLimit),s.extents.min.copy(r.minExtent),s.extents.max.copy(r.maxExtent),r.viewportId&&s.viewportArray.push(r.viewportId),this.processCommonObjectAttrs(r,s),o.setAt(s.layoutName,s)})}processImageDefs(e,n){const o=n.objects.imageDefinition;e.objects.IMAGEDEF.forEach(r=>{const s=new i.AcDbRasterImageDef;s.sourceFileName=r.fileName,this.processCommonObjectAttrs(r,s),o.setAt(s.objectId,s)})}processCommonObjectAttrs(e,n){n.objectId=e.handle,e.ownerHandle!=null&&(n.ownerId=e.ownerHandle)}groupAndFlattenByType(e){const n={},o=[];for(const t of e)n[t.type]||(n[t.type]=[],o.push(t.type)),n[t.type].push(t);return o.flatMap(t=>n[t])}isModelSpace(e){return e&&e.toUpperCase()==C}}b.AcDbLibreDwgConverter=E,Object.defineProperty(b,Symbol.toStringTag,{value:"Module"})});
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbEntitiyConverter.d.ts","sourceRoot":"","sources":["../src/AcDbEntitiyConverter.ts"],"names":[],"mappings":"AAAA,OAAO,EAgBL,UAAU,EAqDX,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAcV,SAAS,EA0BV,MAAM,yBAAyB,CAAA;AAsDhC,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,IAAI;IAQ7C;;;;OAIG;IACH,OAAO,CAAC,YAAY;IA2DpB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,aAAa;IA0BrB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,iBAAiB;IAqGzB,OAAO,CAAC,iBAAiB;IA0CzB,OAAO,CAAC,YAAY;IA0JpB,OAAO,CAAC,YAAY;IAgCpB,OAAO,CAAC,WAAW;IA8BnB,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,YAAY;IA2BpB,OAAO,CAAC,cAAc;IAmKtB,OAAO,CAAC,gBAAgB;IA2ExB,OAAO,CAAC,YAAY;IAmCpB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,sBAAsB;IAiD9B,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,0BAA0B;IAOlC,OAAO,CAAC,qBAAqB;IAiC7B,OAAO,CAAC,2BAA2B;IAmBnC,OAAO,CAAC,kBAAkB;IAkD1B,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,WAAW;CAQpB"}
1
+ {"version":3,"file":"AcDbEntitiyConverter.d.ts","sourceRoot":"","sources":["../src/AcDbEntitiyConverter.ts"],"names":[],"mappings":"AAAA,OAAO,EAiBL,UAAU,EAqDX,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAcV,SAAS,EA0BV,MAAM,yBAAyB,CAAA;AAsDhC,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,IAAI;IAQ7C;;;;OAIG;IACH,OAAO,CAAC,YAAY;IA2DpB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,aAAa;IA0BrB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,iBAAiB;IAqGzB,OAAO,CAAC,iBAAiB;IA0CzB,OAAO,CAAC,YAAY;IA0JpB,OAAO,CAAC,YAAY;IAgCpB,OAAO,CAAC,WAAW;IA8BnB,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,YAAY;IA2BpB,OAAO,CAAC,cAAc;IAmKtB,OAAO,CAAC,gBAAgB;IA2ExB,OAAO,CAAC,YAAY;IAmCpB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,sBAAsB;IAiD9B,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,0BAA0B;IAOlC,OAAO,CAAC,qBAAqB;IAiC7B,OAAO,CAAC,2BAA2B;IAmBnC,OAAO,CAAC,kBAAkB;IAiE1B,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,WAAW;CAQpB"}
@@ -20,7 +20,7 @@ var __values = (this && this.__values) || function(o) {
20
20
  };
21
21
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
22
22
  };
23
- import { AcCmTransparency, AcDb2dPolyline, AcDb3dPolyline, AcDb3PointAngularDimension, AcDbAlignedDimension, AcDbArc, AcDbAttribute, AcDbAttributeDefinition, AcDbAttributeFlags, AcDbAttributeMTextFlag, AcDbBlockReference, AcDbCircle, AcDbDiametricDimension, AcDbEllipse, AcDbFace, AcDbHatch, AcDbHatchObjectType, AcDbLeader, AcDbLine, AcDbMLeader, AcDbMLeaderContentType, AcDbMLeaderLineType, AcDbMLine, AcDbMText, AcDbOrdinateDimension, AcDbPoint, AcDbPoly2dType, AcDbPoly3dType, AcDbPolyFaceMesh, AcDbPolygonMesh, AcDbPolyline, AcDbRadialDimension, AcDbRasterImage, AcDbRay, AcDbRotatedDimension, AcDbSpline, AcDbTable, AcDbText, AcDbTrace, AcDbViewport, AcDbWipeout, AcDbXline, AcGeCircArc2d, AcGeEllipseArc2d, AcGeLine2d, AcGeLoop2d, AcGePoint2d, AcGePoint3d, AcGePolyline2d, AcGeSpline3d, AcGeVector2d, AcGeVector3d, transformOcsPointToWcs } from '@mlightcad/data-model';
23
+ import { AcCmColor, AcCmTransparency, AcDb2dPolyline, AcDb3dPolyline, AcDb3PointAngularDimension, AcDbAlignedDimension, AcDbArc, AcDbAttribute, AcDbAttributeDefinition, AcDbAttributeFlags, AcDbAttributeMTextFlag, AcDbBlockReference, AcDbCircle, AcDbDiametricDimension, AcDbEllipse, AcDbFace, AcDbHatch, AcDbHatchObjectType, AcDbLeader, AcDbLine, AcDbMLeader, AcDbMLeaderContentType, AcDbMLeaderLineType, AcDbMLine, AcDbMText, AcDbOrdinateDimension, AcDbPoint, AcDbPoly2dType, AcDbPoly3dType, AcDbPolyFaceMesh, AcDbPolygonMesh, AcDbPolyline, AcDbRadialDimension, AcDbRasterImage, AcDbRay, AcDbRotatedDimension, AcDbSpline, AcDbTable, AcDbText, AcDbTrace, AcDbViewport, AcDbWipeout, AcDbXline, AcGeCircArc2d, AcGeEllipseArc2d, AcGeLine2d, AcGeLoop2d, AcGePoint2d, AcGePoint3d, AcGePolyline2d, AcGeSpline3d, AcGeVector2d, AcGeVector3d, transformOcsPointToWcs } from '@mlightcad/data-model';
24
24
  var AcDbEntityConverter = /** @class */ (function () {
25
25
  function AcDbEntityConverter() {
26
26
  }
@@ -965,27 +965,40 @@ var AcDbEntityConverter = /** @class */ (function () {
965
965
  if (entity.lineTypeScale != null) {
966
966
  dbEntity.linetypeScale = entity.lineTypeScale;
967
967
  }
968
- if (entity.color != null) {
969
- dbEntity.color.setRGBValue(entity.color);
970
- }
971
- if (entity.colorIndex != null) {
972
- // ACI color precedence rule:
973
- // - If the libredwg binding already resolved a concrete RGB for the
974
- // entity (entity.color != null), that RGB reflects the DWG's own
975
- // color table trust it and do NOT overwrite with ACI resolution
976
- // from our default palette (which loses custom-palette mappings,
977
- // e.g. ACI 254 → #d8f5c2 in the source DWG vs. near-black in our
978
- // default palette).
979
- // - Exception: colorIndex === 7 is semantically special (the
980
- // "foreground" color that flips with COLORTHEME). Preserve it as
981
- // ByACI(7) so that AcCmColor.isForeground stays true and text
982
- // keeps inverting with the theme.
983
- if (entity.color == null || entity.colorIndex === 7) {
984
- dbEntity.color.colorIndex = entity.colorIndex;
968
+ // Build the entity color in a fresh AcCmColor and assign it via the
969
+ // setter. The previous pattern (`dbEntity.color.<prop> = …`) read the
970
+ // getter and mutated the result, which works for entities whose getter
971
+ // returns the cached `_color` field but breaks for entities like
972
+ // AcDbHatch that override the getter to return a clone of an HPCOLOR /
973
+ // CECOLOR fallback (PR #78). Mutations on a clone are dropped, leaving
974
+ // the entity stuck on the sysvar default and losing the DWG's RGB.
975
+ if (entity.color != null ||
976
+ entity.colorIndex != null ||
977
+ entity.colorName) {
978
+ var color = new AcCmColor();
979
+ if (entity.color != null) {
980
+ color.setRGBValue(entity.color);
985
981
  }
986
- }
987
- if (entity.colorName) {
988
- dbEntity.color.colorName = entity.colorName;
982
+ if (entity.colorIndex != null) {
983
+ // ACI color precedence rule:
984
+ // - If the libredwg binding already resolved a concrete RGB for
985
+ // the entity (entity.color != null), that RGB reflects the
986
+ // DWG's own color table — trust it and do NOT overwrite with
987
+ // ACI resolution from our default palette (which loses custom
988
+ // palette mappings, e.g. ACI 254 → #d8f5c2 in the source DWG
989
+ // vs. near-black in our default palette).
990
+ // - Exception: colorIndex === 7 is semantically special (the
991
+ // "foreground" color that flips with COLORTHEME). Preserve it
992
+ // as ByACI(7) so that AcCmColor.isForeground stays true and
993
+ // text keeps inverting with the theme.
994
+ if (entity.color == null || entity.colorIndex === 7) {
995
+ color.colorIndex = entity.colorIndex;
996
+ }
997
+ }
998
+ if (entity.colorName) {
999
+ color.colorName = entity.colorName;
1000
+ }
1001
+ dbEntity.color = color;
989
1002
  }
990
1003
  if (entity.isVisible != null) {
991
1004
  dbEntity.visibility = entity.isVisible;
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbEntitiyConverter.js","sourceRoot":"","sources":["../src/AcDbEntitiyConverter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcDbEntitiyConverter.js","sourceRoot":"","sources":["../src/AcDbEntitiyConverter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mlightcad/libredwg-converter",
3
- "version": "3.5.32",
3
+ "version": "3.5.34",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "type": "git",
@@ -39,7 +39,7 @@
39
39
  "vite": "^5.2.10"
40
40
  },
41
41
  "peerDependencies": {
42
- "@mlightcad/data-model": "1.7.32"
42
+ "@mlightcad/data-model": "1.7.34"
43
43
  },
44
44
  "scripts": {
45
45
  "analyze": "pnpm run analyze:lib && pnpm run analyze:worker",