@mlightcad/libredwg-converter 3.5.4 → 3.5.5
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
|
|
1
|
+
import { AcDbFace as C, AcDbArc as x, AcGeVector3d as D, AcDbCircle as v, AcDbEllipse as O, AcDbLine as m, AcGePoint3d as w, AcDbSpline as y, AcDbPoint as k, AcDbTrace as R, AcDbPolyline as F, AcGePoint2d as b, AcDbPoly2dType as A, AcDb2dPolyline as V, AcDbPoly3dType as T, AcDb3dPolyline as N, AcDbHatch as B, AcGePolyline2d as j, AcGeLoop2d as z, AcGeLine2d as W, AcGeCircArc2d as H, AcGeVector2d as X, AcGeEllipseArc2d as G, AcGeSpline3d as E, AcDbTable as U, AcDbText as Y, AcDbMText as _, AcDbLeader as Z, AcDbAlignedDimension as K, AcDb3PointAngularDimension as q, AcDbOrdinateDimension as J, AcDbRadialDimension as Q, AcDbDiametricDimension as $, AcDbRasterImage as ee, AcDbWipeout as ne, AcDbViewport as te, AcDbRay as oe, AcDbXline as se, AcDbAttributeFlags as I, AcDbAttributeMTextFlag as P, AcDbAttribute as re, AcDbAttributeDefinition as ie, AcDbBlockReference as ce, AcCmTransparency as ae, AcDbDatabaseConverter as le, createWorkerApi as de, AcDbLinetypeTableRecord as pe, AcDbTextStyleTableRecord as ue, DEFAULT_TEXT_STYLE as L, AcDbDimStyleTableRecord as fe, AcCmColor as he, AcDbLayerTableRecord as De, AcDbViewportTableRecord as ge, AcDbBlockTableRecord as Ae, AcDbBatchProcessing as Ie, AcDbLayout as Te, AcDbRasterImageDef as we } from "@mlightcad/data-model";
|
|
2
2
|
class M {
|
|
3
3
|
convert(e) {
|
|
4
4
|
const n = this.createEntity(e);
|
|
@@ -13,11 +13,11 @@ class M {
|
|
|
13
13
|
return e.type == "3DFACE" ? this.convertFace(e) : e.type == "ARC" ? this.convertArc(e) : e.type == "ATTDEF" ? this.convertAttributeDefinition(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 == "MTEXT" ? this.convertMText(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;
|
|
14
14
|
}
|
|
15
15
|
convertFace(e) {
|
|
16
|
-
const n = new
|
|
16
|
+
const n = new C();
|
|
17
17
|
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;
|
|
18
18
|
}
|
|
19
19
|
convertArc(e) {
|
|
20
|
-
return new
|
|
20
|
+
return new x(
|
|
21
21
|
e.center,
|
|
22
22
|
e.radius,
|
|
23
23
|
e.startAngle,
|
|
@@ -26,7 +26,7 @@ class M {
|
|
|
26
26
|
);
|
|
27
27
|
}
|
|
28
28
|
convertCirle(e) {
|
|
29
|
-
return new
|
|
29
|
+
return new v(
|
|
30
30
|
e.center,
|
|
31
31
|
e.radius,
|
|
32
32
|
e.extrusionDirection ?? D.Z_AXIS
|
|
@@ -34,7 +34,7 @@ class M {
|
|
|
34
34
|
}
|
|
35
35
|
convertEllipse(e) {
|
|
36
36
|
const n = new D(e.majorAxisEndPoint), o = n.length();
|
|
37
|
-
return new
|
|
37
|
+
return new O(
|
|
38
38
|
e.center,
|
|
39
39
|
e.extrusionDirection ?? D.Z_AXIS,
|
|
40
40
|
n,
|
|
@@ -46,15 +46,15 @@ class M {
|
|
|
46
46
|
}
|
|
47
47
|
convertLine(e) {
|
|
48
48
|
const n = e.startPoint, o = e.endPoint;
|
|
49
|
-
return new
|
|
50
|
-
new
|
|
51
|
-
new
|
|
49
|
+
return new m(
|
|
50
|
+
new w(n.x, n.y, n.z),
|
|
51
|
+
new w(o.x, o.y, o.z)
|
|
52
52
|
);
|
|
53
53
|
}
|
|
54
54
|
convertSpline(e) {
|
|
55
55
|
try {
|
|
56
56
|
if (e.numberOfControlPoints > 0 && e.numberOfKnots > 0)
|
|
57
|
-
return new
|
|
57
|
+
return new y(
|
|
58
58
|
e.controlPoints,
|
|
59
59
|
e.knots,
|
|
60
60
|
e.weights,
|
|
@@ -62,7 +62,7 @@ class M {
|
|
|
62
62
|
!!(e.flag & 1)
|
|
63
63
|
);
|
|
64
64
|
if (e.numberOfFitPoints > 0)
|
|
65
|
-
return new
|
|
65
|
+
return new y(
|
|
66
66
|
e.fitPoints,
|
|
67
67
|
"Uniform",
|
|
68
68
|
e.degree,
|
|
@@ -74,18 +74,18 @@ class M {
|
|
|
74
74
|
return null;
|
|
75
75
|
}
|
|
76
76
|
convertPoint(e) {
|
|
77
|
-
const n = new
|
|
77
|
+
const n = new k();
|
|
78
78
|
return n.position = e.position, n;
|
|
79
79
|
}
|
|
80
80
|
convertSolid(e) {
|
|
81
|
-
const n = new
|
|
81
|
+
const n = new R();
|
|
82
82
|
return n.setPointAt(0, { ...e.corner1, z: 0 }), n.setPointAt(1, { ...e.corner2, z: 0 }), n.setPointAt(2, { ...e.corner3, z: 0 }), n.setPointAt(
|
|
83
83
|
3,
|
|
84
84
|
e.corner4 ? { ...e.corner4, z: 0 } : { ...e.corner3, z: 0 }
|
|
85
85
|
), n.thickness = e.thickness, n;
|
|
86
86
|
}
|
|
87
87
|
convertLWPolyline(e) {
|
|
88
|
-
const n = new
|
|
88
|
+
const n = new F();
|
|
89
89
|
return n.closed = !!(e.flag & 512), e.vertices.forEach((o, t) => {
|
|
90
90
|
n.addVertexAt(
|
|
91
91
|
t,
|
|
@@ -125,12 +125,12 @@ class M {
|
|
|
125
125
|
z: s.z
|
|
126
126
|
});
|
|
127
127
|
});
|
|
128
|
-
let t =
|
|
129
|
-
return e.flag & 4 && (e.smoothType == 6 ? t =
|
|
128
|
+
let t = T.SimplePoly;
|
|
129
|
+
return e.flag & 4 && (e.smoothType == 6 ? t = T.CubicSplinePoly : e.smoothType == 5 && (t = T.QuadSplinePoly)), new N(t, o, n);
|
|
130
130
|
}
|
|
131
131
|
convertHatch(e) {
|
|
132
132
|
var t;
|
|
133
|
-
const n = new
|
|
133
|
+
const n = new B();
|
|
134
134
|
return (t = e.definitionLines) == null || t.forEach((s) => {
|
|
135
135
|
n.definitionLines.push({
|
|
136
136
|
angle: s.angle,
|
|
@@ -140,7 +140,7 @@ class M {
|
|
|
140
140
|
});
|
|
141
141
|
}), 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((s) => {
|
|
142
142
|
if (s.boundaryPathTypeFlag & 2) {
|
|
143
|
-
const a = s, i = new
|
|
143
|
+
const a = s, i = new j();
|
|
144
144
|
i.closed = a.isClosed, a.vertices.forEach((l, c) => {
|
|
145
145
|
i.addVertexAt(c, {
|
|
146
146
|
x: l.x,
|
|
@@ -149,16 +149,16 @@ class M {
|
|
|
149
149
|
});
|
|
150
150
|
}), n.add(i);
|
|
151
151
|
} else {
|
|
152
|
-
const a = s, i = new
|
|
152
|
+
const a = s, i = new z();
|
|
153
153
|
a.edges.forEach((l) => {
|
|
154
154
|
if (l != null) {
|
|
155
155
|
if (l.type == 1) {
|
|
156
156
|
const c = l;
|
|
157
|
-
i.add(new
|
|
157
|
+
i.add(new W(c.start, c.end));
|
|
158
158
|
} else if (l.type == 2) {
|
|
159
159
|
const c = l;
|
|
160
160
|
i.add(
|
|
161
|
-
new
|
|
161
|
+
new H(
|
|
162
162
|
c.center,
|
|
163
163
|
c.radius,
|
|
164
164
|
c.startAngle,
|
|
@@ -168,14 +168,14 @@ class M {
|
|
|
168
168
|
);
|
|
169
169
|
} else if (l.type == 3) {
|
|
170
170
|
const c = l;
|
|
171
|
-
new
|
|
171
|
+
new X().subVectors(c.end, c.center);
|
|
172
172
|
const p = Math.sqrt(
|
|
173
173
|
Math.pow(c.end.x, 2) + Math.pow(c.end.y, 2)
|
|
174
174
|
), f = p * c.lengthOfMinorAxis;
|
|
175
175
|
let d = c.startAngle, h = c.endAngle;
|
|
176
176
|
const g = Math.atan2(c.end.y, c.end.x);
|
|
177
177
|
c.isCCW || (d = Math.PI * 2 - d, h = Math.PI * 2 - h), i.add(
|
|
178
|
-
new
|
|
178
|
+
new G(
|
|
179
179
|
{ ...c.center, z: 0 },
|
|
180
180
|
p,
|
|
181
181
|
f,
|
|
@@ -198,7 +198,7 @@ class M {
|
|
|
198
198
|
let p = !0;
|
|
199
199
|
const f = c.controlPoints.map((d) => (d.weight == null && (p = !1), d.weight || 1));
|
|
200
200
|
i.add(
|
|
201
|
-
new
|
|
201
|
+
new E(
|
|
202
202
|
u,
|
|
203
203
|
c.knots,
|
|
204
204
|
p ? f : void 0
|
|
@@ -210,7 +210,7 @@ class M {
|
|
|
210
210
|
y: p.y,
|
|
211
211
|
z: 0
|
|
212
212
|
}));
|
|
213
|
-
i.add(new
|
|
213
|
+
i.add(new E(u, "Uniform"));
|
|
214
214
|
}
|
|
215
215
|
}
|
|
216
216
|
}
|
|
@@ -219,7 +219,7 @@ class M {
|
|
|
219
219
|
}), n;
|
|
220
220
|
}
|
|
221
221
|
convertTable(e) {
|
|
222
|
-
const n = new
|
|
222
|
+
const n = new U(
|
|
223
223
|
e.name,
|
|
224
224
|
e.rowCount,
|
|
225
225
|
e.columnCount
|
|
@@ -233,11 +233,11 @@ class M {
|
|
|
233
233
|
}), n;
|
|
234
234
|
}
|
|
235
235
|
convertText(e) {
|
|
236
|
-
const n = new
|
|
236
|
+
const n = new Y();
|
|
237
237
|
return n.textString = e.text, n.styleName = e.styleName, n.height = e.textHeight, n.position.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;
|
|
238
238
|
}
|
|
239
239
|
convertMText(e) {
|
|
240
|
-
const n = new
|
|
240
|
+
const n = new _();
|
|
241
241
|
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 D(e.direction)), n.drawingDirection = e.drawingDirection, n;
|
|
242
242
|
}
|
|
243
243
|
convertLeader(e) {
|
|
@@ -248,7 +248,7 @@ class M {
|
|
|
248
248
|
}
|
|
249
249
|
convertDimension(e) {
|
|
250
250
|
if (e.subclassMarker == "AcDbAlignedDimension" || e.subclassMarker == "AcDbRotatedDimension") {
|
|
251
|
-
const n = e, o = new
|
|
251
|
+
const n = e, o = new K(
|
|
252
252
|
n.subDefinitionPoint1,
|
|
253
253
|
n.subDefinitionPoint2,
|
|
254
254
|
n.definitionPoint
|
|
@@ -259,7 +259,7 @@ class M {
|
|
|
259
259
|
z: 0
|
|
260
260
|
}), o.rotation = n.rotationAngle, this.processDimensionCommonAttrs(e, o), o;
|
|
261
261
|
} else if (e.subclassMarker == "AcDb3PointAngularDimension") {
|
|
262
|
-
const n = e, o = new
|
|
262
|
+
const n = e, o = new q(
|
|
263
263
|
n.centerPoint,
|
|
264
264
|
n.subDefinitionPoint1,
|
|
265
265
|
n.subDefinitionPoint2,
|
|
@@ -267,20 +267,20 @@ class M {
|
|
|
267
267
|
);
|
|
268
268
|
return this.processDimensionCommonAttrs(e, o), o;
|
|
269
269
|
} else if (e.subclassMarker == "AcDbOrdinateDimension") {
|
|
270
|
-
const n = e, o = new
|
|
270
|
+
const n = e, o = new J(
|
|
271
271
|
n.subDefinitionPoint1,
|
|
272
272
|
n.subDefinitionPoint2
|
|
273
273
|
);
|
|
274
274
|
return this.processDimensionCommonAttrs(e, o), o;
|
|
275
275
|
} else if (e.subclassMarker == "AcDbRadialDimension") {
|
|
276
|
-
const n = e, o = new
|
|
276
|
+
const n = e, o = new Q(
|
|
277
277
|
n.definitionPoint,
|
|
278
278
|
n.centerPoint,
|
|
279
279
|
n.leaderLength
|
|
280
280
|
);
|
|
281
281
|
return this.processDimensionCommonAttrs(e, o), o;
|
|
282
282
|
} else if (e.subclassMarker == "AcDbDiametricDimension") {
|
|
283
|
-
const n = e, o = new
|
|
283
|
+
const n = e, o = new $(
|
|
284
284
|
n.definitionPoint,
|
|
285
285
|
n.centerPoint,
|
|
286
286
|
n.leaderLength
|
|
@@ -299,39 +299,39 @@ class M {
|
|
|
299
299
|
) * e.imageSize.y, n.rotation = Math.atan2(e.uPixel.y, e.uPixel.x);
|
|
300
300
|
}
|
|
301
301
|
convertImage(e) {
|
|
302
|
-
const n = new
|
|
302
|
+
const n = new ee();
|
|
303
303
|
return this.processImage(e, n), n;
|
|
304
304
|
}
|
|
305
305
|
convertWipeout(e) {
|
|
306
|
-
const n = new
|
|
306
|
+
const n = new ne();
|
|
307
307
|
return this.processImage(e, n), n;
|
|
308
308
|
}
|
|
309
309
|
convertViewport(e) {
|
|
310
|
-
const n = new
|
|
310
|
+
const n = new te();
|
|
311
311
|
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;
|
|
312
312
|
}
|
|
313
313
|
convertRay(e) {
|
|
314
|
-
const n = new
|
|
314
|
+
const n = new oe();
|
|
315
315
|
return n.basePoint.copy(e.firstPoint), n.unitDir.copy(e.unitDirection), n;
|
|
316
316
|
}
|
|
317
317
|
convertXline(e) {
|
|
318
|
-
const n = new
|
|
318
|
+
const n = new se();
|
|
319
319
|
return n.basePoint.copy(e.firstPoint), n.unitDir.copy(e.unitDirection), n;
|
|
320
320
|
}
|
|
321
321
|
convertAttributeCommon(e, n) {
|
|
322
322
|
const o = e.text;
|
|
323
|
-
n.textString = o.text, n.styleName = o.styleName, n.height = o.textHeight, n.position.copy(o.startPoint), n.rotation = o.rotation, n.oblique = o.obliqueAngle ?? 0, n.thickness = o.thickness, n.horizontalMode = o.halign, n.verticalMode = o.valign, n.widthFactor = o.xScale ?? 1, n.tag = e.tag, n.fieldLength = e.fieldLength, n.isInvisible = (e.flags & I.Invisible) !== 0, n.isConst = (e.flags & I.Const) !== 0, n.isVerifiable = (e.flags & I.Verifiable) !== 0, n.isPreset = (e.flags & I.Preset) !== 0, n.lockPositionInBlock = e.lockPositionFlag, n.isReallyLocked = e.isReallyLocked, n.isMTextAttribute = (e.mtextFlag &
|
|
323
|
+
n.textString = o.text, n.styleName = o.styleName, n.height = o.textHeight, n.position.copy(o.startPoint), n.rotation = o.rotation, n.oblique = o.obliqueAngle ?? 0, n.thickness = o.thickness, n.horizontalMode = o.halign, n.verticalMode = o.valign, n.widthFactor = o.xScale ?? 1, n.tag = e.tag, n.fieldLength = e.fieldLength, n.isInvisible = (e.flags & I.Invisible) !== 0, n.isConst = (e.flags & I.Const) !== 0, n.isVerifiable = (e.flags & I.Verifiable) !== 0, n.isPreset = (e.flags & I.Preset) !== 0, n.lockPositionInBlock = e.lockPositionFlag, n.isReallyLocked = e.isReallyLocked, n.isMTextAttribute = (e.mtextFlag & P.MultiLine) !== 0, n.isConstMTextAttribute = (e.mtextFlag & P.ConstMultiLine) !== 0;
|
|
324
324
|
}
|
|
325
325
|
convertAttribute(e) {
|
|
326
|
-
const n = new
|
|
326
|
+
const n = new re();
|
|
327
327
|
return this.convertAttributeCommon(e, n), n;
|
|
328
328
|
}
|
|
329
329
|
convertAttributeDefinition(e) {
|
|
330
|
-
const n = new
|
|
330
|
+
const n = new ie();
|
|
331
331
|
return this.convertAttributeCommon(e, n), n.prompt = e.prompt, n;
|
|
332
332
|
}
|
|
333
333
|
convertBlockReference(e) {
|
|
334
|
-
const n = new
|
|
334
|
+
const n = new ce(e.name);
|
|
335
335
|
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.attribs && e.attribs.forEach((o) => {
|
|
336
336
|
const t = this.convertAttribute(o);
|
|
337
337
|
n.appendAttributes(t);
|
|
@@ -342,20 +342,20 @@ class M {
|
|
|
342
342
|
}
|
|
343
343
|
processCommonAttrs(e, n) {
|
|
344
344
|
if (n.layer = e.layer || "0", n.objectId = e.handle, 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 && (n.color.colorIndex = e.colorIndex), e.colorName && (n.color.colorName = e.colorName), e.isVisible != null && (n.visibility = e.isVisible), e.transparency != null) {
|
|
345
|
-
const o = new
|
|
345
|
+
const o = new ae();
|
|
346
346
|
o.method = e.transparencyType, (o.isByBlock || o.isByBlock) && (o.alpha = e.transparency), n.transparency = o;
|
|
347
347
|
}
|
|
348
348
|
}
|
|
349
349
|
}
|
|
350
350
|
const ye = "*MODEL_SPACE";
|
|
351
|
-
class
|
|
351
|
+
class Ee extends le {
|
|
352
352
|
constructor(e = {}) {
|
|
353
353
|
super(e), e.useWorker = !0, e.parserWorkerUrl || (e.parserWorkerUrl = "/assets/libredwg-parser-worker.js");
|
|
354
354
|
}
|
|
355
355
|
async parse(e, n) {
|
|
356
356
|
const o = this.config, t = this.getParserWorkerTimeout(e, n);
|
|
357
357
|
if (o.useWorker && o.parserWorkerUrl) {
|
|
358
|
-
const s =
|
|
358
|
+
const s = de({
|
|
359
359
|
workerUrl: o.parserWorkerUrl,
|
|
360
360
|
timeout: t,
|
|
361
361
|
// One concurrent worker needed for parser
|
|
@@ -423,13 +423,13 @@ class be extends ae {
|
|
|
423
423
|
standardFlag: t.standardFlag,
|
|
424
424
|
totalPatternLength: t.totalPatternLength,
|
|
425
425
|
pattern: t.pattern
|
|
426
|
-
}, r = new
|
|
426
|
+
}, r = new pe(s);
|
|
427
427
|
this.processCommonTableEntryAttrs(t, r), r.name = t.name, n.tables.linetypeTable.add(r);
|
|
428
428
|
});
|
|
429
429
|
}
|
|
430
430
|
processTextStyles(e, n) {
|
|
431
431
|
e.tables.STYLE.entries.forEach((t) => {
|
|
432
|
-
const s = new
|
|
432
|
+
const s = new ue(t);
|
|
433
433
|
this.processCommonTableEntryAttrs(t, s), n.tables.textStyleTable.add(s);
|
|
434
434
|
});
|
|
435
435
|
}
|
|
@@ -497,7 +497,7 @@ class be extends ae {
|
|
|
497
497
|
dimfit: t.DIMFIT || 0,
|
|
498
498
|
dimupt: t.DIMUPT,
|
|
499
499
|
dimatfit: t.DIMATFIT,
|
|
500
|
-
dimtxsty:
|
|
500
|
+
dimtxsty: L,
|
|
501
501
|
// TODO: Set correct value
|
|
502
502
|
dimldrblk: "",
|
|
503
503
|
// TODO: Set correct value
|
|
@@ -509,15 +509,15 @@ class be extends ae {
|
|
|
509
509
|
// TODO: Set correct value
|
|
510
510
|
dimlwd: t.DIMLWD,
|
|
511
511
|
dimlwe: t.DIMLWE
|
|
512
|
-
}, r = new
|
|
512
|
+
}, r = new fe(s);
|
|
513
513
|
this.processCommonTableEntryAttrs(t, r), n.tables.dimStyleTable.add(r);
|
|
514
514
|
});
|
|
515
515
|
}
|
|
516
516
|
processLayers(e, n) {
|
|
517
517
|
e.tables.LAYER.entries.forEach((t) => {
|
|
518
|
-
const s = new
|
|
518
|
+
const s = new he();
|
|
519
519
|
s.colorIndex = t.colorIndex;
|
|
520
|
-
const r = new
|
|
520
|
+
const r = new De({
|
|
521
521
|
name: t.name,
|
|
522
522
|
standardFlags: t.standardFlag,
|
|
523
523
|
linetype: t.lineType,
|
|
@@ -531,14 +531,14 @@ class be extends ae {
|
|
|
531
531
|
}
|
|
532
532
|
processViewports(e, n) {
|
|
533
533
|
e.tables.VPORT.entries.forEach((t) => {
|
|
534
|
-
const s = new
|
|
534
|
+
const s = new ge();
|
|
535
535
|
this.processCommonTableEntryAttrs(t, s), t.circleSides && (s.circleSides = t.circleSides), s.standardFlag = t.standardFlag, s.center.copy(t.center), s.lowerLeftCorner.copy(t.lowerLeftCorner), s.upperRightCorner.copy(t.upperRightCorner), t.snapBasePoint && s.snapBase.copy(t.snapBasePoint), t.snapRotationAngle && (s.snapAngle = t.snapRotationAngle), t.snapSpacing && s.snapIncrements.copy(t.snapSpacing), t.majorGridLines && (s.gridMajor = t.majorGridLines), t.gridSpacing && s.gridIncrements.copy(t.gridSpacing), t.backgroundObjectId && (s.backgroundObjectId = t.backgroundObjectId), s.gsView.center.copy(t.center), s.gsView.viewDirectionFromTarget.copy(t.viewDirectionFromTarget), s.gsView.viewTarget.copy(t.viewTarget), t.lensLength && (s.gsView.lensLength = t.lensLength), t.frontClippingPlane && (s.gsView.frontClippingPlane = t.frontClippingPlane), t.backClippingPlane && (s.gsView.backClippingPlane = t.backClippingPlane), t.viewHeight && (s.gsView.viewHeight = t.viewHeight), t.viewTwistAngle && (s.gsView.viewTwistAngle = t.viewTwistAngle), t.frozenLayers && (s.gsView.frozenLayers = t.frozenLayers), t.styleSheet && (s.gsView.styleSheet = t.styleSheet), t.renderMode && (s.gsView.renderMode = t.renderMode), t.viewMode && (s.gsView.viewMode = t.viewMode), t.ucsIconSetting && (s.gsView.ucsIconSetting = t.ucsIconSetting), t.ucsOrigin && s.gsView.ucsOrigin.copy(t.ucsOrigin), t.ucsXAxis && s.gsView.ucsXAxis.copy(t.ucsXAxis), t.ucsYAxis && s.gsView.ucsYAxis.copy(t.ucsYAxis), t.orthographicType && (s.gsView.orthographicType = t.orthographicType), t.shadePlotSetting && (s.gsView.shadePlotSetting = t.shadePlotSetting), t.shadePlotObjectId && (s.gsView.shadePlotObjectId = t.shadePlotObjectId), t.visualStyleObjectId && (s.gsView.visualStyleObjectId = t.visualStyleObjectId), t.isDefaultLightingOn && (s.gsView.isDefaultLightingOn = t.isDefaultLightingOn), t.defaultLightingType && (s.gsView.defaultLightingType = t.defaultLightingType), t.brightness && (s.gsView.brightness = t.brightness), t.contrast && (s.gsView.contrast = t.contrast), t.ambientColor && (s.gsView.ambientColor = t.ambientColor), n.tables.viewportTable.add(s);
|
|
536
536
|
});
|
|
537
537
|
}
|
|
538
538
|
processBlockTables(e, n) {
|
|
539
539
|
e.tables.BLOCK_RECORD.entries.forEach((t) => {
|
|
540
540
|
let s = n.tables.blockTable.getAt(t.name);
|
|
541
|
-
s || (s = new
|
|
541
|
+
s || (s = new Ae(), s.objectId = t.handle, s.name = t.name, s.ownerId = t.ownerHandle, s.origin.copy(t.basePoint), s.layoutId = t.layout, n.tables.blockTable.add(s)), !s.isModelSapce && t.entities && t.entities.length > 0 && this.processEntitiesInBlock(t.entities, s);
|
|
542
542
|
});
|
|
543
543
|
}
|
|
544
544
|
processBlocks(e, n) {
|
|
@@ -562,7 +562,7 @@ class be extends ae {
|
|
|
562
562
|
e.tables.BLOCK_RECORD.entries.forEach((u) => {
|
|
563
563
|
this.isModelSpace(u.name) && (a = u.entities);
|
|
564
564
|
});
|
|
565
|
-
const i = a.length, l = new
|
|
565
|
+
const i = a.length, l = new Ie(
|
|
566
566
|
i,
|
|
567
567
|
100 - t.value,
|
|
568
568
|
o
|
|
@@ -583,7 +583,7 @@ class be extends ae {
|
|
|
583
583
|
}
|
|
584
584
|
processHeader(e, n) {
|
|
585
585
|
const o = e.header;
|
|
586
|
-
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.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;
|
|
586
|
+
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.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 ?? L;
|
|
587
587
|
}
|
|
588
588
|
processCommonTableEntryAttrs(e, n) {
|
|
589
589
|
n.name = e.name, n.objectId = e.handle, n.ownerId = e.ownerHandle;
|
|
@@ -594,7 +594,7 @@ class be extends ae {
|
|
|
594
594
|
processLayouts(e, n) {
|
|
595
595
|
const o = n.objects.layout;
|
|
596
596
|
e.objects.LAYOUT.forEach((s) => {
|
|
597
|
-
const r = new
|
|
597
|
+
const r = new Te();
|
|
598
598
|
r.layoutName = s.layoutName, r.tabOrder = s.tabOrder;
|
|
599
599
|
const a = n.tables.blockTable.newIterator();
|
|
600
600
|
r.objectId = s.handle;
|
|
@@ -640,5 +640,5 @@ class be extends ae {
|
|
|
640
640
|
}
|
|
641
641
|
}
|
|
642
642
|
export {
|
|
643
|
-
|
|
643
|
+
Ee as AcDbLibreDwgConverter
|
|
644
644
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(D,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("@mlightcad/data-model")):typeof define=="function"&&define.amd?define(["exports","@mlightcad/data-model"],r):(D=typeof globalThis<"u"?globalThis:D||self,r(D["libredwg-converter"]={},D.dataModel))})(this,function(D,r){"use strict";class y{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=="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=="MTEXT"?this.convertMText(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){return new r.AcDbArc(e.center,e.radius,e.startAngle,e.endAngle,e.extrusionDirection??r.AcGeVector3d.Z_AXIS)}convertCirle(e){return new r.AcDbCircle(e.center,e.radius,e.extrusionDirection??r.AcGeVector3d.Z_AXIS)}convertEllipse(e){const n=new r.AcGeVector3d(e.majorAxisEndPoint),s=n.length();return new r.AcDbEllipse(e.center,e.extrusionDirection??r.AcGeVector3d.Z_AXIS,n,s,s*e.axisRatio,e.startAngle,e.endAngle)}convertLine(e){const n=e.startPoint,s=e.endPoint;return new r.AcDbLine(new r.AcGePoint3d(n.x,n.y,n.z),new r.AcGePoint3d(s.x,s.y,s.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(n){console.log(`Failed to convert spline with error: ${n}`)}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;return n.closed=!!(e.flag&512),e.vertices.forEach((s,t)=>{n.addVertexAt(t,new r.AcGePoint2d(s.x,s.y),s.bulge,s.startWidth,s.endWidth)}),n}convertPolyline2d(e){const n=!!(e.flag&1),s=[],t=[];e.vertices.map(i=>{i.flag&16||(s.push({x:i.x,y:i.y,z:i.z}),t.push(i.bulge??0))});let o=r.AcDbPoly2dType.SimplePoly;return e.flag&2?o=r.AcDbPoly2dType.FitCurvePoly:e.flag&4&&(e.smoothType==6?o=r.AcDbPoly2dType.CubicSplinePoly:e.smoothType==5&&(o=r.AcDbPoly2dType.QuadSplinePoly)),new r.AcDb2dPolyline(o,s,0,n,e.startWidth,e.endWidth,t)}convertPolyline3d(e){const n=!!(e.flag&1),s=[];e.vertices.map(o=>{o.flag&16||s.push({x:o.x,y:o.y,z:o.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,s,n)}convertHatch(e){var t;const n=new r.AcDbHatch;return(t=e.definitionLines)==null||t.forEach(o=>{n.definitionLines.push({angle:o.angle,base:o.base,offset:o.offset,dashLengths:o.numberOfDashLengths>0?o.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(o=>{if(o.boundaryPathTypeFlag&2){const a=o,c=new r.AcGePolyline2d;c.closed=a.isClosed,a.vertices.forEach((p,l)=>{c.addVertexAt(l,{x:p.x,y:p.y,bulge:p.bulge})}),n.add(c)}else{const a=o,c=new r.AcGeLoop2d;a.edges.forEach(p=>{if(p!=null){if(p.type==1){const l=p;c.add(new r.AcGeLine2d(l.start,l.end))}else if(p.type==2){const l=p;c.add(new r.AcGeCircArc2d(l.center,l.radius,l.startAngle,l.endAngle,!l.isCCW))}else if(p.type==3){const l=p;new r.AcGeVector2d().subVectors(l.end,l.center);const f=Math.sqrt(Math.pow(l.end.x,2)+Math.pow(l.end.y,2)),g=f*l.lengthOfMinorAxis;let u=l.startAngle,d=l.endAngle;const A=Math.atan2(l.end.y,l.end.x);l.isCCW||(u=Math.PI*2-u,d=Math.PI*2-d),c.add(new r.AcGeEllipseArc2d({...l.center,z:0},f,g,u,d,!l.isCCW,A))}else if(p.type==4){const l=p;if(l.numberOfControlPoints>0&&l.numberOfKnots>0){const h=l.controlPoints.map(u=>({x:u.x,y:u.y,z:0}));let f=!0;const g=l.controlPoints.map(u=>(u.weight==null&&(f=!1),u.weight||1));c.add(new r.AcGeSpline3d(h,l.knots,f?g:void 0))}else if(l.numberOfFitData>0){const h=l.fitDatum.map(f=>({x:f.x,y:f.y,z:0}));c.add(new r.AcGeSpline3d(h,"Uniform"))}}}}),n.add(c)}}),n}convertTable(e){const n=new r.AcDbTable(e.name,e.rowCount,e.columnCount);return n.attachmentPoint=e.attachmentPoint,n.position.copy(e.startPoint),e.columnWidthArr.forEach((s,t)=>n.setColumnWidth(t,s)),e.rowHeightArr.forEach((s,t)=>n.setRowHeight(t,s)),e.cells.forEach((s,t)=>{n.setCell(t,s)}),n}convertText(e){const n=new r.AcDbText;return n.textString=e.text,n.styleName=e.styleName,n.height=e.textHeight,n.position.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(s=>{n.appendVertex(s)}),n.hasArrowHead=e.isArrowheadEnabled,n.hasHookLine=e.isHooklineExists,n.isSplined=e.isSpline,n.dimensionStyle=e.styleName,n.annoType=e.leaderCreationFlag,n}convertDimension(e){if(e.subclassMarker=="AcDbAlignedDimension"||e.subclassMarker=="AcDbRotatedDimension"){const n=e,s=new r.AcDbAlignedDimension(n.subDefinitionPoint1,n.subDefinitionPoint2,n.definitionPoint);return n.insertionPoint&&(s.dimBlockPosition={x:n.insertionPoint.x,y:n.insertionPoint.y,z:0}),s.rotation=n.rotationAngle,this.processDimensionCommonAttrs(e,s),s}else if(e.subclassMarker=="AcDb3PointAngularDimension"){const n=e,s=new r.AcDb3PointAngularDimension(n.centerPoint,n.subDefinitionPoint1,n.subDefinitionPoint2,n.definitionPoint);return this.processDimensionCommonAttrs(e,s),s}else if(e.subclassMarker=="AcDbOrdinateDimension"){const n=e,s=new r.AcDbOrdinateDimension(n.subDefinitionPoint1,n.subDefinitionPoint2);return this.processDimensionCommonAttrs(e,s),s}else if(e.subclassMarker=="AcDbRadialDimension"){const n=e,s=new r.AcDbRadialDimension(n.definitionPoint,n.centerPoint,n.leaderLength);return this.processDimensionCommonAttrs(e,s),s}else if(e.subclassMarker=="AcDbDiametricDimension"){const n=e,s=new r.AcDbDiametricDimension(n.definitionPoint,n.centerPoint,n.leaderLength);return this.processDimensionCommonAttrs(e,s),s}return null}processImage(e,n){n.position.copy(e.position),n.brightness=e.brightness,n.contrast=e.contrast,n.fade=e.fade,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(s=>{n.clipBoundary.push(new r.AcGePoint2d(s))}),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 s=e.text;n.textString=s.text,n.styleName=s.styleName,n.height=s.textHeight,n.position.copy(s.startPoint),n.rotation=s.rotation,n.oblique=s.obliqueAngle??0,n.thickness=s.thickness,n.horizontalMode=s.halign,n.verticalMode=s.valign,n.widthFactor=s.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.attribs&&e.attribs.forEach(s=>{const t=this.convertAttribute(s);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,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&&(n.color.colorIndex=e.colorIndex),e.colorName&&(n.color.colorName=e.colorName),e.isVisible!=null&&(n.visibility=e.isVisible),e.transparency!=null){const s=new r.AcCmTransparency;s.method=e.transparencyType,(s.isByBlock||s.isByBlock)&&(s.alpha=e.transparency),n.transparency=s}}}const I="*MODEL_SPACE";class T extends r.AcDbDatabaseConverter{constructor(e={}){super(e),e.useWorker=!0,e.parserWorkerUrl||(e.parserWorkerUrl="/assets/libredwg-parser-worker.js")}async parse(e,n){const s=this.config,t=this.getParserWorkerTimeout(e,n);if(s.useWorker&&s.parserWorkerUrl){const o=r.createWorkerApi({workerUrl:s.parserWorkerUrl,timeout:t,maxConcurrentWorkers:1}),i=await o.execute(e);if(o.destroy(),i.success)return i.data;throw new Error(`Failed to parse drawing due to error: '${i.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(i=>{n.set(i.name,i)});const s=new Map,t=i=>{if(i){const a=i.lastIndexOf(".");return a>=0?i.substring(0,a).toLowerCase():i.toLowerCase()}};e.tables.STYLE.entries.forEach(i=>{const a=[];let c=t(i.font);c&&a.push(c),c=t(i.bigFont),c&&a.push(c),s.set(i.name,a)});const o=new Set;return this.getFontsInBlock(e.entities,n,s,o),Array.from(o)}getFontsInBlock(e,n,s,t){const o=/\\f(.*?)\|/g;e.forEach(i=>{if(i.type=="MTEXT"){const a=i;[...a.text.matchAll(o)].forEach(p=>{t.add(p[1].toLowerCase())});const c=s.get(a.styleName);c==null||c.forEach(p=>t.add(p))}else if(i.type=="TEXT"){const a=i,c=s.get(a.styleName);c==null||c.forEach(p=>t.add(p))}else if(i.type=="INSERT"){const a=i,c=n.get(a.name);c&&this.getFontsInBlock(c.entities,n,s,t)}})}processLineTypes(e,n){e.tables.LTYPE.entries.forEach(t=>{const o={name:t.name,description:t.description,standardFlag:t.standardFlag,totalPatternLength:t.totalPatternLength,pattern:t.pattern},i=new r.AcDbLinetypeTableRecord(o);this.processCommonTableEntryAttrs(t,i),i.name=t.name,n.tables.linetypeTable.add(i)})}processTextStyles(e,n){e.tables.STYLE.entries.forEach(t=>{const o=new r.AcDbTextStyleTableRecord(t);this.processCommonTableEntryAttrs(t,o),n.tables.textStyleTable.add(o)})}processDimStyles(e,n){e.tables.DIMSTYLE.entries.forEach(t=>{const o={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:"Standard",dimldrblk:"",dimblk:t.DIMBLK||"",dimblk1:t.DIMBLK1||"",dimblk2:t.DIMBLK2||"",dimlwd:t.DIMLWD,dimlwe:t.DIMLWE},i=new r.AcDbDimStyleTableRecord(o);this.processCommonTableEntryAttrs(t,i),n.tables.dimStyleTable.add(i)})}processLayers(e,n){e.tables.LAYER.entries.forEach(t=>{const o=new r.AcCmColor;o.colorIndex=t.colorIndex;const i=new r.AcDbLayerTableRecord({name:t.name,standardFlags:t.standardFlag,linetype:t.lineType,lineWeight:t.lineweight,isOff:t.off,color:o,isPlottable:t.plotFlag!=0});this.processCommonTableEntryAttrs(t,i),n.tables.layerTable.add(i)})}processViewports(e,n){e.tables.VPORT.entries.forEach(t=>{const o=new r.AcDbViewportTableRecord;this.processCommonTableEntryAttrs(t,o),t.circleSides&&(o.circleSides=t.circleSides),o.standardFlag=t.standardFlag,o.center.copy(t.center),o.lowerLeftCorner.copy(t.lowerLeftCorner),o.upperRightCorner.copy(t.upperRightCorner),t.snapBasePoint&&o.snapBase.copy(t.snapBasePoint),t.snapRotationAngle&&(o.snapAngle=t.snapRotationAngle),t.snapSpacing&&o.snapIncrements.copy(t.snapSpacing),t.majorGridLines&&(o.gridMajor=t.majorGridLines),t.gridSpacing&&o.gridIncrements.copy(t.gridSpacing),t.backgroundObjectId&&(o.backgroundObjectId=t.backgroundObjectId),o.gsView.center.copy(t.center),o.gsView.viewDirectionFromTarget.copy(t.viewDirectionFromTarget),o.gsView.viewTarget.copy(t.viewTarget),t.lensLength&&(o.gsView.lensLength=t.lensLength),t.frontClippingPlane&&(o.gsView.frontClippingPlane=t.frontClippingPlane),t.backClippingPlane&&(o.gsView.backClippingPlane=t.backClippingPlane),t.viewHeight&&(o.gsView.viewHeight=t.viewHeight),t.viewTwistAngle&&(o.gsView.viewTwistAngle=t.viewTwistAngle),t.frozenLayers&&(o.gsView.frozenLayers=t.frozenLayers),t.styleSheet&&(o.gsView.styleSheet=t.styleSheet),t.renderMode&&(o.gsView.renderMode=t.renderMode),t.viewMode&&(o.gsView.viewMode=t.viewMode),t.ucsIconSetting&&(o.gsView.ucsIconSetting=t.ucsIconSetting),t.ucsOrigin&&o.gsView.ucsOrigin.copy(t.ucsOrigin),t.ucsXAxis&&o.gsView.ucsXAxis.copy(t.ucsXAxis),t.ucsYAxis&&o.gsView.ucsYAxis.copy(t.ucsYAxis),t.orthographicType&&(o.gsView.orthographicType=t.orthographicType),t.shadePlotSetting&&(o.gsView.shadePlotSetting=t.shadePlotSetting),t.shadePlotObjectId&&(o.gsView.shadePlotObjectId=t.shadePlotObjectId),t.visualStyleObjectId&&(o.gsView.visualStyleObjectId=t.visualStyleObjectId),t.isDefaultLightingOn&&(o.gsView.isDefaultLightingOn=t.isDefaultLightingOn),t.defaultLightingType&&(o.gsView.defaultLightingType=t.defaultLightingType),t.brightness&&(o.gsView.brightness=t.brightness),t.contrast&&(o.gsView.contrast=t.contrast),t.ambientColor&&(o.gsView.ambientColor=t.ambientColor),n.tables.viewportTable.add(o)})}processBlockTables(e,n){e.tables.BLOCK_RECORD.entries.forEach(t=>{let o=n.tables.blockTable.getAt(t.name);o||(o=new r.AcDbBlockTableRecord,o.objectId=t.handle,o.name=t.name,o.ownerId=t.ownerHandle,o.origin.copy(t.basePoint),o.layoutId=t.layout,n.tables.blockTable.add(o)),!o.isModelSapce&&t.entities&&t.entities.length>0&&this.processEntitiesInBlock(t.entities,o)})}processBlocks(e,n){}async processEntitiesInBlock(e,n){const s=new y,t=e.length,o=[];for(let i=0;i<t;i++){const a=e[i],c=s.convert(a);c&&o.push(c)}n.appendEntity(o)}async processEntities(e,n,s,t,o){const i=new y;let a=[];e.tables.BLOCK_RECORD.entries.forEach(h=>{this.isModelSpace(h.name)&&(a=h.entities)});const c=a.length,p=new r.AcDbBatchProcessing(c,100-t.value,s);this.config.convertByEntityType&&(a=this.groupAndFlattenByType(a));const l=n.tables.blockTable.modelSpace;await p.processChunk(async(h,f)=>{const g=[];for(let u=h;u<f;u++){const d=a[u],A=i.convert(d);A&&g.push(A)}if(l.appendEntity(g),o){let u=t.value+f/c*(100-t.value);u>100&&(u=100),await o(u,"ENTITY","IN-PROGRESS")}})}processHeader(e,n){const s=e.header;s.CECOLOR&&(s.CECOLOR.index>=0&&s.CECOLOR.index<=256?n.cecolor.colorIndex=s.CECOLOR.index:n.cecolor.setRGBValue(s.CECOLOR.rgb)),n.angBase=s.ANGBASE??0,n.angDir=s.ANGDIR??0,n.aunits=s.AUNITS??0,n.celtscale=s.CELTSCALE??1,n.ltscale=s.LTSCALE??1,s.EXTMAX&&(n.extmax=s.EXTMAX),s.EXTMIN&&(n.extmin=s.EXTMIN),n.insunits=s.INSUNITS??1,n.pdmode=s.PDMODE??0,n.pdsize=s.PDSIZE??0}processCommonTableEntryAttrs(e,n){n.name=e.name,n.objectId=e.handle,n.ownerId=e.ownerHandle}processObjects(e,n){this.processLayouts(e,n),this.processImageDefs(e,n)}processLayouts(e,n){const s=n.objects.layout;e.objects.LAYOUT.forEach(o=>{const i=new r.AcDbLayout;i.layoutName=o.layoutName,i.tabOrder=o.tabOrder;const a=n.tables.blockTable.newIterator();i.objectId=o.handle;for(const c of a)if(c.layoutId===i.objectId){i.blockTableRecordId=c.objectId;break}i.blockTableRecordId||o.layoutName==="Model"&&(i.blockTableRecordId=n.tables.blockTable.modelSpace.objectId),i.limits.min.copy(o.minLimit),i.limits.max.copy(o.maxLimit),i.extents.min.copy(o.minExtent),i.extents.max.copy(o.maxExtent),this.processCommonObjectAttrs(o,i),s.setAt(i.layoutName,i)})}processImageDefs(e,n){const s=n.objects.imageDefinition;e.objects.IMAGEDEF.forEach(o=>{const i=new r.AcDbRasterImageDef;i.sourceFileName=o.fileName,this.processCommonObjectAttrs(o,i),s.setAt(i.objectId,i)})}processCommonObjectAttrs(e,n){n.objectId=e.handle,n.ownerId=e.ownerHandle}groupAndFlattenByType(e){const n={},s=[];for(const t of e)n[t.type]||(n[t.type]=[],s.push(t.type)),n[t.type].push(t);return s.flatMap(t=>n[t])}isModelSpace(e){return e&&e.toUpperCase()==I}}D.AcDbLibreDwgConverter=T,Object.defineProperty(D,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(h,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("@mlightcad/data-model")):typeof define=="function"&&define.amd?define(["exports","@mlightcad/data-model"],r):(h=typeof globalThis<"u"?globalThis:h||self,r(h["libredwg-converter"]={},h.dataModel))})(this,function(h,r){"use strict";class T{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=="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=="MTEXT"?this.convertMText(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){return new r.AcDbArc(e.center,e.radius,e.startAngle,e.endAngle,e.extrusionDirection??r.AcGeVector3d.Z_AXIS)}convertCirle(e){return new r.AcDbCircle(e.center,e.radius,e.extrusionDirection??r.AcGeVector3d.Z_AXIS)}convertEllipse(e){const n=new r.AcGeVector3d(e.majorAxisEndPoint),s=n.length();return new r.AcDbEllipse(e.center,e.extrusionDirection??r.AcGeVector3d.Z_AXIS,n,s,s*e.axisRatio,e.startAngle,e.endAngle)}convertLine(e){const n=e.startPoint,s=e.endPoint;return new r.AcDbLine(new r.AcGePoint3d(n.x,n.y,n.z),new r.AcGePoint3d(s.x,s.y,s.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(n){console.log(`Failed to convert spline with error: ${n}`)}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;return n.closed=!!(e.flag&512),e.vertices.forEach((s,t)=>{n.addVertexAt(t,new r.AcGePoint2d(s.x,s.y),s.bulge,s.startWidth,s.endWidth)}),n}convertPolyline2d(e){const n=!!(e.flag&1),s=[],t=[];e.vertices.map(i=>{i.flag&16||(s.push({x:i.x,y:i.y,z:i.z}),t.push(i.bulge??0))});let o=r.AcDbPoly2dType.SimplePoly;return e.flag&2?o=r.AcDbPoly2dType.FitCurvePoly:e.flag&4&&(e.smoothType==6?o=r.AcDbPoly2dType.CubicSplinePoly:e.smoothType==5&&(o=r.AcDbPoly2dType.QuadSplinePoly)),new r.AcDb2dPolyline(o,s,0,n,e.startWidth,e.endWidth,t)}convertPolyline3d(e){const n=!!(e.flag&1),s=[];e.vertices.map(o=>{o.flag&16||s.push({x:o.x,y:o.y,z:o.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,s,n)}convertHatch(e){var t;const n=new r.AcDbHatch;return(t=e.definitionLines)==null||t.forEach(o=>{n.definitionLines.push({angle:o.angle,base:o.base,offset:o.offset,dashLengths:o.numberOfDashLengths>0?o.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(o=>{if(o.boundaryPathTypeFlag&2){const a=o,c=new r.AcGePolyline2d;c.closed=a.isClosed,a.vertices.forEach((p,l)=>{c.addVertexAt(l,{x:p.x,y:p.y,bulge:p.bulge})}),n.add(c)}else{const a=o,c=new r.AcGeLoop2d;a.edges.forEach(p=>{if(p!=null){if(p.type==1){const l=p;c.add(new r.AcGeLine2d(l.start,l.end))}else if(p.type==2){const l=p;c.add(new r.AcGeCircArc2d(l.center,l.radius,l.startAngle,l.endAngle,!l.isCCW))}else if(p.type==3){const l=p;new r.AcGeVector2d().subVectors(l.end,l.center);const f=Math.sqrt(Math.pow(l.end.x,2)+Math.pow(l.end.y,2)),g=f*l.lengthOfMinorAxis;let u=l.startAngle,A=l.endAngle;const d=Math.atan2(l.end.y,l.end.x);l.isCCW||(u=Math.PI*2-u,A=Math.PI*2-A),c.add(new r.AcGeEllipseArc2d({...l.center,z:0},f,g,u,A,!l.isCCW,d))}else if(p.type==4){const l=p;if(l.numberOfControlPoints>0&&l.numberOfKnots>0){const D=l.controlPoints.map(u=>({x:u.x,y:u.y,z:0}));let f=!0;const g=l.controlPoints.map(u=>(u.weight==null&&(f=!1),u.weight||1));c.add(new r.AcGeSpline3d(D,l.knots,f?g:void 0))}else if(l.numberOfFitData>0){const D=l.fitDatum.map(f=>({x:f.x,y:f.y,z:0}));c.add(new r.AcGeSpline3d(D,"Uniform"))}}}}),n.add(c)}}),n}convertTable(e){const n=new r.AcDbTable(e.name,e.rowCount,e.columnCount);return n.attachmentPoint=e.attachmentPoint,n.position.copy(e.startPoint),e.columnWidthArr.forEach((s,t)=>n.setColumnWidth(t,s)),e.rowHeightArr.forEach((s,t)=>n.setRowHeight(t,s)),e.cells.forEach((s,t)=>{n.setCell(t,s)}),n}convertText(e){const n=new r.AcDbText;return n.textString=e.text,n.styleName=e.styleName,n.height=e.textHeight,n.position.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(s=>{n.appendVertex(s)}),n.hasArrowHead=e.isArrowheadEnabled,n.hasHookLine=e.isHooklineExists,n.isSplined=e.isSpline,n.dimensionStyle=e.styleName,n.annoType=e.leaderCreationFlag,n}convertDimension(e){if(e.subclassMarker=="AcDbAlignedDimension"||e.subclassMarker=="AcDbRotatedDimension"){const n=e,s=new r.AcDbAlignedDimension(n.subDefinitionPoint1,n.subDefinitionPoint2,n.definitionPoint);return n.insertionPoint&&(s.dimBlockPosition={x:n.insertionPoint.x,y:n.insertionPoint.y,z:0}),s.rotation=n.rotationAngle,this.processDimensionCommonAttrs(e,s),s}else if(e.subclassMarker=="AcDb3PointAngularDimension"){const n=e,s=new r.AcDb3PointAngularDimension(n.centerPoint,n.subDefinitionPoint1,n.subDefinitionPoint2,n.definitionPoint);return this.processDimensionCommonAttrs(e,s),s}else if(e.subclassMarker=="AcDbOrdinateDimension"){const n=e,s=new r.AcDbOrdinateDimension(n.subDefinitionPoint1,n.subDefinitionPoint2);return this.processDimensionCommonAttrs(e,s),s}else if(e.subclassMarker=="AcDbRadialDimension"){const n=e,s=new r.AcDbRadialDimension(n.definitionPoint,n.centerPoint,n.leaderLength);return this.processDimensionCommonAttrs(e,s),s}else if(e.subclassMarker=="AcDbDiametricDimension"){const n=e,s=new r.AcDbDiametricDimension(n.definitionPoint,n.centerPoint,n.leaderLength);return this.processDimensionCommonAttrs(e,s),s}return null}processImage(e,n){n.position.copy(e.position),n.brightness=e.brightness,n.contrast=e.contrast,n.fade=e.fade,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(s=>{n.clipBoundary.push(new r.AcGePoint2d(s))}),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 s=e.text;n.textString=s.text,n.styleName=s.styleName,n.height=s.textHeight,n.position.copy(s.startPoint),n.rotation=s.rotation,n.oblique=s.obliqueAngle??0,n.thickness=s.thickness,n.horizontalMode=s.halign,n.verticalMode=s.valign,n.widthFactor=s.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.attribs&&e.attribs.forEach(s=>{const t=this.convertAttribute(s);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,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&&(n.color.colorIndex=e.colorIndex),e.colorName&&(n.color.colorName=e.colorName),e.isVisible!=null&&(n.visibility=e.isVisible),e.transparency!=null){const s=new r.AcCmTransparency;s.method=e.transparencyType,(s.isByBlock||s.isByBlock)&&(s.alpha=e.transparency),n.transparency=s}}}const y="*MODEL_SPACE";class I extends r.AcDbDatabaseConverter{constructor(e={}){super(e),e.useWorker=!0,e.parserWorkerUrl||(e.parserWorkerUrl="/assets/libredwg-parser-worker.js")}async parse(e,n){const s=this.config,t=this.getParserWorkerTimeout(e,n);if(s.useWorker&&s.parserWorkerUrl){const o=r.createWorkerApi({workerUrl:s.parserWorkerUrl,timeout:t,maxConcurrentWorkers:1}),i=await o.execute(e);if(o.destroy(),i.success)return i.data;throw new Error(`Failed to parse drawing due to error: '${i.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(i=>{n.set(i.name,i)});const s=new Map,t=i=>{if(i){const a=i.lastIndexOf(".");return a>=0?i.substring(0,a).toLowerCase():i.toLowerCase()}};e.tables.STYLE.entries.forEach(i=>{const a=[];let c=t(i.font);c&&a.push(c),c=t(i.bigFont),c&&a.push(c),s.set(i.name,a)});const o=new Set;return this.getFontsInBlock(e.entities,n,s,o),Array.from(o)}getFontsInBlock(e,n,s,t){const o=/\\f(.*?)\|/g;e.forEach(i=>{if(i.type=="MTEXT"){const a=i;[...a.text.matchAll(o)].forEach(p=>{t.add(p[1].toLowerCase())});const c=s.get(a.styleName);c==null||c.forEach(p=>t.add(p))}else if(i.type=="TEXT"){const a=i,c=s.get(a.styleName);c==null||c.forEach(p=>t.add(p))}else if(i.type=="INSERT"){const a=i,c=n.get(a.name);c&&this.getFontsInBlock(c.entities,n,s,t)}})}processLineTypes(e,n){e.tables.LTYPE.entries.forEach(t=>{const o={name:t.name,description:t.description,standardFlag:t.standardFlag,totalPatternLength:t.totalPatternLength,pattern:t.pattern},i=new r.AcDbLinetypeTableRecord(o);this.processCommonTableEntryAttrs(t,i),i.name=t.name,n.tables.linetypeTable.add(i)})}processTextStyles(e,n){e.tables.STYLE.entries.forEach(t=>{const o=new r.AcDbTextStyleTableRecord(t);this.processCommonTableEntryAttrs(t,o),n.tables.textStyleTable.add(o)})}processDimStyles(e,n){e.tables.DIMSTYLE.entries.forEach(t=>{const o={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},i=new r.AcDbDimStyleTableRecord(o);this.processCommonTableEntryAttrs(t,i),n.tables.dimStyleTable.add(i)})}processLayers(e,n){e.tables.LAYER.entries.forEach(t=>{const o=new r.AcCmColor;o.colorIndex=t.colorIndex;const i=new r.AcDbLayerTableRecord({name:t.name,standardFlags:t.standardFlag,linetype:t.lineType,lineWeight:t.lineweight,isOff:t.off,color:o,isPlottable:t.plotFlag!=0});this.processCommonTableEntryAttrs(t,i),n.tables.layerTable.add(i)})}processViewports(e,n){e.tables.VPORT.entries.forEach(t=>{const o=new r.AcDbViewportTableRecord;this.processCommonTableEntryAttrs(t,o),t.circleSides&&(o.circleSides=t.circleSides),o.standardFlag=t.standardFlag,o.center.copy(t.center),o.lowerLeftCorner.copy(t.lowerLeftCorner),o.upperRightCorner.copy(t.upperRightCorner),t.snapBasePoint&&o.snapBase.copy(t.snapBasePoint),t.snapRotationAngle&&(o.snapAngle=t.snapRotationAngle),t.snapSpacing&&o.snapIncrements.copy(t.snapSpacing),t.majorGridLines&&(o.gridMajor=t.majorGridLines),t.gridSpacing&&o.gridIncrements.copy(t.gridSpacing),t.backgroundObjectId&&(o.backgroundObjectId=t.backgroundObjectId),o.gsView.center.copy(t.center),o.gsView.viewDirectionFromTarget.copy(t.viewDirectionFromTarget),o.gsView.viewTarget.copy(t.viewTarget),t.lensLength&&(o.gsView.lensLength=t.lensLength),t.frontClippingPlane&&(o.gsView.frontClippingPlane=t.frontClippingPlane),t.backClippingPlane&&(o.gsView.backClippingPlane=t.backClippingPlane),t.viewHeight&&(o.gsView.viewHeight=t.viewHeight),t.viewTwistAngle&&(o.gsView.viewTwistAngle=t.viewTwistAngle),t.frozenLayers&&(o.gsView.frozenLayers=t.frozenLayers),t.styleSheet&&(o.gsView.styleSheet=t.styleSheet),t.renderMode&&(o.gsView.renderMode=t.renderMode),t.viewMode&&(o.gsView.viewMode=t.viewMode),t.ucsIconSetting&&(o.gsView.ucsIconSetting=t.ucsIconSetting),t.ucsOrigin&&o.gsView.ucsOrigin.copy(t.ucsOrigin),t.ucsXAxis&&o.gsView.ucsXAxis.copy(t.ucsXAxis),t.ucsYAxis&&o.gsView.ucsYAxis.copy(t.ucsYAxis),t.orthographicType&&(o.gsView.orthographicType=t.orthographicType),t.shadePlotSetting&&(o.gsView.shadePlotSetting=t.shadePlotSetting),t.shadePlotObjectId&&(o.gsView.shadePlotObjectId=t.shadePlotObjectId),t.visualStyleObjectId&&(o.gsView.visualStyleObjectId=t.visualStyleObjectId),t.isDefaultLightingOn&&(o.gsView.isDefaultLightingOn=t.isDefaultLightingOn),t.defaultLightingType&&(o.gsView.defaultLightingType=t.defaultLightingType),t.brightness&&(o.gsView.brightness=t.brightness),t.contrast&&(o.gsView.contrast=t.contrast),t.ambientColor&&(o.gsView.ambientColor=t.ambientColor),n.tables.viewportTable.add(o)})}processBlockTables(e,n){e.tables.BLOCK_RECORD.entries.forEach(t=>{let o=n.tables.blockTable.getAt(t.name);o||(o=new r.AcDbBlockTableRecord,o.objectId=t.handle,o.name=t.name,o.ownerId=t.ownerHandle,o.origin.copy(t.basePoint),o.layoutId=t.layout,n.tables.blockTable.add(o)),!o.isModelSapce&&t.entities&&t.entities.length>0&&this.processEntitiesInBlock(t.entities,o)})}processBlocks(e,n){}async processEntitiesInBlock(e,n){const s=new T,t=e.length,o=[];for(let i=0;i<t;i++){const a=e[i],c=s.convert(a);c&&o.push(c)}n.appendEntity(o)}async processEntities(e,n,s,t,o){const i=new T;let a=[];e.tables.BLOCK_RECORD.entries.forEach(D=>{this.isModelSpace(D.name)&&(a=D.entities)});const c=a.length,p=new r.AcDbBatchProcessing(c,100-t.value,s);this.config.convertByEntityType&&(a=this.groupAndFlattenByType(a));const l=n.tables.blockTable.modelSpace;await p.processChunk(async(D,f)=>{const g=[];for(let u=D;u<f;u++){const A=a[u],d=i.convert(A);d&&g.push(d)}if(l.appendEntity(g),o){let u=t.value+f/c*(100-t.value);u>100&&(u=100),await o(u,"ENTITY","IN-PROGRESS")}})}processHeader(e,n){const s=e.header;s.CECOLOR&&(s.CECOLOR.index>=0&&s.CECOLOR.index<=256?n.cecolor.colorIndex=s.CECOLOR.index:n.cecolor.setRGBValue(s.CECOLOR.rgb)),n.angBase=s.ANGBASE??0,n.angDir=s.ANGDIR??0,n.aunits=s.AUNITS??0,n.celtscale=s.CELTSCALE??1,n.ltscale=s.LTSCALE??1,s.EXTMAX&&(n.extmax=s.EXTMAX),s.EXTMIN&&(n.extmin=s.EXTMIN),n.insunits=s.INSUNITS??1,n.pdmode=s.PDMODE??0,n.pdsize=s.PDSIZE??0,n.textstyle=s.TEXTSTYLE??r.DEFAULT_TEXT_STYLE}processCommonTableEntryAttrs(e,n){n.name=e.name,n.objectId=e.handle,n.ownerId=e.ownerHandle}processObjects(e,n){this.processLayouts(e,n),this.processImageDefs(e,n)}processLayouts(e,n){const s=n.objects.layout;e.objects.LAYOUT.forEach(o=>{const i=new r.AcDbLayout;i.layoutName=o.layoutName,i.tabOrder=o.tabOrder;const a=n.tables.blockTable.newIterator();i.objectId=o.handle;for(const c of a)if(c.layoutId===i.objectId){i.blockTableRecordId=c.objectId;break}i.blockTableRecordId||o.layoutName==="Model"&&(i.blockTableRecordId=n.tables.blockTable.modelSpace.objectId),i.limits.min.copy(o.minLimit),i.limits.max.copy(o.maxLimit),i.extents.min.copy(o.minExtent),i.extents.max.copy(o.maxExtent),this.processCommonObjectAttrs(o,i),s.setAt(i.layoutName,i)})}processImageDefs(e,n){const s=n.objects.imageDefinition;e.objects.IMAGEDEF.forEach(o=>{const i=new r.AcDbRasterImageDef;i.sourceFileName=o.fileName,this.processCommonObjectAttrs(o,i),s.setAt(i.objectId,i)})}processCommonObjectAttrs(e,n){n.objectId=e.handle,n.ownerId=e.ownerHandle}groupAndFlattenByType(e){const n={},s=[];for(const t of e)n[t.type]||(n[t.type]=[],s.push(t.type)),n[t.type].push(t);return s.flatMap(t=>n[t])}isModelSpace(e){return e&&e.toUpperCase()==y}}h.AcDbLibreDwgConverter=I,Object.defineProperty(h,Symbol.toStringTag,{value:"Module"})});
|
|
@@ -8903,12 +8903,18 @@ const jo = {
|
|
|
8903
8903
|
LTSCALE: "LTSCALE",
|
|
8904
8904
|
/** Flag indicating whether lineweights are displayed in the editor/viewer. */
|
|
8905
8905
|
LWDISPLAY: "LWDISPLAY",
|
|
8906
|
+
/** Color used for measurement tool overlays (distance, area, arc). */
|
|
8907
|
+
MEASUREMENTCOLOR: "MEASUREMENTCOLOR",
|
|
8908
|
+
/** Running object snap mode bitmask (OSNAP settings). */
|
|
8909
|
+
OSMODE: "OSMODE",
|
|
8906
8910
|
/** Point display style bitmask that controls how POINT entities are drawn. */
|
|
8907
8911
|
PDMODE: "PDMODE",
|
|
8908
8912
|
/** Point display size, expressed as an absolute value or viewport percentage. */
|
|
8909
8913
|
PDSIZE: "PDSIZE",
|
|
8910
8914
|
/** Pickbox half-size, in pixels, used for selection hit testing in the UI. */
|
|
8911
8915
|
PICKBOX: "PICKBOX",
|
|
8916
|
+
/** Current text style name used when creating new text entities. */
|
|
8917
|
+
TEXTSTYLE: "TEXTSTYLE",
|
|
8912
8918
|
/** Flag indicating whether the drawing background should be rendered as white. */
|
|
8913
8919
|
WHITEBKCOLOR: "WHITEBKCOLOR"
|
|
8914
8920
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcDbLibreDwgConverter.d.ts","sourceRoot":"","sources":["../src/AcDbLibreDwgConverter.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,8BAA8B,EAC9B,YAAY,EACZ,qBAAqB,EACrB,2BAA2B,EAa3B,qBAAqB,
|
|
1
|
+
{"version":3,"file":"AcDbLibreDwgConverter.d.ts","sourceRoot":"","sources":["../src/AcDbLibreDwgConverter.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,8BAA8B,EAC9B,YAAY,EACZ,qBAAqB,EACrB,2BAA2B,EAa3B,qBAAqB,EAWtB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAIL,WAAW,EAKZ,MAAM,yBAAyB,CAAA;AAMhC;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,qBAAqB,CAAC,WAAW,CAAC;gBAC/D,MAAM,GAAE,2BAAgC;cAQpC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM;IA6BzD;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,WAAW;IAiCnC;;OAEG;IACH,OAAO,CAAC,eAAe;IA4BvB,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY;IAiB/D,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY;IAShE,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY;IA+E/D,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY;IAmB5D,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY;IA0G/D,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY;IAqBjE,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY;YAIhD,sBAAsB;IAkBpC;;;;OAIG;cACa,eAAe,CAC7B,KAAK,EAAE,WAAW,EAClB,EAAE,EAAE,YAAY,EAChB,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAClC,QAAQ,CAAC,EAAE,8BAA8B;IAgD3C,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY;IAwB5D,OAAO,CAAC,4BAA4B;IASpC,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY;IAK7D,OAAO,CAAC,cAAc;IAoCtB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,wBAAwB;IAQhC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,YAAY;CAGrB"}
|
|
@@ -85,7 +85,7 @@ var __values = (this && this.__values) || function(o) {
|
|
|
85
85
|
};
|
|
86
86
|
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
87
87
|
};
|
|
88
|
-
import { AcCmColor, AcDbBatchProcessing, AcDbBlockTableRecord, AcDbDatabaseConverter, AcDbDimStyleTableRecord, AcDbLayerTableRecord, AcDbLayout, AcDbLinetypeTableRecord, AcDbRasterImageDef, AcDbTextStyleTableRecord, AcDbViewportTableRecord, createWorkerApi } from '@mlightcad/data-model';
|
|
88
|
+
import { AcCmColor, AcDbBatchProcessing, AcDbBlockTableRecord, AcDbDatabaseConverter, AcDbDimStyleTableRecord, AcDbLayerTableRecord, AcDbLayout, AcDbLinetypeTableRecord, AcDbRasterImageDef, AcDbTextStyleTableRecord, AcDbViewportTableRecord, createWorkerApi, DEFAULT_TEXT_STYLE } from '@mlightcad/data-model';
|
|
89
89
|
import { AcDbEntityConverter } from './AcDbEntitiyConverter';
|
|
90
90
|
var MODEL_SPACE = '*MODEL_SPACE';
|
|
91
91
|
/**
|
|
@@ -295,7 +295,7 @@ var AcDbLibreDwgConverter = /** @class */ (function (_super) {
|
|
|
295
295
|
dimfit: item.DIMFIT || 0,
|
|
296
296
|
dimupt: item.DIMUPT,
|
|
297
297
|
dimatfit: item.DIMATFIT,
|
|
298
|
-
dimtxsty:
|
|
298
|
+
dimtxsty: DEFAULT_TEXT_STYLE, // TODO: Set correct value
|
|
299
299
|
dimldrblk: '', // TODO: Set correct value
|
|
300
300
|
dimblk: item.DIMBLK || '', // TODO: Set correct value
|
|
301
301
|
dimblk1: item.DIMBLK1 || '', // TODO: Set correct value
|
|
@@ -536,7 +536,7 @@ var AcDbLibreDwgConverter = /** @class */ (function (_super) {
|
|
|
536
536
|
});
|
|
537
537
|
};
|
|
538
538
|
AcDbLibreDwgConverter.prototype.processHeader = function (model, db) {
|
|
539
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
539
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
540
540
|
var header = model.header;
|
|
541
541
|
// Color index 256 is 'ByLayer'
|
|
542
542
|
if (header.CECOLOR) {
|
|
@@ -560,6 +560,7 @@ var AcDbLibreDwgConverter = /** @class */ (function (_super) {
|
|
|
560
560
|
db.insunits = (_f = header.INSUNITS) !== null && _f !== void 0 ? _f : 1;
|
|
561
561
|
db.pdmode = (_g = header.PDMODE) !== null && _g !== void 0 ? _g : 0;
|
|
562
562
|
db.pdsize = (_h = header.PDSIZE) !== null && _h !== void 0 ? _h : 0.0;
|
|
563
|
+
db.textstyle = (_j = header.TEXTSTYLE) !== null && _j !== void 0 ? _j : DEFAULT_TEXT_STYLE;
|
|
563
564
|
};
|
|
564
565
|
AcDbLibreDwgConverter.prototype.processCommonTableEntryAttrs = function (entry, dbEntry) {
|
|
565
566
|
dbEntry.name = entry.name;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcDbLibreDwgConverter.js","sourceRoot":"","sources":["../src/AcDbLibreDwgConverter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,oBAAoB,EAGpB,qBAAqB,EAErB,uBAAuB,EAQvB,oBAAoB,EACpB,UAAU,EACV,uBAAuB,EAGvB,kBAAkB,EAElB,wBAAwB,EACxB,uBAAuB,EAKvB,eAAe,EAChB,MAAM,uBAAuB,CAAA;AAY9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAE5D,IAAM,WAAW,GAAG,cAAc,CAAA;AAElC;;GAEG;AACH;IAA2C,yCAAkC;IAC3E,+BAAY,MAAwC;QAAxC,uBAAA,EAAA,WAAwC;QAClD,YAAA,MAAK,YAAC,MAAM,CAAC,SAAA;QACb,MAAM,CAAC,SAAS,GAAG,IAAI,CAAA;QACvB,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAC5B,MAAM,CAAC,eAAe,GAAG,mCAAmC,CAAA;QAC9D,CAAC;;IACH,CAAC;IAEe,qCAAK,GAArB,UAAsB,IAAiB,EAAE,OAAgB;;;;;;wBACjD,eAAe,GAAG,IAAI,CAAC,MAAM,CAAA;wBAC7B,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;6BAE9D,CAAA,eAAe,CAAC,SAAS,IAAI,eAAe,CAAC,eAAe,CAAA,EAA5D,wBAA4D;wBACxD,GAAG,GAAG,eAAe,CAAC;4BAC1B,SAAS,EAAE,eAAe,CAAC,eAAe;4BAC1C,OAAO,EAAE,eAAe;4BACxB,0CAA0C;4BAC1C,oBAAoB,EAAE,CAAC;yBACxB,CAAC,CAAA;wBACa,qBAAM,GAAG,CAAC,OAAO,CAG9B,IAAI,CAAC;4BACP,iBAAiB;0BADV;;wBAHD,MAAM,GAAG,SAGR;wBACP,iBAAiB;wBACjB,GAAG,CAAC,OAAO,EAAE,CAAA;wBACb,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;4BACnB,sBAAO,MAAM,CAAC,IAAK,EAAA;wBACrB,CAAC;6BAAM,CAAC;4BACN,MAAM,IAAI,KAAK,CACb,iDAA0C,MAAM,CAAC,KAAK,MAAG,CAC1D,CAAA;wBACH,CAAC;;4BAED,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;;;;;KAE/D;IAED;;;;OAIG;IACO,wCAAQ,GAAlB,UAAmB,GAAgB;QACjC,0CAA0C;QAC1C,IAAM,QAAQ,GAA0C,IAAI,GAAG,EAAE,CAAA;QACjE,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,UAAA,GAAG;YACzC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAC7B,CAAC,CAAC,CAAA;QAEF,qFAAqF;QACrF,IAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAA;QAC5C,IAAM,WAAW,GAAG,UAAC,YAAoB;YACvC,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAM,YAAY,GAAG,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;gBAClD,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;oBACtB,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,WAAW,EAAE,CAAA;gBAC9D,CAAC;qBAAM,CAAC;oBACN,OAAO,YAAY,CAAC,WAAW,EAAE,CAAA;gBACnC,CAAC;YACH,CAAC;QACH,CAAC,CAAA;QACD,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAA,KAAK;YACpC,IAAM,SAAS,GAAa,EAAE,CAAA;YAC9B,IAAI,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACtC,IAAI,QAAQ;gBAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACtC,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACrC,IAAI,QAAQ;gBAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACtC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;QAEF,IAAM,KAAK,GAAgB,IAAI,GAAG,EAAU,CAAA;QAC5C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;QAC7D,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC1B,CAAC;IAED;;OAEG;IACK,+CAAe,GAAvB,UACE,QAAqB,EACrB,QAA+C,EAC/C,QAA+B,EAC/B,KAAkB;QAJpB,iBA0BC;QApBC,IAAM,KAAK,GAAG,aAAa,CAAA;QAC3B,QAAQ,CAAC,OAAO,CAAC,UAAA,MAAM;YACrB,IAAI,MAAM,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC3B,IAAM,KAAK,GAAG,MAAwB,CACrC;gBAAA,yBAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAE,OAAO,CAAC,UAAA,KAAK;oBAC5C,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;gBACnC,CAAC,CAAC,CAAA;gBACF,IAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;gBAC/C,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAC,UAAA,IAAI,IAAI,OAAA,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAf,CAAe,CAAC,CAAA;YAC7C,CAAC;iBAAM,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC;gBACjC,IAAM,IAAI,GAAG,MAAuB,CAAA;gBACpC,IAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBAC9C,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAC,UAAA,IAAI,IAAI,OAAA,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAf,CAAe,CAAC,CAAA;YAC7C,CAAC;iBAAM,IAAI,MAAM,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;gBACnC,IAAM,MAAM,GAAG,MAAyB,CAAA;gBACxC,IAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBACvC,IAAI,KAAK;oBACP,KAAI,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;YACnE,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAES,gDAAgB,GAA1B,UAA2B,KAAkB,EAAE,EAAgB;QAA/D,iBAeC;QAdC,IAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAA;QAC5C,SAAS,CAAC,OAAO,CAAC,UAAA,IAAI;YACpB,IAAM,QAAQ,GAAsB;gBAClC,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAA;YACD,IAAM,MAAM,GAAG,IAAI,uBAAuB,CAAC,QAAQ,CAAC,CAAA;YACpD,KAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YAC/C,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;YACvB,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;IACJ,CAAC;IAES,iDAAiB,GAA3B,UAA4B,KAAkB,EAAE,EAAgB;QAAhE,iBAOC;QANC,IAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAA;QAC7C,UAAU,CAAC,OAAO,CAAC,UAAA,IAAI;YACrB,IAAM,MAAM,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAA;YACjD,KAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YAC/C,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;IACJ,CAAC;IAES,gDAAgB,GAA1B,UAA2B,KAAkB,EAAE,EAAgB;QAA/D,iBA6EC;QA5EC,IAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAA;QAC/C,SAAS,CAAC,OAAO,CAAC,UAAA,IAAI;YACpB,IAAM,KAAK,GAAiC;gBAC1C,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,WAAW;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;gBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;gBAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD,MAAM,EAAE,IAAI,CAAC,MAA+C;gBAC5D,MAAM,EAAE,IAAI,CAAC,MAAgD;gBAC7D,OAAO,EAAE,IAAI,CAAC,OAAwD;gBACtE,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC;gBAC1B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC;gBAC1B,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC;gBAC5B,OAAO,EAAE,IAAI,CAAC,OAAkD;gBAChE,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,IAAI,CAAC,OAAyD;gBACvE,OAAO,EAAE,IAAI,CAAC,OAAiD;gBAC/D,OAAO,EAAE,IAAI,CAAC,OAAiD;gBAC/D,QAAQ,EAAE,IAAI,CAAC,QAAkD;gBACjE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC;gBACxB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,UAAU,EAAE,0BAA0B;gBAChD,SAAS,EAAE,EAAE,EAAE,0BAA0B;gBACzC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,0BAA0B;gBACrD,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,0BAA0B;gBACvD,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,0BAA0B;gBACvD,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAA;YACD,IAAM,MAAM,GAAG,IAAI,uBAAuB,CAAC,KAAK,CAAC,CAAA;YACjD,KAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YAC/C,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;IACJ,CAAC;IAES,6CAAa,GAAvB,UAAwB,KAAkB,EAAE,EAAgB;QAA5D,iBAiBC;QAhBC,IAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAA;QACzC,MAAM,CAAC,OAAO,CAAC,UAAA,IAAI;YACjB,IAAM,KAAK,GAAG,IAAI,SAAS,EAAE,CAAA;YAC7B,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;YAClC,IAAM,MAAM,GAAG,IAAI,oBAAoB,CAAC;gBACtC,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,aAAa,EAAE,IAAI,CAAC,YAAY;gBAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,KAAK,EAAE,IAAI,CAAC,GAAG;gBACf,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC;aAChC,CAAC,CAAA;YACF,KAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YAC/C,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC;IAES,gDAAgB,GAA1B,UAA2B,KAAkB,EAAE,EAAgB;QAA/D,iBAwGC;QAvGC,IAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAA;QAC5C,SAAS,CAAC,OAAO,CAAC,UAAA,IAAI;YACpB,IAAM,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAA;YAC5C,KAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YAC/C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;YACvC,CAAC;YACD,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;YACvC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC/B,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;YACjD,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YACnD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YAC1C,CAAC;YACD,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAA;YAC3C,CAAC;YACD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YAC9C,CAAC;YACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAA;YACxC,CAAC;YACD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YAC9C,CAAC;YACD,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC5B,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAA;YACrD,CAAC;YAED,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACtC,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;YACxE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAC9C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;YAC5C,CAAC;YACD,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC5B,MAAM,CAAC,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAA;YAC5D,CAAC;YACD,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,MAAM,CAAC,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAA;YAC1D,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;YAC5C,CAAC;YACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,MAAM,CAAC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAA;YACpD,CAAC;YACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;YAChD,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;YAC5C,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAuC,CAAA;YACzE,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,MAAM,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;YACxC,CAAC;YACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,MAAM,CAAC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAA;YACpD,CAAC;YACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC9C,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC5C,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC5C,CAAC;YACD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,MAAM,CAAC,MAAM,CAAC,gBAAgB;oBAC5B,IAAI,CAAC,gBAAmD,CAAA;YAC5D,CAAC;YACD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,MAAM,CAAC,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAA;YACxD,CAAC;YACD,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,MAAM,CAAC,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAA;YAC1D,CAAC;YACD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,MAAM,CAAC,MAAM,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAA;YAC9D,CAAC;YACD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,MAAM,CAAC,MAAM,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAA;YAC9D,CAAC;YACD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,MAAM,CAAC,MAAM,CAAC,mBAAmB;oBAC/B,IAAI,CAAC,mBAAyD,CAAA;YAClE,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;YAC5C,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,MAAM,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;YACxC,CAAC;YACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;YAChD,CAAC;YACD,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;IACJ,CAAC;IAES,kDAAkB,GAA5B,UAA6B,KAAkB,EAAE,EAAgB;QAAjE,iBAmBC;QAlBC,IAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAA;QAC9C,IAAI,CAAC,OAAO,CAAC,UAAA,GAAG;YACd,IAAI,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAClD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,GAAG,IAAI,oBAAoB,EAAE,CAAA;gBACpC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAA;gBAC7B,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAA;gBACvB,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC,WAAW,CAAA;gBACjC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;gBAClC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAA;gBAC7B,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACnC,CAAC;YAED,yEAAyE;YACzE,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrE,KAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YACpD,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAES,6CAAa,GAAvB,UAAwB,MAAmB,EAAE,GAAiB;QAC5D,kFAAkF;IACpF,CAAC;IAEa,sDAAsB,GAApC,UACE,QAAqB,EACrB,gBAAsC;;;;gBAEhC,SAAS,GAAG,IAAI,mBAAmB,EAAE,CAAA;gBACrC,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAA;gBAC7B,UAAU,GAAiB,EAAE,CAAA;gBACnC,KAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC/B,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;oBACpB,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;oBAC1C,IAAI,QAAQ,EAAE,CAAC;wBACb,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;oBAC3B,CAAC;gBACH,CAAC;gBACD,0CAA0C;gBAC1C,gBAAgB,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;;;;KAC1C;IAED;;;;OAIG;IACa,+CAAe,GAA/B,UACE,KAAkB,EAClB,EAAgB,EAChB,gBAAwB,EACxB,eAAkC,EAClC,QAAyC;;;;;;;wBAEnC,SAAS,GAAG,IAAI,mBAAmB,EAAE,CAAA;wBAGvC,QAAQ,GAAgB,EAAE,CAAA;wBAC9B,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,UAAA,GAAG;4BAC3C,IAAI,KAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;gCAAE,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAA;wBAC1D,CAAC,CAAC,CAAA;wBAGI,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAA;wBAC7B,cAAc,GAAG,IAAI,mBAAmB,CAC5C,WAAW,EACX,GAAG,GAAG,eAAe,CAAC,KAAK,EAC3B,gBAAgB,CACjB,CAAA;wBACD,wFAAwF;wBACxF,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;4BACpC,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAA;wBACjD,CAAC;wBAGK,gBAAgB,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAA;wBACxD,qBAAM,cAAc,CAAC,YAAY,CAAC,UAAO,KAAK,EAAE,GAAG;;;;;4CAE3C,UAAU,GAAiB,EAAE,CAAA;4CACnC,KAAS,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gDAC3B,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;gDACpB,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gDAC1C,IAAI,QAAQ,EAAE,CAAC;oDACb,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gDAC3B,CAAC;4CACH,CAAC;4CACD,0CAA0C;4CAC1C,gBAAgB,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;iDAGrC,QAAQ,EAAR,wBAAQ;4CACN,UAAU,GACZ,eAAe,CAAC,KAAK;gDACrB,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;4CACrD,IAAI,UAAU,GAAG,GAAG;gDAAE,UAAU,GAAG,GAAG,CAAA;4CACtC,qBAAM,QAAQ,CAAC,UAAU,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAA;;4CAAnD,SAAmD,CAAA;;;;;iCAEtD,CAAC,EAAA;;wBArBF,SAqBE,CAAA;;;;;KACH;IAES,6CAAa,GAAvB,UAAwB,KAAkB,EAAE,EAAgB;;QAC1D,IAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;QAC3B,+BAA+B;QAC/B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,GAAG,EAAE,CAAC;gBAC7D,EAAE,CAAC,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAA;YAC9C,CAAC;iBAAM,CAAC;gBACN,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YAC5C,CAAC;QACH,CAAC;QACD,EAAE,CAAC,OAAO,GAAG,MAAA,MAAM,CAAC,OAAO,mCAAI,CAAC,CAAA;QAChC,EAAE,CAAC,MAAM,GAAG,MAAA,MAAM,CAAC,MAAM,mCAAI,CAAC,CAAA;QAC9B,EAAE,CAAC,MAAM,GAAG,MAAA,MAAM,CAAC,MAAM,mCAAI,CAAC,CAAA;QAC9B,EAAE,CAAC,SAAS,GAAG,MAAA,MAAM,CAAC,SAAS,mCAAI,CAAC,CAAA;QACpC,EAAE,CAAC,OAAO,GAAG,MAAA,MAAM,CAAC,OAAO,mCAAI,CAAC,CAAA;QAChC,IAAI,MAAM,CAAC,MAAO;YAAE,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAC7C,IAAI,MAAM,CAAC,MAAM;YAAE,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAC5C,wDAAwD;QACxD,EAAE,CAAC,QAAQ,GAAG,MAAA,MAAM,CAAC,QAAQ,mCAAI,CAAC,CAAA;QAClC,EAAE,CAAC,MAAM,GAAG,MAAA,MAAM,CAAC,MAAM,mCAAI,CAAC,CAAA;QAC9B,EAAE,CAAC,MAAM,GAAG,MAAA,MAAM,CAAC,MAAM,mCAAI,GAAG,CAAA;IAClC,CAAC;IAEO,4DAA4B,GAApC,UACE,KAA0B,EAC1B,OAA8B;QAE9B,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;QACzB,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAA;QAC/B,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,WAAW,CAAA;IACrC,CAAC;IAES,8CAAc,GAAxB,UAAyB,KAAkB,EAAE,EAAgB;QAC3D,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QAC9B,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAClC,CAAC;IAEO,8CAAc,GAAtB,UAAuB,KAAkB,EAAE,EAAgB;QAA3D,iBAkCC;QAjCC,IAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAA;QACpC,IAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAA;QACpC,OAAO,CAAC,OAAO,CAAC,UAAA,MAAM;;YACpB,IAAM,QAAQ,GAAG,IAAI,UAAU,EAAE,CAAA;YACjC,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;YACvC,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;YACnC,mFAAmF;YACnF,kFAAkF;YAClF,IAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAA;YAC/C,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAA;;gBACjC,KAAkB,IAAA,SAAA,SAAA,IAAI,CAAA,0BAAA,4CAAE,CAAC;oBAApB,IAAM,GAAG,iBAAA;oBACZ,oFAAoF;oBACpF,iFAAiF;oBACjF,wDAAwD;oBACxD,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,EAAE,CAAC;wBACvC,QAAQ,CAAC,kBAAkB,GAAG,GAAG,CAAC,QAAQ,CAAA;wBAC1C,MAAK;oBACP,CAAC;gBACH,CAAC;;;;;;;;;YACD,2EAA2E;YAC3E,mDAAmD;YACnD,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;gBACjC,IAAI,MAAM,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;oBAClC,QAAQ,CAAC,kBAAkB,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAA;gBACxE,CAAC;YACH,CAAC;YACD,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YACzC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YACzC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YAC3C,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YAC3C,KAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;YAC/C,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QACjD,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,gDAAgB,GAAxB,UAAyB,KAAkB,EAAE,EAAgB;QAA7D,iBASC;QARC,IAAM,YAAY,GAAG,EAAE,CAAC,OAAO,CAAC,eAAe,CAAA;QAC/C,IAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAA;QACxC,SAAS,CAAC,OAAO,CAAC,UAAA,QAAQ;YACxB,IAAM,UAAU,GAAG,IAAI,kBAAkB,EAAE,CAAA;YAC3C,UAAU,CAAC,cAAc,GAAG,QAAQ,CAAC,QAAQ,CAAA;YAC7C,KAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;YACnD,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;QACrD,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,wDAAwB,GAAhC,UACE,MAAuB,EACvB,QAAoB;QAEpB,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAA;QACjC,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,WAAW,CAAA;IACvC,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,qDAAqB,GAA7B,UAA8B,QAAqB;;QACjD,IAAM,MAAM,GAAgC,EAAE,CAAA;QAC9C,IAAM,KAAK,GAAa,EAAE,CAAA;;YAE1B,KAAqB,IAAA,aAAA,SAAA,QAAQ,CAAA,kCAAA,wDAAE,CAAC;gBAA3B,IAAM,MAAM,qBAAA;gBACf,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;oBACxB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBACzB,CAAC;gBACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAClC,CAAC;;;;;;;;;QAED,OAAO,KAAK,CAAC,OAAO,CAAC,UAAA,IAAI,IAAI,OAAA,MAAM,CAAC,IAAI,CAAC,EAAZ,CAAY,CAAC,CAAA;IAC5C,CAAC;IAEO,4CAAY,GAApB,UAAqB,IAAY;QAC/B,OAAO,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,WAAW,CAAA;IAClD,CAAC;IACH,4BAAC;AAAD,CAAC,AAjjBD,CAA2C,qBAAqB,GAijB/D"}
|
|
1
|
+
{"version":3,"file":"AcDbLibreDwgConverter.js","sourceRoot":"","sources":["../src/AcDbLibreDwgConverter.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.
|
|
3
|
+
"version": "3.5.5",
|
|
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.
|
|
42
|
+
"@mlightcad/data-model": "1.7.5"
|
|
43
43
|
},
|
|
44
44
|
"scripts": {
|
|
45
45
|
"analyze": "pnpm run analyze:lib && pnpm run analyze:worker",
|