@mlightcad/libdxfrw-converter 3.0.7 → 3.0.8

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,5 +1,5 @@
1
- import { AcDbArc as S, AcDbCircle as z, AcGeVector3d as E, AcDbEllipse as R, AcDbBlockReference as L, AcDbHatch as C, AcGePolyline2d as W, AcGeLoop2d as N, AcGeLine2d as Y, AcGeCircArc2d as _, AcGeVector2d as F, AcGeEllipseArc2d as k, AcGeSpline3d as y, AcDbLine as H, AcGePoint3d as P, AcDbMText as V, AcDbPoint as j, AcDbPolyline as O, AcGePoint2d as M, AcDbRay as B, AcDbSpline as D, AcDbText as G, AcDbXline as X, AcDbRasterImageDef as $, AcDbDatabaseConverter as U, AcDbLinetypeTableRecord as q, AcDbTextStyleTableRecord as Z, AcDbDimStyleTableRecord as K, AcCmColor as J, AcDbLayerTableRecord as Q, AcDbViewportTableRecord as ee, AcDbBlockTableRecord as te, AcDbBatchProcessing as ie } from "@mlightcad/data-model";
2
- class v {
1
+ import { AcDbArc as S, AcDbCircle as z, AcGeVector3d as A, AcDbEllipse as R, AcDbBlockReference as L, AcDbHatch as C, AcGePolyline2d as W, AcGeLoop2d as N, AcGeLine2d as F, AcGeCircArc2d as Y, AcGeVector2d as _, AcGeEllipseArc2d as k, AcGeSpline3d as E, AcDbLine as H, AcGePoint3d as P, AcDbMText as V, AcDbPoint as j, AcDbPolyline as O, AcGePoint2d as B, AcDbRay as M, AcDbSpline as v, AcDbText as G, AcDbXline as X, AcDbRasterImageDef as $, AcDbDatabaseConverter as U, AcDbLinetypeTableRecord as q, AcDbTextStyleTableRecord as Z, AcDbDimStyleTableRecord as K, AcCmColor as J, AcDbLayerTableRecord as Q, AcDbViewportTableRecord as ee, AcDbBlockTableRecord as te, AcDbBatchProcessing as ie } from "@mlightcad/data-model";
2
+ class D {
3
3
  convert(e) {
4
4
  const i = this.createEntity(e);
5
5
  return i && this.processCommonAttrs(e, i), i;
@@ -58,13 +58,13 @@ class v {
58
58
  return new z(e.basePoint, e.radius);
59
59
  }
60
60
  convertEllipse(e) {
61
- const i = new E(e.secPoint), s = i.length();
61
+ const i = new A(e.secPoint), o = i.length();
62
62
  return new R(
63
63
  e.basePoint,
64
- E.Z_AXIS,
64
+ A.Z_AXIS,
65
65
  i,
66
- s,
67
- s * e.ratio,
66
+ o,
67
+ o * e.ratio,
68
68
  e.startAngle,
69
69
  e.endAngle
70
70
  );
@@ -74,102 +74,102 @@ class v {
74
74
  return e.basePoint && i.position.copy(e.basePoint), i.scaleFactors.x = e.xScale || 1, i.scaleFactors.y = e.yScale || 1, i.scaleFactors.z = e.zScale || 1, i.rotation = e.angle, i.normal.copy(e.extPoint), i;
75
75
  }
76
76
  convertHatch(e) {
77
- const i = new C(), s = e.definitionLines;
78
- for (let r = 0, t = s.size(); r < t; ++r) {
79
- const o = s.get(r);
80
- o != null && i.definitionLines.push({
81
- angle: o.angle,
82
- origin: o.base,
83
- delta: o.offset,
84
- dashPattern: this.toNumberArray(o.dashPattern)
77
+ const i = new C(), o = e.definitionLines;
78
+ for (let r = 0, t = o.size(); r < t; ++r) {
79
+ const s = o.get(r);
80
+ s != null && i.definitionLines.push({
81
+ angle: s.angle,
82
+ origin: s.base,
83
+ delta: s.offset,
84
+ dashPattern: this.toNumberArray(s.dashPattern)
85
85
  });
86
86
  }
87
87
  i.hatchStyle = e.hatchStyle, i.patternName = e.name, i.patternType = e.patternType, i.patternAngle = e.angle, i.patternScale = e.scale;
88
88
  const n = e.getLoopList();
89
89
  for (let r = 0, t = n.size(); r < t; ++r) {
90
- const o = n.get(r);
91
- if (o != null)
92
- if (o.type == 2) {
93
- const d = o.getObjList().get(0);
94
- if (d) {
95
- const p = new W(), c = d.getVertexList();
96
- for (let m = 0, b = c.size(); m < b; ++m) {
97
- const a = c.get(m);
98
- a != null && p.addVertexAt(m, {
90
+ const s = n.get(r);
91
+ if (s != null)
92
+ if (s.type == 2) {
93
+ const l = s.getObjList().get(0);
94
+ if (l) {
95
+ const f = new W(), m = l.getVertexList();
96
+ for (let g = 0, p = m.size(); g < p; ++g) {
97
+ const a = m.get(g);
98
+ a != null && f.addVertexAt(g, {
99
99
  x: a.x,
100
100
  y: a.y,
101
101
  bulge: a.bulge
102
102
  });
103
103
  }
104
- i.add(p);
104
+ i.add(f);
105
105
  }
106
106
  } else {
107
- const d = window.libdxfrw, p = o.getObjList(), c = new N();
108
- for (let m = 0, b = p.size(); m < b; ++m) {
109
- const a = p.get(m);
107
+ const l = window.libdxfrw, f = s.getObjList(), m = new N();
108
+ for (let g = 0, p = f.size(); g < p; ++g) {
109
+ const a = f.get(g);
110
110
  if (a != null) {
111
- if (a.eType == d.DRW_ETYPE.LINE) {
112
- const l = a;
113
- c.add(new Y(l.basePoint, l.secPoint));
114
- } else if (a.eType == d.DRW_ETYPE.ARC) {
115
- const l = a;
116
- c.add(
117
- new _(
118
- l.center(),
119
- l.radius,
120
- l.startAngle,
121
- l.endAngle,
122
- !l.isccw
111
+ if (a.eType == l.DRW_ETYPE.LINE) {
112
+ const d = a;
113
+ m.add(new F(d.basePoint, d.secPoint));
114
+ } else if (a.eType == l.DRW_ETYPE.ARC) {
115
+ const d = a;
116
+ m.add(
117
+ new Y(
118
+ d.center(),
119
+ d.radius,
120
+ d.startAngle,
121
+ d.endAngle,
122
+ !d.isccw
123
123
  )
124
124
  );
125
- } else if (a.eType == d.DRW_ETYPE.ELLIPSE) {
126
- const l = a, g = l.basePoint, f = l.secPoint, A = new F(f).length(), x = A * l.ratio;
127
- let u = l.startAngle, h = l.endAngle;
128
- const I = Math.atan2(f.y, f.x);
129
- l.isCounterClockwise || (u = Math.PI * 2 - u, h = Math.PI * 2 - h), c.add(
125
+ } else if (a.eType == l.DRW_ETYPE.ELLIPSE) {
126
+ const d = a, c = d.basePoint, u = d.secPoint, y = new _(u).length(), x = y * d.ratio;
127
+ let h = d.startAngle, w = d.endAngle;
128
+ const I = Math.atan2(u.y, u.x);
129
+ d.isCounterClockwise || (h = Math.PI * 2 - h, w = Math.PI * 2 - w), m.add(
130
130
  new k(
131
- { x: g.x, y: g.y, z: 0 },
132
- A,
131
+ { x: c.x, y: c.y, z: 0 },
132
+ y,
133
133
  x,
134
- u,
135
134
  h,
136
- !l.isCounterClockwise,
135
+ w,
136
+ !d.isCounterClockwise,
137
137
  I
138
138
  )
139
139
  );
140
- } else if (a.eType == d.DRW_ETYPE.SPLINE) {
141
- const l = a;
142
- if (l.numberOfControls > 0 && l.numberOfKnots > 0) {
143
- const g = this.toPointArray(
144
- l.getControlList(),
140
+ } else if (a.eType == l.DRW_ETYPE.SPLINE) {
141
+ const d = a;
142
+ if (d.numberOfControls > 0 && d.numberOfKnots > 0) {
143
+ const c = this.toPointArray(
144
+ d.getControlList(),
145
145
  !0
146
- ), f = this.toNumberArray(l.weights), T = this.toNumberArray(l.knots);
147
- c.add(
148
- new y(
149
- g,
150
- T,
151
- f.length > 0 ? f : void 0
146
+ ), u = this.toNumberArray(d.weights), b = this.toNumberArray(d.knots);
147
+ m.add(
148
+ new E(
149
+ c,
150
+ b,
151
+ u.length > 0 ? u : void 0
152
152
  )
153
153
  );
154
- } else if (l.numberOfFits > 0) {
155
- const g = this.toPointArray(
156
- l.getFitList()
154
+ } else if (d.numberOfFits > 0) {
155
+ const c = this.toPointArray(
156
+ d.getFitList()
157
157
  );
158
- c.add(new y(g, "Uniform"));
158
+ m.add(new E(c, "Uniform"));
159
159
  }
160
160
  }
161
161
  }
162
162
  }
163
- i.add(c);
163
+ i.add(m);
164
164
  }
165
165
  }
166
166
  return i;
167
167
  }
168
168
  convertLine(e) {
169
- const i = e.basePoint, s = e.secPoint;
169
+ const i = e.basePoint, o = e.secPoint;
170
170
  return new H(
171
171
  new P(i.x, i.y, i.z || 0),
172
- new P(s.x, s.y, s.z || 0)
172
+ new P(o.x, o.y, o.z || 0)
173
173
  );
174
174
  }
175
175
  convertMText(e) {
@@ -183,12 +183,12 @@ class v {
183
183
  convertPolyline(e) {
184
184
  const i = new O();
185
185
  i.closed = !!(e.flags & 1);
186
- const s = e.getVertexList();
187
- for (let n = 0, r = s.size(); n < r; ++n) {
188
- const t = s.get(n);
186
+ const o = e.getVertexList();
187
+ for (let n = 0, r = o.size(); n < r; ++n) {
188
+ const t = o.get(n);
189
189
  t != null && i.addVertexAt(
190
190
  n,
191
- new M(t.x, t.y),
191
+ new B(t.x, t.y),
192
192
  t.bulge,
193
193
  t.startWidth,
194
194
  t.endWidth
@@ -197,13 +197,13 @@ class v {
197
197
  return i;
198
198
  }
199
199
  convertRay(e) {
200
- const i = new B();
200
+ const i = new M();
201
201
  return i.basePoint.copy(e.basePoint), i.unitDir.copy(e.secPoint), i;
202
202
  }
203
203
  convertSpline(e) {
204
204
  const i = this.toNumberArray(e.weights);
205
205
  if (e.numberOfControls > 0 && e.numberOfKnots > 0)
206
- return new D(
206
+ return new v(
207
207
  this.toPointArray(e.getControlList(), !1),
208
208
  this.toNumberArray(e.knots),
209
209
  i.length > 0 ? i : void 0,
@@ -212,10 +212,10 @@ class v {
212
212
  !!(e.flags & 1)
213
213
  );
214
214
  if (e.numberOfFits > 0) {
215
- const s = this.toPointArray(e.getFitList());
216
- if (s.length > 0)
217
- return new D(
218
- s,
215
+ const o = this.toPointArray(e.getFitList());
216
+ if (o.length > 0)
217
+ return new v(
218
+ o,
219
219
  "Uniform",
220
220
  e.degree,
221
221
  !!(e.flags & 1)
@@ -236,19 +236,19 @@ class v {
236
236
  }
237
237
  toNumberArray(e) {
238
238
  const i = [];
239
- for (let s = 0, n = e.size(); s < n; ++s) {
240
- const r = e.get(s);
239
+ for (let o = 0, n = e.size(); o < n; ++o) {
240
+ const r = e.get(o);
241
241
  r != null && i.push(r);
242
242
  }
243
243
  return i;
244
244
  }
245
245
  toPointArray(e, i = !0) {
246
- const s = [];
246
+ const o = [];
247
247
  for (let n = 0, r = e.size(); n < r; ++n) {
248
248
  const t = e.get(n);
249
- t != null && s.push({ x: t.x, y: t.y, z: i ? 0 : t.z });
249
+ t != null && o.push({ x: t.x, y: t.y, z: i ? 0 : t.z });
250
250
  }
251
- return s;
251
+ return o;
252
252
  }
253
253
  }
254
254
  class ne {
@@ -271,36 +271,36 @@ class oe extends U {
271
271
  return this.database = new i.DRW_Database(), this.fileHandler = new i.DRW_FileHandler(), this.fileHandler.database = this.database, this.dwg = new i.DRW_DwgR(e), this.dwg.read(this.fileHandler, !1), this.database;
272
272
  }
273
273
  processLineTypes(e, i) {
274
- const s = e.lineTypes;
275
- for (let n = 0, r = s.size(); n < r; ++n) {
276
- const t = s.get(n);
274
+ const o = e.lineTypes;
275
+ for (let n = 0, r = o.size(); n < r; ++n) {
276
+ const t = o.get(n);
277
277
  if (t != null) {
278
- const o = {
278
+ const s = {
279
279
  name: t.name,
280
280
  description: t.desc,
281
281
  standardFlag: t.flags,
282
282
  totalPatternLength: t.length,
283
283
  pattern: this.convertLineTypePattern(t.path)
284
- }, d = new q(o);
285
- this.processCommonTableEntryAttrs(t, d), d.name = t.name, i.tables.linetypeTable.add(d);
284
+ }, l = new q(s);
285
+ this.processCommonTableEntryAttrs(t, l), l.name = t.name, i.tables.linetypeTable.add(l);
286
286
  }
287
287
  }
288
288
  }
289
289
  convertLineTypePattern(e) {
290
290
  const i = [];
291
- for (let s = 0, n = e.size(); s < n; ++s)
291
+ for (let o = 0, n = e.size(); o < n; ++o)
292
292
  i.push({
293
- elementLength: e.get(s) || 0,
293
+ elementLength: e.get(o) || 0,
294
294
  elementTypeFlag: 0
295
295
  });
296
296
  return i;
297
297
  }
298
298
  processTextStyles(e, i) {
299
- const s = e.textStyles;
300
- for (let n = 0, r = s.size(); n < r; ++n) {
301
- const t = s.get(n);
299
+ const o = e.textStyles;
300
+ for (let n = 0, r = o.size(); n < r; ++n) {
301
+ const t = o.get(n);
302
302
  if (t != null) {
303
- const o = {
303
+ const s = {
304
304
  name: t.name,
305
305
  standardFlag: t.flags,
306
306
  fixedTextHeight: t.height,
@@ -310,17 +310,17 @@ class oe extends U {
310
310
  lastHeight: t.lastHeight,
311
311
  font: t.font,
312
312
  bigFont: t.bigFont
313
- }, d = new Z(o);
314
- this.processCommonTableEntryAttrs(t, d), i.tables.textStyleTable.add(d);
313
+ }, l = new Z(s);
314
+ this.processCommonTableEntryAttrs(t, l), i.tables.textStyleTable.add(l);
315
315
  }
316
316
  }
317
317
  }
318
318
  processDimStyles(e, i) {
319
- const s = e.dimStyles;
320
- for (let n = 0, r = s.size(); n < r; ++n) {
321
- const t = s.get(n);
319
+ const o = e.dimStyles;
320
+ for (let n = 0, r = o.size(); n < r; ++n) {
321
+ const t = o.get(n);
322
322
  if (t != null) {
323
- const o = {
323
+ const s = {
324
324
  name: t.name,
325
325
  ownerId: t.parentHandle.toString(),
326
326
  dimpost: t.dimpost || "",
@@ -389,49 +389,49 @@ class oe extends U {
389
389
  dimblk2: t.dimblk2 || "",
390
390
  dimlwd: t.dimlwd,
391
391
  dimlwe: t.dimlwe
392
- }, d = new K(o);
393
- this.processCommonTableEntryAttrs(t, d), i.tables.dimStyleTable.add(d);
392
+ }, l = new K(s);
393
+ this.processCommonTableEntryAttrs(t, l), i.tables.dimStyleTable.add(l);
394
394
  }
395
395
  }
396
396
  }
397
397
  processLayers(e, i) {
398
- const s = e.layers;
399
- for (let n = 0, r = s.size(); n < r; ++n) {
400
- const t = s.get(n);
398
+ const o = e.layers;
399
+ for (let n = 0, r = o.size(); n < r; ++n) {
400
+ const t = o.get(n);
401
401
  if (t != null) {
402
- const o = new J();
403
- o.colorIndex = t.color;
404
- const d = new Q({
402
+ const s = new J();
403
+ s.colorIndex = t.color;
404
+ const l = new Q({
405
405
  name: t.name,
406
406
  standardFlags: t.flags,
407
407
  linetype: t.lineType,
408
408
  lineWeight: t.lWeight,
409
409
  isOff: t.color < 0,
410
- color: o,
410
+ color: s,
411
411
  isPlottable: t.plotF,
412
412
  materialId: t.handleMaterialS
413
413
  });
414
- this.processCommonTableEntryAttrs(t, d), i.tables.layerTable.add(d);
414
+ this.processCommonTableEntryAttrs(t, l), i.tables.layerTable.add(l);
415
415
  }
416
416
  }
417
417
  }
418
418
  processViewports(e, i) {
419
- const s = e.viewports;
420
- for (let n = 0, r = s.size(); n < r; ++n) {
421
- const t = s.get(n);
419
+ const o = e.viewports;
420
+ for (let n = 0, r = o.size(); n < r; ++n) {
421
+ const t = o.get(n);
422
422
  if (t != null) {
423
- const o = new ee();
424
- this.processCommonTableEntryAttrs(t, o), t.circleZoom && (o.circleSides = t.circleZoom), o.standardFlag = t.flags, o.center.copy(t.center), o.lowerLeftCorner.copy(t.lowerLeft), o.upperRightCorner.copy(t.upperRight), t.snapBase && o.snapBase.copy(t.snapBase), t.snapAngle && (o.snapAngle = t.snapAngle), o.snapIncrements && o.snapIncrements.copy(t.snapSpacing), t.gridSpacing && o.gridIncrements.copy(t.gridSpacing), o.gsView.center.copy(t.center), o.gsView.viewDirectionFromTarget.copy(t.viewDir), o.gsView.viewTarget.copy(t.viewTarget), t.lensHeight && (o.gsView.lensLength = t.lensHeight), t.height && (o.gsView.viewHeight = t.height), t.twistAngle && (o.gsView.viewTwistAngle = t.twistAngle), t.viewMode && (o.gsView.viewMode = t.viewMode), t.ucsIcon && (o.gsView.ucsIconSetting = t.ucsIcon), i.tables.viewportTable.add(o);
423
+ const s = new ee();
424
+ this.processCommonTableEntryAttrs(t, s), t.circleZoom && (s.circleSides = t.circleZoom), s.standardFlag = t.flags, s.center.copy(t.center), s.lowerLeftCorner.copy(t.lowerLeft), s.upperRightCorner.copy(t.upperRight), t.snapBase && s.snapBase.copy(t.snapBase), t.snapAngle && (s.snapAngle = t.snapAngle), s.snapIncrements && s.snapIncrements.copy(t.snapSpacing), t.gridSpacing && s.gridIncrements.copy(t.gridSpacing), s.gsView.center.copy(t.center), s.gsView.viewDirectionFromTarget.copy(t.viewDir), s.gsView.viewTarget.copy(t.viewTarget), t.lensHeight && (s.gsView.lensLength = t.lensHeight), t.height && (s.gsView.viewHeight = t.height), t.twistAngle && (s.gsView.viewTwistAngle = t.twistAngle), t.viewMode && (s.gsView.viewMode = t.viewMode), t.ucsIcon && (s.gsView.ucsIconSetting = t.ucsIcon), i.tables.viewportTable.add(s);
425
425
  }
426
426
  }
427
427
  }
428
428
  processBlockTables(e, i) {
429
- const s = e.blocks;
430
- for (let n = 0, r = s.size(); n < r; ++n) {
431
- const t = s.get(n);
429
+ const o = e.blocks;
430
+ for (let n = 0, r = o.size(); n < r; ++n) {
431
+ const t = o.get(n);
432
432
  if (t != null) {
433
- const o = new te();
434
- o.objectId = t.handle.toString(), o.name = t.name.toUpperCase(), i.tables.blockTable.add(o), t.entities && this.processEntitiesInBlock(t.entities, o);
433
+ const s = new te();
434
+ s.objectId = t.handle.toString(), s.name = t.name.toUpperCase(), i.tables.blockTable.add(s), t.entities && this.processEntitiesInBlock(t.entities, s);
435
435
  }
436
436
  }
437
437
  }
@@ -439,57 +439,84 @@ class oe extends U {
439
439
  i.name = e.name, i.objectId = e.handle.toString(), i.ownerId = e.parentHandle.toString();
440
440
  }
441
441
  processHeader(e, i) {
442
- const s = e.header;
443
- let n = s.getVar("$CECOLOR");
444
- i.cecolor.colorIndex = n ? n.getInt() : 256, n = s.getVar("$ANGDIR"), i.angDir = n ? n.getInt() : 0, n = s.getVar("$AUNITS"), i.aunits = n ? n.getInt() : 0, n = s.getVar("$INSUNITS"), i.insunits = n ? n.getInt() : 1, n = s.getVar("$PDMODE"), i.pdmode = n ? n.getInt() : 0, n = s.getVar("$PDSIZE"), i.pdsize = n ? n.getDouble() : 0;
442
+ const o = e.header;
443
+ let n = o.getVar("$CECOLOR");
444
+ i.cecolor.colorIndex = n ? n.getInt() : 256, n = o.getVar("$ANGDIR"), i.angDir = n ? n.getInt() : 0, n = o.getVar("$AUNITS"), i.aunits = n ? n.getInt() : 0, n = o.getVar("$INSUNITS"), i.insunits = n ? n.getInt() : 1, n = o.getVar("$PDMODE"), i.pdmode = n ? n.getInt() : 0, n = o.getVar("$PDSIZE"), i.pdsize = n ? n.getDouble() : 0;
445
445
  }
446
446
  processObjects(e, i) {
447
447
  this.processImageDefs(e.images, i);
448
448
  }
449
449
  processImageDefs(e, i) {
450
- const s = new ne(), n = i.dictionaries.imageDefs;
450
+ const o = new ne(), n = i.dictionaries.imageDefs;
451
451
  for (let r = 0, t = e.size(); r < t; ++r) {
452
- const o = e.get(r);
453
- if (o != null) {
454
- const d = s.convertImageDef(o);
455
- n.setAt(d.objectId, d);
452
+ const s = e.get(r);
453
+ if (s != null) {
454
+ const l = o.convertImageDef(s);
455
+ n.setAt(l.objectId, l);
456
456
  }
457
457
  }
458
458
  }
459
459
  async processEntitiesInBlock(e, i) {
460
- const s = new v(), n = [];
460
+ const o = new D(), n = [];
461
461
  for (let r = 0, t = e.size(); r < t; ++r) {
462
- const o = e.get(r);
463
- if (o != null) {
464
- const d = s.convert(o);
465
- d && n.push(d);
462
+ const s = e.get(r);
463
+ if (s != null) {
464
+ const l = o.convert(s);
465
+ l && n.push(l);
466
466
  }
467
467
  }
468
468
  i.appendEntity(n);
469
469
  }
470
- async processEntities(e, i, s, n, r) {
470
+ async processEntities(e, i, o, n, r) {
471
471
  if (e.mBlock) {
472
- const t = new v(), o = e.mBlock.entities, d = o.size(), p = new ie(
473
- d,
472
+ const t = new D();
473
+ let s = [];
474
+ const l = e.mBlock.entities, f = l.size();
475
+ for (let p = 0; p < f; p++) {
476
+ const a = l.get(p);
477
+ a && s.push(a);
478
+ }
479
+ const m = new ie(
480
+ s.length,
474
481
  100 - n.value,
475
- s
476
- ), c = i.tables.blockTable.modelSpace;
477
- await p.processChunk(async (m, b) => {
478
- const a = [];
479
- for (let l = m; l < b; l++) {
480
- const g = o.get(l);
481
- if (g) {
482
- const f = t.convert(g);
483
- f && a.push(f);
484
- }
482
+ o
483
+ );
484
+ this.config.convertByEntityType && (s = this.groupAndFlattenByType(s));
485
+ const g = i.tables.blockTable.modelSpace;
486
+ await m.processChunk(async (p, a) => {
487
+ const d = [];
488
+ for (let c = p; c < a; c++) {
489
+ const u = s[c], b = t.convert(u);
490
+ b && d.push(b);
485
491
  }
486
- if (c.appendEntity(a), r) {
487
- let l = n.value + b / d * (100 - n.value);
488
- l > 100 && (l = 100), await r(l, "ENTITY", "IN-PROGRESS");
492
+ if (g.appendEntity(d), r) {
493
+ let c = n.value + a / f * (100 - n.value);
494
+ c > 100 && (c = 100), await r(c, "ENTITY", "IN-PROGRESS");
489
495
  }
490
496
  });
491
497
  }
492
498
  }
499
+ /**
500
+ * Groups entities by their `type` property and flattens the result into a single array.
501
+ *
502
+ * The order of `type` groups follows the order in which they first appear in the input array.
503
+ * Items within each group preserve their original order.
504
+ *
505
+ * This runs in O(n) time, which is generally faster than sorting when you
506
+ * don't care about alphabetical order of types.
507
+ *
508
+ * @param entities - The array of entities to group and flatten.
509
+ *
510
+ * @returns A new array of entities grouped by their `type` property.
511
+ */
512
+ groupAndFlattenByType(e) {
513
+ const i = {}, o = [], n = e.length;
514
+ for (let r = 0; r < n; r++) {
515
+ const t = e[r], s = t.eType.value;
516
+ i[s] || (i[s] = [], o.push(s)), i[s].push(t);
517
+ }
518
+ return o.flatMap((r) => i[r]);
519
+ }
493
520
  }
494
521
  export {
495
522
  oe as AcDbLibdxfrwConverter
@@ -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["libdxfrw-converter"]={},b.dataModel))})(this,function(b,r){"use strict";class A{convert(e){const i=this.createEntity(e);return i&&this.processCommonAttrs(e,i),i}createEntity(e){const i=window.libdxfrw;if(e.eType==i.DRW_ETYPE.ARC)return this.convertArc(e);if(e.eType==i.DRW_ETYPE.CIRCLE)return this.convertCirle(e);if(e.eType!=i.DRW_ETYPE.DIMENSION){if(e.eType==i.DRW_ETYPE.ELLIPSE)return this.convertEllipse(e);if(e.eType==i.DRW_ETYPE.HATCH)return this.convertHatch(e);if(e.eType!=i.DRW_ETYPE.IMAGE){if(e.eType!=i.DRW_ETYPE.LEADER){if(e.eType==i.DRW_ETYPE.LINE)return this.convertLine(e);if(e.eType==i.DRW_ETYPE.MTEXT)return this.convertMText(e);if(e.eType!=i.DRW_ETYPE.POLYLINE){if(e.eType==i.DRW_ETYPE.LWPOLYLINE)return this.convertPolyline(e);if(e.eType==i.DRW_ETYPE.POINT)return this.convertPoint(e);if(e.eType==i.DRW_ETYPE.RAY)return this.convertRay(e);if(e.eType==i.DRW_ETYPE.SPLINE)return this.convertSpline(e);if(e.eType==i.DRW_ETYPE.TEXT)return this.convertText(e);if(e.eType!=i.DRW_ETYPE.SOLID){if(e.eType!=i.DRW_ETYPE.VIEWPORT){if(e.eType==i.DRW_ETYPE.XLINE)return this.convertXline(e);if(e.eType==i.DRW_ETYPE.INSERT)return this.convertBlockReference(e)}}}}}}return null}convertArc(e){return new r.AcDbArc(e.center(),e.radius,e.startAngle,e.endAngle)}convertCirle(e){return new r.AcDbCircle(e.basePoint,e.radius)}convertEllipse(e){const i=new r.AcGeVector3d(e.secPoint),s=i.length();return new r.AcDbEllipse(e.basePoint,r.AcGeVector3d.Z_AXIS,i,s,s*e.ratio,e.startAngle,e.endAngle)}convertBlockReference(e){const i=new r.AcDbBlockReference(e.name);return e.basePoint&&i.position.copy(e.basePoint),i.scaleFactors.x=e.xScale||1,i.scaleFactors.y=e.yScale||1,i.scaleFactors.z=e.zScale||1,i.rotation=e.angle,i.normal.copy(e.extPoint),i}convertHatch(e){const i=new r.AcDbHatch,s=e.definitionLines;for(let l=0,t=s.size();l<t;++l){const o=s.get(l);o!=null&&i.definitionLines.push({angle:o.angle,origin:o.base,delta:o.offset,dashPattern:this.toNumberArray(o.dashPattern)})}i.hatchStyle=e.hatchStyle,i.patternName=e.name,i.patternType=e.patternType,i.patternAngle=e.angle,i.patternScale=e.scale;const n=e.getLoopList();for(let l=0,t=n.size();l<t;++l){const o=n.get(l);if(o!=null)if(o.type==2){const d=o.getObjList().get(0);if(d){const u=new r.AcGePolyline2d,m=d.getVertexList();for(let f=0,h=m.size();f<h;++f){const a=m.get(f);a!=null&&u.addVertexAt(f,{x:a.x,y:a.y,bulge:a.bulge})}i.add(u)}}else{const d=window.libdxfrw,u=o.getObjList(),m=new r.AcGeLoop2d;for(let f=0,h=u.size();f<h;++f){const a=u.get(f);if(a!=null){if(a.eType==d.DRW_ETYPE.LINE){const c=a;m.add(new r.AcGeLine2d(c.basePoint,c.secPoint))}else if(a.eType==d.DRW_ETYPE.ARC){const c=a;m.add(new r.AcGeCircArc2d(c.center(),c.radius,c.startAngle,c.endAngle,!c.isccw))}else if(a.eType==d.DRW_ETYPE.ELLIPSE){const c=a,g=c.basePoint,p=c.secPoint,P=new r.AcGeVector2d(p).length(),x=P*c.ratio;let w=c.startAngle,T=c.endAngle;const S=Math.atan2(p.y,p.x);c.isCounterClockwise||(w=Math.PI*2-w,T=Math.PI*2-T),m.add(new r.AcGeEllipseArc2d({x:g.x,y:g.y,z:0},P,x,w,T,!c.isCounterClockwise,S))}else if(a.eType==d.DRW_ETYPE.SPLINE){const c=a;if(c.numberOfControls>0&&c.numberOfKnots>0){const g=this.toPointArray(c.getControlList(),!0),p=this.toNumberArray(c.weights),E=this.toNumberArray(c.knots);m.add(new r.AcGeSpline3d(g,E,p.length>0?p:void 0))}else if(c.numberOfFits>0){const g=this.toPointArray(c.getFitList());m.add(new r.AcGeSpline3d(g,"Uniform"))}}}}i.add(m)}}return i}convertLine(e){const i=e.basePoint,s=e.secPoint;return new r.AcDbLine(new r.AcGePoint3d(i.x,i.y,i.z||0),new r.AcGePoint3d(s.x,s.y,s.z||0))}convertMText(e){const i=new r.AcDbMText;return i.contents=e.text,e.style!=null&&(i.styleName=e.style),i.height=e.height,i.lineSpacingFactor=e.interlin,i.rotation=e.angle||0,i.location=e.basePoint,i}convertPoint(e){const i=new r.AcDbPoint;return i.position=e.basePoint,i}convertPolyline(e){const i=new r.AcDbPolyline;i.closed=!!(e.flags&1);const s=e.getVertexList();for(let n=0,l=s.size();n<l;++n){const t=s.get(n);t!=null&&i.addVertexAt(n,new r.AcGePoint2d(t.x,t.y),t.bulge,t.startWidth,t.endWidth)}return i}convertRay(e){const i=new r.AcDbRay;return i.basePoint.copy(e.basePoint),i.unitDir.copy(e.secPoint),i}convertSpline(e){const i=this.toNumberArray(e.weights);if(e.numberOfControls>0&&e.numberOfKnots>0)return new r.AcDbSpline(this.toPointArray(e.getControlList(),!1),this.toNumberArray(e.knots),i.length>0?i:void 0,e.degree,!!(e.flags&1));if(e.numberOfFits>0){const s=this.toPointArray(e.getFitList());if(s.length>0)return new r.AcDbSpline(s,"Uniform",e.degree,!!(e.flags&1))}return null}convertText(e){const i=new r.AcDbText;return i.textString=e.text,i.styleName=e.style,i.height=e.height,i.position.copy(e.basePoint),i.rotation=e.angle||0,i.oblique=e.oblique??0,i.horizontalMode=e.alignH,i.verticalMode=e.alignV,i.widthFactor=e.widthScale??1,i}convertXline(e){const i=new r.AcDbXline;return i.basePoint.copy(e.basePoint),i.unitDir.copy(e.secPoint),i}processCommonAttrs(e,i){i.layer=e.layer,i.objectId=e.handle.toString(),i.ownerId=e.parentHandle.toString(),e.lineType!=null&&(i.lineType=e.lineType),e.lWeight!=null&&(i.lineWeight=e.lWeight),e.ltypeScale!=null&&(i.linetypeScale=e.ltypeScale),e.color24!=null&&(i.color.color=e.color24),e.color!=null&&(i.color.colorIndex=e.color),e.colorName!=null&&(i.color.colorName=e.colorName),e.visible!=null&&(i.visibility=e.visible),e.transparency!=null&&(i.transparency=e.transparency)}toNumberArray(e){const i=[];for(let s=0,n=e.size();s<n;++s){const l=e.get(s);l!=null&&i.push(l)}return i}toPointArray(e,i=!0){const s=[];for(let n=0,l=e.size();n<l;++n){const t=e.get(n);t!=null&&s.push({x:t.x,y:t.y,z:i?0:t.z})}return s}}class D{convertImageDef(e){const i=new r.AcDbRasterImageDef;return i.sourceFileName=e.path,i.objectId=e.handle.toString(),i.ownerId=e.parentHandle.toString(),i}}class v extends r.AcDbDatabaseConverter{constructor(e){super(),this.librefrw=e}onFinished(){super.onFinished(),this.dwg&&(this.dwg.delete(),this.dwg=void 0),this.database&&(this.database.delete(),this.database=void 0),this.fileHandler&&(this.fileHandler.delete(),this.fileHandler=void 0)}async parse(e){if(this.librefrw==null)throw new Error("librefrw is not loaded!");const i=this.librefrw;return this.database=new i.DRW_Database,this.fileHandler=new i.DRW_FileHandler,this.fileHandler.database=this.database,this.dwg=new i.DRW_DwgR(e),this.dwg.read(this.fileHandler,!1),this.database}processLineTypes(e,i){const s=e.lineTypes;for(let n=0,l=s.size();n<l;++n){const t=s.get(n);if(t!=null){const o={name:t.name,description:t.desc,standardFlag:t.flags,totalPatternLength:t.length,pattern:this.convertLineTypePattern(t.path)},d=new r.AcDbLinetypeTableRecord(o);this.processCommonTableEntryAttrs(t,d),d.name=t.name,i.tables.linetypeTable.add(d)}}}convertLineTypePattern(e){const i=[];for(let s=0,n=e.size();s<n;++s)i.push({elementLength:e.get(s)||0,elementTypeFlag:0});return i}processTextStyles(e,i){const s=e.textStyles;for(let n=0,l=s.size();n<l;++n){const t=s.get(n);if(t!=null){const o={name:t.name,standardFlag:t.flags,fixedTextHeight:t.height,widthFactor:t.width,obliqueAngle:t.oblique,textGenerationFlag:t.genFlag,lastHeight:t.lastHeight,font:t.font,bigFont:t.bigFont},d=new r.AcDbTextStyleTableRecord(o);this.processCommonTableEntryAttrs(t,d),i.tables.textStyleTable.add(d)}}}processDimStyles(e,i){const s=e.dimStyles;for(let n=0,l=s.size();n<l;++n){const t=s.get(n);if(t!=null){const o={name:t.name,ownerId:t.parentHandle.toString(),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.toString(),dimtmove:t.dimtmove||0,dimjust:t.dimjust,dimsd1:t.dimsd1,dimsd2:t.dimsd2,dimtolj:t.dimtolj,dimtzin:t.dimtzin,dimaltz:t.dimaltz,dimalttz:t.dimaltttz,dimfit:t.dimfit||0,dimupt:t.dimupt,dimatfit:t.dimatfit,dimtxsty:t.dimtxsty||"Standard",dimldrblk:t.dimldrblk||"",dimblk:t.dimblk||"",dimblk1:t.dimblk1||"",dimblk2:t.dimblk2||"",dimlwd:t.dimlwd,dimlwe:t.dimlwe},d=new r.AcDbDimStyleTableRecord(o);this.processCommonTableEntryAttrs(t,d),i.tables.dimStyleTable.add(d)}}}processLayers(e,i){const s=e.layers;for(let n=0,l=s.size();n<l;++n){const t=s.get(n);if(t!=null){const o=new r.AcCmColor;o.colorIndex=t.color;const d=new r.AcDbLayerTableRecord({name:t.name,standardFlags:t.flags,linetype:t.lineType,lineWeight:t.lWeight,isOff:t.color<0,color:o,isPlottable:t.plotF,materialId:t.handleMaterialS});this.processCommonTableEntryAttrs(t,d),i.tables.layerTable.add(d)}}}processViewports(e,i){const s=e.viewports;for(let n=0,l=s.size();n<l;++n){const t=s.get(n);if(t!=null){const o=new r.AcDbViewportTableRecord;this.processCommonTableEntryAttrs(t,o),t.circleZoom&&(o.circleSides=t.circleZoom),o.standardFlag=t.flags,o.center.copy(t.center),o.lowerLeftCorner.copy(t.lowerLeft),o.upperRightCorner.copy(t.upperRight),t.snapBase&&o.snapBase.copy(t.snapBase),t.snapAngle&&(o.snapAngle=t.snapAngle),o.snapIncrements&&o.snapIncrements.copy(t.snapSpacing),t.gridSpacing&&o.gridIncrements.copy(t.gridSpacing),o.gsView.center.copy(t.center),o.gsView.viewDirectionFromTarget.copy(t.viewDir),o.gsView.viewTarget.copy(t.viewTarget),t.lensHeight&&(o.gsView.lensLength=t.lensHeight),t.height&&(o.gsView.viewHeight=t.height),t.twistAngle&&(o.gsView.viewTwistAngle=t.twistAngle),t.viewMode&&(o.gsView.viewMode=t.viewMode),t.ucsIcon&&(o.gsView.ucsIconSetting=t.ucsIcon),i.tables.viewportTable.add(o)}}}processBlockTables(e,i){const s=e.blocks;for(let n=0,l=s.size();n<l;++n){const t=s.get(n);if(t!=null){const o=new r.AcDbBlockTableRecord;o.objectId=t.handle.toString(),o.name=t.name.toUpperCase(),i.tables.blockTable.add(o),t.entities&&this.processEntitiesInBlock(t.entities,o)}}}processCommonTableEntryAttrs(e,i){i.name=e.name,i.objectId=e.handle.toString(),i.ownerId=e.parentHandle.toString()}processHeader(e,i){const s=e.header;let n=s.getVar("$CECOLOR");i.cecolor.colorIndex=n?n.getInt():256,n=s.getVar("$ANGDIR"),i.angDir=n?n.getInt():0,n=s.getVar("$AUNITS"),i.aunits=n?n.getInt():0,n=s.getVar("$INSUNITS"),i.insunits=n?n.getInt():1,n=s.getVar("$PDMODE"),i.pdmode=n?n.getInt():0,n=s.getVar("$PDSIZE"),i.pdsize=n?n.getDouble():0}processObjects(e,i){this.processImageDefs(e.images,i)}processImageDefs(e,i){const s=new D,n=i.dictionaries.imageDefs;for(let l=0,t=e.size();l<t;++l){const o=e.get(l);if(o!=null){const d=s.convertImageDef(o);n.setAt(d.objectId,d)}}}async processEntitiesInBlock(e,i){const s=new A,n=[];for(let l=0,t=e.size();l<t;++l){const o=e.get(l);if(o!=null){const d=s.convert(o);d&&n.push(d)}}i.appendEntity(n)}async processEntities(e,i,s,n,l){if(e.mBlock){const t=new A,o=e.mBlock.entities,d=o.size(),u=new r.AcDbBatchProcessing(d,100-n.value,s),m=i.tables.blockTable.modelSpace;await u.processChunk(async(f,h)=>{const a=[];for(let c=f;c<h;c++){const g=o.get(c);if(g){const p=t.convert(g);p&&a.push(p)}}if(m.appendEntity(a),l){let c=n.value+h/d*(100-n.value);c>100&&(c=100),await l(c,"ENTITY","IN-PROGRESS")}})}}}b.AcDbLibdxfrwConverter=v,Object.defineProperty(b,Symbol.toStringTag,{value:"Module"})});
1
+ (function(h,l){typeof exports=="object"&&typeof module<"u"?l(exports,require("@mlightcad/data-model")):typeof define=="function"&&define.amd?define(["exports","@mlightcad/data-model"],l):(h=typeof globalThis<"u"?globalThis:h||self,l(h["libdxfrw-converter"]={},h.dataModel))})(this,function(h,l){"use strict";class A{convert(e){const i=this.createEntity(e);return i&&this.processCommonAttrs(e,i),i}createEntity(e){const i=window.libdxfrw;if(e.eType==i.DRW_ETYPE.ARC)return this.convertArc(e);if(e.eType==i.DRW_ETYPE.CIRCLE)return this.convertCirle(e);if(e.eType!=i.DRW_ETYPE.DIMENSION){if(e.eType==i.DRW_ETYPE.ELLIPSE)return this.convertEllipse(e);if(e.eType==i.DRW_ETYPE.HATCH)return this.convertHatch(e);if(e.eType!=i.DRW_ETYPE.IMAGE){if(e.eType!=i.DRW_ETYPE.LEADER){if(e.eType==i.DRW_ETYPE.LINE)return this.convertLine(e);if(e.eType==i.DRW_ETYPE.MTEXT)return this.convertMText(e);if(e.eType!=i.DRW_ETYPE.POLYLINE){if(e.eType==i.DRW_ETYPE.LWPOLYLINE)return this.convertPolyline(e);if(e.eType==i.DRW_ETYPE.POINT)return this.convertPoint(e);if(e.eType==i.DRW_ETYPE.RAY)return this.convertRay(e);if(e.eType==i.DRW_ETYPE.SPLINE)return this.convertSpline(e);if(e.eType==i.DRW_ETYPE.TEXT)return this.convertText(e);if(e.eType!=i.DRW_ETYPE.SOLID){if(e.eType!=i.DRW_ETYPE.VIEWPORT){if(e.eType==i.DRW_ETYPE.XLINE)return this.convertXline(e);if(e.eType==i.DRW_ETYPE.INSERT)return this.convertBlockReference(e)}}}}}}return null}convertArc(e){return new l.AcDbArc(e.center(),e.radius,e.startAngle,e.endAngle)}convertCirle(e){return new l.AcDbCircle(e.basePoint,e.radius)}convertEllipse(e){const i=new l.AcGeVector3d(e.secPoint),o=i.length();return new l.AcDbEllipse(e.basePoint,l.AcGeVector3d.Z_AXIS,i,o,o*e.ratio,e.startAngle,e.endAngle)}convertBlockReference(e){const i=new l.AcDbBlockReference(e.name);return e.basePoint&&i.position.copy(e.basePoint),i.scaleFactors.x=e.xScale||1,i.scaleFactors.y=e.yScale||1,i.scaleFactors.z=e.zScale||1,i.rotation=e.angle,i.normal.copy(e.extPoint),i}convertHatch(e){const i=new l.AcDbHatch,o=e.definitionLines;for(let r=0,t=o.size();r<t;++r){const s=o.get(r);s!=null&&i.definitionLines.push({angle:s.angle,origin:s.base,delta:s.offset,dashPattern:this.toNumberArray(s.dashPattern)})}i.hatchStyle=e.hatchStyle,i.patternName=e.name,i.patternType=e.patternType,i.patternAngle=e.angle,i.patternScale=e.scale;const n=e.getLoopList();for(let r=0,t=n.size();r<t;++r){const s=n.get(r);if(s!=null)if(s.type==2){const c=s.getObjList().get(0);if(c){const u=new l.AcGePolyline2d,f=c.getVertexList();for(let p=0,g=f.size();p<g;++p){const a=f.get(p);a!=null&&u.addVertexAt(p,{x:a.x,y:a.y,bulge:a.bulge})}i.add(u)}}else{const c=window.libdxfrw,u=s.getObjList(),f=new l.AcGeLoop2d;for(let p=0,g=u.size();p<g;++p){const a=u.get(p);if(a!=null){if(a.eType==c.DRW_ETYPE.LINE){const d=a;f.add(new l.AcGeLine2d(d.basePoint,d.secPoint))}else if(a.eType==c.DRW_ETYPE.ARC){const d=a;f.add(new l.AcGeCircArc2d(d.center(),d.radius,d.startAngle,d.endAngle,!d.isccw))}else if(a.eType==c.DRW_ETYPE.ELLIPSE){const d=a,m=d.basePoint,b=d.secPoint,P=new l.AcGeVector2d(b).length(),x=P*d.ratio;let T=d.startAngle,y=d.endAngle;const S=Math.atan2(b.y,b.x);d.isCounterClockwise||(T=Math.PI*2-T,y=Math.PI*2-y),f.add(new l.AcGeEllipseArc2d({x:m.x,y:m.y,z:0},P,x,T,y,!d.isCounterClockwise,S))}else if(a.eType==c.DRW_ETYPE.SPLINE){const d=a;if(d.numberOfControls>0&&d.numberOfKnots>0){const m=this.toPointArray(d.getControlList(),!0),b=this.toNumberArray(d.weights),w=this.toNumberArray(d.knots);f.add(new l.AcGeSpline3d(m,w,b.length>0?b:void 0))}else if(d.numberOfFits>0){const m=this.toPointArray(d.getFitList());f.add(new l.AcGeSpline3d(m,"Uniform"))}}}}i.add(f)}}return i}convertLine(e){const i=e.basePoint,o=e.secPoint;return new l.AcDbLine(new l.AcGePoint3d(i.x,i.y,i.z||0),new l.AcGePoint3d(o.x,o.y,o.z||0))}convertMText(e){const i=new l.AcDbMText;return i.contents=e.text,e.style!=null&&(i.styleName=e.style),i.height=e.height,i.lineSpacingFactor=e.interlin,i.rotation=e.angle||0,i.location=e.basePoint,i}convertPoint(e){const i=new l.AcDbPoint;return i.position=e.basePoint,i}convertPolyline(e){const i=new l.AcDbPolyline;i.closed=!!(e.flags&1);const o=e.getVertexList();for(let n=0,r=o.size();n<r;++n){const t=o.get(n);t!=null&&i.addVertexAt(n,new l.AcGePoint2d(t.x,t.y),t.bulge,t.startWidth,t.endWidth)}return i}convertRay(e){const i=new l.AcDbRay;return i.basePoint.copy(e.basePoint),i.unitDir.copy(e.secPoint),i}convertSpline(e){const i=this.toNumberArray(e.weights);if(e.numberOfControls>0&&e.numberOfKnots>0)return new l.AcDbSpline(this.toPointArray(e.getControlList(),!1),this.toNumberArray(e.knots),i.length>0?i:void 0,e.degree,!!(e.flags&1));if(e.numberOfFits>0){const o=this.toPointArray(e.getFitList());if(o.length>0)return new l.AcDbSpline(o,"Uniform",e.degree,!!(e.flags&1))}return null}convertText(e){const i=new l.AcDbText;return i.textString=e.text,i.styleName=e.style,i.height=e.height,i.position.copy(e.basePoint),i.rotation=e.angle||0,i.oblique=e.oblique??0,i.horizontalMode=e.alignH,i.verticalMode=e.alignV,i.widthFactor=e.widthScale??1,i}convertXline(e){const i=new l.AcDbXline;return i.basePoint.copy(e.basePoint),i.unitDir.copy(e.secPoint),i}processCommonAttrs(e,i){i.layer=e.layer,i.objectId=e.handle.toString(),i.ownerId=e.parentHandle.toString(),e.lineType!=null&&(i.lineType=e.lineType),e.lWeight!=null&&(i.lineWeight=e.lWeight),e.ltypeScale!=null&&(i.linetypeScale=e.ltypeScale),e.color24!=null&&(i.color.color=e.color24),e.color!=null&&(i.color.colorIndex=e.color),e.colorName!=null&&(i.color.colorName=e.colorName),e.visible!=null&&(i.visibility=e.visible),e.transparency!=null&&(i.transparency=e.transparency)}toNumberArray(e){const i=[];for(let o=0,n=e.size();o<n;++o){const r=e.get(o);r!=null&&i.push(r)}return i}toPointArray(e,i=!0){const o=[];for(let n=0,r=e.size();n<r;++n){const t=e.get(n);t!=null&&o.push({x:t.x,y:t.y,z:i?0:t.z})}return o}}class v{convertImageDef(e){const i=new l.AcDbRasterImageDef;return i.sourceFileName=e.path,i.objectId=e.handle.toString(),i.ownerId=e.parentHandle.toString(),i}}class D extends l.AcDbDatabaseConverter{constructor(e){super(),this.librefrw=e}onFinished(){super.onFinished(),this.dwg&&(this.dwg.delete(),this.dwg=void 0),this.database&&(this.database.delete(),this.database=void 0),this.fileHandler&&(this.fileHandler.delete(),this.fileHandler=void 0)}async parse(e){if(this.librefrw==null)throw new Error("librefrw is not loaded!");const i=this.librefrw;return this.database=new i.DRW_Database,this.fileHandler=new i.DRW_FileHandler,this.fileHandler.database=this.database,this.dwg=new i.DRW_DwgR(e),this.dwg.read(this.fileHandler,!1),this.database}processLineTypes(e,i){const o=e.lineTypes;for(let n=0,r=o.size();n<r;++n){const t=o.get(n);if(t!=null){const s={name:t.name,description:t.desc,standardFlag:t.flags,totalPatternLength:t.length,pattern:this.convertLineTypePattern(t.path)},c=new l.AcDbLinetypeTableRecord(s);this.processCommonTableEntryAttrs(t,c),c.name=t.name,i.tables.linetypeTable.add(c)}}}convertLineTypePattern(e){const i=[];for(let o=0,n=e.size();o<n;++o)i.push({elementLength:e.get(o)||0,elementTypeFlag:0});return i}processTextStyles(e,i){const o=e.textStyles;for(let n=0,r=o.size();n<r;++n){const t=o.get(n);if(t!=null){const s={name:t.name,standardFlag:t.flags,fixedTextHeight:t.height,widthFactor:t.width,obliqueAngle:t.oblique,textGenerationFlag:t.genFlag,lastHeight:t.lastHeight,font:t.font,bigFont:t.bigFont},c=new l.AcDbTextStyleTableRecord(s);this.processCommonTableEntryAttrs(t,c),i.tables.textStyleTable.add(c)}}}processDimStyles(e,i){const o=e.dimStyles;for(let n=0,r=o.size();n<r;++n){const t=o.get(n);if(t!=null){const s={name:t.name,ownerId:t.parentHandle.toString(),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.toString(),dimtmove:t.dimtmove||0,dimjust:t.dimjust,dimsd1:t.dimsd1,dimsd2:t.dimsd2,dimtolj:t.dimtolj,dimtzin:t.dimtzin,dimaltz:t.dimaltz,dimalttz:t.dimaltttz,dimfit:t.dimfit||0,dimupt:t.dimupt,dimatfit:t.dimatfit,dimtxsty:t.dimtxsty||"Standard",dimldrblk:t.dimldrblk||"",dimblk:t.dimblk||"",dimblk1:t.dimblk1||"",dimblk2:t.dimblk2||"",dimlwd:t.dimlwd,dimlwe:t.dimlwe},c=new l.AcDbDimStyleTableRecord(s);this.processCommonTableEntryAttrs(t,c),i.tables.dimStyleTable.add(c)}}}processLayers(e,i){const o=e.layers;for(let n=0,r=o.size();n<r;++n){const t=o.get(n);if(t!=null){const s=new l.AcCmColor;s.colorIndex=t.color;const c=new l.AcDbLayerTableRecord({name:t.name,standardFlags:t.flags,linetype:t.lineType,lineWeight:t.lWeight,isOff:t.color<0,color:s,isPlottable:t.plotF,materialId:t.handleMaterialS});this.processCommonTableEntryAttrs(t,c),i.tables.layerTable.add(c)}}}processViewports(e,i){const o=e.viewports;for(let n=0,r=o.size();n<r;++n){const t=o.get(n);if(t!=null){const s=new l.AcDbViewportTableRecord;this.processCommonTableEntryAttrs(t,s),t.circleZoom&&(s.circleSides=t.circleZoom),s.standardFlag=t.flags,s.center.copy(t.center),s.lowerLeftCorner.copy(t.lowerLeft),s.upperRightCorner.copy(t.upperRight),t.snapBase&&s.snapBase.copy(t.snapBase),t.snapAngle&&(s.snapAngle=t.snapAngle),s.snapIncrements&&s.snapIncrements.copy(t.snapSpacing),t.gridSpacing&&s.gridIncrements.copy(t.gridSpacing),s.gsView.center.copy(t.center),s.gsView.viewDirectionFromTarget.copy(t.viewDir),s.gsView.viewTarget.copy(t.viewTarget),t.lensHeight&&(s.gsView.lensLength=t.lensHeight),t.height&&(s.gsView.viewHeight=t.height),t.twistAngle&&(s.gsView.viewTwistAngle=t.twistAngle),t.viewMode&&(s.gsView.viewMode=t.viewMode),t.ucsIcon&&(s.gsView.ucsIconSetting=t.ucsIcon),i.tables.viewportTable.add(s)}}}processBlockTables(e,i){const o=e.blocks;for(let n=0,r=o.size();n<r;++n){const t=o.get(n);if(t!=null){const s=new l.AcDbBlockTableRecord;s.objectId=t.handle.toString(),s.name=t.name.toUpperCase(),i.tables.blockTable.add(s),t.entities&&this.processEntitiesInBlock(t.entities,s)}}}processCommonTableEntryAttrs(e,i){i.name=e.name,i.objectId=e.handle.toString(),i.ownerId=e.parentHandle.toString()}processHeader(e,i){const o=e.header;let n=o.getVar("$CECOLOR");i.cecolor.colorIndex=n?n.getInt():256,n=o.getVar("$ANGDIR"),i.angDir=n?n.getInt():0,n=o.getVar("$AUNITS"),i.aunits=n?n.getInt():0,n=o.getVar("$INSUNITS"),i.insunits=n?n.getInt():1,n=o.getVar("$PDMODE"),i.pdmode=n?n.getInt():0,n=o.getVar("$PDSIZE"),i.pdsize=n?n.getDouble():0}processObjects(e,i){this.processImageDefs(e.images,i)}processImageDefs(e,i){const o=new v,n=i.dictionaries.imageDefs;for(let r=0,t=e.size();r<t;++r){const s=e.get(r);if(s!=null){const c=o.convertImageDef(s);n.setAt(c.objectId,c)}}}async processEntitiesInBlock(e,i){const o=new A,n=[];for(let r=0,t=e.size();r<t;++r){const s=e.get(r);if(s!=null){const c=o.convert(s);c&&n.push(c)}}i.appendEntity(n)}async processEntities(e,i,o,n,r){if(e.mBlock){const t=new A;let s=[];const c=e.mBlock.entities,u=c.size();for(let g=0;g<u;g++){const a=c.get(g);a&&s.push(a)}const f=new l.AcDbBatchProcessing(s.length,100-n.value,o);this.config.convertByEntityType&&(s=this.groupAndFlattenByType(s));const p=i.tables.blockTable.modelSpace;await f.processChunk(async(g,a)=>{const d=[];for(let m=g;m<a;m++){const b=s[m],w=t.convert(b);w&&d.push(w)}if(p.appendEntity(d),r){let m=n.value+a/u*(100-n.value);m>100&&(m=100),await r(m,"ENTITY","IN-PROGRESS")}})}}groupAndFlattenByType(e){const i={},o=[],n=e.length;for(let r=0;r<n;r++){const t=e[r],s=t.eType.value;i[s]||(i[s]=[],o.push(s)),i[s].push(t)}return o.flatMap(r=>i[r])}}h.AcDbLibdxfrwConverter=D,Object.defineProperty(h,Symbol.toStringTag,{value:"Module"})});
@@ -27,5 +27,19 @@ export declare class AcDbLibdxfrwConverter extends AcDbDatabaseConverter<DRW_Dat
27
27
  protected processEntities(model: DRW_Database, db: AcDbDatabase, minimumChunkSize: number, startPercentage: {
28
28
  value: number;
29
29
  }, progress?: AcDbConversionProgressCallback): Promise<void>;
30
+ /**
31
+ * Groups entities by their `type` property and flattens the result into a single array.
32
+ *
33
+ * The order of `type` groups follows the order in which they first appear in the input array.
34
+ * Items within each group preserve their original order.
35
+ *
36
+ * This runs in O(n) time, which is generally faster than sorting when you
37
+ * don't care about alphabetical order of types.
38
+ *
39
+ * @param entities - The array of entities to group and flatten.
40
+ *
41
+ * @returns A new array of entities grouped by their `type` property.
42
+ */
43
+ private groupAndFlattenByType;
30
44
  }
31
45
  //# sourceMappingURL=AcDbLibdxfrwConverter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbLibdxfrwConverter.d.ts","sourceRoot":"","sources":["../src/AcDbLibdxfrwConverter.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,8BAA8B,EAC9B,YAAY,EACZ,qBAAqB,EAiBtB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,YAAY,EAEZ,QAAQ,EAER,eAAe,EAGf,UAAU,EACX,MAAM,yBAAyB,CAAA;AAKhC;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,qBAAqB,CAAC,YAAY,CAAC;IAC5E,QAAQ,EAAE,UAAU,CAAA;IACpB,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,GAAG,CAAC,EAAE,QAAQ,CAAA;IACd,WAAW,CAAC,EAAE,eAAe,CAAA;gBAEjB,QAAQ,EAAE,UAAU;IAKhC,SAAS,CAAC,UAAU;cAgBJ,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAmBxE,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;IAoBhE,OAAO,CAAC,sBAAsB;IAY9B,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;IAuBjE,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;IAoFhE,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;IAuB7D,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;IAkDhE,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;IAkBlE,OAAO,CAAC,4BAA4B;IASpC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;IA6B7D,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;IAI9D,OAAO,CAAC,gBAAgB;YAYV,sBAAsB;cAmBpB,eAAe,CAC7B,KAAK,EAAE,YAAY,EACnB,EAAE,EAAE,YAAY,EAChB,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAClC,QAAQ,CAAC,EAAE,8BAA8B;CA0C5C"}
1
+ {"version":3,"file":"AcDbLibdxfrwConverter.d.ts","sourceRoot":"","sources":["../src/AcDbLibdxfrwConverter.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,8BAA8B,EAC9B,YAAY,EACZ,qBAAqB,EAiBtB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,YAAY,EAEZ,QAAQ,EAGR,eAAe,EAGf,UAAU,EACX,MAAM,yBAAyB,CAAA;AAKhC;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,qBAAqB,CAAC,YAAY,CAAC;IAC5E,QAAQ,EAAE,UAAU,CAAA;IACpB,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,GAAG,CAAC,EAAE,QAAQ,CAAA;IACd,WAAW,CAAC,EAAE,eAAe,CAAA;gBAEjB,QAAQ,EAAE,UAAU;IAKhC,SAAS,CAAC,UAAU;cAgBJ,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAmBxE,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;IAoBhE,OAAO,CAAC,sBAAsB;IAY9B,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;IAuBjE,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;IAoFhE,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;IAuB7D,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;IAkDhE,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;IAkBlE,OAAO,CAAC,4BAA4B;IASpC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;IA6B7D,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;IAI9D,OAAO,CAAC,gBAAgB;YAYV,sBAAsB;cAmBpB,eAAe,CAC7B,KAAK,EAAE,YAAY,EACnB,EAAE,EAAE,YAAY,EAChB,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAClC,QAAQ,CAAC,EAAE,8BAA8B;IAmD3C;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,qBAAqB;CAiB9B"}
@@ -380,16 +380,26 @@ var AcDbLibdxfrwConverter = /** @class */ (function (_super) {
380
380
  };
381
381
  AcDbLibdxfrwConverter.prototype.processEntities = function (model, db, minimumChunkSize, startPercentage, progress) {
382
382
  return __awaiter(this, void 0, void 0, function () {
383
- var converter_1, entities_1, entityCount_1, batchProcessor, blockTableRecord_1;
383
+ var converter_1, entities_1, entityList, entityCount_1, i, entity, batchProcessor, blockTableRecord_1;
384
384
  var _this = this;
385
385
  return __generator(this, function (_a) {
386
386
  switch (_a.label) {
387
387
  case 0:
388
388
  if (!model.mBlock) return [3 /*break*/, 2];
389
389
  converter_1 = new AcDbEntityConverter();
390
- entities_1 = model.mBlock.entities;
391
- entityCount_1 = entities_1.size();
392
- batchProcessor = new AcDbBatchProcessing(entityCount_1, 100 - startPercentage.value, minimumChunkSize);
390
+ entities_1 = [];
391
+ entityList = model.mBlock.entities;
392
+ entityCount_1 = entityList.size();
393
+ for (i = 0; i < entityCount_1; i++) {
394
+ entity = entityList.get(i);
395
+ if (entity)
396
+ entities_1.push(entity);
397
+ }
398
+ batchProcessor = new AcDbBatchProcessing(entities_1.length, 100 - startPercentage.value, minimumChunkSize);
399
+ // Groups entities by their `type` property and flattens the result into a single array.
400
+ if (this.config.convertByEntityType) {
401
+ entities_1 = this.groupAndFlattenByType(entities_1);
402
+ }
393
403
  blockTableRecord_1 = db.tables.blockTable.modelSpace;
394
404
  return [4 /*yield*/, batchProcessor.processChunk(function (start, end) { return __awaiter(_this, void 0, void 0, function () {
395
405
  var dbEntities, i, entity, dbEntity, percentage;
@@ -398,12 +408,10 @@ var AcDbLibdxfrwConverter = /** @class */ (function (_super) {
398
408
  case 0:
399
409
  dbEntities = [];
400
410
  for (i = start; i < end; i++) {
401
- entity = entities_1.get(i);
402
- if (entity) {
403
- dbEntity = converter_1.convert(entity);
404
- if (dbEntity) {
405
- dbEntities.push(dbEntity);
406
- }
411
+ entity = entities_1[i];
412
+ dbEntity = converter_1.convert(entity);
413
+ if (dbEntity) {
414
+ dbEntities.push(dbEntity);
407
415
  }
408
416
  }
409
417
  // Use batch append to improve performance
@@ -429,6 +437,34 @@ var AcDbLibdxfrwConverter = /** @class */ (function (_super) {
429
437
  });
430
438
  });
431
439
  };
440
+ /**
441
+ * Groups entities by their `type` property and flattens the result into a single array.
442
+ *
443
+ * The order of `type` groups follows the order in which they first appear in the input array.
444
+ * Items within each group preserve their original order.
445
+ *
446
+ * This runs in O(n) time, which is generally faster than sorting when you
447
+ * don't care about alphabetical order of types.
448
+ *
449
+ * @param entities - The array of entities to group and flatten.
450
+ *
451
+ * @returns A new array of entities grouped by their `type` property.
452
+ */
453
+ AcDbLibdxfrwConverter.prototype.groupAndFlattenByType = function (entities) {
454
+ var groups = {};
455
+ var order = [];
456
+ var length = entities.length;
457
+ for (var i = 0; i < length; i++) {
458
+ var entity = entities[i];
459
+ var entityType = entity.eType.value;
460
+ if (!groups[entityType]) {
461
+ groups[entityType] = [];
462
+ order.push(entityType);
463
+ }
464
+ groups[entityType].push(entity);
465
+ }
466
+ return order.flatMap(function (type) { return groups[type]; });
467
+ };
432
468
  return AcDbLibdxfrwConverter;
433
469
  }(AcDbDatabaseConverter));
434
470
  export { AcDbLibdxfrwConverter };
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbLibdxfrwConverter.js","sourceRoot":"","sources":["../src/AcDbLibdxfrwConverter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcDbLibdxfrwConverter.js","sourceRoot":"","sources":["../src/AcDbLibdxfrwConverter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mlightcad/libdxfrw-converter",
3
- "version": "3.0.7",
3
+ "version": "3.0.8",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "type": "git",
@@ -36,7 +36,7 @@
36
36
  "devDependencies": {},
37
37
  "peerDependencies": {
38
38
  "@mlightcad/libdxfrw-web": "0.0.9",
39
- "@mlightcad/data-model": "1.2.7"
39
+ "@mlightcad/data-model": "1.2.8"
40
40
  },
41
41
  "scripts": {
42
42
  "clean": "rimraf dist lib tsconfig.tsbuildinfo",