@mlightcad/libredwg-converter 3.5.31 → 3.5.33

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.
@@ -1,4 +1,4 @@
1
- import { AcDbFace as H, AcGeVector3d as A, AcDbArc as j, transformOcsPointToWcs as E, AcDbCircle as W, AcDbEllipse as z, AcDbLine as X, AcGePoint3d as S, AcDbSpline as M, AcDbPoint as U, AcDbTrace as G, AcDbPolyline as Y, AcGePoint2d as m, AcDbPolygonMesh as _, AcDbPolyFaceMesh as Z, AcDbPoly2dType as b, AcDb2dPolyline as K, AcDbPoly3dType as T, 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 w, AcDbAlignedDimension as fe, AcDbRotatedDimension as pe, AcDb3PointAngularDimension as ue, AcDbOrdinateDimension as ge, AcDbRadialDimension as he, AcDbDiametricDimension as De, AcDbRasterImage as ye, AcDbWipeout as Ae, AcDbViewport as be, AcDbRay as Ie, AcDbXline as Te, AcDbAttributeFlags as I, AcDbAttributeMTextFlag as O, AcDbAttribute as N, AcDbAttributeDefinition as we, AcDbBlockReference as Pe, AcCmTransparency as Le, AcDbDatabaseConverter as xe, createWorkerApi as Ce, AcDbLinetypeTableRecord as Ee, 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 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";
2
2
  class V {
3
3
  convert(e) {
4
4
  const t = this.createEntity(e);
@@ -14,7 +14,7 @@ class V {
14
14
  convertArc(e) {
15
15
  const t = e.extrusionDirection ?? A.Z_AXIS;
16
16
  return new j(
17
- E(e.center, t),
17
+ x(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 W(
27
- E(e.center, t),
26
+ return new z(
27
+ x(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 z(
34
+ return new W(
35
35
  e.center,
36
36
  e.extrusionDirection ?? A.Z_AXIS,
37
37
  t,
@@ -117,10 +117,10 @@ 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 _(c, d, i, t, r);
120
+ return new Z(c, d, i, t, r);
121
121
  } else {
122
122
  if (n)
123
- return new Z(i, s);
123
+ return new _(i, s);
124
124
  {
125
125
  let c = b.SimplePoly;
126
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(
@@ -144,8 +144,8 @@ class V {
144
144
  z: r.z
145
145
  });
146
146
  });
147
- let n = T.SimplePoly;
148
- return e.flag & 4 && (e.smoothType == 6 ? n = T.CubicSplinePoly : e.smoothType == 5 && (n = T.QuadSplinePoly)), new q(n, o, t);
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);
149
149
  }
150
150
  convertHatch(e) {
151
151
  var n;
@@ -190,15 +190,15 @@ class V {
190
190
  new te().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
- ), u = p * l.lengthOfMinorAxis;
194
- let g = l.startAngle, y = l.endAngle;
193
+ ), g = p * l.lengthOfMinorAxis;
194
+ let u = l.startAngle, y = l.endAngle;
195
195
  const h = Math.atan2(l.end.y, l.end.x);
196
- l.isCCW || (g = Math.PI * 2 - g, y = Math.PI * 2 - y), s.push(
196
+ l.isCCW || (u = Math.PI * 2 - u, y = Math.PI * 2 - y), s.push(
197
197
  new ne(
198
198
  { ...l.center, z: 0 },
199
199
  p,
200
- u,
201
200
  g,
201
+ u,
202
202
  y,
203
203
  !l.isCCW,
204
204
  h
@@ -208,19 +208,19 @@ class V {
208
208
  const l = d;
209
209
  if (l.numberOfControlPoints > 0 && l.numberOfKnots > 0) {
210
210
  const f = l.controlPoints.map(
211
- (g) => ({
212
- x: g.x,
213
- y: g.y,
211
+ (u) => ({
212
+ x: u.x,
213
+ y: u.y,
214
214
  z: 0
215
215
  })
216
216
  );
217
217
  let p = !0;
218
- const u = l.controlPoints.map((g) => (g.weight == null && (p = !1), g.weight || 1));
218
+ const g = l.controlPoints.map((u) => (u.weight == null && (p = !1), u.weight || 1));
219
219
  s.push(
220
220
  new v(
221
221
  f,
222
222
  l.knots,
223
- p ? u : void 0
223
+ p ? g : void 0
224
224
  )
225
225
  );
226
226
  } else if (l.numberOfFitData > 0) {
@@ -262,7 +262,9 @@ class V {
262
262
  }
263
263
  convertText(e) {
264
264
  const t = new ie();
265
- return t.textString = e.text, t.styleName = e.styleName, t.height = e.textHeight, t.position.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;
265
+ t.textString = e.text, t.styleName = e.styleName, t.height = e.textHeight, t.position.copy(e.startPoint);
266
+ const o = !e.endPoint || e.endPoint.x === 0 && e.endPoint.y === 0 && (e.endPoint.z ?? 0) === 0;
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;
266
268
  }
267
269
  convertMText(e) {
268
270
  const t = new se();
@@ -289,14 +291,14 @@ class V {
289
291
  })), t;
290
292
  }
291
293
  convertMLeader(e) {
292
- var p, u, g, y;
294
+ var p, g, u, y;
293
295
  const t = new le(), o = e;
294
296
  t.leaderLineType = this.readNumber(o, [
295
297
  "multileaderType",
296
298
  "leaderLineType",
297
299
  "leaderType"
298
300
  ]) ?? de.StraightLeader;
299
- const n = this.readNumber(o, ["contentType"]) ?? (e.textContent ? w.MTextContent : e.blockContent ? w.BlockContent : w.NoneContent);
301
+ const n = this.readNumber(o, ["contentType"]) ?? (e.textContent ? T.MTextContent : e.blockContent ? T.BlockContent : T.NoneContent);
300
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);
301
303
  const r = this.readString(o, [
302
304
  "mleaderStyleId",
@@ -348,7 +350,7 @@ class V {
348
350
  ]);
349
351
  h != null && D && (t.mtextContent = { text: h, anchorPoint: D });
350
352
  }
351
- if ((u = e.blockContent) != null && u.blockHandle && e.blockContent.position)
353
+ if ((g = e.blockContent) != null && g.blockHandle && e.blockContent.position)
352
354
  t.blockContent = {
353
355
  blockHandle: e.blockContent.blockHandle,
354
356
  position: e.blockContent.position
@@ -367,21 +369,21 @@ class V {
367
369
  position: D
368
370
  });
369
371
  }
370
- return (g = e.leaders) == null || g.forEach((h) => {
371
- var P;
372
+ return (u = e.leaders) == null || u.forEach((h) => {
373
+ var w;
372
374
  const D = t.addLeader({
373
375
  landingPoint: h.landingPoint ?? e.landingPoint,
374
376
  doglegVector: h.doglegVector ?? e.doglegVector,
375
377
  doglegLength: h.doglegLength ?? e.doglegLength
376
378
  });
377
- (P = h.leaderLines) == null || P.forEach((L) => {
378
- var x;
379
+ (w = h.leaderLines) == null || w.forEach((L) => {
380
+ var C;
379
381
  const B = t.addLeaderLine(
380
382
  D,
381
383
  L.vertices ?? []
382
384
  );
383
- (x = L.breaks) == null || x.forEach((C) => {
384
- t.addBreak(D, B, C.start, C.end);
385
+ (C = L.breaks) == null || C.forEach((E) => {
386
+ t.addBreak(D, B, E.start, E.end);
385
387
  });
386
388
  });
387
389
  }), t.numberOfLeaders === 0 && ((y = this.readLeaderLineArray(o)) == null || y.forEach((h) => {
@@ -417,7 +419,7 @@ class V {
417
419
  z: 0
418
420
  }), o.rotation = t.rotationAngle, this.processDimensionCommonAttrs(e, o), o;
419
421
  } else if (e.subclassMarker == "AcDb3PointAngularDimension") {
420
- const t = e, o = new ue(
422
+ const t = e, o = new ge(
421
423
  t.centerPoint,
422
424
  t.subDefinitionPoint1,
423
425
  t.subDefinitionPoint2,
@@ -425,7 +427,7 @@ class V {
425
427
  );
426
428
  return this.processDimensionCommonAttrs(e, o), o;
427
429
  } else if (e.subclassMarker == "AcDbOrdinateDimension") {
428
- const t = e, o = new ge(
430
+ const t = e, o = new ue(
429
431
  t.subDefinitionPoint1,
430
432
  t.subDefinitionPoint2
431
433
  );
@@ -469,27 +471,29 @@ class V {
469
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;
470
472
  }
471
473
  convertRay(e) {
472
- const t = new Ie();
474
+ const t = new Pe();
473
475
  return t.basePoint.copy(e.firstPoint), t.unitDir.copy(e.unitDirection), t;
474
476
  }
475
477
  convertXline(e) {
476
- const t = new Te();
478
+ const t = new Ie();
477
479
  return t.basePoint.copy(e.firstPoint), t.unitDir.copy(e.unitDirection), t;
478
480
  }
479
481
  convertAttributeCommon(e, t) {
480
482
  const o = e.text;
481
- t.textString = o.text, t.styleName = o.styleName, t.height = o.textHeight, t.position.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;
483
+ t.textString = o.text, t.styleName = o.styleName, t.height = o.textHeight, t.position.copy(o.startPoint);
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;
482
486
  }
483
487
  convertAttribute(e) {
484
488
  const t = new N();
485
489
  return this.convertAttributeCommon(e, t), t;
486
490
  }
487
491
  convertAttributeDefinition(e) {
488
- const t = new we();
492
+ const t = new Te();
489
493
  return this.convertAttributeCommon(e, t), t.prompt = e.prompt, t;
490
494
  }
491
495
  convertBlockReference(e) {
492
- const t = new Pe(e.name);
496
+ const t = new we(e.name);
493
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) => {
494
498
  const n = this.convert(o);
495
499
  n instanceof N && t.appendAttributes(n);
@@ -550,14 +554,14 @@ class V {
550
554
  }
551
555
  }
552
556
  const Be = "*MODEL_SPACE";
553
- class je extends xe {
557
+ class je extends Ce {
554
558
  constructor(e = {}) {
555
559
  super(e), e.useWorker = !0, e.parserWorkerUrl || (e.parserWorkerUrl = "/assets/libredwg-parser-worker.js");
556
560
  }
557
561
  async parse(e, t) {
558
562
  const o = this.config, n = this.getParserWorkerTimeout(e, t);
559
563
  if (o.useWorker && o.parserWorkerUrl) {
560
- const r = Ce({
564
+ const r = Ee({
561
565
  workerUrl: o.parserWorkerUrl,
562
566
  timeout: n,
563
567
  maxConcurrentWorkers: 1
@@ -623,7 +627,7 @@ class je extends xe {
623
627
  standardFlag: n.standardFlag,
624
628
  totalPatternLength: n.totalPatternLength,
625
629
  pattern: n.pattern
626
- }, i = new Ee(r);
630
+ }, i = new xe(r);
627
631
  this.processCommonTableEntryAttrs(n, i), i.name = n.name, t.tables.linetypeTable.add(i);
628
632
  });
629
633
  }
@@ -761,13 +765,13 @@ class je extends xe {
761
765
  const d = t.tables.blockTable.modelSpace;
762
766
  await c.processChunk(async (l, f) => {
763
767
  const p = [];
764
- for (let u = l; u < f; u++) {
765
- const g = a[u], y = i.convert(g);
768
+ for (let g = l; g < f; g++) {
769
+ const u = a[g], y = i.convert(u);
766
770
  y && p.push(y);
767
771
  }
768
772
  if (d.appendEntity(p), r) {
769
- let u = n.value + f / s * (100 - n.value);
770
- u > 100 && (u = 100), await r(u, "ENTITY", "IN-PROGRESS");
773
+ let g = n.value + f / s * (100 - n.value);
774
+ g > 100 && (g = 100), await r(g, "ENTITY", "IN-PROGRESS");
771
775
  }
772
776
  });
773
777
  }
@@ -1 +1 @@
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 T{convert(e){const t=this.createEntity(e);return t&&this.processCommonAttrs(e,t),t}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 t=new i.AcDbFace;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}convertArc(e){const t=e.extrusionDirection??i.AcGeVector3d.Z_AXIS;return new i.AcDbArc(i.transformOcsPointToWcs(e.center,t),e.radius,e.startAngle,e.endAngle,t)}convertCirle(e){const t=e.extrusionDirection??i.AcGeVector3d.Z_AXIS;return new i.AcDbCircle(i.transformOcsPointToWcs(e.center,t),e.radius,t)}convertEllipse(e){const t=new i.AcGeVector3d(e.majorAxisEndPoint),o=t.length();return new i.AcDbEllipse(e.center,e.extrusionDirection??i.AcGeVector3d.Z_AXIS,t,o,o*e.axisRatio,e.startAngle,e.endAngle)}convertLine(e){const t=e.startPoint,o=e.endPoint;return new i.AcDbLine(new i.AcGePoint3d(t.x,t.y,t.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 t=new i.AcDbPoint;return t.position=e.position,t}convertSolid(e){const t=new i.AcDbTrace;return t.setPointAt(0,{...e.corner1,z:0}),t.setPointAt(1,{...e.corner2,z:0}),t.setPointAt(2,{...e.corner3,z:0}),t.setPointAt(3,e.corner4?{...e.corner4,z:0}:{...e.corner3,z:0}),t.thickness=e.thickness,t}convertLWPolyline(e){const t=new i.AcDbPolyline;t.closed=!!(e.flag&512);const o=e.constantWidth??-1;return e.vertices.forEach((n,r)=>{t.addVertexAt(r,new i.AcGePoint2d(n.x,n.y),n.bulge,n.startWidth??o,n.endWidth??o)}),t}convertPolyline2d(e){const t=!!(e.flag&1),o=!!(e.flag&16),n=!!(e.flag&64),r=!!(e.flag&32),s=[],a=[],c=[];if(e.vertices.map(l=>{if(!(l.flag&16))if(n&&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,t,r)}else{if(n)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,t,e.startWidth,e.endWidth,a)}}}convertPolyline3d(e){const t=!!(e.flag&1),o=[];e.vertices.map(r=>{r.flag&16||o.push({x:r.x,y:r.y,z:r.z})});let n=i.AcDbPoly3dType.SimplePoly;return e.flag&4&&(e.smoothType==6?n=i.AcDbPoly3dType.CubicSplinePoly:e.smoothType==5&&(n=i.AcDbPoly3dType.QuadSplinePoly)),new i.AcDb3dPolyline(n,o,t)}convertHatch(e){var n;const t=new i.AcDbHatch;if((n=e.definitionLines)==null||n.forEach(r=>{t.definitionLines.push({angle:r.angle,base:r.base,offset:r.offset,dashLengths:r.numberOfDashLengths>0?r.dashLengths:[]})}),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=>{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})}),t.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?t.add(new i.AcGeLoop2d(c)):l.forEach(p=>t.add(p))}}),e.gradientFlag){const r=e;if(t.hatchObjectType=i.AcDbHatchObjectType.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){const s=r.gradientColors.length;s>1?(t.gradientStartColor=r.gradientColors[0].rgb,t.gradientEndColor=r.gradientColors[1].rgb):s>0&&(t.gradientStartColor=r.gradientColors[0].rgb)}}return t}convertTable(e){const t=new i.AcDbTable(e.name,e.rowCount,e.columnCount);return t.tableStyleId=e.tableStyleId,t.owningBlockRecordId=e.blockRecordHandle,e.directionVector&&(t.horizontalDirection=new i.AcGeVector3d(e.directionVector)),t.attachmentPoint=e.attachmentPoint,t.position.copy(e.startPoint),t.tableValueFlag=e.tableValue,t.tableOverrideFlag=e.overrideFlag,t.borderColorOverrideFlag=e.borderColorOverrideFlag,t.borderLineweightOverrideFlag=e.borderLineWeightOverrideFlag,t.borderVisibilityOverrideFlag=e.borderVisibilityOverrideFlag,e.columnWidthArr.forEach((o,n)=>t.setColumnWidth(n,o)),e.rowHeightArr.forEach((o,n)=>t.setRowHeight(n,o)),e.cells.forEach((o,n)=>{t.setCell(n,o)}),t}convertText(e){const t=new i.AcDbText;return t.textString=e.text,t.styleName=e.styleName,t.height=e.textHeight,t.position.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}convertMText(e){const t=new i.AcDbMText;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 i.AcGeVector3d(e.direction)),t.drawingDirection=e.drawingDirection,t}convertLeader(e){const t=new i.AcDbLeader;return e.vertices.forEach(o=>{t.appendVertex(o)}),t.hasArrowHead=e.isArrowheadEnabled,t.hasHookLine=e.isHooklineExists,t.isSplined=e.isSpline,t.dimensionStyle=e.styleName,t.annoType=e.leaderCreationFlag,t}convertMLine(e){const t=new i.AcDbMLine;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??i.AcGeVector3d.Z_AXIS,t.styleCount=e.numberOfLines??0,t.segments=(e.vertices??[]).map(o=>({position:o.vertex,direction:o.vertexDirection,miterDirection:o.miterDirection,elements:(o.lines??[]).map(n=>({parameterCount:n.numberOfSegmentParams,parameters:n.segmentParams??[],fillCount:n.numberOfAreaFillParams,fillParameters:n.areaFillParams??[]}))})),t}convertMLeader(e){var g,d,h,A;const t=new i.AcDbMLeader,o=e;t.leaderLineType=this.readNumber(o,["multileaderType","leaderLineType","leaderType"])??i.AcDbMLeaderLineType.StraightLeader;const n=this.readNumber(o,["contentType"])??(e.textContent?i.AcDbMLeaderContentType.MTextContent:e.blockContent?i.AcDbMLeaderContentType.BlockContent:i.AcDbMLeaderContentType.NoneContent);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);const r=this.readString(o,["mleaderStyleId","mLeaderStyleId","mleaderStyleHandle","styleHandle","styleName"]);r&&(t.mleaderStyleId=r);const s=this.readPoint(o,["normal","extrusionDirection"]);s&&(t.normal=s);const a=e.textContent,c=this.readString(a??{},["styleName","textStyleName"])??this.readString(o,["textStyleName","textStyle","styleName"]);c&&(t.textStyleName=c),t.textHeight=this.readNumber(a??{},["textHeight","height"])??this.readNumber(o,["textHeight","mtextHeight","textContentHeight"])??t.textHeight,t.textWidth=this.readNumber(a??{},["textWidth","width"])??this.readNumber(o,["textWidth","mtextWidth","textContentWidth"])??t.textWidth;const l=this.readNumber(a??{},["textRotation","rotation"])??this.readNumber(o,["textRotation","mtextRotation","textContentRotation"]);l!=null&&(t.textRotation=l);const p=this.readPoint(o,["textDirection","mtextDirection","textDirectionVector"]);p&&(t.textDirection=p);const f=this.readNumber(o,["textAttachmentPoint","attachmentPoint"]);f!=null&&(t.textAttachmentPoint=f);const u=this.readNumber(o,["textDrawingDirection","drawingDirection"]);if(u!=null&&(t.textDrawingDirection=u),((g=e.textContent)==null?void 0:g.text)!=null&&e.textContent.anchorPoint)t.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&&(t.mtextContent={text:D,anchorPoint:y})}if((d=e.blockContent)!=null&&d.blockHandle&&e.blockContent.position)t.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&&(t.blockContent={blockHandle:D,position:y})}return(h=e.leaders)==null||h.forEach(D=>{var I;const y=t.addLeader({landingPoint:D.landingPoint??e.landingPoint,doglegVector:D.doglegVector??e.doglegVector,doglegLength:D.doglegLength??e.doglegLength});(I=D.leaderLines)==null||I.forEach(P=>{var w;const S=t.addLeaderLine(y,P.vertices??[]);(w=P.breaks)==null||w.forEach(L=>{t.addBreak(y,S,L.start,L.end)})})}),t.numberOfLeaders===0&&((A=this.readLeaderLineArray(o))==null||A.forEach(D=>{const y=t.addLeader({landingPoint:e.landingPoint,doglegVector:e.doglegVector,doglegLength:e.doglegLength});t.addLeaderLine(y,D)})),t}convertDimension(e){if(e.subclassMarker=="AcDbAlignedDimension"){const t=e,o=new i.AcDbAlignedDimension(t.subDefinitionPoint1,t.subDefinitionPoint2,t.definitionPoint);return t.insertionPoint&&(o.dimBlockPosition={x:t.insertionPoint.x,y:t.insertionPoint.y,z:0}),o.rotation=t.rotationAngle,this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDbRotatedDimension"){const t=e,o=new i.AcDbRotatedDimension(t.subDefinitionPoint1,t.subDefinitionPoint2,t.definitionPoint);return t.insertionPoint&&(o.dimBlockPosition={x:t.insertionPoint.x,y:t.insertionPoint.y,z:0}),o.rotation=t.rotationAngle,this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDb3PointAngularDimension"){const t=e,o=new i.AcDb3PointAngularDimension(t.centerPoint,t.subDefinitionPoint1,t.subDefinitionPoint2,t.definitionPoint);return this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDbOrdinateDimension"){const t=e,o=new i.AcDbOrdinateDimension(t.subDefinitionPoint1,t.subDefinitionPoint2);return this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDbRadialDimension"){const t=e,o=new i.AcDbRadialDimension(t.definitionPoint,t.centerPoint,t.leaderLength);return this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDbDiametricDimension"){const t=e,o=new i.AcDbDiametricDimension(t.definitionPoint,t.centerPoint,t.leaderLength);return this.processDimensionCommonAttrs(e,o),o}return null}processImage(e,t){t.position.copy(e.position),t.brightness=e.brightness,t.contrast=e.contrast,t.fade=e.fade,t.imageSize.copy(e.imageSize),t.imageDefId=e.imageDefHandle,t.isClipped=e.clipping>0,t.isShownClipped=(e.flags|4)>0,t.isImageShown=(e.flags|3)>0,t.isImageTransparent=(e.flags|8)>0,e.clippingBoundaryPath.forEach(o=>{t.clipBoundary.push(new i.AcGePoint2d(o))}),t.clipBoundaryType=e.clippingBoundaryType,t.width=Math.sqrt(e.uPixel.x**2+e.uPixel.y**2+e.uPixel.z**2)*e.imageSize.x,t.height=Math.sqrt(e.vPixel.x**2+e.vPixel.y**2+e.vPixel.z**2)*e.imageSize.y,t.rotation=Math.atan2(e.uPixel.y,e.uPixel.x)}convertImage(e){const t=new i.AcDbRasterImage;return this.processImage(e,t),t}convertWipeout(e){const t=new i.AcDbWipeout;return this.processImage(e,t),t}convertViewport(e){const t=new i.AcDbViewport;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}convertRay(e){const t=new i.AcDbRay;return t.basePoint.copy(e.firstPoint),t.unitDir.copy(e.unitDirection),t}convertXline(e){const t=new i.AcDbXline;return t.basePoint.copy(e.firstPoint),t.unitDir.copy(e.unitDirection),t}convertAttributeCommon(e,t){const o=e.text;t.textString=o.text,t.styleName=o.styleName,t.height=o.textHeight,t.position.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.AcDbAttributeFlags.Invisible)!==0,t.isConst=(e.flags&i.AcDbAttributeFlags.Const)!==0,t.isVerifiable=(e.flags&i.AcDbAttributeFlags.Verifiable)!==0,t.isPreset=(e.flags&i.AcDbAttributeFlags.Preset)!==0,t.lockPositionInBlock=e.lockPositionFlag,t.isReallyLocked=e.isReallyLocked,t.isMTextAttribute=(e.mtextFlag&i.AcDbAttributeMTextFlag.MultiLine)!==0,t.isConstMTextAttribute=(e.mtextFlag&i.AcDbAttributeMTextFlag.ConstMultiLine)!==0}convertAttribute(e){const t=new i.AcDbAttribute;return this.convertAttributeCommon(e,t),t}convertAttributeDefinition(e){const t=new i.AcDbAttributeDefinition;return this.convertAttributeCommon(e,t),t.prompt=e.prompt,t}convertBlockReference(e){const t=new i.AcDbBlockReference(e.name);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=>{const n=this.convert(o);n instanceof i.AcDbAttribute&&t.appendAttributes(n)}),t}processDimensionCommonAttrs(e,t){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}processCommonAttrs(e,t){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){const o=new i.AcCmTransparency;o.method=e.transparencyType,(o.isByBlock||o.isByBlock)&&(o.alpha=e.transparency),t.transparency=o}}readNumber(e,t){for(const o of t){const n=e[o];if(typeof n=="number"&&Number.isFinite(n))return n}}readString(e,t){for(const o of t){const n=e[o];if(typeof n=="string")return n}}readBoolean(e,t){for(const o of t){const n=e[o];if(typeof n=="boolean")return n;if(typeof n=="number")return n!==0}}readPoint(e,t){for(const o of t){const n=e[o];if(this.isPointLike(n))return n;if(Array.isArray(n)&&typeof n[0]=="number"&&typeof n[1]=="number")return{x:n[0],y:n[1],z:n[2]??0}}}readLeaderLineArray(e){const t=e.leaderLines;if(Array.isArray(t))return t.map(n=>{if(!n||typeof n!="object")return;const r=n.vertices;return Array.isArray(r)?r.filter(s=>this.isPointLike(s)):void 0}).filter(n=>!!n&&n.length>0);const o=e.vertices;if(Array.isArray(o)){const n=o.filter(r=>this.isPointLike(r));return n.length>0?[n]:void 0}}isPointLike(e){return!!e&&typeof e=="object"&&typeof e.x=="number"&&typeof e.y=="number"}}const x="*MODEL_SPACE";class C extends i.AcDbDatabaseConverter{constructor(e={}){super(e),e.useWorker=!0,e.parserWorkerUrl||(e.parserWorkerUrl="/assets/libredwg-parser-worker.js")}async parse(e,t){const o=this.config,n=this.getParserWorkerTimeout(e,t);if(o.useWorker&&o.parserWorkerUrl){const r=i.createWorkerApi({workerUrl:o.parserWorkerUrl,timeout:n,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 t=new Map;e.tables.BLOCK_RECORD.entries.forEach(s=>{t.set(s.name,s)});const o=new Map,n=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=n(s.font);c&&a.push(c),c=n(s.bigFont),c&&a.push(c),o.set(s.name,a)});const r=new Set;return this.getFontsInBlock(e.entities,t,o,r),Array.from(r)}getFontsInBlock(e,t,o,n){const r=/\\f(.*?)\|/g;e.forEach(s=>{if(s.type=="MTEXT"){const a=s;[...a.text.matchAll(r)].forEach(l=>{n.add(l[1].toLowerCase())});const c=o.get(a.styleName);c==null||c.forEach(l=>n.add(l))}else if(s.type=="TEXT"){const a=s,c=o.get(a.styleName);c==null||c.forEach(l=>n.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=>{n.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=>n.add(u))}else if(s.type=="INSERT"){const a=s,c=t.get(a.name);c&&this.getFontsInBlock(c.entities,t,o,n)}})}processLineTypes(e,t){e.tables.LTYPE.entries.forEach(n=>{const r={name:n.name,description:n.description,standardFlag:n.standardFlag,totalPatternLength:n.totalPatternLength,pattern:n.pattern},s=new i.AcDbLinetypeTableRecord(r);this.processCommonTableEntryAttrs(n,s),s.name=n.name,t.tables.linetypeTable.add(s)})}processTextStyles(e,t){e.tables.STYLE.entries.forEach(n=>{const r=new i.AcDbTextStyleTableRecord(n);this.processCommonTableEntryAttrs(n,r),t.tables.textStyleTable.add(r)})}processDimStyles(e,t){e.tables.DIMSTYLE.entries.forEach(n=>{const r={name:n.name,ownerId:n.ownerHandle,dimpost:n.DIMPOST||"",dimapost:n.DIMAPOST||"",dimscale:n.DIMSCALE,dimasz:n.DIMASZ,dimexo:n.DIMEXO,dimdli:n.DIMDLI,dimexe:n.DIMEXE,dimrnd:n.DIMRND,dimdle:n.DIMDLE,dimtp:n.DIMTP,dimtm:n.DIMTM,dimtxt:n.DIMTXT,dimcen:n.DIMCEN,dimtsz:n.DIMTSZ,dimaltf:n.DIMALTF,dimlfac:n.DIMLFAC,dimtvp:n.DIMTVP,dimtfac:n.DIMTFAC,dimgap:n.DIMGAP,dimaltrnd:n.DIMALTRND,dimtol:n.DIMTOL==null||n.DIMTOL==0?0:1,dimlim:n.DIMLIM==null||n.DIMLIM==0?0:1,dimtih:n.DIMTIH==null||n.DIMTIH==0?0:1,dimtoh:n.DIMTOH==null||n.DIMTOH==0?0:1,dimse1:n.DIMSE1==null||n.DIMSE1==0?0:1,dimse2:n.DIMSE2==null||n.DIMSE2==0?0:1,dimtad:n.DIMTAD,dimzin:n.DIMZIN,dimazin:n.DIMAZIN,dimalt:n.DIMALT,dimaltd:n.DIMALTD,dimtofl:n.DIMTOFL,dimsah:n.DIMSAH,dimtix:n.DIMTIX,dimsoxd:n.DIMSOXD,dimclrd:n.DIMCLRD,dimclre:n.DIMCLRE,dimclrt:n.DIMCLRT,dimadec:n.DIMADEC||0,dimunit:n.DIMUNIT||2,dimdec:n.DIMDEC,dimtdec:n.DIMTDEC,dimaltu:n.DIMALTU,dimalttd:n.DIMALTTD,dimaunit:n.DIMAUNIT,dimfrac:n.DIMFRAC,dimlunit:n.DIMLUNIT,dimdsep:n.DIMDSEP||".",dimtmove:n.DIMTMOVE||0,dimjust:n.DIMJUST,dimsd1:n.DIMSD1,dimsd2:n.DIMSD2,dimtolj:n.DIMTOLJ,dimtzin:n.DIMTZIN,dimaltz:n.DIMALTZ,dimalttz:n.DIMALTTZ,dimfit:n.DIMFIT||0,dimupt:n.DIMUPT,dimatfit:n.DIMATFIT,dimtxsty:i.DEFAULT_TEXT_STYLE,dimldrblk:"",dimblk:n.DIMBLK||"",dimblk1:n.DIMBLK1||"",dimblk2:n.DIMBLK2||"",dimlwd:n.DIMLWD,dimlwe:n.DIMLWE},s=new i.AcDbDimStyleTableRecord(r);this.processCommonTableEntryAttrs(n,s),t.tables.dimStyleTable.add(s)})}processLayers(e,t){e.tables.LAYER.entries.forEach(n=>{const r=new i.AcCmColor;r.colorIndex=n.colorIndex;const s=new i.AcDbLayerTableRecord({name:n.name,standardFlags:n.standardFlag,linetype:n.lineType,lineWeight:n.lineweight,isOff:n.off,color:r,isPlottable:n.plotFlag!=0});this.processCommonTableEntryAttrs(n,s),t.tables.layerTable.add(s)})}processViewports(e,t){e.tables.VPORT.entries.forEach(n=>{const r=new i.AcDbViewportTableRecord;this.processCommonTableEntryAttrs(n,r),n.circleSides&&(r.circleSides=n.circleSides),r.standardFlag=n.standardFlag,r.center.copy(n.center),r.lowerLeftCorner.copy(n.lowerLeftCorner),r.upperRightCorner.copy(n.upperRightCorner),n.snapBasePoint&&r.snapBase.copy(n.snapBasePoint),n.snapRotationAngle&&(r.snapAngle=n.snapRotationAngle),n.snapSpacing&&r.snapIncrements.copy(n.snapSpacing),n.majorGridLines&&(r.gridMajor=n.majorGridLines),n.gridSpacing&&r.gridIncrements.copy(n.gridSpacing),n.backgroundObjectId&&(r.backgroundObjectId=n.backgroundObjectId),r.gsView.center.copy(n.center),r.gsView.viewDirectionFromTarget.copy(n.viewDirectionFromTarget),r.gsView.viewTarget.copy(n.viewTarget),n.lensLength&&(r.gsView.lensLength=n.lensLength),n.frontClippingPlane&&(r.gsView.frontClippingPlane=n.frontClippingPlane),n.backClippingPlane&&(r.gsView.backClippingPlane=n.backClippingPlane),n.viewHeight&&(r.gsView.viewHeight=n.viewHeight),n.viewTwistAngle&&(r.gsView.viewTwistAngle=n.viewTwistAngle),n.frozenLayers&&(r.gsView.frozenLayers=n.frozenLayers),n.styleSheet&&(r.gsView.styleSheet=n.styleSheet),n.renderMode&&(r.gsView.renderMode=n.renderMode),n.viewMode&&(r.gsView.viewMode=n.viewMode),n.ucsIconSetting&&(r.gsView.ucsIconSetting=n.ucsIconSetting),n.ucsOrigin&&r.gsView.ucsOrigin.copy(n.ucsOrigin),n.ucsXAxis&&r.gsView.ucsXAxis.copy(n.ucsXAxis),n.ucsYAxis&&r.gsView.ucsYAxis.copy(n.ucsYAxis),n.orthographicType&&(r.gsView.orthographicType=n.orthographicType),n.shadePlotSetting&&(r.gsView.shadePlotSetting=n.shadePlotSetting),n.shadePlotObjectId&&(r.gsView.shadePlotObjectId=n.shadePlotObjectId),n.visualStyleObjectId&&(r.gsView.visualStyleObjectId=n.visualStyleObjectId),n.isDefaultLightingOn&&(r.gsView.isDefaultLightingOn=n.isDefaultLightingOn),n.defaultLightingType&&(r.gsView.defaultLightingType=n.defaultLightingType),n.brightness&&(r.gsView.brightness=n.brightness),n.contrast&&(r.gsView.contrast=n.contrast),n.ambientColor&&(r.gsView.ambientColor=n.ambientColor),t.tables.viewportTable.add(r)})}processBlockTables(e,t){e.tables.BLOCK_RECORD.entries.forEach(n=>{let r=t.tables.blockTable.getAt(n.name);r||(r=new i.AcDbBlockTableRecord,r.objectId=n.handle,r.name=n.name,r.ownerId=n.ownerHandle,r.origin.copy(n.basePoint),r.layoutId=n.layout,r.blockInsertUnits=n.insertionUnits,r.explodability=n.explodability,r.blockScaling=n.scalability,n.bmpPreview&&(r.bmpPreview=n.bmpPreview),t.tables.blockTable.add(r)),!r.isModelSapce&&n.entities&&n.entities.length>0&&this.processEntitiesInBlock(n.entities,r)})}processBlocks(e,t){}async processEntitiesInBlock(e,t){const o=new T,n=e.length,r=[];for(let s=0;s<n;s++){const a=e[s],c=o.convert(a);c&&r.push(c)}t.appendEntity(r)}async processEntities(e,t,o,n,r){const s=new T;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-n.value,o);this.config.convertByEntityType&&(a=this.groupAndFlattenByType(a));const p=t.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=n.value+u/c*(100-n.value);d>100&&(d=100),await r(d,"ENTITY","IN-PROGRESS")}})}processHeader(e,t){const o=e.header;o.CECOLOR&&(o.CECOLOR.index>=0&&o.CECOLOR.index<=256?t.cecolor.colorIndex=o.CECOLOR.index:t.cecolor.setRGBValue(o.CECOLOR.rgb)),t.angBase=o.ANGBASE??0,t.angDir=o.ANGDIR??0,t.aunits=o.AUNITS??0,t.celtype=o.CELTYPE??i.ByLayer,t.celtscale=o.CELTSCALE??1,t.ltscale=o.LTSCALE??1,o.EXTMAX&&(t.extmax=o.EXTMAX),o.EXTMIN&&(t.extmin=o.EXTMIN),t.insunits=o.INSUNITS??1,t.pdmode=o.PDMODE??0,t.pdsize=o.PDSIZE??0,t.textstyle=o.TEXTSTYLE??i.DEFAULT_TEXT_STYLE}processCommonTableEntryAttrs(e,t){t.name=e.name,t.objectId=e.handle,e.ownerHandle!=null&&(t.ownerId=e.ownerHandle)}processObjects(e,t){this.processLayouts(e,t),this.processImageDefs(e,t)}processLayouts(e,t){const o=t.objects.layout;e.objects.LAYOUT.forEach(r=>{const s=new i.AcDbLayout;s.layoutName=r.layoutName,s.tabOrder=r.tabOrder;const a=t.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=t.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,t){const o=t.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,t){t.objectId=e.handle,e.ownerHandle!=null&&(t.ownerId=e.ownerHandle)}groupAndFlattenByType(e){const t={},o=[];for(const n of e)t[n.type]||(t[n.type]=[],o.push(n.type)),t[n.type].push(n);return o.flatMap(n=>t[n])}isModelSpace(e){return e&&e.toUpperCase()==x}}b.AcDbLibreDwgConverter=C,Object.defineProperty(b,Symbol.toStringTag,{value:"Module"})});
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"})});
@@ -2276,7 +2276,7 @@ new AA();
2276
2276
  new AA();
2277
2277
  new AA();
2278
2278
  new AA();
2279
- var UN = ((g) => (g.ClosedFilled = "", g.Dot = "_DOT", g.DotSmall = "_DOTSMALL", g.DotBlank = "_DOTBLANK", g.Origin = "_ORIGIN", g.Origin2 = "_ORIGIN2", g.Open = "_OPEN", g.Open90 = "_OPEN90", g.Open30 = "_OPEN30", g.Closed = "_CLOSED", g.Small = "_SMALL", g.None = "_NONE", g.Oblique = "_OBLIQUE", g.BoxFilled = "_BOXFILLED", g.Box = "_BOXBLANK", g.ClosedBlank = "_CLOSEDBLANK", g.DatumBlank = "_DATUMBLANK", g.DatumFilled = "_DATUMFILLED", g.Integral = "_INTEGRAL", g.ArchTick = "_ARCHTICK", g))(UN || {}), iN = ((g) => (g[g.ByBlock = -2] = "ByBlock", g[g.ByDIPs = -4] = "ByDIPs", g[g.ByLayer = -1] = "ByLayer", g[g.ByLineWeightDefault = -3] = "ByLineWeightDefault", g[g.LineWeight000 = 0] = "LineWeight000", g[g.LineWeight005 = 5] = "LineWeight005", g[g.LineWeight009 = 9] = "LineWeight009", g[g.LineWeight013 = 13] = "LineWeight013", g[g.LineWeight015 = 15] = "LineWeight015", g[g.LineWeight018 = 18] = "LineWeight018", g[g.LineWeight020 = 20] = "LineWeight020", g[g.LineWeight025 = 25] = "LineWeight025", g[g.LineWeight030 = 30] = "LineWeight030", g[g.LineWeight035 = 35] = "LineWeight035", g[g.LineWeight040 = 40] = "LineWeight040", g[g.LineWeight050 = 50] = "LineWeight050", g[g.LineWeight053 = 53] = "LineWeight053", g[g.LineWeight060 = 60] = "LineWeight060", g[g.LineWeight070 = 70] = "LineWeight070", g[g.LineWeight080 = 80] = "LineWeight080", g[g.LineWeight090 = 90] = "LineWeight090", g[g.LineWeight100 = 100] = "LineWeight100", g[g.LineWeight106 = 106] = "LineWeight106", g[g.LineWeight120 = 120] = "LineWeight120", g[g.LineWeight140 = 140] = "LineWeight140", g[g.LineWeight158 = 158] = "LineWeight158", g[g.LineWeight200 = 200] = "LineWeight200", g[g.LineWeight211 = 211] = "LineWeight211", g))(iN || {}), FN = ((g) => (g[g.LEFT_TO_RIGHT = 1] = "LEFT_TO_RIGHT", g[g.RIGHT_TO_LEFT = 2] = "RIGHT_TO_LEFT", g[g.TOP_TO_BOTTOM = 3] = "TOP_TO_BOTTOM", g[g.BOTTOM_TO_TOP = 4] = "BOTTOM_TO_TOP", g[g.BY_STYLE = 5] = "BY_STYLE", g))(FN || {}), HN = ((g) => (g[g.TopLeft = 1] = "TopLeft", g[g.TopCenter = 2] = "TopCenter", g[g.TopRight = 3] = "TopRight", g[g.MiddleLeft = 4] = "MiddleLeft", g[g.MiddleCenter = 5] = "MiddleCenter", g[g.MiddleRight = 6] = "MiddleRight", g[g.BottomLeft = 7] = "BottomLeft", g[g.BottomCenter = 8] = "BottomCenter", g[g.BottomRight = 9] = "BottomRight", g))(HN || {}), KN = ((g) => (g[g.OPTIMIZED_2D = 0] = "OPTIMIZED_2D", g[g.WIREFRAME = 1] = "WIREFRAME", g[g.HIDDEN_LINE = 2] = "HIDDEN_LINE", g[g.FLAT_SHADED = 3] = "FLAT_SHADED", g[g.GOURAUD_SHADED = 4] = "GOURAUD_SHADED", g[g.FLAT_SHADED_WITH_WIREFRAME = 5] = "FLAT_SHADED_WITH_WIREFRAME", g[g.GOURAUD_SHADED_WITH_WIREFRAME = 6] = "GOURAUD_SHADED_WITH_WIREFRAME", g))(KN || {}), cN = ((g) => (g[g.NON_ORTHOGRAPHIC = 0] = "NON_ORTHOGRAPHIC", g[g.TOP = 1] = "TOP", g[g.BOTTOM = 2] = "BOTTOM", g[g.FRONT = 3] = "FRONT", g[g.BACK = 4] = "BACK", g[g.LEFT = 5] = "LEFT", g[g.RIGHT = 6] = "RIGHT", g))(cN || {}), hN = ((g) => (g[g.ONE_DISTANT_LIGHT = 0] = "ONE_DISTANT_LIGHT", g[g.TWO_DISTANT_LIGHTS = 1] = "TWO_DISTANT_LIGHTS", g))(hN || {}), yN = ((g) => (g[g.SimplePoly = 0] = "SimplePoly", g[g.FitCurvePoly = 1] = "FitCurvePoly", g[g.QuadSplinePoly = 2] = "QuadSplinePoly", g[g.CubicSplinePoly = 3] = "CubicSplinePoly", g))(yN || {}), JN = ((g) => (g[g.Vertex = 0] = "Vertex", g[g.CurveFitVertex = 1] = "CurveFitVertex", g[g.SplineFitVertex = 8] = "SplineFitVertex", g[g.SplineCtlVertex = 9] = "SplineCtlVertex", g))(JN || {}), SN = ((g) => (g[g.SimplePoly = 0] = "SimplePoly", g[g.QuadSplinePoly = 1] = "QuadSplinePoly", g[g.CubicSplinePoly = 2] = "CubicSplinePoly", g))(SN || {}), LN = ((g) => (g[g.SimpleVertex = 0] = "SimpleVertex", g[g.ControlVertex = 1] = "ControlVertex", g[g.FitVertex = 2] = "FitVertex", g))(LN || {}), sN = ((g) => (g[g.LEFT = 0] = "LEFT", g[g.CENTER = 1] = "CENTER", g[g.RIGHT = 2] = "RIGHT", g[g.ALIGNED = 3] = "ALIGNED", g[g.MIDDLE = 4] = "MIDDLE", g[g.FIT = 5] = "FIT", g))(sN || {}), aN = ((g) => (g[g.BASELINE = 0] = "BASELINE", g[g.BOTTOM = 1] = "BOTTOM", g[g.MIDDLE = 2] = "MIDDLE", g[g.TOP = 3] = "TOP", g))(aN || {}), dN = ((g) => (g[g.Invisible = 1] = "Invisible", g[g.Const = 2] = "Const", g[g.Verifiable = 4] = "Verifiable", g[g.Preset = 8] = "Preset", g))(dN || {}), tN = ((g) => (g[g.MultiLine = 2] = "MultiLine", g[g.ConstMultiLine = 4] = "ConstMultiLine", g))(tN || {});
2279
+ var UN = ((g) => (g.ClosedFilled = "", g.Dot = "_DOT", g.DotSmall = "_DOTSMALL", g.DotBlank = "_DOTBLANK", g.Origin = "_ORIGIN", g.Origin2 = "_ORIGIN2", g.Open = "_OPEN", g.Open90 = "_OPEN90", g.Open30 = "_OPEN30", g.Closed = "_CLOSED", g.Small = "_SMALL", g.None = "_NONE", g.Oblique = "_OBLIQUE", g.BoxFilled = "_BOXFILLED", g.Box = "_BOXBLANK", g.ClosedBlank = "_CLOSEDBLANK", g.DatumBlank = "_DATUMBLANK", g.DatumFilled = "_DATUMFILLED", g.Integral = "_INTEGRAL", g.ArchTick = "_ARCHTICK", g))(UN || {}), iN = ((g) => (g[g.ByBlock = -2] = "ByBlock", g[g.ByDIPs = -4] = "ByDIPs", g[g.ByLayer = -1] = "ByLayer", g[g.ByLineWeightDefault = -3] = "ByLineWeightDefault", g[g.LineWeight000 = 0] = "LineWeight000", g[g.LineWeight005 = 5] = "LineWeight005", g[g.LineWeight009 = 9] = "LineWeight009", g[g.LineWeight013 = 13] = "LineWeight013", g[g.LineWeight015 = 15] = "LineWeight015", g[g.LineWeight018 = 18] = "LineWeight018", g[g.LineWeight020 = 20] = "LineWeight020", g[g.LineWeight025 = 25] = "LineWeight025", g[g.LineWeight030 = 30] = "LineWeight030", g[g.LineWeight035 = 35] = "LineWeight035", g[g.LineWeight040 = 40] = "LineWeight040", g[g.LineWeight050 = 50] = "LineWeight050", g[g.LineWeight053 = 53] = "LineWeight053", g[g.LineWeight060 = 60] = "LineWeight060", g[g.LineWeight070 = 70] = "LineWeight070", g[g.LineWeight080 = 80] = "LineWeight080", g[g.LineWeight090 = 90] = "LineWeight090", g[g.LineWeight100 = 100] = "LineWeight100", g[g.LineWeight106 = 106] = "LineWeight106", g[g.LineWeight120 = 120] = "LineWeight120", g[g.LineWeight140 = 140] = "LineWeight140", g[g.LineWeight158 = 158] = "LineWeight158", g[g.LineWeight200 = 200] = "LineWeight200", g[g.LineWeight211 = 211] = "LineWeight211", g))(iN || {}), FN = ((g) => (g[g.LEFT_TO_RIGHT = 1] = "LEFT_TO_RIGHT", g[g.RIGHT_TO_LEFT = 2] = "RIGHT_TO_LEFT", g[g.TOP_TO_BOTTOM = 3] = "TOP_TO_BOTTOM", g[g.BOTTOM_TO_TOP = 4] = "BOTTOM_TO_TOP", g[g.BY_STYLE = 5] = "BY_STYLE", g))(FN || {}), HN = ((g) => (g[g.TopLeft = 1] = "TopLeft", g[g.TopCenter = 2] = "TopCenter", g[g.TopRight = 3] = "TopRight", g[g.MiddleLeft = 4] = "MiddleLeft", g[g.MiddleCenter = 5] = "MiddleCenter", g[g.MiddleRight = 6] = "MiddleRight", g[g.BottomLeft = 7] = "BottomLeft", g[g.BottomCenter = 8] = "BottomCenter", g[g.BottomRight = 9] = "BottomRight", g[g.BaselineLeft = 10] = "BaselineLeft", g[g.BaselineCenter = 11] = "BaselineCenter", g[g.BaselineRight = 12] = "BaselineRight", g))(HN || {}), KN = ((g) => (g[g.OPTIMIZED_2D = 0] = "OPTIMIZED_2D", g[g.WIREFRAME = 1] = "WIREFRAME", g[g.HIDDEN_LINE = 2] = "HIDDEN_LINE", g[g.FLAT_SHADED = 3] = "FLAT_SHADED", g[g.GOURAUD_SHADED = 4] = "GOURAUD_SHADED", g[g.FLAT_SHADED_WITH_WIREFRAME = 5] = "FLAT_SHADED_WITH_WIREFRAME", g[g.GOURAUD_SHADED_WITH_WIREFRAME = 6] = "GOURAUD_SHADED_WITH_WIREFRAME", g))(KN || {}), cN = ((g) => (g[g.NON_ORTHOGRAPHIC = 0] = "NON_ORTHOGRAPHIC", g[g.TOP = 1] = "TOP", g[g.BOTTOM = 2] = "BOTTOM", g[g.FRONT = 3] = "FRONT", g[g.BACK = 4] = "BACK", g[g.LEFT = 5] = "LEFT", g[g.RIGHT = 6] = "RIGHT", g))(cN || {}), hN = ((g) => (g[g.ONE_DISTANT_LIGHT = 0] = "ONE_DISTANT_LIGHT", g[g.TWO_DISTANT_LIGHTS = 1] = "TWO_DISTANT_LIGHTS", g))(hN || {}), yN = ((g) => (g[g.SimplePoly = 0] = "SimplePoly", g[g.FitCurvePoly = 1] = "FitCurvePoly", g[g.QuadSplinePoly = 2] = "QuadSplinePoly", g[g.CubicSplinePoly = 3] = "CubicSplinePoly", g))(yN || {}), JN = ((g) => (g[g.Vertex = 0] = "Vertex", g[g.CurveFitVertex = 1] = "CurveFitVertex", g[g.SplineFitVertex = 8] = "SplineFitVertex", g[g.SplineCtlVertex = 9] = "SplineCtlVertex", g))(JN || {}), SN = ((g) => (g[g.SimplePoly = 0] = "SimplePoly", g[g.QuadSplinePoly = 1] = "QuadSplinePoly", g[g.CubicSplinePoly = 2] = "CubicSplinePoly", g))(SN || {}), LN = ((g) => (g[g.SimpleVertex = 0] = "SimpleVertex", g[g.ControlVertex = 1] = "ControlVertex", g[g.FitVertex = 2] = "FitVertex", g))(LN || {}), sN = ((g) => (g[g.LEFT = 0] = "LEFT", g[g.CENTER = 1] = "CENTER", g[g.RIGHT = 2] = "RIGHT", g[g.ALIGNED = 3] = "ALIGNED", g[g.MIDDLE = 4] = "MIDDLE", g[g.FIT = 5] = "FIT", g))(sN || {}), aN = ((g) => (g[g.BASELINE = 0] = "BASELINE", g[g.BOTTOM = 1] = "BOTTOM", g[g.MIDDLE = 2] = "MIDDLE", g[g.TOP = 3] = "TOP", g))(aN || {}), dN = ((g) => (g[g.Invisible = 1] = "Invisible", g[g.Const = 2] = "Const", g[g.Verifiable = 4] = "Verifiable", g[g.Preset = 8] = "Preset", g))(dN || {}), tN = ((g) => (g[g.MultiLine = 2] = "MultiLine", g[g.ConstMultiLine = 4] = "ConstMultiLine", g))(tN || {});
2280
2280
  const VN = {
2281
2281
  ACADVER: "ACADVER",
2282
2282
  ANGBASE: "ANGBASE",
@@ -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;IAenB,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;IA6B9B,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,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"}
@@ -499,18 +499,33 @@ var AcDbEntityConverter = /** @class */ (function () {
499
499
  return dbEntity;
500
500
  };
501
501
  AcDbEntityConverter.prototype.convertText = function (text) {
502
- var _a, _b;
502
+ var _a, _b, _c;
503
503
  var dbEntity = new AcDbText();
504
504
  dbEntity.textString = text.text;
505
505
  dbEntity.styleName = text.styleName;
506
506
  dbEntity.height = text.textHeight;
507
507
  dbEntity.position.copy(text.startPoint);
508
+ // Propagate DXF group 11 (alignment point) so non-default justifications
509
+ // place the text correctly. `endPoint` is libredwg's name for the
510
+ // alignment point on a TEXT entity. Fall back to startPoint when group
511
+ // 11 is missing or surfaces as the zero point — see comment in
512
+ // `convertAttributeCommon`.
513
+ var isEndPointZero = !text.endPoint ||
514
+ (text.endPoint.x === 0 &&
515
+ text.endPoint.y === 0 &&
516
+ ((_a = text.endPoint.z) !== null && _a !== void 0 ? _a : 0) === 0);
517
+ if (text.endPoint && !isEndPointZero) {
518
+ dbEntity.alignmentPoint.copy(text.endPoint);
519
+ }
520
+ else {
521
+ dbEntity.alignmentPoint.copy(text.startPoint);
522
+ }
508
523
  dbEntity.rotation = text.rotation;
509
- dbEntity.oblique = (_a = text.obliqueAngle) !== null && _a !== void 0 ? _a : 0;
524
+ dbEntity.oblique = (_b = text.obliqueAngle) !== null && _b !== void 0 ? _b : 0;
510
525
  dbEntity.thickness = text.thickness;
511
526
  dbEntity.horizontalMode = text.halign;
512
527
  dbEntity.verticalMode = text.valign;
513
- dbEntity.widthFactor = (_b = text.xScale) !== null && _b !== void 0 ? _b : 1;
528
+ dbEntity.widthFactor = (_c = text.xScale) !== null && _c !== void 0 ? _c : 1;
514
529
  return dbEntity;
515
530
  };
516
531
  AcDbEntityConverter.prototype.convertMText = function (mtext) {
@@ -831,18 +846,38 @@ var AcDbEntityConverter = /** @class */ (function () {
831
846
  return dbXline;
832
847
  };
833
848
  AcDbEntityConverter.prototype.convertAttributeCommon = function (attrib, dbAttrib) {
834
- var _a, _b;
849
+ var _a, _b, _c, _d;
835
850
  var text = attrib.text;
836
851
  dbAttrib.textString = text.text;
837
852
  dbAttrib.styleName = text.styleName;
838
853
  dbAttrib.height = text.textHeight;
839
854
  dbAttrib.position.copy(text.startPoint);
855
+ // Propagate the alignment point (DXF group 11). It is meaningful only
856
+ // when halign/valign deviate from Left/Baseline, but we always copy it
857
+ // so DXF round-trip preserves the original value. Prefer the dedicated
858
+ // field on the parent entity (3D for ATTRIB, 2D for ATTDEF); fall back
859
+ // to the embedded text's `endPoint` which carries the same information.
860
+ // libredwg sometimes surfaces a zero point for entities that simply
861
+ // omit group 11 in the source DWG — fall back to startPoint so the
862
+ // alignment anchor never collapses to the world origin and is always
863
+ // moved consistently with the position by `transformBy`.
864
+ var alignmentPoint = (_a = attrib.alignmentPoint) !== null && _a !== void 0 ? _a : text.endPoint;
865
+ var isAlignmentPointZero = !alignmentPoint ||
866
+ (alignmentPoint.x === 0 &&
867
+ alignmentPoint.y === 0 &&
868
+ ((_b = alignmentPoint.z) !== null && _b !== void 0 ? _b : 0) === 0);
869
+ if (alignmentPoint && !isAlignmentPointZero) {
870
+ dbAttrib.alignmentPoint.copy(alignmentPoint);
871
+ }
872
+ else {
873
+ dbAttrib.alignmentPoint.copy(text.startPoint);
874
+ }
840
875
  dbAttrib.rotation = text.rotation;
841
- dbAttrib.oblique = (_a = text.obliqueAngle) !== null && _a !== void 0 ? _a : 0;
876
+ dbAttrib.oblique = (_c = text.obliqueAngle) !== null && _c !== void 0 ? _c : 0;
842
877
  dbAttrib.thickness = text.thickness;
843
878
  dbAttrib.horizontalMode = text.halign;
844
879
  dbAttrib.verticalMode = text.valign;
845
- dbAttrib.widthFactor = (_b = text.xScale) !== null && _b !== void 0 ? _b : 1;
880
+ dbAttrib.widthFactor = (_d = text.xScale) !== null && _d !== void 0 ? _d : 1;
846
881
  dbAttrib.tag = attrib.tag;
847
882
  dbAttrib.fieldLength = attrib.fieldLength;
848
883
  dbAttrib.isInvisible = (attrib.flags & AcDbAttributeFlags.Invisible) !== 0;
@@ -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.31",
3
+ "version": "3.5.33",
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.31"
42
+ "@mlightcad/data-model": "1.7.33"
43
43
  },
44
44
  "scripts": {
45
45
  "analyze": "pnpm run analyze:lib && pnpm run analyze:worker",