@mlightcad/data-model 1.10.6 → 1.11.0
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/README.md +1 -1
- package/dist/data-model.cjs +12 -12
- package/lib/acis/AcDbAcisDecode.d.ts +3 -3
- package/lib/acis/AcDbAcisDecode.js +8 -8
- package/lib/acis/AcDbAcisEntities.d.ts +2 -2
- package/lib/acis/AcDbAcisEntities.js +2 -2
- package/lib/acis/AcDbAcisGeometry.d.ts +5 -5
- package/lib/acis/AcDbAcisGeometry.js +5 -5
- package/lib/acis/AcDbAcisSab.d.ts +1 -1
- package/lib/acis/AcDbAcisSab.js +1 -1
- package/lib/acis/AcDbAcisSatWireframe.d.ts +1 -1
- package/lib/acis/AcDbAcisSatWireframe.js +3 -3
- package/lib/acis/AcDbAcisWireframe.js +8 -8
- package/lib/acis/index.d.ts +6 -6
- package/lib/acis/index.d.ts.map +1 -1
- package/lib/acis/index.js +6 -6
- package/lib/acis/index.js.map +1 -1
- package/lib/base/AcDbHostApplicationServices.d.ts +1 -1
- package/lib/base/AcDbHostApplicationServices.js +3 -3
- package/lib/base/AcDbObject.d.ts +1 -1
- package/lib/base/AcDbObject.d.ts.map +1 -1
- package/lib/base/AcDbObject.js +9 -6
- package/lib/base/AcDbObject.js.map +1 -1
- package/lib/base/index.d.ts +2 -2
- package/lib/base/index.js +2 -2
- package/lib/converter/AcDbRegenerator.d.ts.map +1 -1
- package/lib/converter/AcDbRegenerator.js +40 -4
- package/lib/converter/AcDbRegenerator.js.map +1 -1
- package/lib/converter/index.d.ts +1 -1
- package/lib/converter/index.d.ts.map +1 -1
- package/lib/converter/index.js +1 -1
- package/lib/converter/index.js.map +1 -1
- package/lib/converter/worker/AcDbWorkerManager.d.ts +1 -1
- package/lib/converter/worker/AcDbWorkerManager.d.ts.map +1 -1
- package/lib/converter/worker/AcDbWorkerManager.js +1 -1
- package/lib/converter/worker/AcDbWorkerManager.js.map +1 -1
- package/lib/converter/worker/index.d.ts +1 -1
- package/lib/converter/worker/index.d.ts.map +1 -1
- package/lib/converter/worker/index.js +1 -1
- package/lib/converter/worker/index.js.map +1 -1
- package/lib/database/AcDbBlockTable.d.ts +8 -0
- package/lib/database/AcDbBlockTable.d.ts.map +1 -1
- package/lib/database/AcDbBlockTable.js +29 -0
- package/lib/database/AcDbBlockTable.js.map +1 -1
- package/lib/database/AcDbBlockTableRecord.d.ts +63 -1
- package/lib/database/AcDbBlockTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbBlockTableRecord.js +101 -1
- package/lib/database/AcDbBlockTableRecord.js.map +1 -1
- package/lib/database/AcDbDatabase.d.ts +49 -0
- package/lib/database/AcDbDatabase.d.ts.map +1 -1
- package/lib/database/AcDbDatabase.js +304 -27
- package/lib/database/AcDbDatabase.js.map +1 -1
- package/lib/database/AcDbDatabaseConverter.d.ts +8 -0
- package/lib/database/AcDbDatabaseConverter.d.ts.map +1 -1
- package/lib/database/AcDbDatabaseConverter.js +9 -1
- package/lib/database/AcDbDatabaseConverter.js.map +1 -1
- package/lib/database/AcDbLayerTableRecord.d.ts +1 -1
- package/lib/database/AcDbLayerTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbLayerTableRecord.js +3 -3
- package/lib/database/AcDbLayerTableRecord.js.map +1 -1
- package/lib/database/index.d.ts +2 -2
- package/lib/database/index.d.ts.map +1 -1
- package/lib/database/index.js +2 -2
- package/lib/database/index.js.map +1 -1
- package/lib/database/transaction/AcDbChangeApplier.d.ts +4 -4
- package/lib/database/transaction/AcDbChangeApplier.d.ts.map +1 -1
- package/lib/database/transaction/AcDbChangeApplier.js +6 -6
- package/lib/database/transaction/AcDbChangeApplier.js.map +1 -1
- package/lib/database/transaction/AcDbChangeRecorder.d.ts.map +1 -1
- package/lib/database/transaction/AcDbChangeRecorder.js +2 -2
- package/lib/database/transaction/AcDbChangeRecorder.js.map +1 -1
- package/lib/database/transaction/AcDbDatabaseChange.d.ts +1 -1
- package/lib/database/transaction/AcDbDatabaseChange.d.ts.map +1 -1
- package/lib/database/transaction/AcDbDatabaseChange.js +1 -1
- package/lib/database/transaction/AcDbDatabaseChange.js.map +1 -1
- package/lib/database/transaction/AcDbDatabaseTransactionManager.js +7 -7
- package/lib/database/transaction/AcDbDatabaseTransactionManager.js.map +1 -1
- package/lib/database/transaction/index.d.ts +2 -2
- package/lib/database/transaction/index.d.ts.map +1 -1
- package/lib/database/transaction/index.js +2 -2
- package/lib/database/transaction/index.js.map +1 -1
- package/lib/entity/AcDb3dSolid.js +3 -3
- package/lib/entity/AcDbArc.d.ts.map +1 -1
- package/lib/entity/AcDbArc.js +7 -7
- package/lib/entity/AcDbArc.js.map +1 -1
- package/lib/entity/AcDbBlockReference.d.ts +6 -0
- package/lib/entity/AcDbBlockReference.d.ts.map +1 -1
- package/lib/entity/AcDbBlockReference.js +12 -0
- package/lib/entity/AcDbBlockReference.js.map +1 -1
- package/lib/entity/AcDbCircle.d.ts.map +1 -1
- package/lib/entity/AcDbCircle.js +3 -3
- package/lib/entity/AcDbCircle.js.map +1 -1
- package/lib/entity/AcDbEllipse.d.ts.map +1 -1
- package/lib/entity/AcDbEllipse.js +3 -3
- package/lib/entity/AcDbEllipse.js.map +1 -1
- package/lib/entity/AcDbFace.js +2 -2
- package/lib/entity/AcDbFrame.d.ts +15 -0
- package/lib/entity/AcDbFrame.d.ts.map +1 -0
- package/lib/entity/AcDbFrame.js +36 -0
- package/lib/entity/AcDbFrame.js.map +1 -0
- package/lib/entity/AcDbLeader.js +2 -2
- package/lib/entity/AcDbLeader.js.map +1 -1
- package/lib/entity/AcDbOle2Frame.d.ts +390 -0
- package/lib/entity/AcDbOle2Frame.d.ts.map +1 -0
- package/lib/entity/AcDbOle2Frame.js +717 -0
- package/lib/entity/AcDbOle2Frame.js.map +1 -0
- package/lib/entity/AcDbOleFrame.d.ts +112 -0
- package/lib/entity/AcDbOleFrame.d.ts.map +1 -0
- package/lib/entity/AcDbOleFrame.js +198 -0
- package/lib/entity/AcDbOleFrame.js.map +1 -0
- package/lib/entity/AcDbPolyFaceMesh.js +2 -2
- package/lib/entity/AcDbPolyFaceMesh.js.map +1 -1
- package/lib/entity/AcDbPolygonMesh.js +2 -2
- package/lib/entity/AcDbPolygonMesh.js.map +1 -1
- package/lib/entity/AcDbPolyline.d.ts +2 -2
- package/lib/entity/AcDbPolyline.d.ts.map +1 -1
- package/lib/entity/AcDbPolyline.js +4 -4
- package/lib/entity/AcDbPolyline.js.map +1 -1
- package/lib/entity/AcDbProxyEntity.d.ts.map +1 -1
- package/lib/entity/AcDbProxyEntity.js +3 -3
- package/lib/entity/AcDbProxyEntity.js.map +1 -1
- package/lib/entity/AcDbRasterImage.d.ts +1 -1
- package/lib/entity/AcDbRasterImage.d.ts.map +1 -1
- package/lib/entity/AcDbRasterImage.js +4 -4
- package/lib/entity/AcDbRasterImage.js.map +1 -1
- package/lib/entity/AcDbRay.d.ts.map +1 -1
- package/lib/entity/AcDbRay.js +2 -2
- package/lib/entity/AcDbRay.js.map +1 -1
- package/lib/entity/AcDbSpline.d.ts.map +1 -1
- package/lib/entity/AcDbSpline.js +4 -4
- package/lib/entity/AcDbSpline.js.map +1 -1
- package/lib/entity/AcDbTrace.js +2 -2
- package/lib/entity/AcDbTrace.js.map +1 -1
- package/lib/entity/AcDbXline.d.ts.map +1 -1
- package/lib/entity/AcDbXline.js +2 -2
- package/lib/entity/AcDbXline.js.map +1 -1
- package/lib/entity/index.d.ts +5 -1
- package/lib/entity/index.d.ts.map +1 -1
- package/lib/entity/index.js +4 -1
- package/lib/entity/index.js.map +1 -1
- package/lib/index.d.ts +11 -9
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +8 -7
- package/lib/index.js.map +1 -1
- package/lib/ly/AcLyBoolExpr.d.ts +28 -0
- package/lib/ly/AcLyBoolExpr.d.ts.map +1 -0
- package/lib/ly/AcLyBoolExpr.js +36 -0
- package/lib/ly/AcLyBoolExpr.js.map +1 -0
- package/lib/ly/AcLyLayerFilter.d.ts +289 -0
- package/lib/ly/AcLyLayerFilter.d.ts.map +1 -0
- package/lib/ly/AcLyLayerFilter.js +509 -0
- package/lib/ly/AcLyLayerFilter.js.map +1 -0
- package/lib/ly/AcLyLayerFilterIO.d.ts +155 -0
- package/lib/ly/AcLyLayerFilterIO.d.ts.map +1 -0
- package/lib/ly/AcLyLayerFilterIO.js +506 -0
- package/lib/ly/AcLyLayerFilterIO.js.map +1 -0
- package/lib/ly/AcLyLayerFilterTree.d.ts +71 -0
- package/lib/ly/AcLyLayerFilterTree.d.ts.map +1 -0
- package/lib/ly/AcLyLayerFilterTree.js +95 -0
- package/lib/ly/AcLyLayerFilterTree.js.map +1 -0
- package/lib/ly/AcLyLayerGroup.d.ts +107 -0
- package/lib/ly/AcLyLayerGroup.d.ts.map +1 -0
- package/lib/ly/AcLyLayerGroup.js +158 -0
- package/lib/ly/AcLyLayerGroup.js.map +1 -0
- package/lib/ly/index.d.ts +8 -0
- package/lib/ly/index.d.ts.map +1 -0
- package/lib/ly/index.js +6 -0
- package/lib/ly/index.js.map +1 -0
- package/lib/misc/AcDbCodePage.d.ts +1 -1
- package/lib/misc/AcDbCodePage.d.ts.map +1 -1
- package/lib/misc/AcDbCodePage.js +1 -1
- package/lib/misc/AcDbCodePage.js.map +1 -1
- package/lib/misc/AcDbFormatter.d.ts.map +1 -1
- package/lib/misc/AcDbFormatter.js +3 -3
- package/lib/misc/AcDbFormatter.js.map +1 -1
- package/lib/misc/AcDbMLeaderStyleColorCodec.d.ts +2 -2
- package/lib/misc/AcDbMLeaderStyleColorCodec.d.ts.map +1 -1
- package/lib/misc/AcDbMLeaderStyleColorCodec.js +2 -2
- package/lib/misc/AcDbMLeaderStyleColorCodec.js.map +1 -1
- package/lib/misc/AcDbOleImageExtractor.d.ts +21 -0
- package/lib/misc/AcDbOleImageExtractor.d.ts.map +1 -0
- package/lib/misc/AcDbOleImageExtractor.js +659 -0
- package/lib/misc/AcDbOleImageExtractor.js.map +1 -0
- package/lib/misc/AcDbUnitsValue.d.ts +6 -6
- package/lib/misc/AcDbUnitsValue.d.ts.map +1 -1
- package/lib/misc/AcDbUnitsValue.js +6 -6
- package/lib/misc/AcDbUnitsValue.js.map +1 -1
- package/lib/misc/acdbDrawImageFrame.d.ts +17 -0
- package/lib/misc/acdbDrawImageFrame.d.ts.map +1 -0
- package/lib/misc/acdbDrawImageFrame.js +44 -0
- package/lib/misc/acdbDrawImageFrame.js.map +1 -0
- package/lib/misc/index.d.ts +7 -7
- package/lib/misc/index.d.ts.map +1 -1
- package/lib/misc/index.js +7 -7
- package/lib/misc/index.js.map +1 -1
- package/lib/misc/proxyGraphic/AcDbProxyGraphic.d.ts +1 -1
- package/lib/misc/proxyGraphic/AcDbProxyGraphic.d.ts.map +1 -1
- package/lib/misc/proxyGraphic/AcDbProxyGraphic.js +9 -9
- package/lib/misc/proxyGraphic/AcDbProxyGraphic.js.map +1 -1
- package/lib/misc/proxyGraphic/AcDbProxyGraphicBinaryStream.d.ts +2 -2
- package/lib/misc/proxyGraphic/AcDbProxyGraphicBinaryStream.d.ts.map +1 -1
- package/lib/misc/proxyGraphic/AcDbProxyGraphicBinaryStream.js +2 -2
- package/lib/misc/proxyGraphic/AcDbProxyGraphicBinaryStream.js.map +1 -1
- package/lib/misc/proxyGraphic/index.d.ts +2 -2
- package/lib/misc/proxyGraphic/index.d.ts.map +1 -1
- package/lib/misc/proxyGraphic/index.js +2 -2
- package/lib/misc/proxyGraphic/index.js.map +1 -1
- package/lib/object/AcDbFilter.d.ts +51 -0
- package/lib/object/AcDbFilter.d.ts.map +1 -0
- package/lib/object/AcDbFilter.js +63 -0
- package/lib/object/AcDbFilter.js.map +1 -0
- package/lib/object/AcDbIndex.d.ts +144 -0
- package/lib/object/AcDbIndex.d.ts.map +1 -0
- package/lib/object/AcDbIndex.js +146 -0
- package/lib/object/AcDbIndex.js.map +1 -0
- package/lib/object/AcDbLayerFilter.d.ts +144 -0
- package/lib/object/AcDbLayerFilter.d.ts.map +1 -0
- package/lib/object/AcDbLayerFilter.js +250 -0
- package/lib/object/AcDbLayerFilter.js.map +1 -0
- package/lib/object/AcDbLayerIndex.d.ts +165 -0
- package/lib/object/AcDbLayerIndex.d.ts.map +1 -0
- package/lib/object/AcDbLayerIndex.js +295 -0
- package/lib/object/AcDbLayerIndex.js.map +1 -0
- package/lib/object/AcDbMLeaderStyle.js +4 -4
- package/lib/object/AcDbMLeaderStyle.js.map +1 -1
- package/lib/object/index.d.ts +6 -0
- package/lib/object/index.d.ts.map +1 -1
- package/lib/object/index.js +4 -0
- package/lib/object/index.js.map +1 -1
- package/package.json +4 -4
|
@@ -112,6 +112,9 @@ import { AcDbUnitsValue } from '../misc/AcDbUnitsValue';
|
|
|
112
112
|
import { AcDbDictionary } from '../object/AcDbDictionary';
|
|
113
113
|
import { AcDbMLeaderStyle } from '../object/AcDbMLeaderStyle';
|
|
114
114
|
import { AcDbMlineStyle } from '../object/AcDbMlineStyle';
|
|
115
|
+
import { AcDbXrecord } from '../object/AcDbXrecord';
|
|
116
|
+
import { AcLyLayerFilterTree } from '../ly/AcLyLayerFilterTree';
|
|
117
|
+
import { ACAD_LAYERFILTERS_NAME, ACLY_DICTIONARY_NAME, acdbLayerGroupsToResultBuffer, acdbSerializeLayerFilterTree } from '../ly/AcLyLayerFilterIO';
|
|
115
118
|
import { AcDbBlockTable } from './AcDbBlockTable';
|
|
116
119
|
import { AcDbBlockTableRecord } from './AcDbBlockTableRecord';
|
|
117
120
|
import { AcDbOpenDatabaseError } from './AcDbOpenDatabaseError';
|
|
@@ -250,11 +253,14 @@ var AcDbDatabase = /** @class */ (function (_super) {
|
|
|
250
253
|
_this._objects = {
|
|
251
254
|
dictionary: new AcDbDictionary(_this),
|
|
252
255
|
imageDefinition: new AcDbDictionary(_this),
|
|
256
|
+
layerFilter: new AcDbDictionary(_this),
|
|
257
|
+
layerIndex: new AcDbDictionary(_this),
|
|
253
258
|
layout: new AcDbLayoutDictionary(_this),
|
|
254
259
|
mleaderStyle: new AcDbDictionary(_this),
|
|
255
260
|
mlineStyle: new AcDbDictionary(_this),
|
|
256
261
|
xrecord: new AcDbDictionary(_this)
|
|
257
262
|
};
|
|
263
|
+
_this._layerFilters = new AcLyLayerFilterTree();
|
|
258
264
|
_this.transactionManager = new AcDbDatabaseTransactionManager(_this);
|
|
259
265
|
_this.registerBootstrapHandles();
|
|
260
266
|
return _this;
|
|
@@ -312,6 +318,45 @@ var AcDbDatabase = /** @class */ (function (_super) {
|
|
|
312
318
|
enumerable: false,
|
|
313
319
|
configurable: true
|
|
314
320
|
});
|
|
321
|
+
Object.defineProperty(AcDbDatabase.prototype, "layerFilters", {
|
|
322
|
+
/**
|
|
323
|
+
* Gets the Layer Properties Manager filter tree for this database.
|
|
324
|
+
*
|
|
325
|
+
* @remarks
|
|
326
|
+
* Mirrors AutoCAD .NET `Database.LayerFilters` / ObjectARX `AcLy*` filters.
|
|
327
|
+
* This is the property/group filter **tree**, not the flat
|
|
328
|
+
* {@link objects.layerFilter} dictionary used by `AcDbLayerFilter` /
|
|
329
|
+
* `AcDbLayerIndex`.
|
|
330
|
+
*
|
|
331
|
+
* Like AutoCAD, treat this value as retrieved by value: mutate the tree,
|
|
332
|
+
* then assign it back via the setter if your workflow expects that pattern.
|
|
333
|
+
*
|
|
334
|
+
* @returns The current {@link AcLyLayerFilterTree}.
|
|
335
|
+
*
|
|
336
|
+
* @example
|
|
337
|
+
* ```typescript
|
|
338
|
+
* const tree = db.layerFilters;
|
|
339
|
+
* const filter = new AcLyLayerFilter();
|
|
340
|
+
* filter.name = 'Unlocked Layers';
|
|
341
|
+
* filter.setFilterExpression('LOCKED=="False"');
|
|
342
|
+
* tree.root.addNested(filter);
|
|
343
|
+
* db.layerFilters = tree;
|
|
344
|
+
* ```
|
|
345
|
+
*/
|
|
346
|
+
get: function () {
|
|
347
|
+
return this._layerFilters;
|
|
348
|
+
},
|
|
349
|
+
/**
|
|
350
|
+
* Sets the Layer Properties Manager filter tree for this database.
|
|
351
|
+
*
|
|
352
|
+
* @param value - New filter tree.
|
|
353
|
+
*/
|
|
354
|
+
set: function (value) {
|
|
355
|
+
this._layerFilters = value !== null && value !== void 0 ? value : new AcLyLayerFilterTree();
|
|
356
|
+
},
|
|
357
|
+
enumerable: false,
|
|
358
|
+
configurable: true
|
|
359
|
+
});
|
|
315
360
|
/**
|
|
316
361
|
* Looks up a database-resident object by its object ID.
|
|
317
362
|
*
|
|
@@ -407,6 +452,8 @@ var AcDbDatabase = /** @class */ (function (_super) {
|
|
|
407
452
|
return [
|
|
408
453
|
this.objects.dictionary,
|
|
409
454
|
this.objects.imageDefinition,
|
|
455
|
+
this.objects.layerFilter,
|
|
456
|
+
this.objects.layerIndex,
|
|
410
457
|
this.objects.layout,
|
|
411
458
|
this.objects.mleaderStyle,
|
|
412
459
|
this.objects.mlineStyle,
|
|
@@ -703,7 +750,16 @@ var AcDbDatabase = /** @class */ (function (_super) {
|
|
|
703
750
|
this._handleRegistry.clear();
|
|
704
751
|
this.registerObjectHandle(this);
|
|
705
752
|
try {
|
|
706
|
-
for (var _c = __values(
|
|
753
|
+
for (var _c = __values([
|
|
754
|
+
this._tables.blockTable,
|
|
755
|
+
this._tables.dimStyleTable,
|
|
756
|
+
this._tables.layerTable,
|
|
757
|
+
this._tables.linetypeTable,
|
|
758
|
+
this._tables.appIdTable,
|
|
759
|
+
this._tables.textStyleTable,
|
|
760
|
+
this._tables.viewTable,
|
|
761
|
+
this._tables.viewportTable
|
|
762
|
+
]), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
707
763
|
var table = _d.value;
|
|
708
764
|
this.registerObjectHandle(table);
|
|
709
765
|
}
|
|
@@ -716,7 +772,16 @@ var AcDbDatabase = /** @class */ (function (_super) {
|
|
|
716
772
|
finally { if (e_3) throw e_3.error; }
|
|
717
773
|
}
|
|
718
774
|
try {
|
|
719
|
-
for (var _e = __values(
|
|
775
|
+
for (var _e = __values([
|
|
776
|
+
this._objects.dictionary,
|
|
777
|
+
this._objects.imageDefinition,
|
|
778
|
+
this._objects.layerFilter,
|
|
779
|
+
this._objects.layerIndex,
|
|
780
|
+
this._objects.layout,
|
|
781
|
+
this._objects.mleaderStyle,
|
|
782
|
+
this._objects.mlineStyle,
|
|
783
|
+
this._objects.xrecord
|
|
784
|
+
]), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
720
785
|
var dictionary = _f.value;
|
|
721
786
|
this.registerObjectHandle(dictionary);
|
|
722
787
|
}
|
|
@@ -1877,6 +1942,10 @@ var AcDbDatabase = /** @class */ (function (_super) {
|
|
|
1877
1942
|
if (version === void 0) { version = this.version.name; }
|
|
1878
1943
|
if (_saveThumbnailImage === void 0) { _saveThumbnailImage = false; }
|
|
1879
1944
|
this.ensureDatabaseDefaults();
|
|
1945
|
+
if (this._layerFilters.root.getNestedFilters().length > 0 &&
|
|
1946
|
+
!this.tables.layerTable.extensionDictionary) {
|
|
1947
|
+
this.tables.layerTable.extensionDictionary = this.generateHandle();
|
|
1948
|
+
}
|
|
1880
1949
|
var outVersion = version instanceof AcDbDwgVersion ? version : new AcDbDwgVersion(version);
|
|
1881
1950
|
var filer = new AcDbDxfFiler({
|
|
1882
1951
|
database: this,
|
|
@@ -2413,7 +2482,7 @@ var AcDbDatabase = /** @class */ (function (_super) {
|
|
|
2413
2482
|
* @param filer - DXF output writer.
|
|
2414
2483
|
*/
|
|
2415
2484
|
AcDbDatabase.prototype.writeDxfObjectsSection = function (filer) {
|
|
2416
|
-
var e_15, _a, e_16, _b, e_17, _c, e_18, _d, e_19, _e;
|
|
2485
|
+
var e_15, _a, e_16, _b, e_17, _c, e_18, _d, e_19, _e, e_20, _f, e_21, _g;
|
|
2417
2486
|
filer.startSection('OBJECTS');
|
|
2418
2487
|
var rootDict = this.objects.dictionary;
|
|
2419
2488
|
rootDict.ownerId = '0';
|
|
@@ -2472,8 +2541,8 @@ var AcDbDatabase = /** @class */ (function (_super) {
|
|
|
2472
2541
|
writeDictionary(this.objects.xrecord);
|
|
2473
2542
|
}
|
|
2474
2543
|
try {
|
|
2475
|
-
for (var
|
|
2476
|
-
var
|
|
2544
|
+
for (var _h = __values(this.objects.layout.entries()), _j = _h.next(); !_j.done; _j = _h.next()) {
|
|
2545
|
+
var _k = __read(_j.value, 2), _ = _k[0], layout = _k[1];
|
|
2477
2546
|
filer.writeStart('LAYOUT');
|
|
2478
2547
|
layout.dxfOut(filer);
|
|
2479
2548
|
}
|
|
@@ -2481,13 +2550,13 @@ var AcDbDatabase = /** @class */ (function (_super) {
|
|
|
2481
2550
|
catch (e_15_1) { e_15 = { error: e_15_1 }; }
|
|
2482
2551
|
finally {
|
|
2483
2552
|
try {
|
|
2484
|
-
if (
|
|
2553
|
+
if (_j && !_j.done && (_a = _h.return)) _a.call(_h);
|
|
2485
2554
|
}
|
|
2486
2555
|
finally { if (e_15) throw e_15.error; }
|
|
2487
2556
|
}
|
|
2488
2557
|
try {
|
|
2489
|
-
for (var
|
|
2490
|
-
var
|
|
2558
|
+
for (var _l = __values(this.objects.imageDefinition.entries()), _m = _l.next(); !_m.done; _m = _l.next()) {
|
|
2559
|
+
var _o = __read(_m.value, 2), _ = _o[0], imageDef = _o[1];
|
|
2491
2560
|
filer.writeStart('IMAGEDEF');
|
|
2492
2561
|
imageDef.dxfOut(filer);
|
|
2493
2562
|
}
|
|
@@ -2495,54 +2564,259 @@ var AcDbDatabase = /** @class */ (function (_super) {
|
|
|
2495
2564
|
catch (e_16_1) { e_16 = { error: e_16_1 }; }
|
|
2496
2565
|
finally {
|
|
2497
2566
|
try {
|
|
2498
|
-
if (
|
|
2567
|
+
if (_m && !_m.done && (_b = _l.return)) _b.call(_l);
|
|
2499
2568
|
}
|
|
2500
2569
|
finally { if (e_16) throw e_16.error; }
|
|
2501
2570
|
}
|
|
2502
2571
|
try {
|
|
2503
|
-
for (var
|
|
2504
|
-
var
|
|
2505
|
-
filer.writeStart('
|
|
2506
|
-
|
|
2572
|
+
for (var _p = __values(this.objects.layerFilter.entries()), _q = _p.next(); !_q.done; _q = _p.next()) {
|
|
2573
|
+
var _r = __read(_q.value, 2), _ = _r[0], layerFilter = _r[1];
|
|
2574
|
+
filer.writeStart('LAYER_FILTER');
|
|
2575
|
+
layerFilter.dxfOut(filer);
|
|
2507
2576
|
}
|
|
2508
2577
|
}
|
|
2509
2578
|
catch (e_17_1) { e_17 = { error: e_17_1 }; }
|
|
2510
2579
|
finally {
|
|
2511
2580
|
try {
|
|
2512
|
-
if (
|
|
2581
|
+
if (_q && !_q.done && (_c = _p.return)) _c.call(_p);
|
|
2513
2582
|
}
|
|
2514
2583
|
finally { if (e_17) throw e_17.error; }
|
|
2515
2584
|
}
|
|
2516
2585
|
try {
|
|
2517
|
-
for (var
|
|
2518
|
-
var
|
|
2519
|
-
filer.writeStart('
|
|
2520
|
-
|
|
2586
|
+
for (var _s = __values(this.objects.layerIndex.entries()), _t = _s.next(); !_t.done; _t = _s.next()) {
|
|
2587
|
+
var _u = __read(_t.value, 2), _ = _u[0], layerIndex = _u[1];
|
|
2588
|
+
filer.writeStart('LAYER_INDEX');
|
|
2589
|
+
layerIndex.dxfOut(filer);
|
|
2521
2590
|
}
|
|
2522
2591
|
}
|
|
2523
2592
|
catch (e_18_1) { e_18 = { error: e_18_1 }; }
|
|
2524
2593
|
finally {
|
|
2525
2594
|
try {
|
|
2526
|
-
if (
|
|
2595
|
+
if (_t && !_t.done && (_d = _s.return)) _d.call(_s);
|
|
2527
2596
|
}
|
|
2528
2597
|
finally { if (e_18) throw e_18.error; }
|
|
2529
2598
|
}
|
|
2530
2599
|
try {
|
|
2531
|
-
for (var
|
|
2532
|
-
var
|
|
2533
|
-
filer.writeStart('
|
|
2534
|
-
|
|
2600
|
+
for (var _v = __values(this.objects.mleaderStyle.entries()), _w = _v.next(); !_w.done; _w = _v.next()) {
|
|
2601
|
+
var _x = __read(_w.value, 2), _ = _x[0], mleaderStyle = _x[1];
|
|
2602
|
+
filer.writeStart('MLEADERSTYLE');
|
|
2603
|
+
mleaderStyle.dxfOut(filer);
|
|
2535
2604
|
}
|
|
2536
2605
|
}
|
|
2537
2606
|
catch (e_19_1) { e_19 = { error: e_19_1 }; }
|
|
2538
2607
|
finally {
|
|
2539
2608
|
try {
|
|
2540
|
-
if (
|
|
2609
|
+
if (_w && !_w.done && (_e = _v.return)) _e.call(_v);
|
|
2541
2610
|
}
|
|
2542
2611
|
finally { if (e_19) throw e_19.error; }
|
|
2543
2612
|
}
|
|
2613
|
+
try {
|
|
2614
|
+
for (var _y = __values(this.objects.mlineStyle.entries()), _z = _y.next(); !_z.done; _z = _y.next()) {
|
|
2615
|
+
var _0 = __read(_z.value, 2), _ = _0[0], mlineStyle = _0[1];
|
|
2616
|
+
filer.writeStart('MLINESTYLE');
|
|
2617
|
+
mlineStyle.dxfOut(filer);
|
|
2618
|
+
}
|
|
2619
|
+
}
|
|
2620
|
+
catch (e_20_1) { e_20 = { error: e_20_1 }; }
|
|
2621
|
+
finally {
|
|
2622
|
+
try {
|
|
2623
|
+
if (_z && !_z.done && (_f = _y.return)) _f.call(_y);
|
|
2624
|
+
}
|
|
2625
|
+
finally { if (e_20) throw e_20.error; }
|
|
2626
|
+
}
|
|
2627
|
+
try {
|
|
2628
|
+
for (var _1 = __values(this.objects.xrecord.entries()), _2 = _1.next(); !_2.done; _2 = _1.next()) {
|
|
2629
|
+
var _3 = __read(_2.value, 2), _ = _3[0], xrecord = _3[1];
|
|
2630
|
+
filer.writeStart('XRECORD');
|
|
2631
|
+
xrecord.dxfOut(filer);
|
|
2632
|
+
}
|
|
2633
|
+
}
|
|
2634
|
+
catch (e_21_1) { e_21 = { error: e_21_1 }; }
|
|
2635
|
+
finally {
|
|
2636
|
+
try {
|
|
2637
|
+
if (_2 && !_2.done && (_g = _1.return)) _g.call(_1);
|
|
2638
|
+
}
|
|
2639
|
+
finally { if (e_21) throw e_21.error; }
|
|
2640
|
+
}
|
|
2641
|
+
this.writeAcLyLayerFilterObjects(filer);
|
|
2544
2642
|
filer.endSection();
|
|
2545
2643
|
};
|
|
2644
|
+
/**
|
|
2645
|
+
* Writes Layer Manager filter tree objects (`ACAD_LAYERFILTERS` /
|
|
2646
|
+
* `ACLYDICTIONARY` + XRecords) into the OBJECTS section and attaches an
|
|
2647
|
+
* extension dictionary to the Layer Table.
|
|
2648
|
+
*
|
|
2649
|
+
* @param filer - DXF output writer.
|
|
2650
|
+
*/
|
|
2651
|
+
AcDbDatabase.prototype.writeAcLyLayerFilterObjects = function (filer) {
|
|
2652
|
+
var e_22, _a, e_23, _b, e_24, _c, e_25, _d, e_26, _e;
|
|
2653
|
+
var _this = this;
|
|
2654
|
+
var _f;
|
|
2655
|
+
var serialized = acdbSerializeLayerFilterTree(this._layerFilters);
|
|
2656
|
+
if (serialized.nodes.length === 0) {
|
|
2657
|
+
return;
|
|
2658
|
+
}
|
|
2659
|
+
var dicts = [];
|
|
2660
|
+
var xrecs = [];
|
|
2661
|
+
var layerTable = this.tables.layerTable;
|
|
2662
|
+
var layerExtHandle = (_f = layerTable.extensionDictionary) !== null && _f !== void 0 ? _f : this.generateHandle();
|
|
2663
|
+
layerTable.extensionDictionary = layerExtHandle;
|
|
2664
|
+
var aclyHandle = this.generateHandle();
|
|
2665
|
+
var acadHandle = this.generateHandle();
|
|
2666
|
+
var rootAclyEntries = [];
|
|
2667
|
+
var rootAcadEntries = [];
|
|
2668
|
+
var emit = function (node, parentAclyHandle, addToLegacy) {
|
|
2669
|
+
var e_27, _a;
|
|
2670
|
+
var xHandle = _this.generateHandle();
|
|
2671
|
+
var extensionDictionaryId;
|
|
2672
|
+
if (node.children.length > 0) {
|
|
2673
|
+
var extHandle = _this.generateHandle();
|
|
2674
|
+
var childAclyHandle = _this.generateHandle();
|
|
2675
|
+
var childEntries = [];
|
|
2676
|
+
try {
|
|
2677
|
+
for (var _b = __values(node.children), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
2678
|
+
var child = _c.value;
|
|
2679
|
+
childEntries.push({
|
|
2680
|
+
name: child.key,
|
|
2681
|
+
id: emit(child, childAclyHandle, false)
|
|
2682
|
+
});
|
|
2683
|
+
}
|
|
2684
|
+
}
|
|
2685
|
+
catch (e_27_1) { e_27 = { error: e_27_1 }; }
|
|
2686
|
+
finally {
|
|
2687
|
+
try {
|
|
2688
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
2689
|
+
}
|
|
2690
|
+
finally { if (e_27) throw e_27.error; }
|
|
2691
|
+
}
|
|
2692
|
+
dicts.push({
|
|
2693
|
+
handle: extHandle,
|
|
2694
|
+
ownerId: xHandle,
|
|
2695
|
+
entries: [{ name: ACLY_DICTIONARY_NAME, id: childAclyHandle }]
|
|
2696
|
+
});
|
|
2697
|
+
dicts.push({
|
|
2698
|
+
handle: childAclyHandle,
|
|
2699
|
+
ownerId: extHandle,
|
|
2700
|
+
entries: childEntries
|
|
2701
|
+
});
|
|
2702
|
+
extensionDictionaryId = extHandle;
|
|
2703
|
+
}
|
|
2704
|
+
xrecs.push({
|
|
2705
|
+
handle: xHandle,
|
|
2706
|
+
ownerId: parentAclyHandle,
|
|
2707
|
+
extensionDictionaryId: extensionDictionaryId,
|
|
2708
|
+
data: node.data
|
|
2709
|
+
});
|
|
2710
|
+
if (addToLegacy) {
|
|
2711
|
+
rootAcadEntries.push({ name: node.key, id: xHandle });
|
|
2712
|
+
}
|
|
2713
|
+
return xHandle;
|
|
2714
|
+
};
|
|
2715
|
+
try {
|
|
2716
|
+
for (var _g = __values(serialized.nodes), _h = _g.next(); !_h.done; _h = _g.next()) {
|
|
2717
|
+
var node = _h.value;
|
|
2718
|
+
rootAclyEntries.push({
|
|
2719
|
+
name: node.key,
|
|
2720
|
+
id: emit(node, aclyHandle, true)
|
|
2721
|
+
});
|
|
2722
|
+
}
|
|
2723
|
+
}
|
|
2724
|
+
catch (e_22_1) { e_22 = { error: e_22_1 }; }
|
|
2725
|
+
finally {
|
|
2726
|
+
try {
|
|
2727
|
+
if (_h && !_h.done && (_a = _g.return)) _a.call(_g);
|
|
2728
|
+
}
|
|
2729
|
+
finally { if (e_22) throw e_22.error; }
|
|
2730
|
+
}
|
|
2731
|
+
var layerExtEntries = new Map();
|
|
2732
|
+
var existingLayerExt = this.getObjectById(layerExtHandle);
|
|
2733
|
+
if (existingLayerExt instanceof AcDbDictionary) {
|
|
2734
|
+
try {
|
|
2735
|
+
for (var _j = __values(existingLayerExt.entries()), _k = _j.next(); !_k.done; _k = _j.next()) {
|
|
2736
|
+
var _l = __read(_k.value, 2), key = _l[0], value = _l[1];
|
|
2737
|
+
layerExtEntries.set(key, value.objectId);
|
|
2738
|
+
}
|
|
2739
|
+
}
|
|
2740
|
+
catch (e_23_1) { e_23 = { error: e_23_1 }; }
|
|
2741
|
+
finally {
|
|
2742
|
+
try {
|
|
2743
|
+
if (_k && !_k.done && (_b = _j.return)) _b.call(_j);
|
|
2744
|
+
}
|
|
2745
|
+
finally { if (e_23) throw e_23.error; }
|
|
2746
|
+
}
|
|
2747
|
+
}
|
|
2748
|
+
layerExtEntries.set(ACLY_DICTIONARY_NAME, aclyHandle);
|
|
2749
|
+
layerExtEntries.set(ACAD_LAYERFILTERS_NAME, acadHandle);
|
|
2750
|
+
dicts.unshift({
|
|
2751
|
+
handle: layerExtHandle,
|
|
2752
|
+
ownerId: layerTable.objectId,
|
|
2753
|
+
entries: Array.from(layerExtEntries, function (_a) {
|
|
2754
|
+
var _b = __read(_a, 2), name = _b[0], id = _b[1];
|
|
2755
|
+
return ({ name: name, id: id });
|
|
2756
|
+
})
|
|
2757
|
+
}, {
|
|
2758
|
+
handle: aclyHandle,
|
|
2759
|
+
ownerId: layerExtHandle,
|
|
2760
|
+
entries: rootAclyEntries
|
|
2761
|
+
}, {
|
|
2762
|
+
handle: acadHandle,
|
|
2763
|
+
ownerId: layerExtHandle,
|
|
2764
|
+
entries: rootAcadEntries
|
|
2765
|
+
});
|
|
2766
|
+
try {
|
|
2767
|
+
for (var dicts_1 = __values(dicts), dicts_1_1 = dicts_1.next(); !dicts_1_1.done; dicts_1_1 = dicts_1.next()) {
|
|
2768
|
+
var dict = dicts_1_1.value;
|
|
2769
|
+
filer.writeStart('DICTIONARY');
|
|
2770
|
+
filer.writeHandle(5, dict.handle);
|
|
2771
|
+
filer.writeObjectId(330, dict.ownerId);
|
|
2772
|
+
filer.writeSubclassMarker('AcDbDictionary');
|
|
2773
|
+
filer.writeInt16(280, 1);
|
|
2774
|
+
filer.writeInt16(281, 1);
|
|
2775
|
+
try {
|
|
2776
|
+
for (var _m = (e_25 = void 0, __values(dict.entries)), _o = _m.next(); !_o.done; _o = _m.next()) {
|
|
2777
|
+
var entry = _o.value;
|
|
2778
|
+
filer.writeString(3, entry.name);
|
|
2779
|
+
filer.writeObjectId(350, entry.id);
|
|
2780
|
+
}
|
|
2781
|
+
}
|
|
2782
|
+
catch (e_25_1) { e_25 = { error: e_25_1 }; }
|
|
2783
|
+
finally {
|
|
2784
|
+
try {
|
|
2785
|
+
if (_o && !_o.done && (_d = _m.return)) _d.call(_m);
|
|
2786
|
+
}
|
|
2787
|
+
finally { if (e_25) throw e_25.error; }
|
|
2788
|
+
}
|
|
2789
|
+
}
|
|
2790
|
+
}
|
|
2791
|
+
catch (e_24_1) { e_24 = { error: e_24_1 }; }
|
|
2792
|
+
finally {
|
|
2793
|
+
try {
|
|
2794
|
+
if (dicts_1_1 && !dicts_1_1.done && (_c = dicts_1.return)) _c.call(dicts_1);
|
|
2795
|
+
}
|
|
2796
|
+
finally { if (e_24) throw e_24.error; }
|
|
2797
|
+
}
|
|
2798
|
+
try {
|
|
2799
|
+
for (var xrecs_1 = __values(xrecs), xrecs_1_1 = xrecs_1.next(); !xrecs_1_1.done; xrecs_1_1 = xrecs_1.next()) {
|
|
2800
|
+
var item = xrecs_1_1.value;
|
|
2801
|
+
var xrecord = new AcDbXrecord();
|
|
2802
|
+
xrecord.objectId = item.handle;
|
|
2803
|
+
xrecord.ownerId = item.ownerId;
|
|
2804
|
+
if (item.extensionDictionaryId) {
|
|
2805
|
+
xrecord.extensionDictionary = item.extensionDictionaryId;
|
|
2806
|
+
}
|
|
2807
|
+
xrecord.data = acdbLayerGroupsToResultBuffer(item.data);
|
|
2808
|
+
filer.writeStart('XRECORD');
|
|
2809
|
+
xrecord.dxfOut(filer);
|
|
2810
|
+
}
|
|
2811
|
+
}
|
|
2812
|
+
catch (e_26_1) { e_26 = { error: e_26_1 }; }
|
|
2813
|
+
finally {
|
|
2814
|
+
try {
|
|
2815
|
+
if (xrecs_1_1 && !xrecs_1_1.done && (_e = xrecs_1.return)) _e.call(xrecs_1);
|
|
2816
|
+
}
|
|
2817
|
+
finally { if (e_26) throw e_26.error; }
|
|
2818
|
+
}
|
|
2819
|
+
};
|
|
2546
2820
|
/**
|
|
2547
2821
|
* Writes a single TABLE and its records into the TABLES section.
|
|
2548
2822
|
*
|
|
@@ -2553,7 +2827,7 @@ var AcDbDatabase = /** @class */ (function (_super) {
|
|
|
2553
2827
|
* @param recordType - DXF record type name for each table record.
|
|
2554
2828
|
*/
|
|
2555
2829
|
AcDbDatabase.prototype.writeDxfTable = function (filer, tableName, table, records, recordType) {
|
|
2556
|
-
var
|
|
2830
|
+
var e_28, _a;
|
|
2557
2831
|
var items = __spreadArray([], __read(records), false);
|
|
2558
2832
|
filer.startTable(tableName);
|
|
2559
2833
|
table.dxfOut(filer);
|
|
@@ -2569,12 +2843,12 @@ var AcDbDatabase = /** @class */ (function (_super) {
|
|
|
2569
2843
|
record.dxfOut(filer);
|
|
2570
2844
|
}
|
|
2571
2845
|
}
|
|
2572
|
-
catch (
|
|
2846
|
+
catch (e_28_1) { e_28 = { error: e_28_1 }; }
|
|
2573
2847
|
finally {
|
|
2574
2848
|
try {
|
|
2575
2849
|
if (items_1_1 && !items_1_1.done && (_a = items_1.return)) _a.call(items_1);
|
|
2576
2850
|
}
|
|
2577
|
-
finally { if (
|
|
2851
|
+
finally { if (e_28) throw e_28.error; }
|
|
2578
2852
|
}
|
|
2579
2853
|
filer.endTable();
|
|
2580
2854
|
};
|
|
@@ -2616,9 +2890,12 @@ var AcDbDatabase = /** @class */ (function (_super) {
|
|
|
2616
2890
|
this._tables.viewportTable.removeAll();
|
|
2617
2891
|
this._objects.layout.removeAll();
|
|
2618
2892
|
this._objects.imageDefinition.removeAll();
|
|
2893
|
+
this._objects.layerFilter.removeAll();
|
|
2894
|
+
this._objects.layerIndex.removeAll();
|
|
2619
2895
|
this._objects.mleaderStyle.removeAll();
|
|
2620
2896
|
this._objects.mlineStyle.removeAll();
|
|
2621
2897
|
this._objects.xrecord.removeAll();
|
|
2898
|
+
this._layerFilters = new AcLyLayerFilterTree();
|
|
2622
2899
|
this._currentSpace = undefined;
|
|
2623
2900
|
this._extents.makeEmpty();
|
|
2624
2901
|
this.registerBootstrapHandles();
|