@mlightcad/data-model 1.15.21 → 1.15.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/data-model.cjs +16 -16
- package/lib/base/AcDbDxfFiler.d.ts +27 -0
- package/lib/base/AcDbDxfFiler.d.ts.map +1 -1
- package/lib/base/AcDbDxfFiler.js +85 -9
- package/lib/base/AcDbDxfFiler.js.map +1 -1
- package/lib/base/AcDbObject.d.ts +10 -0
- package/lib/base/AcDbObject.d.ts.map +1 -1
- package/lib/base/AcDbObject.js +38 -1
- package/lib/base/AcDbObject.js.map +1 -1
- package/lib/database/AcDbBlockTableRecord.d.ts +11 -0
- package/lib/database/AcDbBlockTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbBlockTableRecord.js +22 -1
- package/lib/database/AcDbBlockTableRecord.js.map +1 -1
- package/lib/database/AcDbDatabase.d.ts +60 -0
- package/lib/database/AcDbDatabase.d.ts.map +1 -1
- package/lib/database/AcDbDatabase.js +647 -157
- package/lib/database/AcDbDatabase.js.map +1 -1
- package/lib/database/AcDbDimStyleTableRecord.js +1 -1
- package/lib/database/AcDbDimStyleTableRecord.js.map +1 -1
- package/lib/dxf/AcDbDxfDocumentReader.d.ts +19 -1
- package/lib/dxf/AcDbDxfDocumentReader.d.ts.map +1 -1
- package/lib/dxf/AcDbDxfDocumentReader.js +92 -12
- package/lib/dxf/AcDbDxfDocumentReader.js.map +1 -1
- package/lib/dxf/AcDbDxfEntityFactory.d.ts.map +1 -1
- package/lib/dxf/AcDbDxfEntityFactory.js +20 -1
- package/lib/dxf/AcDbDxfEntityFactory.js.map +1 -1
- package/lib/dxf/AcDbDxfHeaderReader.d.ts.map +1 -1
- package/lib/dxf/AcDbDxfHeaderReader.js +76 -7
- package/lib/dxf/AcDbDxfHeaderReader.js.map +1 -1
- package/lib/dxf/AcDbDxfObjectRecordName.d.ts +13 -0
- package/lib/dxf/AcDbDxfObjectRecordName.d.ts.map +1 -0
- package/lib/dxf/AcDbDxfObjectRecordName.js +98 -0
- package/lib/dxf/AcDbDxfObjectRecordName.js.map +1 -0
- package/lib/dxf/AcDbDxfObjectsReader.d.ts +15 -2
- package/lib/dxf/AcDbDxfObjectsReader.d.ts.map +1 -1
- package/lib/dxf/AcDbDxfObjectsReader.js +226 -110
- package/lib/dxf/AcDbDxfObjectsReader.js.map +1 -1
- package/lib/dxf/AcDbDxfRawTags.d.ts +50 -0
- package/lib/dxf/AcDbDxfRawTags.d.ts.map +1 -0
- package/lib/dxf/AcDbDxfRawTags.js +116 -0
- package/lib/dxf/AcDbDxfRawTags.js.map +1 -0
- package/lib/entity/AcDb2dPolyline.d.ts.map +1 -1
- package/lib/entity/AcDb2dPolyline.js +53 -1
- package/lib/entity/AcDb2dPolyline.js.map +1 -1
- package/lib/entity/AcDb2dVertex.d.ts +5 -0
- package/lib/entity/AcDb2dVertex.d.ts.map +1 -1
- package/lib/entity/AcDb2dVertex.js +98 -0
- package/lib/entity/AcDb2dVertex.js.map +1 -1
- package/lib/entity/AcDb3dPolyline.d.ts.map +1 -1
- package/lib/entity/AcDb3dPolyline.js +20 -1
- package/lib/entity/AcDb3dPolyline.js.map +1 -1
- package/lib/entity/AcDb3dSolid.d.ts +5 -0
- package/lib/entity/AcDb3dSolid.d.ts.map +1 -1
- package/lib/entity/AcDb3dSolid.js +70 -0
- package/lib/entity/AcDb3dSolid.js.map +1 -1
- package/lib/entity/AcDb3dVertex.d.ts +5 -0
- package/lib/entity/AcDb3dVertex.d.ts.map +1 -1
- package/lib/entity/AcDb3dVertex.js +65 -0
- package/lib/entity/AcDb3dVertex.js.map +1 -1
- package/lib/entity/AcDbArc.d.ts.map +1 -1
- package/lib/entity/AcDbArc.js +11 -0
- package/lib/entity/AcDbArc.js.map +1 -1
- package/lib/entity/AcDbArcAlignedText.d.ts.map +1 -1
- package/lib/entity/AcDbArcAlignedText.js +254 -0
- package/lib/entity/AcDbArcAlignedText.js.map +1 -1
- package/lib/entity/AcDbAttribute.d.ts +5 -0
- package/lib/entity/AcDbAttribute.d.ts.map +1 -1
- package/lib/entity/AcDbAttribute.js +156 -0
- package/lib/entity/AcDbAttribute.js.map +1 -1
- package/lib/entity/AcDbAttributeDefinition.d.ts +5 -0
- package/lib/entity/AcDbAttributeDefinition.d.ts.map +1 -1
- package/lib/entity/AcDbAttributeDefinition.js +167 -0
- package/lib/entity/AcDbAttributeDefinition.js.map +1 -1
- package/lib/entity/AcDbBlockReference.d.ts.map +1 -1
- package/lib/entity/AcDbBlockReference.js +57 -3
- package/lib/entity/AcDbBlockReference.js.map +1 -1
- package/lib/entity/AcDbCircle.d.ts.map +1 -1
- package/lib/entity/AcDbCircle.js +11 -0
- package/lib/entity/AcDbCircle.js.map +1 -1
- package/lib/entity/AcDbEntity.d.ts +9 -0
- package/lib/entity/AcDbEntity.d.ts.map +1 -1
- package/lib/entity/AcDbEntity.js +54 -1
- package/lib/entity/AcDbEntity.js.map +1 -1
- package/lib/entity/AcDbFace.d.ts +7 -0
- package/lib/entity/AcDbFace.d.ts.map +1 -1
- package/lib/entity/AcDbFace.js +99 -0
- package/lib/entity/AcDbFace.js.map +1 -1
- package/lib/entity/AcDbFcf.d.ts.map +1 -1
- package/lib/entity/AcDbFcf.js +66 -0
- package/lib/entity/AcDbFcf.js.map +1 -1
- package/lib/entity/AcDbHatch.d.ts.map +1 -1
- package/lib/entity/AcDbHatch.js +187 -0
- package/lib/entity/AcDbHatch.js.map +1 -1
- package/lib/entity/AcDbLine.d.ts.map +1 -1
- package/lib/entity/AcDbLine.js +44 -0
- package/lib/entity/AcDbLine.js.map +1 -1
- package/lib/entity/AcDbMLeader.d.ts.map +1 -1
- package/lib/entity/AcDbMLeader.js +320 -0
- package/lib/entity/AcDbMLeader.js.map +1 -1
- package/lib/entity/AcDbMLine.d.ts.map +1 -1
- package/lib/entity/AcDbMLine.js +119 -1
- package/lib/entity/AcDbMLine.js.map +1 -1
- package/lib/entity/AcDbMText.d.ts +40 -8
- package/lib/entity/AcDbMText.d.ts.map +1 -1
- package/lib/entity/AcDbMText.js +395 -22
- package/lib/entity/AcDbMText.js.map +1 -1
- package/lib/entity/AcDbPoint.d.ts.map +1 -1
- package/lib/entity/AcDbPoint.js +55 -0
- package/lib/entity/AcDbPoint.js.map +1 -1
- package/lib/entity/AcDbPolyline.d.ts.map +1 -1
- package/lib/entity/AcDbPolyline.js +46 -2
- package/lib/entity/AcDbPolyline.js.map +1 -1
- package/lib/entity/AcDbProxyEntity.d.ts +5 -0
- package/lib/entity/AcDbProxyEntity.d.ts.map +1 -1
- package/lib/entity/AcDbProxyEntity.js +77 -0
- package/lib/entity/AcDbProxyEntity.js.map +1 -1
- package/lib/entity/AcDbRasterImage.d.ts.map +1 -1
- package/lib/entity/AcDbRasterImage.js +99 -0
- package/lib/entity/AcDbRasterImage.js.map +1 -1
- package/lib/entity/AcDbShape.d.ts.map +1 -1
- package/lib/entity/AcDbShape.js +63 -0
- package/lib/entity/AcDbShape.js.map +1 -1
- package/lib/entity/AcDbSpline.d.ts +6 -0
- package/lib/entity/AcDbSpline.d.ts.map +1 -1
- package/lib/entity/AcDbSpline.js +182 -0
- package/lib/entity/AcDbSpline.js.map +1 -1
- package/lib/entity/AcDbTable.d.ts.map +1 -1
- package/lib/entity/AcDbTable.js +24 -2
- package/lib/entity/AcDbTable.js.map +1 -1
- package/lib/entity/AcDbText.d.ts +4 -0
- package/lib/entity/AcDbText.d.ts.map +1 -1
- package/lib/entity/AcDbText.js +254 -119
- package/lib/entity/AcDbText.js.map +1 -1
- package/lib/entity/AcDbTextExtentsHelpers.d.ts +14 -1
- package/lib/entity/AcDbTextExtentsHelpers.d.ts.map +1 -1
- package/lib/entity/AcDbTextExtentsHelpers.js +28 -5
- package/lib/entity/AcDbTextExtentsHelpers.js.map +1 -1
- package/lib/entity/AcDbTrace.d.ts +6 -0
- package/lib/entity/AcDbTrace.d.ts.map +1 -1
- package/lib/entity/AcDbTrace.js +117 -0
- package/lib/entity/AcDbTrace.js.map +1 -1
- package/lib/entity/AcDbUnknownEntity.d.ts +46 -0
- package/lib/entity/AcDbUnknownEntity.d.ts.map +1 -0
- package/lib/entity/AcDbUnknownEntity.js +210 -0
- package/lib/entity/AcDbUnknownEntity.js.map +1 -0
- package/lib/entity/AcDbViewport.d.ts +5 -0
- package/lib/entity/AcDbViewport.d.ts.map +1 -1
- package/lib/entity/AcDbViewport.js +307 -0
- package/lib/entity/AcDbViewport.js.map +1 -1
- package/lib/entity/AcDbWipeout.d.ts.map +1 -1
- package/lib/entity/AcDbWipeout.js +12 -1
- package/lib/entity/AcDbWipeout.js.map +1 -1
- package/lib/entity/dimension/AcDbDimension.d.ts.map +1 -1
- package/lib/entity/dimension/AcDbDimension.js +22 -2
- package/lib/entity/dimension/AcDbDimension.js.map +1 -1
- package/lib/entity/dimension/AcDbOrdinateDimension.d.ts.map +1 -1
- package/lib/entity/dimension/AcDbOrdinateDimension.js +5 -1
- package/lib/entity/dimension/AcDbOrdinateDimension.js.map +1 -1
- package/lib/entity/index.d.ts +1 -0
- package/lib/entity/index.d.ts.map +1 -1
- package/lib/entity/index.js +1 -0
- package/lib/entity/index.js.map +1 -1
- package/lib/ly/AcLyLayerFilterIO.d.ts +2 -0
- package/lib/ly/AcLyLayerFilterIO.d.ts.map +1 -1
- package/lib/ly/AcLyLayerFilterIO.js.map +1 -1
- package/lib/object/AcDbDictionary.d.ts +16 -0
- package/lib/object/AcDbDictionary.d.ts.map +1 -1
- package/lib/object/AcDbDictionary.js +37 -1
- package/lib/object/AcDbDictionary.js.map +1 -1
- package/lib/object/AcDbObjectContextData.d.ts +21 -0
- package/lib/object/AcDbObjectContextData.d.ts.map +1 -1
- package/lib/object/AcDbObjectContextData.js +49 -0
- package/lib/object/AcDbObjectContextData.js.map +1 -1
- package/lib/object/AcDbUnknownObject.d.ts +24 -0
- package/lib/object/AcDbUnknownObject.d.ts.map +1 -0
- package/lib/object/AcDbUnknownObject.js +97 -0
- package/lib/object/AcDbUnknownObject.js.map +1 -0
- package/lib/object/index.d.ts +1 -0
- package/lib/object/index.d.ts.map +1 -1
- package/lib/object/index.js +1 -0
- package/lib/object/index.js.map +1 -1
- package/package.json +5 -5
|
@@ -25,6 +25,7 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
25
25
|
}
|
|
26
26
|
return ar;
|
|
27
27
|
};
|
|
28
|
+
import { AcDbDxfFiler } from '../base/AcDbDxfFiler.js';
|
|
28
29
|
import { AcDbBlockTableRecord } from '../database/AcDbBlockTableRecord.js';
|
|
29
30
|
import { acdbReadLayerFilterTree } from '../ly/AcLyLayerFilterIO.js';
|
|
30
31
|
import { AcDbBlkRefObjectContextData } from '../object/AcDbBlkRefObjectContextData.js';
|
|
@@ -45,8 +46,11 @@ import { AcDbRasterImageDef } from '../object/AcDbRasterImageDef.js';
|
|
|
45
46
|
import { AcDbScale } from '../object/AcDbScale.js';
|
|
46
47
|
import { AcDbSortentsTable } from '../object/AcDbSortentsTable.js';
|
|
47
48
|
import { AcDbTextObjectContextData } from '../object/AcDbTextObjectContextData.js';
|
|
49
|
+
import { AcDbUnknownObject } from '../object/AcDbUnknownObject.js';
|
|
48
50
|
import { AcDbXrecord } from '../object/AcDbXrecord.js';
|
|
49
51
|
import { AcDbLayout } from '../object/layout/AcDbLayout.js';
|
|
52
|
+
import { acdbDrainDxfObjectPairs, AcDbDxfPairArrayReader, acdbTypedValueToDxfPair } from './AcDbDxfPairArrayReader.js';
|
|
53
|
+
import { acdbSplitDxfRawTags } from './AcDbDxfRawTags.js';
|
|
50
54
|
var normalizeHandle = function (handle) {
|
|
51
55
|
return handle ? handle.trim().toUpperCase() : '';
|
|
52
56
|
};
|
|
@@ -63,9 +67,11 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
63
67
|
this._dictionaries = new Map();
|
|
64
68
|
this._xrecords = new Map();
|
|
65
69
|
this._unknownObjectCount = 0;
|
|
70
|
+
/** Objects kept verbatim, linked into dictionaries once all are loaded. */
|
|
71
|
+
this._unknownObjects = [];
|
|
66
72
|
}
|
|
67
73
|
Object.defineProperty(AcDbDxfObjectsReader.prototype, "unknownObjectCount", {
|
|
68
|
-
/** Count of OBJECTS
|
|
74
|
+
/** Count of OBJECTS records kept verbatim because no native reader exists. */
|
|
69
75
|
get: function () {
|
|
70
76
|
return this._unknownObjectCount;
|
|
71
77
|
},
|
|
@@ -78,6 +84,7 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
78
84
|
*/
|
|
79
85
|
AcDbDxfObjectsReader.prototype.read = function (filer) {
|
|
80
86
|
this._unknownObjectCount = 0;
|
|
87
|
+
this._unknownObjects.length = 0;
|
|
81
88
|
while (!filer.atEof) {
|
|
82
89
|
var item = filer.peekItem();
|
|
83
90
|
if (!item)
|
|
@@ -159,7 +166,7 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
159
166
|
}
|
|
160
167
|
case 'DICTIONARY':
|
|
161
168
|
case 'ACDBDICTIONARYWDFLT': {
|
|
162
|
-
var dict = this.readPersistDictionary(filer);
|
|
169
|
+
var dict = this.readPersistDictionary(filer, typeName);
|
|
163
170
|
if (dict.handle) {
|
|
164
171
|
this._dictionaries.set(normalizeHandle(dict.handle), dict);
|
|
165
172
|
}
|
|
@@ -184,8 +191,7 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
184
191
|
break;
|
|
185
192
|
}
|
|
186
193
|
case 'ACDB_MTEXTOBJECTCONTEXTDATA_CLASS': {
|
|
187
|
-
var context = new AcDbMTextObjectContextData();
|
|
188
|
-
context.dxfIn(filer);
|
|
194
|
+
var context = this.readContextData(filer, new AcDbMTextObjectContextData(), typeName);
|
|
189
195
|
var handle = normalizeHandle(context.objectId);
|
|
190
196
|
if (handle) {
|
|
191
197
|
this._db.objects.objectContextData.setAt(handle, context);
|
|
@@ -193,8 +199,7 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
193
199
|
break;
|
|
194
200
|
}
|
|
195
201
|
case 'ACDB_TEXTOBJECTCONTEXTDATA_CLASS': {
|
|
196
|
-
var context = new AcDbTextObjectContextData();
|
|
197
|
-
context.dxfIn(filer);
|
|
202
|
+
var context = this.readContextData(filer, new AcDbTextObjectContextData(), typeName);
|
|
198
203
|
var handle = normalizeHandle(context.objectId);
|
|
199
204
|
if (handle) {
|
|
200
205
|
this._db.objects.objectContextData.setAt(handle, context);
|
|
@@ -209,8 +214,7 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
209
214
|
case 'ACDB_RADDIMOBJECTCONTEXTDATA_CLASS':
|
|
210
215
|
case 'ACDB_RADIMOBJECTCONTEXTDATA_CLASS':
|
|
211
216
|
case 'ACDB_RADDIMLGCOBJECTCONTEXTDATA_CLASS': {
|
|
212
|
-
var context = new AcDbDimensionObjectContextData();
|
|
213
|
-
context.dxfIn(filer);
|
|
217
|
+
var context = this.readContextData(filer, new AcDbDimensionObjectContextData(), typeName);
|
|
214
218
|
var handle = normalizeHandle(context.objectId);
|
|
215
219
|
if (handle) {
|
|
216
220
|
this._db.objects.objectContextData.setAt(handle, context);
|
|
@@ -218,8 +222,7 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
218
222
|
break;
|
|
219
223
|
}
|
|
220
224
|
case 'ACDB_HATCHSCALECONTEXTDATA_CLASS': {
|
|
221
|
-
var context = new AcDbHatchScaleContextData();
|
|
222
|
-
context.dxfIn(filer);
|
|
225
|
+
var context = this.readContextData(filer, new AcDbHatchScaleContextData(), typeName);
|
|
223
226
|
var handle = normalizeHandle(context.objectId);
|
|
224
227
|
if (handle) {
|
|
225
228
|
this._db.objects.objectContextData.setAt(handle, context);
|
|
@@ -227,8 +230,7 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
227
230
|
break;
|
|
228
231
|
}
|
|
229
232
|
case 'ACDB_BLKREFOBJECTCONTEXTDATA_CLASS': {
|
|
230
|
-
var context = new AcDbBlkRefObjectContextData();
|
|
231
|
-
context.dxfIn(filer);
|
|
233
|
+
var context = this.readContextData(filer, new AcDbBlkRefObjectContextData(), typeName);
|
|
232
234
|
var handle = normalizeHandle(context.objectId);
|
|
233
235
|
if (handle) {
|
|
234
236
|
this._db.objects.objectContextData.setAt(handle, context);
|
|
@@ -236,8 +238,7 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
236
238
|
break;
|
|
237
239
|
}
|
|
238
240
|
case 'ACDB_LEADEROBJECTCONTEXTDATA_CLASS': {
|
|
239
|
-
var context = new AcDbLeaderObjectContextData();
|
|
240
|
-
context.dxfIn(filer);
|
|
241
|
+
var context = this.readContextData(filer, new AcDbLeaderObjectContextData(), typeName);
|
|
241
242
|
var handle = normalizeHandle(context.objectId);
|
|
242
243
|
if (handle) {
|
|
243
244
|
this._db.objects.objectContextData.setAt(handle, context);
|
|
@@ -245,8 +246,7 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
245
246
|
break;
|
|
246
247
|
}
|
|
247
248
|
case 'ACDB_MLEADEROBJECTCONTEXTDATA_CLASS': {
|
|
248
|
-
var context = new AcDbMLeaderObjectContextData();
|
|
249
|
-
context.dxfIn(filer);
|
|
249
|
+
var context = this.readContextData(filer, new AcDbMLeaderObjectContextData(), typeName);
|
|
250
250
|
var handle = normalizeHandle(context.objectId);
|
|
251
251
|
if (handle) {
|
|
252
252
|
this._db.objects.objectContextData.setAt(handle, context);
|
|
@@ -254,8 +254,7 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
254
254
|
break;
|
|
255
255
|
}
|
|
256
256
|
case 'ACDB_MTEXTATTRIBUTEOBJECTCONTEXTDATA_CLASS': {
|
|
257
|
-
var context = new AcDbMTextAttributeObjectContextData();
|
|
258
|
-
context.dxfIn(filer);
|
|
257
|
+
var context = this.readContextData(filer, new AcDbMTextAttributeObjectContextData(), typeName);
|
|
259
258
|
var handle = normalizeHandle(context.objectId);
|
|
260
259
|
if (handle) {
|
|
261
260
|
this._db.objects.objectContextData.setAt(handle, context);
|
|
@@ -285,12 +284,42 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
285
284
|
}
|
|
286
285
|
break;
|
|
287
286
|
}
|
|
288
|
-
default:
|
|
289
|
-
//
|
|
287
|
+
default: {
|
|
288
|
+
// No native class: keep the tags verbatim (ezdxf DXFTagStorage) so
|
|
289
|
+
// dictionaries and handles that point at the record stay valid.
|
|
290
290
|
this._unknownObjectCount += 1;
|
|
291
|
-
|
|
291
|
+
var object = new AcDbUnknownObject(typeName);
|
|
292
|
+
object.dxfIn(filer);
|
|
293
|
+
if (object.objectId) {
|
|
294
|
+
object.database = this._db;
|
|
295
|
+
this._db.registerObjectHandle(object);
|
|
296
|
+
this._db.addDxfUnknownObject(object);
|
|
297
|
+
this._unknownObjects.push(object);
|
|
298
|
+
}
|
|
299
|
+
break;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
};
|
|
303
|
+
/**
|
|
304
|
+
* Reads a context-data record keeping its tags for verbatim export; only
|
|
305
|
+
* part of each record is modeled natively.
|
|
306
|
+
*/
|
|
307
|
+
AcDbDxfObjectsReader.prototype.readContextData = function (filer, context, typeName) {
|
|
308
|
+
var pairs = acdbDrainDxfObjectPairs(filer);
|
|
309
|
+
// Trailing XData is replayed too so dxfIn stores it on the object.
|
|
310
|
+
while (!filer.atEndOfObject && !filer.atEof) {
|
|
311
|
+
var item = filer.readItem();
|
|
312
|
+
if (!item)
|
|
292
313
|
break;
|
|
314
|
+
pairs.push(acdbTypedValueToDxfPair(item));
|
|
293
315
|
}
|
|
316
|
+
var replay = AcDbDxfFiler.forReading(new AcDbDxfPairArrayReader(pairs), {
|
|
317
|
+
database: filer.database
|
|
318
|
+
});
|
|
319
|
+
context.dxfIn(replay);
|
|
320
|
+
context.dxfRecordName = typeName;
|
|
321
|
+
context.setDxfRawTags(acdbSplitDxfRawTags(pairs).tags);
|
|
322
|
+
return context;
|
|
294
323
|
};
|
|
295
324
|
/**
|
|
296
325
|
* Wire the root named-object dictionary and known child dictionaries
|
|
@@ -320,7 +349,7 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
320
349
|
if (!(root === null || root === void 0 ? void 0 : root.handle))
|
|
321
350
|
return;
|
|
322
351
|
var rootDict = this._db.objects.dictionary;
|
|
323
|
-
rootDict
|
|
352
|
+
this.adoptDxfHandle(rootDict, root.handle);
|
|
324
353
|
rootDict.ownerId = '0';
|
|
325
354
|
var typedByKey = {
|
|
326
355
|
ACAD_LAYOUT: this._db.objects.layout,
|
|
@@ -339,7 +368,7 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
339
368
|
var typed = typedByKey[key.toUpperCase()];
|
|
340
369
|
if (!typed)
|
|
341
370
|
continue;
|
|
342
|
-
typed
|
|
371
|
+
this.adoptDxfHandle(typed, childHandle);
|
|
343
372
|
typed.ownerId = root.handle;
|
|
344
373
|
rootDict.setAt(key, typed);
|
|
345
374
|
var child = this._dictionaries.get(normalizeHandle(childHandle));
|
|
@@ -358,12 +387,12 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
358
387
|
// from the NOD child handle before merging, so ownerId-based hasId()
|
|
359
388
|
// misses objects that were setAt under the previous dictionary handle.
|
|
360
389
|
var targetId = normalizeHandle(obj.objectId);
|
|
361
|
-
var
|
|
390
|
+
var storedKey = void 0;
|
|
362
391
|
try {
|
|
363
392
|
for (var _o = (e_4 = void 0, __values(typed.entries())), _p = _o.next(); !_p.done; _p = _o.next()) {
|
|
364
|
-
var _q = __read(_p.value, 2), existing = _q[1];
|
|
393
|
+
var _q = __read(_p.value, 2), key_1 = _q[0], existing = _q[1];
|
|
365
394
|
if (normalizeHandle(existing.objectId) === targetId) {
|
|
366
|
-
|
|
395
|
+
storedKey = key_1;
|
|
367
396
|
break;
|
|
368
397
|
}
|
|
369
398
|
}
|
|
@@ -375,7 +404,19 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
375
404
|
}
|
|
376
405
|
finally { if (e_4) throw e_4.error; }
|
|
377
406
|
}
|
|
378
|
-
if (
|
|
407
|
+
if (typed === this._db.objects.mleaderStyle &&
|
|
408
|
+
storedKey != null &&
|
|
409
|
+
storedKey !== entryName &&
|
|
410
|
+
normalizeHandle(storedKey) === targetId &&
|
|
411
|
+
!typed.getAt(entryName)) {
|
|
412
|
+
// MLEADERSTYLE has no name of its own: it is keyed by handle until
|
|
413
|
+
// the NOD entry names it. Without the rename, CMLEADERSTYLE never
|
|
414
|
+
// matches and a duplicate "Standard" style is created on every open.
|
|
415
|
+
typed.remove(storedKey);
|
|
416
|
+
typed.setAt(entryName, obj);
|
|
417
|
+
continue;
|
|
418
|
+
}
|
|
419
|
+
if (!typed.getAt(entryName) && storedKey == null) {
|
|
379
420
|
typed.setAt(entryName, obj);
|
|
380
421
|
}
|
|
381
422
|
}
|
|
@@ -397,170 +438,234 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
397
438
|
finally { if (e_2) throw e_2.error; }
|
|
398
439
|
}
|
|
399
440
|
};
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
441
|
+
/**
|
|
442
|
+
* Gives a bootstrap dictionary the handle it has in the DXF. A default
|
|
443
|
+
* object that was minted the same handle (e.g. an `ACAD_GROUP` the file
|
|
444
|
+
* does not contain) moves to a fresh handle so no handle is written twice.
|
|
445
|
+
*/
|
|
446
|
+
AcDbDxfObjectsReader.prototype.adoptDxfHandle = function (dict, handle) {
|
|
447
|
+
var e_5, _a, e_6, _b;
|
|
448
|
+
if (normalizeHandle(dict.objectId) === normalizeHandle(handle))
|
|
449
|
+
return;
|
|
450
|
+
var incumbent = this._db.getObjectById(handle);
|
|
451
|
+
if (incumbent && incumbent !== dict) {
|
|
452
|
+
var fresh = this._db.generateUniqueHandle();
|
|
453
|
+
this._db.releaseObjectHandle(incumbent);
|
|
454
|
+
incumbent.objectId = fresh;
|
|
455
|
+
this._db.registerObjectHandle(incumbent);
|
|
456
|
+
if (incumbent instanceof AcDbDictionary) {
|
|
457
|
+
try {
|
|
458
|
+
for (var _c = __values(incumbent.entries()), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
459
|
+
var _e = __read(_d.value, 2), entry = _e[1];
|
|
460
|
+
if (entry.ownerId === handle)
|
|
461
|
+
entry.ownerId = fresh;
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
catch (e_5_1) { e_5 = { error: e_5_1 }; }
|
|
465
|
+
finally {
|
|
466
|
+
try {
|
|
467
|
+
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
|
|
468
|
+
}
|
|
469
|
+
finally { if (e_5) throw e_5.error; }
|
|
470
|
+
}
|
|
418
471
|
}
|
|
419
|
-
finally { if (e_5) throw e_5.error; }
|
|
420
472
|
}
|
|
473
|
+
var oldHandle = dict.objectId;
|
|
474
|
+
this._db.releaseObjectHandle(dict);
|
|
475
|
+
dict.objectId = handle;
|
|
476
|
+
this._db.registerObjectHandle(dict);
|
|
421
477
|
try {
|
|
422
|
-
for (var
|
|
423
|
-
var
|
|
424
|
-
|
|
478
|
+
for (var _f = __values(dict.entries()), _g = _f.next(); !_g.done; _g = _f.next()) {
|
|
479
|
+
var _h = __read(_g.value, 2), entry = _h[1];
|
|
480
|
+
if (entry.ownerId === oldHandle)
|
|
481
|
+
entry.ownerId = handle;
|
|
425
482
|
}
|
|
426
483
|
}
|
|
427
484
|
catch (e_6_1) { e_6 = { error: e_6_1 }; }
|
|
428
485
|
finally {
|
|
429
486
|
try {
|
|
430
|
-
if (
|
|
487
|
+
if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
|
|
431
488
|
}
|
|
432
489
|
finally { if (e_6) throw e_6.error; }
|
|
433
490
|
}
|
|
491
|
+
};
|
|
492
|
+
AcDbDxfObjectsReader.prototype.collectLoadedObjectsByHandle = function () {
|
|
493
|
+
var e_7, _a, e_8, _b, e_9, _c, e_10, _d, e_11, _e, e_12, _f, e_13, _g, e_14, _h, e_15, _j, e_16, _k, e_17, _l, e_18, _m, e_19, _o;
|
|
494
|
+
var map = new Map();
|
|
495
|
+
var add = function (obj) {
|
|
496
|
+
var id = normalizeHandle(obj.objectId);
|
|
497
|
+
if (id)
|
|
498
|
+
map.set(id, obj);
|
|
499
|
+
};
|
|
434
500
|
try {
|
|
435
|
-
for (var
|
|
436
|
-
var
|
|
501
|
+
for (var _p = __values(this._db.objects.layout.entries()), _q = _p.next(); !_q.done; _q = _p.next()) {
|
|
502
|
+
var _r = __read(_q.value, 2), o = _r[1];
|
|
437
503
|
add(o);
|
|
438
504
|
}
|
|
439
505
|
}
|
|
440
506
|
catch (e_7_1) { e_7 = { error: e_7_1 }; }
|
|
441
507
|
finally {
|
|
442
508
|
try {
|
|
443
|
-
if (
|
|
509
|
+
if (_q && !_q.done && (_a = _p.return)) _a.call(_p);
|
|
444
510
|
}
|
|
445
511
|
finally { if (e_7) throw e_7.error; }
|
|
446
512
|
}
|
|
447
513
|
try {
|
|
448
|
-
for (var
|
|
449
|
-
var
|
|
514
|
+
for (var _s = __values(this._db.objects.group.entries()), _t = _s.next(); !_t.done; _t = _s.next()) {
|
|
515
|
+
var _u = __read(_t.value, 2), o = _u[1];
|
|
450
516
|
add(o);
|
|
451
517
|
}
|
|
452
518
|
}
|
|
453
519
|
catch (e_8_1) { e_8 = { error: e_8_1 }; }
|
|
454
520
|
finally {
|
|
455
521
|
try {
|
|
456
|
-
if (
|
|
522
|
+
if (_t && !_t.done && (_b = _s.return)) _b.call(_s);
|
|
457
523
|
}
|
|
458
524
|
finally { if (e_8) throw e_8.error; }
|
|
459
525
|
}
|
|
460
526
|
try {
|
|
461
|
-
for (var
|
|
462
|
-
var
|
|
527
|
+
for (var _v = __values(this._db.objects.sortentsTable.entries()), _w = _v.next(); !_w.done; _w = _v.next()) {
|
|
528
|
+
var _x = __read(_w.value, 2), o = _x[1];
|
|
463
529
|
add(o);
|
|
464
530
|
}
|
|
465
531
|
}
|
|
466
532
|
catch (e_9_1) { e_9 = { error: e_9_1 }; }
|
|
467
533
|
finally {
|
|
468
534
|
try {
|
|
469
|
-
if (
|
|
535
|
+
if (_w && !_w.done && (_c = _v.return)) _c.call(_v);
|
|
470
536
|
}
|
|
471
537
|
finally { if (e_9) throw e_9.error; }
|
|
472
538
|
}
|
|
473
539
|
try {
|
|
474
|
-
for (var
|
|
475
|
-
var
|
|
540
|
+
for (var _y = __values(this._db.objects.imageDefinition.entries()), _z = _y.next(); !_z.done; _z = _y.next()) {
|
|
541
|
+
var _0 = __read(_z.value, 2), o = _0[1];
|
|
476
542
|
add(o);
|
|
477
543
|
}
|
|
478
544
|
}
|
|
479
545
|
catch (e_10_1) { e_10 = { error: e_10_1 }; }
|
|
480
546
|
finally {
|
|
481
547
|
try {
|
|
482
|
-
if (
|
|
548
|
+
if (_z && !_z.done && (_d = _y.return)) _d.call(_y);
|
|
483
549
|
}
|
|
484
550
|
finally { if (e_10) throw e_10.error; }
|
|
485
551
|
}
|
|
486
552
|
try {
|
|
487
|
-
for (var
|
|
488
|
-
var
|
|
553
|
+
for (var _1 = __values(this._db.objects.mleaderStyle.entries()), _2 = _1.next(); !_2.done; _2 = _1.next()) {
|
|
554
|
+
var _3 = __read(_2.value, 2), o = _3[1];
|
|
489
555
|
add(o);
|
|
490
556
|
}
|
|
491
557
|
}
|
|
492
558
|
catch (e_11_1) { e_11 = { error: e_11_1 }; }
|
|
493
559
|
finally {
|
|
494
560
|
try {
|
|
495
|
-
if (
|
|
561
|
+
if (_2 && !_2.done && (_e = _1.return)) _e.call(_1);
|
|
496
562
|
}
|
|
497
563
|
finally { if (e_11) throw e_11.error; }
|
|
498
564
|
}
|
|
499
565
|
try {
|
|
500
|
-
for (var
|
|
501
|
-
var
|
|
566
|
+
for (var _4 = __values(this._db.objects.mlineStyle.entries()), _5 = _4.next(); !_5.done; _5 = _4.next()) {
|
|
567
|
+
var _6 = __read(_5.value, 2), o = _6[1];
|
|
502
568
|
add(o);
|
|
503
569
|
}
|
|
504
570
|
}
|
|
505
571
|
catch (e_12_1) { e_12 = { error: e_12_1 }; }
|
|
506
572
|
finally {
|
|
507
573
|
try {
|
|
508
|
-
if (
|
|
574
|
+
if (_5 && !_5.done && (_f = _4.return)) _f.call(_4);
|
|
509
575
|
}
|
|
510
576
|
finally { if (e_12) throw e_12.error; }
|
|
511
577
|
}
|
|
512
578
|
try {
|
|
513
|
-
for (var
|
|
514
|
-
var
|
|
579
|
+
for (var _7 = __values(this._db.objects.layerFilter.entries()), _8 = _7.next(); !_8.done; _8 = _7.next()) {
|
|
580
|
+
var _9 = __read(_8.value, 2), o = _9[1];
|
|
515
581
|
add(o);
|
|
516
582
|
}
|
|
517
583
|
}
|
|
518
584
|
catch (e_13_1) { e_13 = { error: e_13_1 }; }
|
|
519
585
|
finally {
|
|
520
586
|
try {
|
|
521
|
-
if (
|
|
587
|
+
if (_8 && !_8.done && (_g = _7.return)) _g.call(_7);
|
|
522
588
|
}
|
|
523
589
|
finally { if (e_13) throw e_13.error; }
|
|
524
590
|
}
|
|
525
591
|
try {
|
|
526
|
-
for (var
|
|
527
|
-
var
|
|
592
|
+
for (var _10 = __values(this._db.objects.layerIndex.entries()), _11 = _10.next(); !_11.done; _11 = _10.next()) {
|
|
593
|
+
var _12 = __read(_11.value, 2), o = _12[1];
|
|
528
594
|
add(o);
|
|
529
595
|
}
|
|
530
596
|
}
|
|
531
597
|
catch (e_14_1) { e_14 = { error: e_14_1 }; }
|
|
532
598
|
finally {
|
|
533
599
|
try {
|
|
534
|
-
if (
|
|
600
|
+
if (_11 && !_11.done && (_h = _10.return)) _h.call(_10);
|
|
535
601
|
}
|
|
536
602
|
finally { if (e_14) throw e_14.error; }
|
|
537
603
|
}
|
|
538
604
|
try {
|
|
539
|
-
for (var
|
|
540
|
-
var
|
|
605
|
+
for (var _13 = __values(this._db.objects.xrecord.entries()), _14 = _13.next(); !_14.done; _14 = _13.next()) {
|
|
606
|
+
var _15 = __read(_14.value, 2), o = _15[1];
|
|
541
607
|
add(o);
|
|
542
608
|
}
|
|
543
609
|
}
|
|
544
610
|
catch (e_15_1) { e_15 = { error: e_15_1 }; }
|
|
545
611
|
finally {
|
|
546
612
|
try {
|
|
547
|
-
if (
|
|
613
|
+
if (_14 && !_14.done && (_j = _13.return)) _j.call(_13);
|
|
548
614
|
}
|
|
549
615
|
finally { if (e_15) throw e_15.error; }
|
|
550
616
|
}
|
|
551
617
|
try {
|
|
552
|
-
for (var
|
|
553
|
-
var
|
|
618
|
+
for (var _16 = __values(this._db.objects.scale.entries()), _17 = _16.next(); !_17.done; _17 = _16.next()) {
|
|
619
|
+
var _18 = __read(_17.value, 2), o = _18[1];
|
|
554
620
|
add(o);
|
|
555
621
|
}
|
|
556
622
|
}
|
|
557
623
|
catch (e_16_1) { e_16 = { error: e_16_1 }; }
|
|
558
624
|
finally {
|
|
559
625
|
try {
|
|
560
|
-
if (
|
|
626
|
+
if (_17 && !_17.done && (_k = _16.return)) _k.call(_16);
|
|
561
627
|
}
|
|
562
628
|
finally { if (e_16) throw e_16.error; }
|
|
563
629
|
}
|
|
630
|
+
try {
|
|
631
|
+
for (var _19 = __values(this._db.objects.dictionaryVar.entries()), _20 = _19.next(); !_20.done; _20 = _19.next()) {
|
|
632
|
+
var _21 = __read(_20.value, 2), o = _21[1];
|
|
633
|
+
add(o);
|
|
634
|
+
}
|
|
635
|
+
}
|
|
636
|
+
catch (e_17_1) { e_17 = { error: e_17_1 }; }
|
|
637
|
+
finally {
|
|
638
|
+
try {
|
|
639
|
+
if (_20 && !_20.done && (_l = _19.return)) _l.call(_19);
|
|
640
|
+
}
|
|
641
|
+
finally { if (e_17) throw e_17.error; }
|
|
642
|
+
}
|
|
643
|
+
try {
|
|
644
|
+
for (var _22 = __values(this._db.objects.objectContextData.entries()), _23 = _22.next(); !_23.done; _23 = _22.next()) {
|
|
645
|
+
var _24 = __read(_23.value, 2), o = _24[1];
|
|
646
|
+
add(o);
|
|
647
|
+
}
|
|
648
|
+
}
|
|
649
|
+
catch (e_18_1) { e_18 = { error: e_18_1 }; }
|
|
650
|
+
finally {
|
|
651
|
+
try {
|
|
652
|
+
if (_23 && !_23.done && (_m = _22.return)) _m.call(_22);
|
|
653
|
+
}
|
|
654
|
+
finally { if (e_18) throw e_18.error; }
|
|
655
|
+
}
|
|
656
|
+
try {
|
|
657
|
+
for (var _25 = __values(this._unknownObjects), _26 = _25.next(); !_26.done; _26 = _25.next()) {
|
|
658
|
+
var o = _26.value;
|
|
659
|
+
add(o);
|
|
660
|
+
}
|
|
661
|
+
}
|
|
662
|
+
catch (e_19_1) { e_19 = { error: e_19_1 }; }
|
|
663
|
+
finally {
|
|
664
|
+
try {
|
|
665
|
+
if (_26 && !_26.done && (_o = _25.return)) _o.call(_25);
|
|
666
|
+
}
|
|
667
|
+
finally { if (e_19) throw e_19.error; }
|
|
668
|
+
}
|
|
564
669
|
return map;
|
|
565
670
|
};
|
|
566
671
|
/**
|
|
@@ -570,7 +675,7 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
570
675
|
* {@link AcDbDatabase.getObjectById}.
|
|
571
676
|
*/
|
|
572
677
|
AcDbDxfObjectsReader.prototype.materializeBufferedDictionaries = function () {
|
|
573
|
-
var
|
|
678
|
+
var e_20, _a, e_21, _b, e_22, _c, e_23, _d, e_24, _e, e_25, _f, e_26, _g, e_27, _h;
|
|
574
679
|
var _j;
|
|
575
680
|
if (this._dictionaries.size === 0)
|
|
576
681
|
return;
|
|
@@ -587,12 +692,12 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
587
692
|
}
|
|
588
693
|
}
|
|
589
694
|
}
|
|
590
|
-
catch (
|
|
695
|
+
catch (e_20_1) { e_20 = { error: e_20_1 }; }
|
|
591
696
|
finally {
|
|
592
697
|
try {
|
|
593
698
|
if (_l && !_l.done && (_a = _k.return)) _a.call(_k);
|
|
594
699
|
}
|
|
595
|
-
finally { if (
|
|
700
|
+
finally { if (e_20) throw e_20.error; }
|
|
596
701
|
}
|
|
597
702
|
var materialized = new Map();
|
|
598
703
|
try {
|
|
@@ -610,6 +715,8 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
610
715
|
this._db.releaseObjectHandle(dict);
|
|
611
716
|
dict.objectId = handle;
|
|
612
717
|
dict.ownerId = persist.ownerObjectId || '0';
|
|
718
|
+
if (persist.defaultId)
|
|
719
|
+
dict.defaultId = persist.defaultId;
|
|
613
720
|
if (persist.extensionDictionaryId) {
|
|
614
721
|
dict.extensionDictionary = persist.extensionDictionaryId;
|
|
615
722
|
}
|
|
@@ -617,12 +724,12 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
617
724
|
materialized.set(handle, dict);
|
|
618
725
|
}
|
|
619
726
|
}
|
|
620
|
-
catch (
|
|
727
|
+
catch (e_21_1) { e_21 = { error: e_21_1 }; }
|
|
621
728
|
finally {
|
|
622
729
|
try {
|
|
623
730
|
if (_o && !_o.done && (_b = _m.return)) _b.call(_m);
|
|
624
731
|
}
|
|
625
|
-
finally { if (
|
|
732
|
+
finally { if (e_21) throw e_21.error; }
|
|
626
733
|
}
|
|
627
734
|
var objectsByHandle = this.collectLoadedObjectsByHandle();
|
|
628
735
|
try {
|
|
@@ -631,12 +738,12 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
631
738
|
objectsByHandle.set(handle, dict);
|
|
632
739
|
}
|
|
633
740
|
}
|
|
634
|
-
catch (
|
|
741
|
+
catch (e_22_1) { e_22 = { error: e_22_1 }; }
|
|
635
742
|
finally {
|
|
636
743
|
try {
|
|
637
744
|
if (materialized_1_1 && !materialized_1_1.done && (_c = materialized_1.return)) _c.call(materialized_1);
|
|
638
745
|
}
|
|
639
|
-
finally { if (
|
|
746
|
+
finally { if (e_22) throw e_22.error; }
|
|
640
747
|
}
|
|
641
748
|
try {
|
|
642
749
|
for (var _r = __values(this._dictionaries), _s = _r.next(); !_s.done; _s = _r.next()) {
|
|
@@ -645,7 +752,7 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
645
752
|
if (!dict)
|
|
646
753
|
continue;
|
|
647
754
|
try {
|
|
648
|
-
for (var _u = (
|
|
755
|
+
for (var _u = (e_24 = void 0, __values(Object.entries(persist.entries))), _v = _u.next(); !_v.done; _v = _u.next()) {
|
|
649
756
|
var _w = __read(_v.value, 2), entryName = _w[0], entryHandle = _w[1];
|
|
650
757
|
var obj = objectsByHandle.get(normalizeHandle(entryHandle));
|
|
651
758
|
if (!obj)
|
|
@@ -658,7 +765,7 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
658
765
|
var targetId = normalizeHandle(obj.objectId);
|
|
659
766
|
var alreadyStored = false;
|
|
660
767
|
try {
|
|
661
|
-
for (var _x = (
|
|
768
|
+
for (var _x = (e_25 = void 0, __values(dict.entries())), _y = _x.next(); !_y.done; _y = _x.next()) {
|
|
662
769
|
var _z = __read(_y.value, 2), existing = _z[1];
|
|
663
770
|
if (normalizeHandle(existing.objectId) === targetId) {
|
|
664
771
|
alreadyStored = true;
|
|
@@ -666,12 +773,12 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
666
773
|
}
|
|
667
774
|
}
|
|
668
775
|
}
|
|
669
|
-
catch (
|
|
776
|
+
catch (e_25_1) { e_25 = { error: e_25_1 }; }
|
|
670
777
|
finally {
|
|
671
778
|
try {
|
|
672
779
|
if (_y && !_y.done && (_f = _x.return)) _f.call(_x);
|
|
673
780
|
}
|
|
674
|
-
finally { if (
|
|
781
|
+
finally { if (e_25) throw e_25.error; }
|
|
675
782
|
}
|
|
676
783
|
if (alreadyStored)
|
|
677
784
|
continue;
|
|
@@ -683,21 +790,21 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
683
790
|
}
|
|
684
791
|
}
|
|
685
792
|
}
|
|
686
|
-
catch (
|
|
793
|
+
catch (e_24_1) { e_24 = { error: e_24_1 }; }
|
|
687
794
|
finally {
|
|
688
795
|
try {
|
|
689
796
|
if (_v && !_v.done && (_e = _u.return)) _e.call(_u);
|
|
690
797
|
}
|
|
691
|
-
finally { if (
|
|
798
|
+
finally { if (e_24) throw e_24.error; }
|
|
692
799
|
}
|
|
693
800
|
}
|
|
694
801
|
}
|
|
695
|
-
catch (
|
|
802
|
+
catch (e_23_1) { e_23 = { error: e_23_1 }; }
|
|
696
803
|
finally {
|
|
697
804
|
try {
|
|
698
805
|
if (_s && !_s.done && (_d = _r.return)) _d.call(_r);
|
|
699
806
|
}
|
|
700
|
-
finally { if (
|
|
807
|
+
finally { if (e_23) throw e_23.error; }
|
|
701
808
|
}
|
|
702
809
|
// Attach non-typed root NOD children (e.g. AcDbVariableDictionary) so
|
|
703
810
|
// callers can resolve them by name from objects.dictionary.
|
|
@@ -711,12 +818,12 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
711
818
|
}
|
|
712
819
|
}
|
|
713
820
|
}
|
|
714
|
-
catch (
|
|
821
|
+
catch (e_26_1) { e_26 = { error: e_26_1 }; }
|
|
715
822
|
finally {
|
|
716
823
|
try {
|
|
717
824
|
if (_2 && !_2.done && (_g = _1.return)) _g.call(_1);
|
|
718
825
|
}
|
|
719
|
-
finally { if (
|
|
826
|
+
finally { if (e_26) throw e_26.error; }
|
|
720
827
|
}
|
|
721
828
|
if (!(rootPersist === null || rootPersist === void 0 ? void 0 : rootPersist.handle))
|
|
722
829
|
return;
|
|
@@ -737,12 +844,12 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
737
844
|
}
|
|
738
845
|
}
|
|
739
846
|
}
|
|
740
|
-
catch (
|
|
847
|
+
catch (e_27_1) { e_27 = { error: e_27_1 }; }
|
|
741
848
|
finally {
|
|
742
849
|
try {
|
|
743
850
|
if (_4 && !_4.done && (_h = _3.return)) _h.call(_3);
|
|
744
851
|
}
|
|
745
|
-
finally { if (
|
|
852
|
+
finally { if (e_27) throw e_27.error; }
|
|
746
853
|
}
|
|
747
854
|
};
|
|
748
855
|
/**
|
|
@@ -774,13 +881,14 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
774
881
|
var raw = String(annoVar.value).trim();
|
|
775
882
|
this._db.annoallvisible = raw !== '0' && raw.toLowerCase() !== 'false';
|
|
776
883
|
};
|
|
777
|
-
AcDbDxfObjectsReader.prototype.readPersistDictionary = function (filer) {
|
|
884
|
+
AcDbDxfObjectsReader.prototype.readPersistDictionary = function (filer, typeName) {
|
|
778
885
|
var result = {
|
|
779
886
|
handle: '',
|
|
780
887
|
ownerObjectId: '',
|
|
781
888
|
entries: {}
|
|
782
889
|
};
|
|
783
890
|
var pendingName;
|
|
891
|
+
var inDefaultSubclass = false;
|
|
784
892
|
while (!filer.atEndOfObject && !filer.atEof && !filer.atExtendedData) {
|
|
785
893
|
var item = filer.readItem();
|
|
786
894
|
if (!item)
|
|
@@ -794,6 +902,9 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
794
902
|
result.ownerObjectId = String(item.value);
|
|
795
903
|
break;
|
|
796
904
|
case 100:
|
|
905
|
+
inDefaultSubclass =
|
|
906
|
+
String(item.value) === 'AcDbDictionaryWithDefault';
|
|
907
|
+
break;
|
|
797
908
|
case 280:
|
|
798
909
|
case 281:
|
|
799
910
|
break;
|
|
@@ -804,7 +915,12 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
804
915
|
case 340:
|
|
805
916
|
case 360: {
|
|
806
917
|
var target = normalizeHandle(String(item.value));
|
|
807
|
-
if (
|
|
918
|
+
if (code === 340 &&
|
|
919
|
+
(inDefaultSubclass || typeName === 'ACDBDICTIONARYWDFLT') &&
|
|
920
|
+
!pendingName) {
|
|
921
|
+
result.defaultId = target;
|
|
922
|
+
}
|
|
923
|
+
else if (pendingName) {
|
|
808
924
|
result.entries[pendingName] = target;
|
|
809
925
|
pendingName = undefined;
|
|
810
926
|
}
|
|
@@ -845,7 +961,7 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
845
961
|
* matching {@link AcDbObjectConverter.convertLayout} resolution rules.
|
|
846
962
|
*/
|
|
847
963
|
AcDbDxfObjectsReader.prototype.linkLayoutsToBlockTableRecords = function () {
|
|
848
|
-
var
|
|
964
|
+
var e_28, _a, e_29, _b, e_30, _c;
|
|
849
965
|
var blockTable = this._db.tables.blockTable;
|
|
850
966
|
var modelSpaceName = AcDbBlockTableRecord.MODEL_SPACE_NAME.toUpperCase();
|
|
851
967
|
try {
|
|
@@ -860,7 +976,7 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
860
976
|
var layoutHandle = normalizeHandle(layout.objectId);
|
|
861
977
|
var linked = false;
|
|
862
978
|
try {
|
|
863
|
-
for (var _g = (
|
|
979
|
+
for (var _g = (e_29 = void 0, __values(blockTable.newIterator())), _h = _g.next(); !_h.done; _h = _g.next()) {
|
|
864
980
|
var btr = _h.value;
|
|
865
981
|
if (normalizeHandle(btr.layoutId) === layoutHandle) {
|
|
866
982
|
layout.blockTableRecordId = btr.objectId;
|
|
@@ -869,12 +985,12 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
869
985
|
}
|
|
870
986
|
}
|
|
871
987
|
}
|
|
872
|
-
catch (
|
|
988
|
+
catch (e_29_1) { e_29 = { error: e_29_1 }; }
|
|
873
989
|
finally {
|
|
874
990
|
try {
|
|
875
991
|
if (_h && !_h.done && (_b = _g.return)) _b.call(_g);
|
|
876
992
|
}
|
|
877
|
-
finally { if (
|
|
993
|
+
finally { if (e_29) throw e_29.error; }
|
|
878
994
|
}
|
|
879
995
|
if (!linked && layout.blockTableRecordId) {
|
|
880
996
|
var btr = blockTable.getIdAt(layout.blockTableRecordId);
|
|
@@ -885,7 +1001,7 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
885
1001
|
else if (!linked) {
|
|
886
1002
|
try {
|
|
887
1003
|
// Fallback: paper-space BTR whose name is not model space and has no layout yet.
|
|
888
|
-
for (var _j = (
|
|
1004
|
+
for (var _j = (e_30 = void 0, __values(blockTable.newIterator())), _k = _j.next(); !_k.done; _k = _j.next()) {
|
|
889
1005
|
var btr = _k.value;
|
|
890
1006
|
if (btr.isPaperSapce &&
|
|
891
1007
|
btr.name.toUpperCase() !== modelSpaceName &&
|
|
@@ -896,22 +1012,22 @@ var AcDbDxfObjectsReader = /** @class */ (function () {
|
|
|
896
1012
|
}
|
|
897
1013
|
}
|
|
898
1014
|
}
|
|
899
|
-
catch (
|
|
1015
|
+
catch (e_30_1) { e_30 = { error: e_30_1 }; }
|
|
900
1016
|
finally {
|
|
901
1017
|
try {
|
|
902
1018
|
if (_k && !_k.done && (_c = _j.return)) _c.call(_j);
|
|
903
1019
|
}
|
|
904
|
-
finally { if (
|
|
1020
|
+
finally { if (e_30) throw e_30.error; }
|
|
905
1021
|
}
|
|
906
1022
|
}
|
|
907
1023
|
}
|
|
908
1024
|
}
|
|
909
|
-
catch (
|
|
1025
|
+
catch (e_28_1) { e_28 = { error: e_28_1 }; }
|
|
910
1026
|
finally {
|
|
911
1027
|
try {
|
|
912
1028
|
if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
|
|
913
1029
|
}
|
|
914
|
-
finally { if (
|
|
1030
|
+
finally { if (e_28) throw e_28.error; }
|
|
915
1031
|
}
|
|
916
1032
|
};
|
|
917
1033
|
return AcDbDxfObjectsReader;
|