@mlightcad/data-model 1.10.1 → 1.10.3

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 (81) hide show
  1. package/README.md +17 -0
  2. package/dist/data-model.cjs +10 -7
  3. package/lib/converter/AcDbFontNameCollector.d.ts +6 -0
  4. package/lib/converter/AcDbFontNameCollector.d.ts.map +1 -1
  5. package/lib/converter/AcDbFontNameCollector.js +101 -37
  6. package/lib/converter/AcDbFontNameCollector.js.map +1 -1
  7. package/lib/converter/index.d.ts +1 -1
  8. package/lib/converter/index.d.ts.map +1 -1
  9. package/lib/converter/worker/AcDbBaseWorker.d.ts +22 -0
  10. package/lib/converter/worker/AcDbBaseWorker.d.ts.map +1 -1
  11. package/lib/converter/worker/AcDbBaseWorker.js +26 -3
  12. package/lib/converter/worker/AcDbBaseWorker.js.map +1 -1
  13. package/lib/converter/worker/AcDbWorkerManager.d.ts +3 -0
  14. package/lib/converter/worker/AcDbWorkerManager.d.ts.map +1 -1
  15. package/lib/converter/worker/AcDbWorkerManager.js +8 -3
  16. package/lib/converter/worker/AcDbWorkerManager.js.map +1 -1
  17. package/lib/converter/worker/index.d.ts +1 -1
  18. package/lib/converter/worker/index.d.ts.map +1 -1
  19. package/lib/database/AcDbBlockTable.d.ts +2 -1
  20. package/lib/database/AcDbBlockTable.d.ts.map +1 -1
  21. package/lib/database/AcDbBlockTable.js +7 -18
  22. package/lib/database/AcDbBlockTable.js.map +1 -1
  23. package/lib/database/AcDbBlockTableRecord.d.ts +7 -1
  24. package/lib/database/AcDbBlockTableRecord.d.ts.map +1 -1
  25. package/lib/database/AcDbBlockTableRecord.js +48 -13
  26. package/lib/database/AcDbBlockTableRecord.js.map +1 -1
  27. package/lib/database/AcDbDatabase.d.ts +92 -12
  28. package/lib/database/AcDbDatabase.d.ts.map +1 -1
  29. package/lib/database/AcDbDatabase.js +322 -198
  30. package/lib/database/AcDbDatabase.js.map +1 -1
  31. package/lib/database/AcDbOpenDatabaseError.d.ts +113 -0
  32. package/lib/database/AcDbOpenDatabaseError.d.ts.map +1 -0
  33. package/lib/database/AcDbOpenDatabaseError.js +156 -0
  34. package/lib/database/AcDbOpenDatabaseError.js.map +1 -0
  35. package/lib/database/AcDbSymbolTable.d.ts +20 -3
  36. package/lib/database/AcDbSymbolTable.d.ts.map +1 -1
  37. package/lib/database/AcDbSymbolTable.js +120 -11
  38. package/lib/database/AcDbSymbolTable.js.map +1 -1
  39. package/lib/database/AcDbTextStyleTable.js +1 -1
  40. package/lib/database/AcDbTextStyleTable.js.map +1 -1
  41. package/lib/database/index.d.ts +3 -1
  42. package/lib/database/index.d.ts.map +1 -1
  43. package/lib/database/index.js +1 -0
  44. package/lib/database/index.js.map +1 -1
  45. package/lib/entity/AcDb3dSolid.d.ts +77 -0
  46. package/lib/entity/AcDb3dSolid.d.ts.map +1 -0
  47. package/lib/entity/AcDb3dSolid.js +232 -0
  48. package/lib/entity/AcDb3dSolid.js.map +1 -0
  49. package/lib/entity/AcDbFcf.d.ts +144 -0
  50. package/lib/entity/AcDbFcf.d.ts.map +1 -0
  51. package/lib/entity/AcDbFcf.js +718 -0
  52. package/lib/entity/AcDbFcf.js.map +1 -0
  53. package/lib/entity/AcDbLeader.d.ts +44 -0
  54. package/lib/entity/AcDbLeader.d.ts.map +1 -1
  55. package/lib/entity/AcDbLeader.js +238 -10
  56. package/lib/entity/AcDbLeader.js.map +1 -1
  57. package/lib/entity/AcDbMText.d.ts +10 -0
  58. package/lib/entity/AcDbMText.d.ts.map +1 -1
  59. package/lib/entity/AcDbMText.js +28 -3
  60. package/lib/entity/AcDbMText.js.map +1 -1
  61. package/lib/entity/AcDbTextExtentsHelpers.d.ts +104 -1
  62. package/lib/entity/AcDbTextExtentsHelpers.d.ts.map +1 -1
  63. package/lib/entity/AcDbTextExtentsHelpers.js +126 -0
  64. package/lib/entity/AcDbTextExtentsHelpers.js.map +1 -1
  65. package/lib/entity/index.d.ts +2 -0
  66. package/lib/entity/index.d.ts.map +1 -1
  67. package/lib/entity/index.js +2 -0
  68. package/lib/entity/index.js.map +1 -1
  69. package/lib/index.d.ts +4 -4
  70. package/lib/index.d.ts.map +1 -1
  71. package/lib/index.js +2 -2
  72. package/lib/index.js.map +1 -1
  73. package/lib/misc/AcDbObjectIterator.d.ts +5 -4
  74. package/lib/misc/AcDbObjectIterator.d.ts.map +1 -1
  75. package/lib/misc/AcDbObjectIterator.js +50 -5
  76. package/lib/misc/AcDbObjectIterator.js.map +1 -1
  77. package/lib/object/AcDbDictionary.d.ts +0 -2
  78. package/lib/object/AcDbDictionary.d.ts.map +1 -1
  79. package/lib/object/AcDbDictionary.js +21 -12
  80. package/lib/object/AcDbDictionary.js.map +1 -1
  81. package/package.json +4 -4
@@ -13,6 +13,42 @@ var __extends = (this && this.__extends) || (function () {
13
13
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
14
  };
15
15
  })();
16
+ var __values = (this && this.__values) || function(o) {
17
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
18
+ if (m) return m.call(o);
19
+ if (o && typeof o.length === "number") return {
20
+ next: function () {
21
+ if (o && i >= o.length) o = void 0;
22
+ return { value: o && o[i++], done: !o };
23
+ }
24
+ };
25
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
26
+ };
27
+ var __read = (this && this.__read) || function (o, n) {
28
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
29
+ if (!m) return o;
30
+ var i = m.call(o), r, ar = [], e;
31
+ try {
32
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
33
+ }
34
+ catch (error) { e = { error: error }; }
35
+ finally {
36
+ try {
37
+ if (r && !r.done && (m = i["return"])) m.call(i);
38
+ }
39
+ finally { if (e) throw e.error; }
40
+ }
41
+ return ar;
42
+ };
43
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
44
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
45
+ if (ar || !(i in from)) {
46
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
47
+ ar[i] = from[i];
48
+ }
49
+ }
50
+ return to.concat(ar || Array.prototype.slice.call(from));
51
+ };
16
52
  import { AcDbObject } from '../base/AcDbObject';
17
53
  import { AcDbObjectIterator } from '../misc/AcDbObjectIterator';
18
54
  /**
@@ -52,7 +88,7 @@ var AcDbSymbolTable = /** @class */ (function (_super) {
52
88
  // Symbol tables are owned by the database object (handle "0").
53
89
  _this.ownerId = db.objectId;
54
90
  _this._recordsByName = new Map();
55
- _this._recordsById = new Map();
91
+ _this._unnamedRecords = [];
56
92
  return _this;
57
93
  }
58
94
  Object.defineProperty(AcDbSymbolTable.prototype, "numEntries", {
@@ -67,6 +103,18 @@ var AcDbSymbolTable = /** @class */ (function (_super) {
67
103
  enumerable: false,
68
104
  configurable: true
69
105
  });
106
+ Object.defineProperty(AcDbSymbolTable.prototype, "totalRecordCount", {
107
+ /**
108
+ * Total record count including unnamed entries.
109
+ *
110
+ * @internal
111
+ */
112
+ get: function () {
113
+ return this._recordsByName.size + this._unnamedRecords.length;
114
+ },
115
+ enumerable: false,
116
+ configurable: true
117
+ });
70
118
  /**
71
119
  * Adds a record to both the database containing the table and the table itself.
72
120
  *
@@ -94,7 +142,9 @@ var AcDbSymbolTable = /** @class */ (function (_super) {
94
142
  if (normalizedName) {
95
143
  this._recordsByName.set(normalizedName, record);
96
144
  }
97
- this._recordsById.set(record.objectId, record);
145
+ else {
146
+ this._unnamedRecords.push(record);
147
+ }
98
148
  if (manager.isRecording()) {
99
149
  manager.recordAppend({ type: 'symbolTable', tableName: tableName }, record);
100
150
  }
@@ -137,7 +187,7 @@ var AcDbSymbolTable = /** @class */ (function (_super) {
137
187
  * ```
138
188
  */
139
189
  AcDbSymbolTable.prototype.removeId = function (id) {
140
- var record = this._recordsById.get(id);
190
+ var record = this.getIdAt(id);
141
191
  if (record) {
142
192
  this.removeRecord(record);
143
193
  return true;
@@ -163,8 +213,8 @@ var AcDbSymbolTable = /** @class */ (function (_super) {
163
213
  var tableName = manager.resolveSymbolTableName(this);
164
214
  manager.recordRemove({ type: 'symbolTable', tableName: tableName }, record);
165
215
  }
166
- this._recordsByName.delete(this.normalizeName(record.name));
167
- this._recordsById.delete(record.objectId);
216
+ this.removeFromMembership(record);
217
+ this.database.releaseObjectHandle(record);
168
218
  };
169
219
  /**
170
220
  * Removes all records from the table.
@@ -176,8 +226,35 @@ var AcDbSymbolTable = /** @class */ (function (_super) {
176
226
  * ```
177
227
  */
178
228
  AcDbSymbolTable.prototype.removeAll = function () {
229
+ var e_1, _a, e_2, _b;
230
+ try {
231
+ for (var _c = __values(this._recordsByName.values()), _d = _c.next(); !_d.done; _d = _c.next()) {
232
+ var record = _d.value;
233
+ this.database.releaseObjectHandle(record);
234
+ }
235
+ }
236
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
237
+ finally {
238
+ try {
239
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
240
+ }
241
+ finally { if (e_1) throw e_1.error; }
242
+ }
243
+ try {
244
+ for (var _e = __values(this._unnamedRecords), _f = _e.next(); !_f.done; _f = _e.next()) {
245
+ var record = _f.value;
246
+ this.database.releaseObjectHandle(record);
247
+ }
248
+ }
249
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
250
+ finally {
251
+ try {
252
+ if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
253
+ }
254
+ finally { if (e_2) throw e_2.error; }
255
+ }
179
256
  this._recordsByName.clear();
180
- this._recordsById.clear();
257
+ this._unnamedRecords.length = 0;
181
258
  };
182
259
  /**
183
260
  * Checks if the table contains a record with the specified name.
@@ -210,7 +287,7 @@ var AcDbSymbolTable = /** @class */ (function (_super) {
210
287
  * ```
211
288
  */
212
289
  AcDbSymbolTable.prototype.hasId = function (id) {
213
- return this._recordsById.has(id);
290
+ return this.getIdAt(id) !== undefined;
214
291
  };
215
292
  /**
216
293
  * Searches the table for a record with the specified name.
@@ -245,7 +322,15 @@ var AcDbSymbolTable = /** @class */ (function (_super) {
245
322
  * ```
246
323
  */
247
324
  AcDbSymbolTable.prototype.getIdAt = function (id) {
248
- return this._recordsById.get(id);
325
+ var object = this.database.getObjectById(id);
326
+ if (!object) {
327
+ return undefined;
328
+ }
329
+ var ownerId = object.getAttrWithoutException('ownerId');
330
+ if (ownerId !== this.objectId) {
331
+ return undefined;
332
+ }
333
+ return object;
249
334
  };
250
335
  /**
251
336
  * Gets the owner ID of a record with the specified ID.
@@ -262,7 +347,7 @@ var AcDbSymbolTable = /** @class */ (function (_super) {
262
347
  * ```
263
348
  */
264
349
  AcDbSymbolTable.prototype.getOwnerIdAt = function (id) {
265
- return this._recordsById.get(id);
350
+ return this.getIdAt(id);
266
351
  };
267
352
  /**
268
353
  * Creates an iterator object that can be used to iterate over the records in the table.
@@ -281,7 +366,10 @@ var AcDbSymbolTable = /** @class */ (function (_super) {
281
366
  */
282
367
  AcDbSymbolTable.prototype.newIterator = function (iterateById) {
283
368
  if (iterateById === void 0) { iterateById = false; }
284
- return new AcDbObjectIterator(iterateById ? this._recordsById : this._recordsByName);
369
+ if (iterateById) {
370
+ return new AcDbObjectIterator(__spreadArray(__spreadArray([], __read(this._recordsByName.values()), false), __read(this._unnamedRecords), false));
371
+ }
372
+ return new AcDbObjectIterator(this._recordsByName);
285
373
  };
286
374
  /**
287
375
  * Normalizes the name of a symbol table record.
@@ -308,7 +396,7 @@ var AcDbSymbolTable = /** @class */ (function (_super) {
308
396
  * Entry count written to DXF group code 70 for this symbol table.
309
397
  *
310
398
  * Defaults to {@link numEntries}. Subclasses may override when unnamed records
311
- * are stored only in {@link _recordsById}.
399
+ * are stored separately from {@link _recordsByName}.
312
400
  */
313
401
  get: function () {
314
402
  return this.numEntries;
@@ -330,6 +418,27 @@ var AcDbSymbolTable = /** @class */ (function (_super) {
330
418
  filer.writeInt16(70, this.dxfEntryCount);
331
419
  return this;
332
420
  };
421
+ /**
422
+ * Removes a record from internal membership structures only.
423
+ *
424
+ * Named records are removed from {@link _recordsByName}; records without a
425
+ * normalized name are removed from {@link _unnamedRecords}. Does not release
426
+ * object handles or record transaction changes — callers must handle those
427
+ * separately (see {@link removeRecord}).
428
+ *
429
+ * @param record - Symbol table record to remove from membership.
430
+ */
431
+ AcDbSymbolTable.prototype.removeFromMembership = function (record) {
432
+ var normalizedName = this.normalizeName(record.name);
433
+ if (normalizedName) {
434
+ this._recordsByName.delete(normalizedName);
435
+ return;
436
+ }
437
+ var index = this._unnamedRecords.indexOf(record);
438
+ if (index >= 0) {
439
+ this._unnamedRecords.splice(index, 1);
440
+ }
441
+ };
333
442
  return AcDbSymbolTable;
334
443
  }(AcDbObject));
335
444
  export { AcDbSymbolTable };
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbSymbolTable.js","sourceRoot":"","sources":["../../src/database/AcDbSymbolTable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcDbSymbolTable.js","sourceRoot":"","sources":["../../src/database/AcDbSymbolTable.ts"],"names":[],"mappings":"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"}
@@ -62,7 +62,7 @@ var AcDbTextStyleTable = /** @class */ (function (_super) {
62
62
  }
63
63
  Object.defineProperty(AcDbTextStyleTable.prototype, "dxfEntryCount", {
64
64
  get: function () {
65
- return this._recordsById.size;
65
+ return this.totalRecordCount;
66
66
  },
67
67
  enumerable: false,
68
68
  configurable: true
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbTextStyleTable.js","sourceRoot":"","sources":["../../src/database/AcDbTextStyleTable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcDbTextStyleTable.js","sourceRoot":"","sources":["../../src/database/AcDbTextStyleTable.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  export { AcDbDatabase } from './AcDbDatabase';
2
- export type { AcDbCreateDefaultDataOptions, AcDbDictObjectEventArgs, AcDbEntityEventArgs, AcDbFontInfo, AcDbFontLoader, AcDbLayerEventArgs, AcDbLayerModifiedEventArgs, AcDbOpenDatabaseOptions, AcDbOpenFileStage, AcDbProgressdEventArgs, AcDbTables } from './AcDbDatabase';
2
+ export type { AcDbCreateDefaultDataOptions, AcDbDictObjectEventArgs, AcDbEntityEventArgs, AcDbFontInfo, AcDbFontLoader, AcDbLayerEventArgs, AcDbLayerModifiedEventArgs, AcDbOpenDatabaseOptions, AcDbOpenFailedEventArgs, AcDbOpenFileStage, AcDbProgressdEventArgs, AcDbTables } from './AcDbDatabase';
3
+ export { AcDbOpenDatabaseError } from './AcDbOpenDatabaseError';
4
+ export type { AcDbOpenDatabaseErrorCode } from './AcDbOpenDatabaseError';
3
5
  export { AcDbBlockTable } from './AcDbBlockTable';
4
6
  export { AcDbBlockScaling, AcDbBlockTableRecord } from './AcDbBlockTableRecord';
5
7
  export type { AcDbBlockTableRecordAttrs } from './AcDbBlockTableRecord';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export { AcDbDatabase } from './AcDbDatabase';
2
+ export { AcDbOpenDatabaseError } from './AcDbOpenDatabaseError';
2
3
  export { AcDbBlockTable } from './AcDbBlockTable';
3
4
  export { AcDbBlockScaling, AcDbBlockTableRecord } from './AcDbBlockTableRecord';
4
5
  export { AcDbDatabaseConverter } from './AcDbDatabaseConverter';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAc7C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAU/D,OAAO,EACL,4BAA4B,EAC5B,YAAY,EACb,MAAM,gCAAgC,CAAA;AAKvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,4BAA4B,EAC5B,sBAAsB,EACtB,6BAA6B,EAC9B,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAE3E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAKnE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACpB,MAAM,uBAAuB,CAAA;AAK9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAOvD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,8BAA8B,EAC9B,eAAe,EACf,sBAAsB,EACtB,aAAa,EACb,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,eAAe,CAAA;AAOtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAErE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAe7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAU/D,OAAO,EACL,4BAA4B,EAC5B,YAAY,EACb,MAAM,gCAAgC,CAAA;AAKvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,4BAA4B,EAC5B,sBAAsB,EACtB,6BAA6B,EAC9B,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAE3E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAKnE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACpB,MAAM,uBAAuB,CAAA;AAK9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAOvD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,8BAA8B,EAC9B,eAAe,EACf,sBAAsB,EACtB,aAAa,EACb,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,eAAe,CAAA;AAOtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAErE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA"}
@@ -0,0 +1,77 @@
1
+ import { AcGeBox3d, AcGeMatrix3d } from '@mlightcad/geometry-engine';
2
+ import { AcGiRenderer } from '@mlightcad/graphic-interface';
3
+ import { AcDbDxfFiler } from '../base/AcDbDxfFiler';
4
+ import { AcDbEntity } from './AcDbEntity';
5
+ /**
6
+ * Represents a 3D solid (ACIS/ASM B-rep) entity, such as those created by
7
+ * AutoCAD's BOX, WEDGE, EXTRUDE, or boolean solid-modeling commands.
8
+ *
9
+ * Full B-rep tessellation (rendering the solid's actual trimmed
10
+ * NURBS/planar faces) is not yet supported — that requires implementing (or
11
+ * embedding) a real ACIS/ASM geometry kernel, which is out of scope here.
12
+ *
13
+ * Instead, this renders a wireframe bounding box derived from every vertex
14
+ * position embedded in the entity's raw ACIS SAT data, so the solid is at
15
+ * least visible at its correct location and approximate size rather than
16
+ * silently missing from the drawing. The `point` record format is stable
17
+ * across ACIS SAT versions and independent of the (much more variable)
18
+ * topology record layouts, which is why this approach works without a full
19
+ * B-rep parser. When `acisData` holds binary ASM/SAB data instead of SAT
20
+ * text (common in DWG 2013+), no points are found and this renders nothing.
21
+ */
22
+ export declare class AcDb3dSolid extends AcDbEntity {
23
+ /** The entity type name */
24
+ static typeName: string;
25
+ get dxfTypeName(): string;
26
+ /** Raw ACIS SAT text (or ASM/SAB binary payload) for this solid. */
27
+ private _acisData;
28
+ /** DXF group 70 ACIS version number, when present. */
29
+ private _version?;
30
+ /** Vertex positions extracted from `point` records in {@link _acisData}. */
31
+ private _points;
32
+ /**
33
+ * Creates a new 3D solid entity from raw ACIS data.
34
+ *
35
+ * @param acisData - Raw ACIS SAT text (group 1/3 lines) or ASM/SAB binary payload.
36
+ * @param version - DXF group 70 ACIS version number, when present.
37
+ */
38
+ constructor(acisData: string, version?: number);
39
+ /**
40
+ * Raw ACIS SAT text (or ASM/SAB binary payload) for this solid, preserved
41
+ * for future full B-rep parsing support.
42
+ */
43
+ get acisData(): string;
44
+ /** DXF group 70 ACIS version number, when present. */
45
+ get version(): number | undefined;
46
+ /**
47
+ * Whether any vertex positions could be extracted from {@link acisData}.
48
+ * False when the data is binary (ASM/SAB) rather than SAT text.
49
+ */
50
+ get hasRenderableGeometry(): boolean;
51
+ /** @inheritdoc */
52
+ get geometricExtents(): AcGeBox3d;
53
+ /**
54
+ * Transforms this solid by the specified matrix.
55
+ *
56
+ * Only the extracted point cloud (and thus the wireframe bounding box) is
57
+ * transformed; {@link acisData} itself is left untouched since it isn't
58
+ * fully parsed.
59
+ */
60
+ transformBy(matrix: AcGeMatrix3d): this;
61
+ /**
62
+ * Draws a wireframe bounding box around the solid's extracted point cloud.
63
+ *
64
+ * @param renderer - The renderer to use for drawing
65
+ * @returns The rendered wireframe entity, or `undefined` when no points
66
+ * could be extracted from {@link acisData}.
67
+ */
68
+ subWorldDraw(renderer: AcGiRenderer): import("@mlightcad/graphic-interface").AcGiEntity | undefined;
69
+ /**
70
+ * Writes DXF fields for this object.
71
+ *
72
+ * @param filer - DXF output writer.
73
+ * @returns The instance (for chaining).
74
+ */
75
+ dxfOutFields(filer: AcDbDxfFiler): this;
76
+ }
77
+ //# sourceMappingURL=AcDb3dSolid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcDb3dSolid.d.ts","sourceRoot":"","sources":["../../src/entity/AcDb3dSolid.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,YAAY,EAEb,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAmCzC;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,WAAY,SAAQ,UAAU;IACzC,2BAA2B;IAC3B,OAAgB,QAAQ,EAAE,MAAM,CAAY;IAE5C,IAAa,WAAW,WAEvB;IAED,oEAAoE;IACpE,OAAO,CAAC,SAAS,CAAQ;IACzB,sDAAsD;IACtD,OAAO,CAAC,QAAQ,CAAC,CAAQ;IACzB,4EAA4E;IAC5E,OAAO,CAAC,OAAO,CAAe;IAE9B;;;;;OAKG;gBACS,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAO9C;;;OAGG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,sDAAsD;IACtD,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAEhC;IAED;;;OAGG;IACH,IAAI,qBAAqB,IAAI,OAAO,CAEnC;IAED,kBAAkB;IAClB,IAAI,gBAAgB,IAAI,SAAS,CAKhC;IAED;;;;;;OAMG;IACH,WAAW,CAAC,MAAM,EAAE,YAAY;IAKhC;;;;;;OAMG;IACH,YAAY,CAAC,QAAQ,EAAE,YAAY;IAgCnC;;;;;OAKG;IACM,YAAY,CAAC,KAAK,EAAE,YAAY;CAqB1C"}
@@ -0,0 +1,232 @@
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ if (typeof b !== "function" && b !== null)
10
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
+ extendStatics(d, b);
12
+ function __() { this.constructor = d; }
13
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
+ };
15
+ })();
16
+ var __values = (this && this.__values) || function(o) {
17
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
18
+ if (m) return m.call(o);
19
+ if (o && typeof o.length === "number") return {
20
+ next: function () {
21
+ if (o && i >= o.length) o = void 0;
22
+ return { value: o && o[i++], done: !o };
23
+ }
24
+ };
25
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
26
+ };
27
+ import { AcGeBox3d, AcGePoint3d } from '@mlightcad/geometry-engine';
28
+ import { AcDbEntity } from './AcDbEntity';
29
+ /**
30
+ * Matches every `point` record in an ACIS SAT text stream, e.g.
31
+ * `point $-1 10 0 -10 #`. The `point` record format (attribute pointer
32
+ * followed by x/y/z) has been stable across ACIS SAT versions, unlike the
33
+ * topology records (`face`/`loop`/`coedge`/`edge`), whose field layout and
34
+ * count vary by surface/curve type and ACIS version. Extracting every point
35
+ * this way, independent of the body's topology, is a format detail that's
36
+ * safe to rely on regardless of which faces/edges reference it.
37
+ */
38
+ var ACIS_POINT_RECORD = /\bpoint\s+\$-?\d+\s+([^\s]+)\s+([^\s]+)\s+([^\s]+)/g;
39
+ /**
40
+ * Extracts every vertex position referenced by `point` records in an ACIS
41
+ * SAT text stream.
42
+ *
43
+ * @param acisData - Raw ACIS SAT text (the concatenated group 1/3 lines of a
44
+ * DXF `3DSOLID`/`REGION`/`BODY` entity).
45
+ * @returns Every point found, in file order. Empty when `acisData` doesn't
46
+ * contain any recognizable `point` records (e.g. binary ASM/SAB data).
47
+ */
48
+ function extractAcisPointCloud(acisData) {
49
+ var e_1, _a;
50
+ var points = [];
51
+ try {
52
+ for (var _b = __values(acisData.matchAll(ACIS_POINT_RECORD)), _c = _b.next(); !_c.done; _c = _b.next()) {
53
+ var match = _c.value;
54
+ var x = Number.parseFloat(match[1]);
55
+ var y = Number.parseFloat(match[2]);
56
+ var z = Number.parseFloat(match[3]);
57
+ if (Number.isFinite(x) && Number.isFinite(y) && Number.isFinite(z)) {
58
+ points.push(new AcGePoint3d(x, y, z));
59
+ }
60
+ }
61
+ }
62
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
63
+ finally {
64
+ try {
65
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
66
+ }
67
+ finally { if (e_1) throw e_1.error; }
68
+ }
69
+ return points;
70
+ }
71
+ /**
72
+ * Represents a 3D solid (ACIS/ASM B-rep) entity, such as those created by
73
+ * AutoCAD's BOX, WEDGE, EXTRUDE, or boolean solid-modeling commands.
74
+ *
75
+ * Full B-rep tessellation (rendering the solid's actual trimmed
76
+ * NURBS/planar faces) is not yet supported — that requires implementing (or
77
+ * embedding) a real ACIS/ASM geometry kernel, which is out of scope here.
78
+ *
79
+ * Instead, this renders a wireframe bounding box derived from every vertex
80
+ * position embedded in the entity's raw ACIS SAT data, so the solid is at
81
+ * least visible at its correct location and approximate size rather than
82
+ * silently missing from the drawing. The `point` record format is stable
83
+ * across ACIS SAT versions and independent of the (much more variable)
84
+ * topology record layouts, which is why this approach works without a full
85
+ * B-rep parser. When `acisData` holds binary ASM/SAB data instead of SAT
86
+ * text (common in DWG 2013+), no points are found and this renders nothing.
87
+ */
88
+ var AcDb3dSolid = /** @class */ (function (_super) {
89
+ __extends(AcDb3dSolid, _super);
90
+ /**
91
+ * Creates a new 3D solid entity from raw ACIS data.
92
+ *
93
+ * @param acisData - Raw ACIS SAT text (group 1/3 lines) or ASM/SAB binary payload.
94
+ * @param version - DXF group 70 ACIS version number, when present.
95
+ */
96
+ function AcDb3dSolid(acisData, version) {
97
+ var _this = _super.call(this) || this;
98
+ _this._acisData = acisData;
99
+ _this._version = version;
100
+ _this._points = extractAcisPointCloud(acisData);
101
+ return _this;
102
+ }
103
+ Object.defineProperty(AcDb3dSolid.prototype, "dxfTypeName", {
104
+ get: function () {
105
+ return '3DSOLID';
106
+ },
107
+ enumerable: false,
108
+ configurable: true
109
+ });
110
+ Object.defineProperty(AcDb3dSolid.prototype, "acisData", {
111
+ /**
112
+ * Raw ACIS SAT text (or ASM/SAB binary payload) for this solid, preserved
113
+ * for future full B-rep parsing support.
114
+ */
115
+ get: function () {
116
+ return this._acisData;
117
+ },
118
+ enumerable: false,
119
+ configurable: true
120
+ });
121
+ Object.defineProperty(AcDb3dSolid.prototype, "version", {
122
+ /** DXF group 70 ACIS version number, when present. */
123
+ get: function () {
124
+ return this._version;
125
+ },
126
+ enumerable: false,
127
+ configurable: true
128
+ });
129
+ Object.defineProperty(AcDb3dSolid.prototype, "hasRenderableGeometry", {
130
+ /**
131
+ * Whether any vertex positions could be extracted from {@link acisData}.
132
+ * False when the data is binary (ASM/SAB) rather than SAT text.
133
+ */
134
+ get: function () {
135
+ return this._points.length > 0;
136
+ },
137
+ enumerable: false,
138
+ configurable: true
139
+ });
140
+ Object.defineProperty(AcDb3dSolid.prototype, "geometricExtents", {
141
+ /** @inheritdoc */
142
+ get: function () {
143
+ if (this._points.length === 0) {
144
+ return new AcGeBox3d(new AcGePoint3d(0, 0, 0), new AcGePoint3d(0, 0, 0));
145
+ }
146
+ return new AcGeBox3d().setFromPoints(this._points);
147
+ },
148
+ enumerable: false,
149
+ configurable: true
150
+ });
151
+ /**
152
+ * Transforms this solid by the specified matrix.
153
+ *
154
+ * Only the extracted point cloud (and thus the wireframe bounding box) is
155
+ * transformed; {@link acisData} itself is left untouched since it isn't
156
+ * fully parsed.
157
+ */
158
+ AcDb3dSolid.prototype.transformBy = function (matrix) {
159
+ this._points.forEach(function (point) { return point.applyMatrix4(matrix); });
160
+ return this;
161
+ };
162
+ /**
163
+ * Draws a wireframe bounding box around the solid's extracted point cloud.
164
+ *
165
+ * @param renderer - The renderer to use for drawing
166
+ * @returns The rendered wireframe entity, or `undefined` when no points
167
+ * could be extracted from {@link acisData}.
168
+ */
169
+ AcDb3dSolid.prototype.subWorldDraw = function (renderer) {
170
+ if (this._points.length === 0) {
171
+ return undefined;
172
+ }
173
+ var box = this.geometricExtents;
174
+ var min = box.min;
175
+ var max = box.max;
176
+ var corners = [
177
+ new AcGePoint3d(min.x, min.y, min.z),
178
+ new AcGePoint3d(max.x, min.y, min.z),
179
+ new AcGePoint3d(max.x, max.y, min.z),
180
+ new AcGePoint3d(min.x, max.y, min.z),
181
+ new AcGePoint3d(min.x, min.y, max.z),
182
+ new AcGePoint3d(max.x, min.y, max.z),
183
+ new AcGePoint3d(max.x, max.y, max.z),
184
+ new AcGePoint3d(min.x, max.y, max.z)
185
+ ];
186
+ var buffer = new Float32Array(corners.length * 3);
187
+ corners.forEach(function (corner, i) {
188
+ buffer[i * 3] = corner.x;
189
+ buffer[i * 3 + 1] = corner.y;
190
+ buffer[i * 3 + 2] = corner.z;
191
+ });
192
+ // 12 edges of a box, referencing the 8 corners above.
193
+ var indices = new Uint16Array([
194
+ 0, 1, 1, 2, 2, 3, 3, 0, // bottom face
195
+ 4, 5, 5, 6, 6, 7, 7, 4, // top face
196
+ 0, 4, 1, 5, 2, 6, 3, 7 // vertical edges
197
+ ]);
198
+ return renderer.lineSegments(buffer, 3, indices);
199
+ };
200
+ /**
201
+ * Writes DXF fields for this object.
202
+ *
203
+ * @param filer - DXF output writer.
204
+ * @returns The instance (for chaining).
205
+ */
206
+ AcDb3dSolid.prototype.dxfOutFields = function (filer) {
207
+ _super.prototype.dxfOutFields.call(this, filer);
208
+ filer.writeSubclassMarker('AcDb3dSolid');
209
+ if (this._version != null) {
210
+ filer.writeInt16(70, this._version);
211
+ }
212
+ // ACIS text is written as chunked group-3 continuation lines (max 255
213
+ // chars each per the DXF spec), terminated by a final group-1 line.
214
+ var maxChunkLength = 255;
215
+ var lines = this._acisData.split('\n');
216
+ for (var i = 0; i < lines.length; i++) {
217
+ var isLast = i === lines.length - 1;
218
+ var line = lines[i];
219
+ while (line.length > maxChunkLength) {
220
+ filer.writeString(3, line.slice(0, maxChunkLength));
221
+ line = line.slice(maxChunkLength);
222
+ }
223
+ filer.writeString(isLast ? 1 : 3, line);
224
+ }
225
+ return this;
226
+ };
227
+ /** The entity type name */
228
+ AcDb3dSolid.typeName = '3dSolid';
229
+ return AcDb3dSolid;
230
+ }(AcDbEntity));
231
+ export { AcDb3dSolid };
232
+ //# sourceMappingURL=AcDb3dSolid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcDb3dSolid.js","sourceRoot":"","sources":["../../src/entity/AcDb3dSolid.ts"],"names":[],"mappings":"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"}