@mlightcad/data-model 1.7.27 → 1.7.29

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.
Files changed (87) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +224 -224
  3. package/dist/data-model.cjs +4 -3
  4. package/dist/data-model.js +6601 -3480
  5. package/dist/dxf-parser-worker.js +1023 -740
  6. package/lib/converter/AcDbDxfConverter.d.ts +1 -0
  7. package/lib/converter/AcDbDxfConverter.d.ts.map +1 -1
  8. package/lib/converter/AcDbDxfConverter.js +48 -1
  9. package/lib/converter/AcDbDxfConverter.js.map +1 -1
  10. package/lib/converter/AcDbEntitiyConverter.d.ts +12 -0
  11. package/lib/converter/AcDbEntitiyConverter.d.ts.map +1 -1
  12. package/lib/converter/AcDbEntitiyConverter.js +528 -3
  13. package/lib/converter/AcDbEntitiyConverter.js.map +1 -1
  14. package/lib/converter/AcDbObjectConverter.d.ts +10 -3
  15. package/lib/converter/AcDbObjectConverter.d.ts.map +1 -1
  16. package/lib/converter/AcDbObjectConverter.js +173 -1
  17. package/lib/converter/AcDbObjectConverter.js.map +1 -1
  18. package/lib/converter/AcDbRegenerator.d.ts.map +1 -1
  19. package/lib/converter/AcDbRegenerator.js +22 -4
  20. package/lib/converter/AcDbRegenerator.js.map +1 -1
  21. package/lib/database/AcDbBlockTableRecord.d.ts.map +1 -1
  22. package/lib/database/AcDbBlockTableRecord.js +1 -0
  23. package/lib/database/AcDbBlockTableRecord.js.map +1 -1
  24. package/lib/database/AcDbDatabase.d.ts +42 -0
  25. package/lib/database/AcDbDatabase.d.ts.map +1 -1
  26. package/lib/database/AcDbDatabase.js +250 -32
  27. package/lib/database/AcDbDatabase.js.map +1 -1
  28. package/lib/database/AcDbSysVarManager.d.ts.map +1 -1
  29. package/lib/database/AcDbSysVarManager.js +28 -1
  30. package/lib/database/AcDbSysVarManager.js.map +1 -1
  31. package/lib/database/AcDbSystemVariables.d.ts +7 -1
  32. package/lib/database/AcDbSystemVariables.d.ts.map +1 -1
  33. package/lib/database/AcDbSystemVariables.js +6 -0
  34. package/lib/database/AcDbSystemVariables.js.map +1 -1
  35. package/lib/entity/AcDbLeader.d.ts +32 -3
  36. package/lib/entity/AcDbLeader.d.ts.map +1 -1
  37. package/lib/entity/AcDbLeader.js +140 -10
  38. package/lib/entity/AcDbLeader.js.map +1 -1
  39. package/lib/entity/AcDbMLeader.d.ts +1092 -0
  40. package/lib/entity/AcDbMLeader.d.ts.map +1 -0
  41. package/lib/entity/AcDbMLeader.js +2553 -0
  42. package/lib/entity/AcDbMLeader.js.map +1 -0
  43. package/lib/entity/AcDbMLine.d.ts +670 -0
  44. package/lib/entity/AcDbMLine.d.ts.map +1 -0
  45. package/lib/entity/AcDbMLine.js +1510 -0
  46. package/lib/entity/AcDbMLine.js.map +1 -0
  47. package/lib/entity/dimension/AcDbDiametricDimension.d.ts +0 -33
  48. package/lib/entity/dimension/AcDbDiametricDimension.d.ts.map +1 -1
  49. package/lib/entity/dimension/AcDbDiametricDimension.js +0 -80
  50. package/lib/entity/dimension/AcDbDiametricDimension.js.map +1 -1
  51. package/lib/entity/dimension/AcDbDimension.d.ts +1 -9
  52. package/lib/entity/dimension/AcDbDimension.d.ts.map +1 -1
  53. package/lib/entity/dimension/AcDbDimension.js +0 -10
  54. package/lib/entity/dimension/AcDbDimension.js.map +1 -1
  55. package/lib/entity/dimension/AcDbRadialDimension.d.ts +0 -6
  56. package/lib/entity/dimension/AcDbRadialDimension.d.ts.map +1 -1
  57. package/lib/entity/dimension/AcDbRadialDimension.js +0 -8
  58. package/lib/entity/dimension/AcDbRadialDimension.js.map +1 -1
  59. package/lib/entity/index.d.ts +2 -0
  60. package/lib/entity/index.d.ts.map +1 -1
  61. package/lib/entity/index.js +2 -0
  62. package/lib/entity/index.js.map +1 -1
  63. package/lib/misc/AcDbConstants.d.ts +14 -0
  64. package/lib/misc/AcDbConstants.d.ts.map +1 -1
  65. package/lib/misc/AcDbConstants.js +14 -0
  66. package/lib/misc/AcDbConstants.js.map +1 -1
  67. package/lib/misc/AcDbMLeaderStyleColorCodec.d.ts +59 -0
  68. package/lib/misc/AcDbMLeaderStyleColorCodec.d.ts.map +1 -0
  69. package/lib/misc/AcDbMLeaderStyleColorCodec.js +101 -0
  70. package/lib/misc/AcDbMLeaderStyleColorCodec.js.map +1 -0
  71. package/lib/misc/index.d.ts +1 -0
  72. package/lib/misc/index.d.ts.map +1 -1
  73. package/lib/misc/index.js +1 -0
  74. package/lib/misc/index.js.map +1 -1
  75. package/lib/object/AcDbMLeaderStyle.d.ts +405 -0
  76. package/lib/object/AcDbMLeaderStyle.d.ts.map +1 -0
  77. package/lib/object/AcDbMLeaderStyle.js +1006 -0
  78. package/lib/object/AcDbMLeaderStyle.js.map +1 -0
  79. package/lib/object/AcDbMlineStyle.d.ts +58 -0
  80. package/lib/object/AcDbMlineStyle.d.ts.map +1 -0
  81. package/lib/object/AcDbMlineStyle.js +158 -0
  82. package/lib/object/AcDbMlineStyle.js.map +1 -0
  83. package/lib/object/index.d.ts +2 -0
  84. package/lib/object/index.d.ts.map +1 -1
  85. package/lib/object/index.js +2 -0
  86. package/lib/object/index.js.map +1 -1
  87. package/package.json +5 -5
@@ -3,6 +3,8 @@ import { AcDbObject, AcDbObjectId } from '../base/AcDbObject';
3
3
  import { AcDbConverterType } from './AcDbDatabaseConverterManager';
4
4
  import { AcDbEntity } from '../entity';
5
5
  import { AcDbDictionary } from '../object/AcDbDictionary';
6
+ import { AcDbMLeaderStyle } from '../object/AcDbMLeaderStyle';
7
+ import { AcDbMlineStyle } from '../object/AcDbMlineStyle';
6
8
  import { AcDbRasterImageDef } from '../object/AcDbRasterImageDef';
7
9
  import { AcDbXrecord } from '../object/AcDbXrecord';
8
10
  import { AcDbBlockTable } from './AcDbBlockTable';
@@ -255,6 +257,12 @@ export declare class AcDbDatabase extends AcDbObject {
255
257
  private _celweight;
256
258
  /** Current layer for the database */
257
259
  private _clayer;
260
+ /** Current multiline style for newly created MLINE entities */
261
+ private _cmlstyle;
262
+ /** Current multiline scale for newly created MLINE entities */
263
+ private _cmlscale;
264
+ /** Current multileader style for newly created MLEADER entities */
265
+ private _cmleaderstyle;
258
266
  /** Current text style name for the database */
259
267
  private _textstyle;
260
268
  /** The extents of current Model Space */
@@ -337,6 +345,8 @@ export declare class AcDbDatabase extends AcDbObject {
337
345
  readonly dictionary: AcDbDictionary<AcDbDictionary>;
338
346
  readonly imageDefinition: AcDbDictionary<AcDbRasterImageDef>;
339
347
  readonly layout: AcDbLayoutDictionary;
348
+ readonly mleaderStyle: AcDbDictionary<AcDbMLeaderStyle>;
349
+ readonly mlineStyle: AcDbDictionary<AcDbMlineStyle>;
340
350
  readonly xrecord: AcDbDictionary<AcDbXrecord>;
341
351
  };
342
352
  /**
@@ -547,6 +557,21 @@ export declare class AcDbDatabase extends AcDbObject {
547
557
  */
548
558
  get clayer(): string;
549
559
  set clayer(value: string);
560
+ /**
561
+ * The multiline style name used for newly created MLINE entities.
562
+ */
563
+ get cmlstyle(): string;
564
+ set cmlstyle(value: string);
565
+ /**
566
+ * The multiline scale used for newly created MLINE entities.
567
+ */
568
+ get cmlscale(): number;
569
+ set cmlscale(value: number);
570
+ /**
571
+ * The multileader style name used for newly created MLEADER entities.
572
+ */
573
+ get cmleaderstyle(): string;
574
+ set cmleaderstyle(value: string);
550
575
  /**
551
576
  * The text style name for new text objects.
552
577
  */
@@ -657,6 +682,15 @@ export declare class AcDbDatabase extends AcDbObject {
657
682
  * @param - Options to specify data to create
658
683
  */
659
684
  createDefaultData(options?: AcDbCreateDefaultDataOptions): void;
685
+ /**
686
+ * Ensures style dictionaries contain defaults required by one entity type.
687
+ *
688
+ * This is primarily used during entity append so newly created entities can
689
+ * immediately resolve their style references.
690
+ *
691
+ * @internal
692
+ */
693
+ ensureEntityStyleDefaults(entity: AcDbEntity): void;
660
694
  /**
661
695
  * Ensures required default database data exists.
662
696
  *
@@ -665,6 +699,14 @@ export declare class AcDbDatabase extends AcDbObject {
665
699
  * viewports, layouts, and registered application IDs.
666
700
  */
667
701
  private ensureDatabaseDefaults;
702
+ /**
703
+ * Ensures one MLINE style exists for the provided style name.
704
+ */
705
+ private ensureMLineStyle;
706
+ /**
707
+ * Ensures one MLEADER style exists for the provided style name.
708
+ */
709
+ private ensureMLeaderStyle;
668
710
  /**
669
711
  * Writes the HEADER section for the DXF export.
670
712
  *
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbDatabase.d.ts","sourceRoot":"","sources":["../../src/database/AcDbDatabase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcDbDatabase.d.ts","sourceRoot":"","sources":["../../src/database/AcDbDatabase.ts"],"names":[],"mappings":"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"}
@@ -91,8 +91,10 @@ import { AcDbDxfFiler } from '../base/AcDbDxfFiler';
91
91
  import { AcDbObject } from '../base/AcDbObject';
92
92
  import { AcDbRegenerator } from '../converter';
93
93
  import { AcDbDatabaseConverterManager, AcDbFileType } from './AcDbDatabaseConverterManager';
94
- import { ACAD_APPID, AcDbAngleUnits, AcDbDataGenerator, AcDbUnitsValue, ByBlock, ByLayer, DEFAULT_LINE_TYPE, DEFAULT_TEXT_STYLE, MLIGHTCAD_APPID } from '../misc';
94
+ import { ACAD_APPID, AcDbAngleUnits, AcDbDataGenerator, AcDbUnitsValue, ByBlock, ByLayer, DEFAULT_MLEADER_STYLE, DEFAULT_MLINE_STYLE, DEFAULT_LINE_TYPE, DEFAULT_TEXT_STYLE, MLIGHTCAD_APPID } from '../misc';
95
95
  import { AcDbDictionary } from '../object/AcDbDictionary';
96
+ import { AcDbMLeaderStyle } from '../object/AcDbMLeaderStyle';
97
+ import { AcDbMlineStyle } from '../object/AcDbMlineStyle';
96
98
  import { AcDbBlockTable } from './AcDbBlockTable';
97
99
  import { AcDbBlockTableRecord } from './AcDbBlockTableRecord';
98
100
  import { AcDbDimStyleTable } from './AcDbDimStyleTable';
@@ -173,6 +175,9 @@ var AcDbDatabase = /** @class */ (function (_super) {
173
175
  _this._celtype = ByLayer;
174
176
  _this._celweight = AcGiLineWeight.ByLayer;
175
177
  _this._clayer = '0';
178
+ _this._cmlstyle = DEFAULT_MLINE_STYLE;
179
+ _this._cmlscale = 1;
180
+ _this._cmleaderstyle = DEFAULT_MLEADER_STYLE;
176
181
  _this._textstyle = DEFAULT_TEXT_STYLE;
177
182
  _this._extents = new AcGeBox3d();
178
183
  // TODO: Default value is 1 (imperial) or 4 (metric)
@@ -197,6 +202,8 @@ var AcDbDatabase = /** @class */ (function (_super) {
197
202
  dictionary: new AcDbDictionary(_this),
198
203
  imageDefinition: new AcDbDictionary(_this),
199
204
  layout: new AcDbLayoutDictionary(_this),
205
+ mleaderStyle: new AcDbDictionary(_this),
206
+ mlineStyle: new AcDbDictionary(_this),
200
207
  xrecord: new AcDbDictionary(_this)
201
208
  };
202
209
  return _this;
@@ -591,6 +598,54 @@ var AcDbDatabase = /** @class */ (function (_super) {
591
598
  enumerable: false,
592
599
  configurable: true
593
600
  });
601
+ Object.defineProperty(AcDbDatabase.prototype, "cmlstyle", {
602
+ /**
603
+ * The multiline style name used for newly created MLINE entities.
604
+ */
605
+ get: function () {
606
+ return this._cmlstyle;
607
+ },
608
+ set: function (value) {
609
+ var _this = this;
610
+ this.updateSysVar(AcDbSystemVariables.CMLSTYLE, this._cmlstyle, value !== null && value !== void 0 ? value : DEFAULT_MLINE_STYLE, function (nextValue) {
611
+ _this._cmlstyle = nextValue;
612
+ });
613
+ },
614
+ enumerable: false,
615
+ configurable: true
616
+ });
617
+ Object.defineProperty(AcDbDatabase.prototype, "cmlscale", {
618
+ /**
619
+ * The multiline scale used for newly created MLINE entities.
620
+ */
621
+ get: function () {
622
+ return this._cmlscale;
623
+ },
624
+ set: function (value) {
625
+ var _this = this;
626
+ this.updateSysVar(AcDbSystemVariables.CMLSCALE, this._cmlscale, value !== null && value !== void 0 ? value : 1, function (nextValue) {
627
+ _this._cmlscale = nextValue;
628
+ });
629
+ },
630
+ enumerable: false,
631
+ configurable: true
632
+ });
633
+ Object.defineProperty(AcDbDatabase.prototype, "cmleaderstyle", {
634
+ /**
635
+ * The multileader style name used for newly created MLEADER entities.
636
+ */
637
+ get: function () {
638
+ return this._cmleaderstyle;
639
+ },
640
+ set: function (value) {
641
+ var _this = this;
642
+ this.updateSysVar(AcDbSystemVariables.CMLEADERSTYLE, this._cmleaderstyle, value !== null && value !== void 0 ? value : DEFAULT_MLEADER_STYLE, function (nextValue) {
643
+ _this._cmleaderstyle = nextValue;
644
+ });
645
+ },
646
+ enumerable: false,
647
+ configurable: true
648
+ });
594
649
  Object.defineProperty(AcDbDatabase.prototype, "textstyle", {
595
650
  /**
596
651
  * The text style name for new text objects.
@@ -1025,6 +1080,23 @@ var AcDbDatabase = /** @class */ (function (_super) {
1025
1080
  generator.createDefaultLayout();
1026
1081
  }
1027
1082
  };
1083
+ /**
1084
+ * Ensures style dictionaries contain defaults required by one entity type.
1085
+ *
1086
+ * This is primarily used during entity append so newly created entities can
1087
+ * immediately resolve their style references.
1088
+ *
1089
+ * @internal
1090
+ */
1091
+ AcDbDatabase.prototype.ensureEntityStyleDefaults = function (entity) {
1092
+ if (entity.dxfTypeName === 'MLINE') {
1093
+ this.ensureMLineStyle(this._cmlstyle || DEFAULT_MLINE_STYLE);
1094
+ return;
1095
+ }
1096
+ if (entity.dxfTypeName === 'MULTILEADER') {
1097
+ this.ensureMLeaderStyle(this._cmleaderstyle || DEFAULT_MLEADER_STYLE);
1098
+ }
1099
+ };
1028
1100
  /**
1029
1101
  * Ensures required default database data exists.
1030
1102
  *
@@ -1095,6 +1167,8 @@ var AcDbDatabase = /** @class */ (function (_super) {
1095
1167
  viewport.name = '*Active';
1096
1168
  this.tables.viewportTable.add(viewport);
1097
1169
  }
1170
+ this.ensureMLineStyle(this._cmlstyle || DEFAULT_MLINE_STYLE);
1171
+ this.ensureMLeaderStyle(this._cmleaderstyle || DEFAULT_MLEADER_STYLE);
1098
1172
  var modelSpace = this.tables.blockTable.modelSpace;
1099
1173
  if (!this.objects.layout.getAt('Model')) {
1100
1174
  var layout = new AcDbLayout();
@@ -1115,6 +1189,94 @@ var AcDbDatabase = /** @class */ (function (_super) {
1115
1189
  this.tables.appIdTable.add(new AcDbRegAppTableRecord(MLIGHTCAD_APPID));
1116
1190
  }
1117
1191
  };
1192
+ /**
1193
+ * Ensures one MLINE style exists for the provided style name.
1194
+ */
1195
+ AcDbDatabase.prototype.ensureMLineStyle = function (styleName) {
1196
+ var e_2, _a;
1197
+ var dictionary = this.objects.mlineStyle;
1198
+ var normalizedName = styleName.trim();
1199
+ if (!normalizedName)
1200
+ return;
1201
+ if (dictionary.getAt(normalizedName)) {
1202
+ return;
1203
+ }
1204
+ try {
1205
+ for (var _b = __values(dictionary.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {
1206
+ var _d = __read(_c.value, 2), name_1 = _d[0], style_1 = _d[1];
1207
+ if (name_1.toUpperCase() === normalizedName.toUpperCase() ||
1208
+ style_1.styleName.toUpperCase() === normalizedName.toUpperCase()) {
1209
+ return;
1210
+ }
1211
+ }
1212
+ }
1213
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
1214
+ finally {
1215
+ try {
1216
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
1217
+ }
1218
+ finally { if (e_2) throw e_2.error; }
1219
+ }
1220
+ var style = new AcDbMlineStyle();
1221
+ style.styleName = normalizedName;
1222
+ style.elements = [
1223
+ {
1224
+ offset: 0.5,
1225
+ color: new AcCmColor().setByLayer(),
1226
+ lineType: ByLayer
1227
+ },
1228
+ {
1229
+ offset: -0.5,
1230
+ color: new AcCmColor().setByLayer(),
1231
+ lineType: ByLayer
1232
+ }
1233
+ ];
1234
+ dictionary.setAt(normalizedName, style);
1235
+ };
1236
+ /**
1237
+ * Ensures one MLEADER style exists for the provided style name.
1238
+ */
1239
+ AcDbDatabase.prototype.ensureMLeaderStyle = function (styleName) {
1240
+ var e_3, _a;
1241
+ var dictionary = this.objects.mleaderStyle;
1242
+ var normalizedName = styleName.trim();
1243
+ if (!normalizedName)
1244
+ return;
1245
+ if (dictionary.getAt(normalizedName)) {
1246
+ return;
1247
+ }
1248
+ try {
1249
+ for (var _b = __values(dictionary.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {
1250
+ var _d = __read(_c.value, 1), name_2 = _d[0];
1251
+ if (name_2.toUpperCase() === normalizedName.toUpperCase()) {
1252
+ return;
1253
+ }
1254
+ }
1255
+ }
1256
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
1257
+ finally {
1258
+ try {
1259
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
1260
+ }
1261
+ finally { if (e_3) throw e_3.error; }
1262
+ }
1263
+ var style = new AcDbMLeaderStyle();
1264
+ // Match AutoCAD "Standard" defaults observed in exported DXF.
1265
+ style.unknown1 = 2;
1266
+ style.maxLeaderSegmentsPoints = 2;
1267
+ style.leaderLineColor = new AcCmColor().setByBlock();
1268
+ style.textColor = new AcCmColor().setByBlock();
1269
+ style.blockColor = new AcCmColor().setByBlock();
1270
+ style.alignSpace = 4;
1271
+ style.breakSize = 3.75;
1272
+ style.enableBlockRotation = true;
1273
+ style.unknown2 = false;
1274
+ var byBlockLinetype = this.tables.linetypeTable.getAt(ByBlock);
1275
+ style.leaderLineTypeId = byBlockLinetype === null || byBlockLinetype === void 0 ? void 0 : byBlockLinetype.objectId;
1276
+ var standardTextStyle = this.tables.textStyleTable.getAt(DEFAULT_TEXT_STYLE);
1277
+ style.textStyleId = standardTextStyle === null || standardTextStyle === void 0 ? void 0 : standardTextStyle.objectId;
1278
+ dictionary.setAt(normalizedName, style);
1279
+ };
1118
1280
  /**
1119
1281
  * Writes the HEADER section for the DXF export.
1120
1282
  *
@@ -1141,6 +1303,12 @@ var AcDbDatabase = /** @class */ (function (_super) {
1141
1303
  filer.writeString(8, this.clayer);
1142
1304
  filer.writeString(9, '$CELTYPE');
1143
1305
  filer.writeString(6, this.celtype);
1306
+ filer.writeString(9, '$CMLSTYLE');
1307
+ filer.writeString(2, this.cmlstyle);
1308
+ filer.writeString(9, '$CMLSCALE');
1309
+ filer.writeDouble(40, this.cmlscale);
1310
+ filer.writeString(9, '$CMLEADERSTYLE');
1311
+ filer.writeString(2, this.cmleaderstyle);
1144
1312
  filer.writeString(9, '$TEXTSTYLE');
1145
1313
  filer.writeString(7, this.textstyle);
1146
1314
  filer.writeString(9, '$ANGBASE');
@@ -1185,7 +1353,7 @@ var AcDbDatabase = /** @class */ (function (_super) {
1185
1353
  * @param filer - DXF output writer.
1186
1354
  */
1187
1355
  AcDbDatabase.prototype.writeDxfBlocksSection = function (filer) {
1188
- var e_2, _a, e_3, _b;
1356
+ var e_4, _a, e_5, _b;
1189
1357
  filer.startSection('BLOCKS');
1190
1358
  try {
1191
1359
  for (var _c = __values(this.tables.blockTable.newIterator()), _d = _c.next(); !_d.done; _d = _c.next()) {
@@ -1193,28 +1361,28 @@ var AcDbDatabase = /** @class */ (function (_super) {
1193
1361
  btr.dxfOutBlockBegin(filer);
1194
1362
  if (!btr.isModelSapce && !btr.isPaperSapce) {
1195
1363
  try {
1196
- for (var _e = (e_3 = void 0, __values(btr.newIterator())), _f = _e.next(); !_f.done; _f = _e.next()) {
1364
+ for (var _e = (e_5 = void 0, __values(btr.newIterator())), _f = _e.next(); !_f.done; _f = _e.next()) {
1197
1365
  var entity = _f.value;
1198
1366
  this.writeDxfEntity(filer, entity);
1199
1367
  }
1200
1368
  }
1201
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
1369
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
1202
1370
  finally {
1203
1371
  try {
1204
1372
  if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
1205
1373
  }
1206
- finally { if (e_3) throw e_3.error; }
1374
+ finally { if (e_5) throw e_5.error; }
1207
1375
  }
1208
1376
  }
1209
1377
  btr.dxfOutBlockEnd(filer);
1210
1378
  }
1211
1379
  }
1212
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
1380
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
1213
1381
  finally {
1214
1382
  try {
1215
1383
  if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
1216
1384
  }
1217
- finally { if (e_2) throw e_2.error; }
1385
+ finally { if (e_4) throw e_4.error; }
1218
1386
  }
1219
1387
  filer.endSection();
1220
1388
  };
@@ -1224,7 +1392,7 @@ var AcDbDatabase = /** @class */ (function (_super) {
1224
1392
  * @param filer - DXF output writer.
1225
1393
  */
1226
1394
  AcDbDatabase.prototype.writeDxfEntitiesSection = function (filer) {
1227
- var e_4, _a, e_5, _b;
1395
+ var e_6, _a, e_7, _b;
1228
1396
  filer.startSection('ENTITIES');
1229
1397
  try {
1230
1398
  for (var _c = __values(this.tables.blockTable.newIterator()), _d = _c.next(); !_d.done; _d = _c.next()) {
@@ -1232,26 +1400,26 @@ var AcDbDatabase = /** @class */ (function (_super) {
1232
1400
  if (!btr.isModelSapce && !btr.isPaperSapce)
1233
1401
  continue;
1234
1402
  try {
1235
- for (var _e = (e_5 = void 0, __values(btr.newIterator())), _f = _e.next(); !_f.done; _f = _e.next()) {
1403
+ for (var _e = (e_7 = void 0, __values(btr.newIterator())), _f = _e.next(); !_f.done; _f = _e.next()) {
1236
1404
  var entity = _f.value;
1237
1405
  this.writeDxfEntity(filer, entity);
1238
1406
  }
1239
1407
  }
1240
- catch (e_5_1) { e_5 = { error: e_5_1 }; }
1408
+ catch (e_7_1) { e_7 = { error: e_7_1 }; }
1241
1409
  finally {
1242
1410
  try {
1243
1411
  if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
1244
1412
  }
1245
- finally { if (e_5) throw e_5.error; }
1413
+ finally { if (e_7) throw e_7.error; }
1246
1414
  }
1247
1415
  }
1248
1416
  }
1249
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
1417
+ catch (e_6_1) { e_6 = { error: e_6_1 }; }
1250
1418
  finally {
1251
1419
  try {
1252
1420
  if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
1253
1421
  }
1254
- finally { if (e_4) throw e_4.error; }
1422
+ finally { if (e_6) throw e_6.error; }
1255
1423
  }
1256
1424
  filer.endSection();
1257
1425
  };
@@ -1261,7 +1429,7 @@ var AcDbDatabase = /** @class */ (function (_super) {
1261
1429
  * @param filer - DXF output writer.
1262
1430
  */
1263
1431
  AcDbDatabase.prototype.writeDxfObjectsSection = function (filer) {
1264
- var e_6, _a, e_7, _b, e_8, _c;
1432
+ var e_8, _a, e_9, _b, e_10, _c, e_11, _d, e_12, _e;
1265
1433
  filer.startSection('OBJECTS');
1266
1434
  var rootDict = this.objects.dictionary;
1267
1435
  rootDict.ownerId = '0';
@@ -1281,6 +1449,18 @@ var AcDbDatabase = /** @class */ (function (_super) {
1281
1449
  }
1282
1450
  };
1283
1451
  ensureRootEntry('ACAD_LAYOUT', this.objects.layout);
1452
+ if (this.objects.mleaderStyle.numEntries > 0) {
1453
+ ensureRootEntry('ACAD_MLEADERSTYLE', this.objects.mleaderStyle);
1454
+ }
1455
+ else {
1456
+ dropRootEntry('ACAD_MLEADERSTYLE');
1457
+ }
1458
+ if (this.objects.mlineStyle.numEntries > 0) {
1459
+ ensureRootEntry('ACAD_MLINESTYLE', this.objects.mlineStyle);
1460
+ }
1461
+ else {
1462
+ dropRootEntry('ACAD_MLINESTYLE');
1463
+ }
1284
1464
  if (this.objects.imageDefinition.numEntries > 0) {
1285
1465
  ensureRootEntry('ISM_RASTER_IMAGE_DICT', this.objects.imageDefinition);
1286
1466
  }
@@ -1295,6 +1475,12 @@ var AcDbDatabase = /** @class */ (function (_super) {
1295
1475
  }
1296
1476
  writeDictionary(rootDict);
1297
1477
  writeDictionary(this.objects.layout);
1478
+ if (this.objects.mleaderStyle.numEntries > 0) {
1479
+ writeDictionary(this.objects.mleaderStyle);
1480
+ }
1481
+ if (this.objects.mlineStyle.numEntries > 0) {
1482
+ writeDictionary(this.objects.mlineStyle);
1483
+ }
1298
1484
  if (this.objects.imageDefinition.numEntries > 0) {
1299
1485
  writeDictionary(this.objects.imageDefinition);
1300
1486
  }
@@ -1302,46 +1488,74 @@ var AcDbDatabase = /** @class */ (function (_super) {
1302
1488
  writeDictionary(this.objects.xrecord);
1303
1489
  }
1304
1490
  try {
1305
- for (var _d = __values(this.objects.layout.entries()), _e = _d.next(); !_e.done; _e = _d.next()) {
1306
- var _f = __read(_e.value, 2), _ = _f[0], layout = _f[1];
1491
+ for (var _f = __values(this.objects.layout.entries()), _g = _f.next(); !_g.done; _g = _f.next()) {
1492
+ var _h = __read(_g.value, 2), _ = _h[0], layout = _h[1];
1307
1493
  filer.writeStart('LAYOUT');
1308
1494
  layout.dxfOut(filer);
1309
1495
  }
1310
1496
  }
1311
- catch (e_6_1) { e_6 = { error: e_6_1 }; }
1497
+ catch (e_8_1) { e_8 = { error: e_8_1 }; }
1312
1498
  finally {
1313
1499
  try {
1314
- if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
1500
+ if (_g && !_g.done && (_a = _f.return)) _a.call(_f);
1315
1501
  }
1316
- finally { if (e_6) throw e_6.error; }
1502
+ finally { if (e_8) throw e_8.error; }
1317
1503
  }
1318
1504
  try {
1319
- for (var _g = __values(this.objects.imageDefinition.entries()), _h = _g.next(); !_h.done; _h = _g.next()) {
1320
- var _j = __read(_h.value, 2), _ = _j[0], imageDef = _j[1];
1505
+ for (var _j = __values(this.objects.imageDefinition.entries()), _k = _j.next(); !_k.done; _k = _j.next()) {
1506
+ var _l = __read(_k.value, 2), _ = _l[0], imageDef = _l[1];
1321
1507
  filer.writeStart('IMAGEDEF');
1322
1508
  imageDef.dxfOut(filer);
1323
1509
  }
1324
1510
  }
1325
- catch (e_7_1) { e_7 = { error: e_7_1 }; }
1511
+ catch (e_9_1) { e_9 = { error: e_9_1 }; }
1512
+ finally {
1513
+ try {
1514
+ if (_k && !_k.done && (_b = _j.return)) _b.call(_j);
1515
+ }
1516
+ finally { if (e_9) throw e_9.error; }
1517
+ }
1518
+ try {
1519
+ for (var _m = __values(this.objects.mleaderStyle.entries()), _o = _m.next(); !_o.done; _o = _m.next()) {
1520
+ var _p = __read(_o.value, 2), _ = _p[0], mleaderStyle = _p[1];
1521
+ filer.writeStart('MLEADERSTYLE');
1522
+ mleaderStyle.dxfOut(filer);
1523
+ }
1524
+ }
1525
+ catch (e_10_1) { e_10 = { error: e_10_1 }; }
1526
+ finally {
1527
+ try {
1528
+ if (_o && !_o.done && (_c = _m.return)) _c.call(_m);
1529
+ }
1530
+ finally { if (e_10) throw e_10.error; }
1531
+ }
1532
+ try {
1533
+ for (var _q = __values(this.objects.mlineStyle.entries()), _r = _q.next(); !_r.done; _r = _q.next()) {
1534
+ var _s = __read(_r.value, 2), _ = _s[0], mlineStyle = _s[1];
1535
+ filer.writeStart('MLINESTYLE');
1536
+ mlineStyle.dxfOut(filer);
1537
+ }
1538
+ }
1539
+ catch (e_11_1) { e_11 = { error: e_11_1 }; }
1326
1540
  finally {
1327
1541
  try {
1328
- if (_h && !_h.done && (_b = _g.return)) _b.call(_g);
1542
+ if (_r && !_r.done && (_d = _q.return)) _d.call(_q);
1329
1543
  }
1330
- finally { if (e_7) throw e_7.error; }
1544
+ finally { if (e_11) throw e_11.error; }
1331
1545
  }
1332
1546
  try {
1333
- for (var _k = __values(this.objects.xrecord.entries()), _l = _k.next(); !_l.done; _l = _k.next()) {
1334
- var _m = __read(_l.value, 2), _ = _m[0], xrecord = _m[1];
1547
+ for (var _t = __values(this.objects.xrecord.entries()), _u = _t.next(); !_u.done; _u = _t.next()) {
1548
+ var _v = __read(_u.value, 2), _ = _v[0], xrecord = _v[1];
1335
1549
  filer.writeStart('XRECORD');
1336
1550
  xrecord.dxfOut(filer);
1337
1551
  }
1338
1552
  }
1339
- catch (e_8_1) { e_8 = { error: e_8_1 }; }
1553
+ catch (e_12_1) { e_12 = { error: e_12_1 }; }
1340
1554
  finally {
1341
1555
  try {
1342
- if (_l && !_l.done && (_c = _k.return)) _c.call(_k);
1556
+ if (_u && !_u.done && (_e = _t.return)) _e.call(_t);
1343
1557
  }
1344
- finally { if (e_8) throw e_8.error; }
1558
+ finally { if (e_12) throw e_12.error; }
1345
1559
  }
1346
1560
  filer.endSection();
1347
1561
  };
@@ -1355,7 +1569,7 @@ var AcDbDatabase = /** @class */ (function (_super) {
1355
1569
  * @param recordType - DXF record type name for each table record.
1356
1570
  */
1357
1571
  AcDbDatabase.prototype.writeDxfTable = function (filer, tableName, table, records, recordType) {
1358
- var e_9, _a;
1572
+ var e_13, _a;
1359
1573
  var items = __spreadArray([], __read(records), false);
1360
1574
  filer.startTable(tableName);
1361
1575
  table.dxfOut(filer);
@@ -1371,12 +1585,12 @@ var AcDbDatabase = /** @class */ (function (_super) {
1371
1585
  record.dxfOut(filer);
1372
1586
  }
1373
1587
  }
1374
- catch (e_9_1) { e_9 = { error: e_9_1 }; }
1588
+ catch (e_13_1) { e_13 = { error: e_13_1 }; }
1375
1589
  finally {
1376
1590
  try {
1377
1591
  if (items_1_1 && !items_1_1.done && (_a = items_1.return)) _a.call(items_1);
1378
1592
  }
1379
- finally { if (e_9) throw e_9.error; }
1593
+ finally { if (e_13) throw e_13.error; }
1380
1594
  }
1381
1595
  filer.endTable();
1382
1596
  };
@@ -1415,6 +1629,10 @@ var AcDbDatabase = /** @class */ (function (_super) {
1415
1629
  this._tables.layerTable.removeAll();
1416
1630
  this._tables.viewportTable.removeAll();
1417
1631
  this._objects.layout.removeAll();
1632
+ this._objects.imageDefinition.removeAll();
1633
+ this._objects.mleaderStyle.removeAll();
1634
+ this._objects.mlineStyle.removeAll();
1635
+ this._objects.xrecord.removeAll();
1418
1636
  this._currentSpace = undefined;
1419
1637
  this._extents.makeEmpty();
1420
1638
  };