@mlightcad/data-model 1.15.14 → 1.15.15

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 (180) hide show
  1. package/dist/data-model.cjs +16 -16
  2. package/lib/base/AcDbDxfPairReader.d.ts.map +1 -1
  3. package/lib/base/AcDbDxfPairReader.js +1 -14
  4. package/lib/base/AcDbDxfPairReader.js.map +1 -1
  5. package/lib/database/AcDbBlockTableRecord.d.ts +6 -0
  6. package/lib/database/AcDbBlockTableRecord.d.ts.map +1 -1
  7. package/lib/database/AcDbBlockTableRecord.js +15 -0
  8. package/lib/database/AcDbBlockTableRecord.js.map +1 -1
  9. package/lib/database/AcDbDatabase.d.ts +10 -2
  10. package/lib/database/AcDbDatabase.d.ts.map +1 -1
  11. package/lib/database/AcDbDatabase.js +28 -2
  12. package/lib/database/AcDbDatabase.js.map +1 -1
  13. package/lib/database/AcDbDimStyleTableRecord.d.ts +5 -0
  14. package/lib/database/AcDbDimStyleTableRecord.d.ts.map +1 -1
  15. package/lib/database/AcDbDimStyleTableRecord.js +14 -0
  16. package/lib/database/AcDbDimStyleTableRecord.js.map +1 -1
  17. package/lib/database/AcDbSysVarManager.d.ts.map +1 -1
  18. package/lib/database/AcDbSysVarManager.js +16 -0
  19. package/lib/database/AcDbSysVarManager.js.map +1 -1
  20. package/lib/database/AcDbSystemVariables.d.ts +12 -1
  21. package/lib/database/AcDbSystemVariables.d.ts.map +1 -1
  22. package/lib/database/AcDbSystemVariables.js +11 -0
  23. package/lib/database/AcDbSystemVariables.js.map +1 -1
  24. package/lib/database/AcDbTextStyleTableRecord.d.ts +5 -0
  25. package/lib/database/AcDbTextStyleTableRecord.d.ts.map +1 -1
  26. package/lib/database/AcDbTextStyleTableRecord.js +14 -0
  27. package/lib/database/AcDbTextStyleTableRecord.js.map +1 -1
  28. package/lib/dxf/AcDbDxfObjectsReader.d.ts +5 -0
  29. package/lib/dxf/AcDbDxfObjectsReader.d.ts.map +1 -1
  30. package/lib/dxf/AcDbDxfObjectsReader.js +94 -0
  31. package/lib/dxf/AcDbDxfObjectsReader.js.map +1 -1
  32. package/lib/entity/AcDbAttribute.d.ts +22 -0
  33. package/lib/entity/AcDbAttribute.d.ts.map +1 -1
  34. package/lib/entity/AcDbAttribute.js +85 -0
  35. package/lib/entity/AcDbAttribute.js.map +1 -1
  36. package/lib/entity/AcDbAttributeDefinition.d.ts +4 -0
  37. package/lib/entity/AcDbAttributeDefinition.d.ts.map +1 -1
  38. package/lib/entity/AcDbAttributeDefinition.js +75 -0
  39. package/lib/entity/AcDbAttributeDefinition.js.map +1 -1
  40. package/lib/entity/AcDbBlockReference.d.ts +22 -0
  41. package/lib/entity/AcDbBlockReference.d.ts.map +1 -1
  42. package/lib/entity/AcDbBlockReference.js +106 -22
  43. package/lib/entity/AcDbBlockReference.js.map +1 -1
  44. package/lib/entity/AcDbFcf.d.ts +5 -0
  45. package/lib/entity/AcDbFcf.d.ts.map +1 -1
  46. package/lib/entity/AcDbFcf.js +43 -6
  47. package/lib/entity/AcDbFcf.js.map +1 -1
  48. package/lib/entity/AcDbHatch.d.ts +15 -0
  49. package/lib/entity/AcDbHatch.d.ts.map +1 -1
  50. package/lib/entity/AcDbHatch.js +111 -27
  51. package/lib/entity/AcDbHatch.js.map +1 -1
  52. package/lib/entity/AcDbMLeader.d.ts +26 -5
  53. package/lib/entity/AcDbMLeader.d.ts.map +1 -1
  54. package/lib/entity/AcDbMLeader.js +111 -11
  55. package/lib/entity/AcDbMLeader.js.map +1 -1
  56. package/lib/entity/AcDbMText.d.ts +16 -1
  57. package/lib/entity/AcDbMText.d.ts.map +1 -1
  58. package/lib/entity/AcDbMText.js +28 -3
  59. package/lib/entity/AcDbMText.js.map +1 -1
  60. package/lib/entity/AcDbText.d.ts +25 -2
  61. package/lib/entity/AcDbText.d.ts.map +1 -1
  62. package/lib/entity/AcDbText.js +86 -8
  63. package/lib/entity/AcDbText.js.map +1 -1
  64. package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts +2 -0
  65. package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts.map +1 -1
  66. package/lib/entity/dimension/AcDb3PointAngularDimension.js +76 -0
  67. package/lib/entity/dimension/AcDb3PointAngularDimension.js.map +1 -1
  68. package/lib/entity/dimension/AcDbAlignedDimension.d.ts +1 -5
  69. package/lib/entity/dimension/AcDbAlignedDimension.d.ts.map +1 -1
  70. package/lib/entity/dimension/AcDbAlignedDimension.js +61 -64
  71. package/lib/entity/dimension/AcDbAlignedDimension.js.map +1 -1
  72. package/lib/entity/dimension/AcDbArcDimension.d.ts +6 -0
  73. package/lib/entity/dimension/AcDbArcDimension.d.ts.map +1 -1
  74. package/lib/entity/dimension/AcDbArcDimension.js +77 -0
  75. package/lib/entity/dimension/AcDbArcDimension.js.map +1 -1
  76. package/lib/entity/dimension/AcDbDiametricDimension.d.ts +1 -0
  77. package/lib/entity/dimension/AcDbDiametricDimension.d.ts.map +1 -1
  78. package/lib/entity/dimension/AcDbDiametricDimension.js +45 -0
  79. package/lib/entity/dimension/AcDbDiametricDimension.js.map +1 -1
  80. package/lib/entity/dimension/AcDbDimBlockBuilder.d.ts +60 -0
  81. package/lib/entity/dimension/AcDbDimBlockBuilder.d.ts.map +1 -0
  82. package/lib/entity/dimension/AcDbDimBlockBuilder.js +245 -0
  83. package/lib/entity/dimension/AcDbDimBlockBuilder.js.map +1 -0
  84. package/lib/entity/dimension/AcDbDimFeatureScale.d.ts +11 -0
  85. package/lib/entity/dimension/AcDbDimFeatureScale.d.ts.map +1 -0
  86. package/lib/entity/dimension/AcDbDimFeatureScale.js +29 -0
  87. package/lib/entity/dimension/AcDbDimFeatureScale.js.map +1 -0
  88. package/lib/entity/dimension/AcDbDimMeasurementFormat.d.ts +16 -0
  89. package/lib/entity/dimension/AcDbDimMeasurementFormat.d.ts.map +1 -0
  90. package/lib/entity/dimension/AcDbDimMeasurementFormat.js +184 -0
  91. package/lib/entity/dimension/AcDbDimMeasurementFormat.js.map +1 -0
  92. package/lib/entity/dimension/AcDbDimension.d.ts +27 -3
  93. package/lib/entity/dimension/AcDbDimension.d.ts.map +1 -1
  94. package/lib/entity/dimension/AcDbDimension.js +112 -23
  95. package/lib/entity/dimension/AcDbDimension.js.map +1 -1
  96. package/lib/entity/dimension/AcDbOrdinateDimension.d.ts +14 -0
  97. package/lib/entity/dimension/AcDbOrdinateDimension.d.ts.map +1 -1
  98. package/lib/entity/dimension/AcDbOrdinateDimension.js +77 -0
  99. package/lib/entity/dimension/AcDbOrdinateDimension.js.map +1 -1
  100. package/lib/entity/dimension/AcDbRadialDimension.d.ts +1 -0
  101. package/lib/entity/dimension/AcDbRadialDimension.d.ts.map +1 -1
  102. package/lib/entity/dimension/AcDbRadialDimension.js +54 -0
  103. package/lib/entity/dimension/AcDbRadialDimension.js.map +1 -1
  104. package/lib/entity/dimension/index.d.ts +2 -0
  105. package/lib/entity/dimension/index.d.ts.map +1 -1
  106. package/lib/entity/dimension/index.js +2 -0
  107. package/lib/entity/dimension/index.js.map +1 -1
  108. package/lib/entity/index.d.ts +1 -1
  109. package/lib/entity/index.d.ts.map +1 -1
  110. package/lib/entity/index.js +1 -1
  111. package/lib/entity/index.js.map +1 -1
  112. package/lib/index.d.ts +3 -3
  113. package/lib/index.d.ts.map +1 -1
  114. package/lib/index.js +3 -3
  115. package/lib/index.js.map +1 -1
  116. package/lib/misc/AcDbAnnotationScale.d.ts +51 -2
  117. package/lib/misc/AcDbAnnotationScale.d.ts.map +1 -1
  118. package/lib/misc/AcDbAnnotationScale.js +529 -11
  119. package/lib/misc/AcDbAnnotationScale.js.map +1 -1
  120. package/lib/misc/AcDbCodePage.d.ts +14 -0
  121. package/lib/misc/AcDbCodePage.d.ts.map +1 -1
  122. package/lib/misc/AcDbCodePage.js +96 -0
  123. package/lib/misc/AcDbCodePage.js.map +1 -1
  124. package/lib/misc/AcDbDataGenerator.d.ts +8 -0
  125. package/lib/misc/AcDbDataGenerator.d.ts.map +1 -1
  126. package/lib/misc/AcDbDataGenerator.js +133 -10
  127. package/lib/misc/AcDbDataGenerator.js.map +1 -1
  128. package/lib/misc/AcDbMLeaderStyleColorCodec.d.ts +25 -0
  129. package/lib/misc/AcDbMLeaderStyleColorCodec.d.ts.map +1 -1
  130. package/lib/misc/AcDbMLeaderStyleColorCodec.js +82 -0
  131. package/lib/misc/AcDbMLeaderStyleColorCodec.js.map +1 -1
  132. package/lib/misc/index.d.ts +3 -3
  133. package/lib/misc/index.d.ts.map +1 -1
  134. package/lib/misc/index.js +3 -3
  135. package/lib/misc/index.js.map +1 -1
  136. package/lib/object/AcDbAnnotScaleObjectContextData.d.ts +17 -0
  137. package/lib/object/AcDbAnnotScaleObjectContextData.d.ts.map +1 -0
  138. package/lib/object/AcDbAnnotScaleObjectContextData.js +75 -0
  139. package/lib/object/AcDbAnnotScaleObjectContextData.js.map +1 -0
  140. package/lib/object/AcDbBlkRefObjectContextData.d.ts +27 -0
  141. package/lib/object/AcDbBlkRefObjectContextData.d.ts.map +1 -0
  142. package/lib/object/AcDbBlkRefObjectContextData.js +190 -0
  143. package/lib/object/AcDbBlkRefObjectContextData.js.map +1 -0
  144. package/lib/object/AcDbDimensionObjectContextData.d.ts +46 -0
  145. package/lib/object/AcDbDimensionObjectContextData.d.ts.map +1 -0
  146. package/lib/object/AcDbDimensionObjectContextData.js +256 -0
  147. package/lib/object/AcDbDimensionObjectContextData.js.map +1 -0
  148. package/lib/object/AcDbHatchScaleContextData.d.ts +14 -0
  149. package/lib/object/AcDbHatchScaleContextData.d.ts.map +1 -0
  150. package/lib/object/AcDbHatchScaleContextData.js +117 -0
  151. package/lib/object/AcDbHatchScaleContextData.js.map +1 -0
  152. package/lib/object/AcDbLeaderObjectContextData.d.ts +11 -0
  153. package/lib/object/AcDbLeaderObjectContextData.d.ts.map +1 -0
  154. package/lib/object/AcDbLeaderObjectContextData.js +75 -0
  155. package/lib/object/AcDbLeaderObjectContextData.js.map +1 -0
  156. package/lib/object/AcDbMLeaderObjectContextData.d.ts +34 -0
  157. package/lib/object/AcDbMLeaderObjectContextData.d.ts.map +1 -0
  158. package/lib/object/AcDbMLeaderObjectContextData.js +199 -0
  159. package/lib/object/AcDbMLeaderObjectContextData.js.map +1 -0
  160. package/lib/object/AcDbMTextAttributeObjectContextData.d.ts +14 -0
  161. package/lib/object/AcDbMTextAttributeObjectContextData.d.ts.map +1 -0
  162. package/lib/object/AcDbMTextAttributeObjectContextData.js +43 -0
  163. package/lib/object/AcDbMTextAttributeObjectContextData.js.map +1 -0
  164. package/lib/object/AcDbMTextObjectContextData.d.ts +2 -13
  165. package/lib/object/AcDbMTextObjectContextData.d.ts.map +1 -1
  166. package/lib/object/AcDbMTextObjectContextData.js +9 -46
  167. package/lib/object/AcDbMTextObjectContextData.js.map +1 -1
  168. package/lib/object/AcDbObjectContextData.d.ts +22 -0
  169. package/lib/object/AcDbObjectContextData.d.ts.map +1 -0
  170. package/lib/object/AcDbObjectContextData.js +112 -0
  171. package/lib/object/AcDbObjectContextData.js.map +1 -0
  172. package/lib/object/AcDbTextObjectContextData.d.ts +24 -0
  173. package/lib/object/AcDbTextObjectContextData.d.ts.map +1 -0
  174. package/lib/object/AcDbTextObjectContextData.js +180 -0
  175. package/lib/object/AcDbTextObjectContextData.js.map +1 -0
  176. package/lib/object/index.d.ts +9 -0
  177. package/lib/object/index.d.ts.map +1 -1
  178. package/lib/object/index.js +9 -0
  179. package/lib/object/index.js.map +1 -1
  180. package/package.json +5 -5
@@ -25,9 +25,28 @@ var __read = (this && this.__read) || function (o, n) {
25
25
  }
26
26
  return ar;
27
27
  };
28
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
29
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
30
+ if (ar || !(i in from)) {
31
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
32
+ ar[i] = from[i];
33
+ }
34
+ }
35
+ return to.concat(ar || Array.prototype.slice.call(from));
36
+ };
37
+ import { AcDbDxfCode } from '../base/AcDbDxfCode.js';
38
+ import { AcDbResultBuffer } from '../base/AcDbResultBuffer.js';
39
+ import { AcDbAnnotScaleObjectContextData } from '../object/AcDbAnnotScaleObjectContextData.js';
40
+ import { AcDbBlkRefObjectContextData } from '../object/AcDbBlkRefObjectContextData.js';
28
41
  import { AcDbDictionary } from '../object/AcDbDictionary.js';
42
+ import { AcDbDimensionObjectContextData } from '../object/AcDbDimensionObjectContextData.js';
43
+ import { AcDbHatchScaleContextData } from '../object/AcDbHatchScaleContextData.js';
44
+ import { AcDbLeaderObjectContextData } from '../object/AcDbLeaderObjectContextData.js';
45
+ import { AcDbMLeaderObjectContextData } from '../object/AcDbMLeaderObjectContextData.js';
46
+ import { AcDbMTextAttributeObjectContextData } from '../object/AcDbMTextAttributeObjectContextData.js';
29
47
  import { AcDbMTextObjectContextData } from '../object/AcDbMTextObjectContextData.js';
30
48
  import { AcDbScale } from '../object/AcDbScale.js';
49
+ import { AcDbTextObjectContextData } from '../object/AcDbTextObjectContextData.js';
31
50
  import { AcDbXrecord } from '../object/AcDbXrecord.js';
32
51
  var normalizeHandle = function (handle) {
33
52
  return handle ? handle.trim().toUpperCase() : '';
@@ -64,6 +83,45 @@ export function acdbIsAnnotativeObject(object) {
64
83
  }
65
84
  return false;
66
85
  }
86
+ /**
87
+ * True when the object is annotative via XDATA or has annotation-scale
88
+ * context data in its extension dictionary.
89
+ */
90
+ export function acdbGetAnnotative(object) {
91
+ return (acdbIsAnnotativeObject(object) ||
92
+ acdbGetAnnotationScaleContexts(object).length > 0);
93
+ }
94
+ /**
95
+ * Sets or clears the annotative flag on `object`.
96
+ *
97
+ * When `value` is `false`, clears AcadAnnotative XDATA **and** removes all
98
+ * annotation-scale context entries so {@link acdbGetAnnotative} / entity
99
+ * `annotative` getters agree with the setter.
100
+ */
101
+ export function acdbSetAnnotative(object, value) {
102
+ if (!value) {
103
+ object.removeXData(ACDB_ANNOTATIVE_XDATA_APP);
104
+ clearAnnotationScaleContexts(object);
105
+ return;
106
+ }
107
+ if (acdbIsAnnotativeObject(object))
108
+ return;
109
+ var rb = new AcDbResultBuffer([
110
+ {
111
+ code: AcDbDxfCode.ExtendedDataRegAppName,
112
+ value: ACDB_ANNOTATIVE_XDATA_APP
113
+ },
114
+ {
115
+ code: AcDbDxfCode.ExtendedDataAsciiString,
116
+ value: 'AnnotativeData'
117
+ },
118
+ { code: AcDbDxfCode.ExtendedDataControlString, value: '{' },
119
+ { code: AcDbDxfCode.ExtendedDataInteger16, value: 1 },
120
+ { code: AcDbDxfCode.ExtendedDataInteger16, value: 1 },
121
+ { code: AcDbDxfCode.ExtendedDataControlString, value: '}' }
122
+ ]);
123
+ object.setXData(rb);
124
+ }
67
125
  /**
68
126
  * Resolves a SCALE object by handle or by scale name from ACAD_SCALELIST.
69
127
  */
@@ -101,9 +159,20 @@ export function acdbFindScale(db, handleOrName) {
101
159
  */
102
160
  export function acdbGetAnnotationScaleContexts(object) {
103
161
  var e_3, _a;
104
- var db = object.database;
162
+ // Check the extension dictionary before touching `.database` — the latter
163
+ // falls back to the host working database and throws when unset (common for
164
+ // detached entities in unit tests / clone paths).
105
165
  var extId = object.extensionDictionary;
106
- if (!db || !extId)
166
+ if (!extId)
167
+ return [];
168
+ var db;
169
+ try {
170
+ db = object.database;
171
+ }
172
+ catch (_b) {
173
+ return [];
174
+ }
175
+ if (!db)
107
176
  return [];
108
177
  var extDict = db.getObjectById(normalizeHandle(extId));
109
178
  if (!(extDict instanceof AcDbDictionary))
@@ -116,12 +185,12 @@ export function acdbGetAnnotationScaleContexts(object) {
116
185
  return [];
117
186
  var result = [];
118
187
  try {
119
- for (var _b = __values(scalesDict.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {
120
- var _d = __read(_c.value, 2), entry = _d[1];
188
+ for (var _c = __values(scalesDict.entries()), _d = _c.next(); !_d.done; _d = _c.next()) {
189
+ var _e = __read(_d.value, 2), entry = _e[1];
121
190
  var contextData = void 0;
122
191
  var scaleId = void 0;
123
192
  var isDefault = false;
124
- if (entry instanceof AcDbMTextObjectContextData) {
193
+ if (entry instanceof AcDbAnnotScaleObjectContextData) {
125
194
  contextData = entry;
126
195
  scaleId = entry.scaleId;
127
196
  isDefault = entry.isDefault;
@@ -130,9 +199,7 @@ export function acdbGetAnnotationScaleContexts(object) {
130
199
  // Soft-pointer style: dictionary value may be a bare object with scale.
131
200
  scaleId = entry.objectId;
132
201
  }
133
- var scale = scaleId
134
- ? acdbFindScale(db, scaleId)
135
- : undefined;
202
+ var scale = scaleId ? acdbFindScale(db, scaleId) : undefined;
136
203
  if (!scale)
137
204
  continue;
138
205
  result.push({ scale: scale, contextData: contextData, isDefault: isDefault });
@@ -141,7 +208,7 @@ export function acdbGetAnnotationScaleContexts(object) {
141
208
  catch (e_3_1) { e_3 = { error: e_3_1 }; }
142
209
  finally {
143
210
  try {
144
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
211
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
145
212
  }
146
213
  finally { if (e_3) throw e_3.error; }
147
214
  }
@@ -195,9 +262,17 @@ export function acdbMatchAnnotationScaleContext(contexts, scaleName, scaleFactor
195
262
  export function acdbGetViewportAnnotationScale(viewport) {
196
263
  var e_4, _a;
197
264
  var _b, _c;
198
- var db = viewport.database;
199
265
  var extId = viewport.extensionDictionary;
200
- if (!db || !extId)
266
+ if (!extId)
267
+ return undefined;
268
+ var db;
269
+ try {
270
+ db = viewport.database;
271
+ }
272
+ catch (_d) {
273
+ return undefined;
274
+ }
275
+ if (!db)
201
276
  return undefined;
202
277
  var extDict = db.getObjectById(normalizeHandle(extId));
203
278
  if (!(extDict instanceof AcDbDictionary))
@@ -241,4 +316,447 @@ export function acdbBuildAnnotationScaleDrawInfo(contexts, drawn) {
241
316
  supportedScaleNames: contexts.map(function (c) { return c.scale.scaleName; })
242
317
  };
243
318
  }
319
+ /** Common annotation scales used when a drawing has an empty scale list. */
320
+ var ACDB_DEFAULT_ANNOTATION_SCALES = [
321
+ { name: '1:1', drawingUnits: 1 },
322
+ { name: '1:2', drawingUnits: 2 },
323
+ { name: '1:5', drawingUnits: 5 },
324
+ { name: '1:10', drawingUnits: 10 },
325
+ { name: '1:20', drawingUnits: 20 },
326
+ { name: '1:50', drawingUnits: 50 },
327
+ { name: '1:100', drawingUnits: 100 },
328
+ { name: '1:200', drawingUnits: 200 },
329
+ { name: '1:500', drawingUnits: 500 },
330
+ { name: '1:1000', drawingUnits: 1000 }
331
+ ];
332
+ /**
333
+ * Returns SCALE objects currently present in `ACAD_SCALELIST` (read-only).
334
+ * Does not seed defaults — use {@link acdbEnsureDefaultAnnotationScales} when
335
+ * the UI needs a non-empty OBJECTSCALE list.
336
+ */
337
+ export function acdbListAnnotationScales(db) {
338
+ var e_5, _a;
339
+ var scales = [];
340
+ try {
341
+ for (var _b = __values(db.objects.scale.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {
342
+ var _d = __read(_c.value, 2), scale = _d[1];
343
+ if (scale instanceof AcDbScale)
344
+ scales.push(scale);
345
+ }
346
+ }
347
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
348
+ finally {
349
+ try {
350
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
351
+ }
352
+ finally { if (e_5) throw e_5.error; }
353
+ }
354
+ return scales.sort(function (a, b) { return a.scaleFactor - b.scaleFactor; });
355
+ }
356
+ /**
357
+ * Ensures the drawing scale list contains the common default annotation
358
+ * scales (`1:1` … `1:1000`). Returns the full scale list afterwards.
359
+ */
360
+ export function acdbEnsureDefaultAnnotationScales(db) {
361
+ var e_6, _a;
362
+ try {
363
+ for (var ACDB_DEFAULT_ANNOTATION_SCALES_1 = __values(ACDB_DEFAULT_ANNOTATION_SCALES), ACDB_DEFAULT_ANNOTATION_SCALES_1_1 = ACDB_DEFAULT_ANNOTATION_SCALES_1.next(); !ACDB_DEFAULT_ANNOTATION_SCALES_1_1.done; ACDB_DEFAULT_ANNOTATION_SCALES_1_1 = ACDB_DEFAULT_ANNOTATION_SCALES_1.next()) {
364
+ var entry = ACDB_DEFAULT_ANNOTATION_SCALES_1_1.value;
365
+ acdbEnsureNamedScale(db, entry.name, entry.drawingUnits);
366
+ }
367
+ }
368
+ catch (e_6_1) { e_6 = { error: e_6_1 }; }
369
+ finally {
370
+ try {
371
+ if (ACDB_DEFAULT_ANNOTATION_SCALES_1_1 && !ACDB_DEFAULT_ANNOTATION_SCALES_1_1.done && (_a = ACDB_DEFAULT_ANNOTATION_SCALES_1.return)) _a.call(ACDB_DEFAULT_ANNOTATION_SCALES_1);
372
+ }
373
+ finally { if (e_6) throw e_6.error; }
374
+ }
375
+ return acdbListAnnotationScales(db);
376
+ }
377
+ /**
378
+ * Ensures a named {@link AcDbScale} exists in the drawing scale list.
379
+ */
380
+ export function acdbEnsureNamedScale(db, scaleName, drawingUnits) {
381
+ var existing = acdbFindScale(db, scaleName);
382
+ if (existing)
383
+ return existing;
384
+ var scale = new AcDbScale();
385
+ scale.database = db;
386
+ scale.scaleName = scaleName;
387
+ scale.paperUnits = 1;
388
+ var factor = drawingUnits;
389
+ if (!(factor != null && factor > 0)) {
390
+ var match = /^1\s*:\s*(\d+(?:\.\d+)?)$/i.exec(scaleName.trim());
391
+ factor = match ? Number(match[1]) : 1;
392
+ }
393
+ scale.drawingUnits = factor > 0 ? factor : 1;
394
+ db.objects.scale.setAt(scaleName, scale);
395
+ return scale;
396
+ }
397
+ function tryObjectDatabase(object) {
398
+ try {
399
+ return object.database;
400
+ }
401
+ catch (_a) {
402
+ return undefined;
403
+ }
404
+ }
405
+ function getAnnotationScalesDict(db, object) {
406
+ var extId = object.extensionDictionary;
407
+ if (!extId)
408
+ return undefined;
409
+ var extDict = db.getObjectById(normalizeHandle(extId));
410
+ if (!(extDict instanceof AcDbDictionary))
411
+ return undefined;
412
+ var manager = extDict.getAt('AcDbContextDataManager');
413
+ if (!(manager instanceof AcDbDictionary))
414
+ return undefined;
415
+ var scalesDict = manager.getAt('ACDB_ANNOTATIONSCALES');
416
+ return scalesDict instanceof AcDbDictionary ? scalesDict : undefined;
417
+ }
418
+ function ensureAnnotationScalesDict(db, object) {
419
+ var extId = object.extensionDictionary;
420
+ if (!extId) {
421
+ extId = db.createExtensionDictionaryFor(object);
422
+ }
423
+ if (!extId) {
424
+ throw new Error('Failed to create extension dictionary for object');
425
+ }
426
+ var extDict = db.getObjectById(normalizeHandle(extId));
427
+ if (!(extDict instanceof AcDbDictionary)) {
428
+ throw new Error('Extension dictionary is not an AcDbDictionary');
429
+ }
430
+ var manager = extDict.getAt('AcDbContextDataManager');
431
+ if (!(manager instanceof AcDbDictionary)) {
432
+ manager = new AcDbDictionary(db);
433
+ manager.database = db;
434
+ extDict.setAt('AcDbContextDataManager', manager);
435
+ }
436
+ var scalesDict = manager.getAt('ACDB_ANNOTATIONSCALES');
437
+ if (!(scalesDict instanceof AcDbDictionary)) {
438
+ scalesDict = new AcDbDictionary(db);
439
+ scalesDict.database = db;
440
+ manager.setAt('ACDB_ANNOTATIONSCALES', scalesDict);
441
+ }
442
+ return scalesDict;
443
+ }
444
+ function removeContextFromObjectContextData(db, entry) {
445
+ var e_7, _a;
446
+ var id = normalizeHandle(entry.objectId);
447
+ if (!id)
448
+ return;
449
+ if (db.objects.objectContextData.getIdAt(id)) {
450
+ db.objects.objectContextData.removeId(id);
451
+ return;
452
+ }
453
+ try {
454
+ // Helpers may register contexts under `${ownerId}_${scaleName}`.
455
+ for (var _b = __values(__spreadArray([], __read(db.objects.objectContextData.entries()), false)), _c = _b.next(); !_c.done; _c = _b.next()) {
456
+ var _d = __read(_c.value, 2), key = _d[0], value = _d[1];
457
+ if (value === entry || normalizeHandle(value.objectId) === id) {
458
+ db.objects.objectContextData.remove(key);
459
+ }
460
+ }
461
+ }
462
+ catch (e_7_1) { e_7 = { error: e_7_1 }; }
463
+ finally {
464
+ try {
465
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
466
+ }
467
+ finally { if (e_7) throw e_7.error; }
468
+ }
469
+ }
470
+ function clearAnnotationScaleContexts(object) {
471
+ var e_8, _a;
472
+ var db = tryObjectDatabase(object);
473
+ if (!db)
474
+ return;
475
+ var scalesDict = getAnnotationScalesDict(db, object);
476
+ if (!scalesDict)
477
+ return;
478
+ try {
479
+ for (var _b = __values(__spreadArray([], __read(scalesDict.entries()), false)), _c = _b.next(); !_c.done; _c = _b.next()) {
480
+ var _d = __read(_c.value, 2), key = _d[0], entry = _d[1];
481
+ scalesDict.remove(key);
482
+ removeContextFromObjectContextData(db, entry);
483
+ }
484
+ }
485
+ catch (e_8_1) { e_8 = { error: e_8_1 }; }
486
+ finally {
487
+ try {
488
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
489
+ }
490
+ finally { if (e_8) throw e_8.error; }
491
+ }
492
+ }
493
+ function promoteDefaultAnnotationContext(object) {
494
+ var _a;
495
+ var remaining = acdbGetAnnotationScaleContexts(object);
496
+ if (remaining.length === 0 || remaining.some(function (c) { return c.isDefault; }))
497
+ return;
498
+ var first = (_a = remaining[0]) === null || _a === void 0 ? void 0 : _a.contextData;
499
+ if (first)
500
+ first.isDefault = true;
501
+ }
502
+ function entityTypeName(object) {
503
+ var typed = object;
504
+ return typeof typed.type === 'string' ? typed.type : '';
505
+ }
506
+ function seedTextContext(ctx, object, template) {
507
+ if (template instanceof AcDbTextObjectContextData) {
508
+ ctx.horizontalMode = template.horizontalMode;
509
+ ctx.rotation = template.rotation;
510
+ ctx.alignmentPoint = template.alignmentPoint;
511
+ ctx.position = template.position;
512
+ return;
513
+ }
514
+ var text = object;
515
+ if (text.horizontalMode != null)
516
+ ctx.horizontalMode = text.horizontalMode;
517
+ if (text.rotation != null)
518
+ ctx.rotation = text.rotation;
519
+ if (text.alignmentPoint)
520
+ ctx.alignmentPoint = text.alignmentPoint;
521
+ if (text.position)
522
+ ctx.position = text.position;
523
+ }
524
+ function seedMTextContext(ctx, object, template) {
525
+ if (template instanceof AcDbMTextObjectContextData) {
526
+ ctx.attachmentPoint = template.attachmentPoint;
527
+ ctx.direction = template.direction;
528
+ ctx.insertionPoint = template.insertionPoint;
529
+ ctx.definedWidth = template.definedWidth;
530
+ ctx.definedHeight = template.definedHeight;
531
+ ctx.extentsWidth = template.extentsWidth;
532
+ ctx.extentsHeight = template.extentsHeight;
533
+ ctx.columnType = template.columnType;
534
+ return;
535
+ }
536
+ var mt = object;
537
+ if (mt.attachmentPoint != null)
538
+ ctx.attachmentPoint = mt.attachmentPoint;
539
+ if (mt.direction)
540
+ ctx.direction = mt.direction;
541
+ if (mt.location)
542
+ ctx.insertionPoint = mt.location;
543
+ if (mt.width != null)
544
+ ctx.definedWidth = mt.width;
545
+ if (mt.height != null)
546
+ ctx.definedHeight = mt.height;
547
+ if (mt.extentsWidth != null)
548
+ ctx.extentsWidth = mt.extentsWidth;
549
+ if (mt.extentsHeight != null)
550
+ ctx.extentsHeight = mt.extentsHeight;
551
+ if (mt.columnType != null)
552
+ ctx.columnType = mt.columnType;
553
+ }
554
+ function createTypedAnnotScaleContext(object, existing, scaleFactor) {
555
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
556
+ var typeName = entityTypeName(object);
557
+ var template = (_b = (_a = existing.find(function (c) { return c.isDefault; })) === null || _a === void 0 ? void 0 : _a.contextData) !== null && _b !== void 0 ? _b : (_c = existing[0]) === null || _c === void 0 ? void 0 : _c.contextData;
558
+ var hasMtext = !!object.mtext;
559
+ if (typeName === 'Attrib' &&
560
+ (hasMtext || template instanceof AcDbMTextAttributeObjectContextData)) {
561
+ var ctx = new AcDbMTextAttributeObjectContextData();
562
+ seedMTextContext(ctx, (_d = object.mtext) !== null && _d !== void 0 ? _d : object, template);
563
+ return ctx;
564
+ }
565
+ if (typeName === 'MText') {
566
+ var ctx = new AcDbMTextObjectContextData();
567
+ seedMTextContext(ctx, object, template);
568
+ return ctx;
569
+ }
570
+ if (typeName === 'Text' || typeName === 'Attrib' || typeName === 'AttDef') {
571
+ var ctx = new AcDbTextObjectContextData();
572
+ seedTextContext(ctx, object, template);
573
+ return ctx;
574
+ }
575
+ if (typeName.includes('Dimension')) {
576
+ var ctx = new AcDbDimensionObjectContextData();
577
+ if (template instanceof AcDbDimensionObjectContextData) {
578
+ ctx.blockName = template.blockName;
579
+ ctx.definitionPoint = template.definitionPoint;
580
+ if (template.hasDimLinePoint)
581
+ ctx.dimLinePoint = template.dimLinePoint;
582
+ }
583
+ else {
584
+ var dim = object;
585
+ if (dim.dimBlockId)
586
+ ctx.blockName = dim.dimBlockId;
587
+ if (dim.dimBlockPosition)
588
+ ctx.definitionPoint = dim.dimBlockPosition;
589
+ }
590
+ return ctx;
591
+ }
592
+ if (typeName === 'Hatch') {
593
+ var ctx = new AcDbHatchScaleContextData();
594
+ if (template instanceof AcDbHatchScaleContextData) {
595
+ ctx.patternScale = template.patternScale;
596
+ }
597
+ else {
598
+ var hatch = object;
599
+ var base = hatch.patternScale != null && hatch.patternScale > 0
600
+ ? hatch.patternScale
601
+ : 1;
602
+ // New scale representation: paper pattern from default, times target factor.
603
+ var defaultFactor = (_h = (_f = (_e = existing.find(function (c) { return c.isDefault; })) === null || _e === void 0 ? void 0 : _e.scale.scaleFactor) !== null && _f !== void 0 ? _f : (_g = existing[0]) === null || _g === void 0 ? void 0 : _g.scale.scaleFactor) !== null && _h !== void 0 ? _h : 1;
604
+ var paper = defaultFactor > 0 ? base / defaultFactor : base;
605
+ ctx.patternScale = paper * (scaleFactor > 0 ? scaleFactor : 1);
606
+ }
607
+ return ctx;
608
+ }
609
+ if (typeName === 'BlockReference') {
610
+ var ctx = new AcDbBlkRefObjectContextData();
611
+ if (template instanceof AcDbBlkRefObjectContextData) {
612
+ ctx.position = template.position;
613
+ ctx.rotation = template.rotation;
614
+ ctx.scaleX = template.scaleX;
615
+ ctx.scaleY = template.scaleY;
616
+ ctx.scaleZ = template.scaleZ;
617
+ }
618
+ else {
619
+ var br = object;
620
+ if (br.position)
621
+ ctx.position = br.position;
622
+ if (br.rotation != null)
623
+ ctx.rotation = br.rotation;
624
+ if (br.scaleFactors) {
625
+ ctx.scaleX = br.scaleFactors.x;
626
+ ctx.scaleY = br.scaleFactors.y;
627
+ ctx.scaleZ = br.scaleFactors.z;
628
+ }
629
+ }
630
+ return ctx;
631
+ }
632
+ if (typeName === 'MLeader') {
633
+ var ctx = new AcDbMLeaderObjectContextData();
634
+ if (template instanceof AcDbMLeaderObjectContextData) {
635
+ ctx.contentScale = template.contentScale;
636
+ ctx.textHeight = template.textHeight;
637
+ ctx.arrowheadSize = template.arrowheadSize;
638
+ if (template.hasTextAnchor)
639
+ ctx.textAnchor = template.textAnchor;
640
+ }
641
+ else {
642
+ var ml = object;
643
+ var defaultFactor = (_m = (_k = (_j = existing.find(function (c) { return c.isDefault; })) === null || _j === void 0 ? void 0 : _j.scale.scaleFactor) !== null && _k !== void 0 ? _k : (_l = existing[0]) === null || _l === void 0 ? void 0 : _l.scale.scaleFactor) !== null && _m !== void 0 ? _m : 1;
644
+ var paperText = ml.textHeight != null && defaultFactor > 0
645
+ ? ml.textHeight / defaultFactor
646
+ : ml.textHeight;
647
+ var paperArrow = ml.arrowheadSize != null && defaultFactor > 0
648
+ ? ml.arrowheadSize / defaultFactor
649
+ : ml.arrowheadSize;
650
+ if (paperText != null) {
651
+ ctx.textHeight = paperText * (scaleFactor > 0 ? scaleFactor : 1);
652
+ }
653
+ if (paperArrow != null) {
654
+ ctx.arrowheadSize = paperArrow * (scaleFactor > 0 ? scaleFactor : 1);
655
+ }
656
+ ctx.contentScale = scaleFactor > 0 ? scaleFactor : 1;
657
+ }
658
+ return ctx;
659
+ }
660
+ if (typeName === 'Leader') {
661
+ return new AcDbLeaderObjectContextData();
662
+ }
663
+ return new AcDbAnnotScaleObjectContextData();
664
+ }
665
+ /**
666
+ * Adds a supported annotation scale to `object` (OBJECTSCALE Add).
667
+ * Creates a typed per-entity context (when known), seeded from the default
668
+ * context or the entity's current representation.
669
+ */
670
+ export function acdbAddAnnotationScaleToObject(object, scaleName) {
671
+ var db = tryObjectDatabase(object);
672
+ if (!db)
673
+ return false;
674
+ var scale = acdbEnsureNamedScale(db, scaleName);
675
+ var existing = acdbGetAnnotationScaleContexts(object);
676
+ if (existing.some(function (c) { return c.scale.objectId === scale.objectId; })) {
677
+ return false;
678
+ }
679
+ var scalesDict = ensureAnnotationScalesDict(db, object);
680
+ var ctx = createTypedAnnotScaleContext(object, existing, scale.scaleFactor);
681
+ ctx.database = db;
682
+ ctx.scaleId = scale.objectId;
683
+ ctx.isDefault = existing.length === 0;
684
+ var key = scale.scaleName || scale.objectId;
685
+ db.objects.objectContextData.setAt("".concat(object.objectId, "_").concat(key), ctx);
686
+ scalesDict.setAt(key, ctx);
687
+ // Set XDATA only — do not clear contexts (acdbSetAnnotative(false) would).
688
+ if (!acdbIsAnnotativeObject(object)) {
689
+ acdbSetAnnotative(object, true);
690
+ }
691
+ return true;
692
+ }
693
+ /**
694
+ * Removes a supported annotation scale from `object` (OBJECTSCALE Delete).
695
+ * Also drops the context from `objects.objectContextData` and promotes a new
696
+ * default when the removed scale was the default.
697
+ */
698
+ export function acdbRemoveAnnotationScaleFromObject(object, scaleName) {
699
+ var e_9, _a;
700
+ var db = tryObjectDatabase(object);
701
+ if (!db)
702
+ return false;
703
+ var scalesDict = getAnnotationScalesDict(db, object);
704
+ if (!scalesDict)
705
+ return false;
706
+ var removed = false;
707
+ try {
708
+ for (var _b = __values(__spreadArray([], __read(scalesDict.entries()), false)), _c = _b.next(); !_c.done; _c = _b.next()) {
709
+ var _d = __read(_c.value, 2), key = _d[0], entry = _d[1];
710
+ var scale = void 0;
711
+ if (entry instanceof AcDbAnnotScaleObjectContextData) {
712
+ scale = acdbFindScale(db, entry.scaleId);
713
+ }
714
+ else {
715
+ scale = acdbFindScale(db, entry.objectId);
716
+ }
717
+ if (!scale)
718
+ continue;
719
+ if (scale.scaleName === scaleName ||
720
+ scale.objectId === normalizeHandle(scaleName)) {
721
+ scalesDict.remove(key);
722
+ removeContextFromObjectContextData(db, entry);
723
+ removed = true;
724
+ }
725
+ }
726
+ }
727
+ catch (e_9_1) { e_9 = { error: e_9_1 }; }
728
+ finally {
729
+ try {
730
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
731
+ }
732
+ finally { if (e_9) throw e_9.error; }
733
+ }
734
+ if (!removed)
735
+ return false;
736
+ var remaining = acdbGetAnnotationScaleContexts(object);
737
+ if (remaining.length === 0) {
738
+ object.removeXData(ACDB_ANNOTATIVE_XDATA_APP);
739
+ }
740
+ else {
741
+ promoteDefaultAnnotationContext(object);
742
+ }
743
+ return true;
744
+ }
745
+ /**
746
+ * Resolves annotation draw metadata for an annotative object at the database
747
+ * CANNOSCALE (or the default context when unmatched).
748
+ */
749
+ export function acdbResolveAnnotationScaleDrawInfo(object) {
750
+ var _a, _b, _c;
751
+ var contexts = acdbGetAnnotationScaleContexts(object);
752
+ if (contexts.length === 0) {
753
+ return { contexts: contexts };
754
+ }
755
+ var preferred = (_c = (_b = acdbMatchAnnotationScaleContext(contexts, (_a = object.database) === null || _a === void 0 ? void 0 : _a.cannoscale)) !== null && _b !== void 0 ? _b : contexts.find(function (c) { return c.isDefault; })) !== null && _c !== void 0 ? _c : contexts[0];
756
+ return {
757
+ contexts: contexts,
758
+ preferred: preferred,
759
+ annotationScale: acdbBuildAnnotationScaleDrawInfo(contexts, preferred)
760
+ };
761
+ }
244
762
  //# sourceMappingURL=AcDbAnnotationScale.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbAnnotationScale.js","sourceRoot":"","sources":["../../src/misc/AcDbAnnotationScale.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcDbAnnotationScale.js","sourceRoot":"","sources":["../../src/misc/AcDbAnnotationScale.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,20 @@ export declare enum AcDbCodePage {
47
47
  UNDEFINED = 255
48
48
  }
49
49
  export declare const acdbDwgCodePageToEncoding: (codepage: AcDbCodePage) => string;
50
+ /**
51
+ * Resolve a `$DWGCODEPAGE` header value to an {@link AcDbCodePage}.
52
+ *
53
+ * Matches LibreDWG enum names and common ODA/BricsCAD aliases
54
+ * case-insensitively (e.g. `DOS866` → {@link AcDbCodePage.CP866},
55
+ * `ansi_1251` → {@link AcDbCodePage.ANSI_1251}, `ISO8859_5` →
56
+ * {@link AcDbCodePage.ISO_8859_5}). Unknown names yield `null`.
57
+ */
58
+ export declare const acdbResolveDwgCodePage: (value: string | null | undefined) => AcDbCodePage | null;
59
+ /**
60
+ * Resolve a `$DWGCODEPAGE` header value to a `TextDecoder` label.
61
+ * Unknown names yield `null` so callers keep their UTF-8 fallback.
62
+ */
63
+ export declare const acdbResolveDwgCodePageEncoding: (value: string | null | undefined) => string | null;
50
64
  /**
51
65
  * Normalizes a user-supplied encoding label to one `TextDecoder` accepts.
52
66
  *