@mlightcad/data-model 1.7.6 → 1.7.8

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 (234) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +224 -224
  3. package/dist/data-model.cjs +7 -5
  4. package/dist/data-model.js +24662 -23343
  5. package/lib/base/AcDbDxfFiler.d.ts +62 -0
  6. package/lib/base/AcDbDxfFiler.d.ts.map +1 -0
  7. package/lib/base/AcDbDxfFiler.js +244 -0
  8. package/lib/base/AcDbDxfFiler.js.map +1 -0
  9. package/lib/base/AcDbHostApplicationServices.d.ts +3 -3
  10. package/lib/base/AcDbHostApplicationServices.d.ts.map +1 -1
  11. package/lib/base/AcDbHostApplicationServices.js +12 -3
  12. package/lib/base/AcDbHostApplicationServices.js.map +1 -1
  13. package/lib/base/AcDbObject.d.ts +17 -1
  14. package/lib/base/AcDbObject.d.ts.map +1 -1
  15. package/lib/base/AcDbObject.js +70 -4
  16. package/lib/base/AcDbObject.js.map +1 -1
  17. package/lib/base/index.d.ts +1 -0
  18. package/lib/base/index.d.ts.map +1 -1
  19. package/lib/base/index.js +1 -0
  20. package/lib/base/index.js.map +1 -1
  21. package/lib/converter/AcDbDxfConverter.d.ts.map +1 -1
  22. package/lib/converter/AcDbDxfConverter.js +4 -0
  23. package/lib/converter/AcDbDxfConverter.js.map +1 -1
  24. package/lib/converter/AcDbObjectConverter.d.ts.map +1 -1
  25. package/lib/converter/AcDbObjectConverter.js +98 -9
  26. package/lib/converter/AcDbObjectConverter.js.map +1 -1
  27. package/lib/database/AcDbBlockTableRecord.d.ts +5 -0
  28. package/lib/database/AcDbBlockTableRecord.d.ts.map +1 -1
  29. package/lib/database/AcDbBlockTableRecord.js +36 -2
  30. package/lib/database/AcDbBlockTableRecord.js.map +1 -1
  31. package/lib/database/AcDbDatabase.d.ts +21 -2
  32. package/lib/database/AcDbDatabase.d.ts.map +1 -1
  33. package/lib/database/AcDbDatabase.js +421 -2
  34. package/lib/database/AcDbDatabase.js.map +1 -1
  35. package/lib/database/AcDbDimStyleTableRecord.d.ts +2 -0
  36. package/lib/database/AcDbDimStyleTableRecord.d.ts.map +1 -1
  37. package/lib/database/AcDbDimStyleTableRecord.js +33 -0
  38. package/lib/database/AcDbDimStyleTableRecord.js.map +1 -1
  39. package/lib/database/AcDbLayerTableRecord.d.ts +2 -0
  40. package/lib/database/AcDbLayerTableRecord.d.ts.map +1 -1
  41. package/lib/database/AcDbLayerTableRecord.js +15 -0
  42. package/lib/database/AcDbLayerTableRecord.js.map +1 -1
  43. package/lib/database/AcDbLinetypeTableRecord.d.ts +2 -0
  44. package/lib/database/AcDbLinetypeTableRecord.d.ts.map +1 -1
  45. package/lib/database/AcDbLinetypeTableRecord.js +38 -0
  46. package/lib/database/AcDbLinetypeTableRecord.js.map +1 -1
  47. package/lib/database/AcDbRegAppTableRecord.d.ts +2 -0
  48. package/lib/database/AcDbRegAppTableRecord.d.ts.map +1 -1
  49. package/lib/database/AcDbRegAppTableRecord.js +7 -0
  50. package/lib/database/AcDbRegAppTableRecord.js.map +1 -1
  51. package/lib/database/AcDbSymbolTable.d.ts.map +1 -1
  52. package/lib/database/AcDbSymbolTable.js +1 -0
  53. package/lib/database/AcDbSymbolTable.js.map +1 -1
  54. package/lib/database/AcDbSymbolTableRecord.d.ts +2 -0
  55. package/lib/database/AcDbSymbolTableRecord.d.ts.map +1 -1
  56. package/lib/database/AcDbSymbolTableRecord.js +5 -0
  57. package/lib/database/AcDbSymbolTableRecord.js.map +1 -1
  58. package/lib/database/AcDbTextStyleTableRecord.d.ts +2 -0
  59. package/lib/database/AcDbTextStyleTableRecord.d.ts.map +1 -1
  60. package/lib/database/AcDbTextStyleTableRecord.js +14 -0
  61. package/lib/database/AcDbTextStyleTableRecord.js.map +1 -1
  62. package/lib/database/AcDbViewportTableRecord.d.ts +2 -0
  63. package/lib/database/AcDbViewportTableRecord.d.ts.map +1 -1
  64. package/lib/database/AcDbViewportTableRecord.js +23 -0
  65. package/lib/database/AcDbViewportTableRecord.js.map +1 -1
  66. package/lib/entity/AcDb2dPolyline.d.ts +4 -0
  67. package/lib/entity/AcDb2dPolyline.d.ts.map +1 -1
  68. package/lib/entity/AcDb2dPolyline.js +25 -0
  69. package/lib/entity/AcDb2dPolyline.js.map +1 -1
  70. package/lib/entity/AcDb2dVertex.d.ts +2 -0
  71. package/lib/entity/AcDb2dVertex.d.ts.map +1 -1
  72. package/lib/entity/AcDb2dVertex.js +11 -0
  73. package/lib/entity/AcDb2dVertex.js.map +1 -1
  74. package/lib/entity/AcDb3dPolyline.d.ts +4 -0
  75. package/lib/entity/AcDb3dPolyline.d.ts.map +1 -1
  76. package/lib/entity/AcDb3dPolyline.js +23 -0
  77. package/lib/entity/AcDb3dPolyline.js.map +1 -1
  78. package/lib/entity/AcDb3dVertex.d.ts +2 -0
  79. package/lib/entity/AcDb3dVertex.d.ts.map +1 -1
  80. package/lib/entity/AcDb3dVertex.js +8 -0
  81. package/lib/entity/AcDb3dVertex.js.map +1 -1
  82. package/lib/entity/AcDbArc.d.ts +2 -0
  83. package/lib/entity/AcDbArc.d.ts.map +1 -1
  84. package/lib/entity/AcDbArc.js +10 -0
  85. package/lib/entity/AcDbArc.js.map +1 -1
  86. package/lib/entity/AcDbAttribute.d.ts +2 -0
  87. package/lib/entity/AcDbAttribute.d.ts.map +1 -1
  88. package/lib/entity/AcDbAttribute.js +12 -0
  89. package/lib/entity/AcDbAttribute.js.map +1 -1
  90. package/lib/entity/AcDbAttributeDefinition.d.ts +2 -0
  91. package/lib/entity/AcDbAttributeDefinition.d.ts.map +1 -1
  92. package/lib/entity/AcDbAttributeDefinition.js +10 -0
  93. package/lib/entity/AcDbAttributeDefinition.js.map +1 -1
  94. package/lib/entity/AcDbBlockReference.d.ts +3 -1
  95. package/lib/entity/AcDbBlockReference.d.ts.map +1 -1
  96. package/lib/entity/AcDbBlockReference.js +19 -0
  97. package/lib/entity/AcDbBlockReference.js.map +1 -1
  98. package/lib/entity/AcDbCircle.d.ts +2 -0
  99. package/lib/entity/AcDbCircle.d.ts.map +1 -1
  100. package/lib/entity/AcDbCircle.js +8 -0
  101. package/lib/entity/AcDbCircle.js.map +1 -1
  102. package/lib/entity/AcDbEllipse.d.ts +2 -0
  103. package/lib/entity/AcDbEllipse.d.ts.map +1 -1
  104. package/lib/entity/AcDbEllipse.js +15 -0
  105. package/lib/entity/AcDbEllipse.js.map +1 -1
  106. package/lib/entity/AcDbEntity.d.ts +6 -0
  107. package/lib/entity/AcDbEntity.d.ts.map +1 -1
  108. package/lib/entity/AcDbEntity.js +53 -0
  109. package/lib/entity/AcDbEntity.js.map +1 -1
  110. package/lib/entity/AcDbFace.d.ts +2 -0
  111. package/lib/entity/AcDbFace.d.ts.map +1 -1
  112. package/lib/entity/AcDbFace.js +20 -0
  113. package/lib/entity/AcDbFace.js.map +1 -1
  114. package/lib/entity/AcDbHatch.d.ts +2 -0
  115. package/lib/entity/AcDbHatch.d.ts.map +1 -1
  116. package/lib/entity/AcDbHatch.js +144 -1
  117. package/lib/entity/AcDbHatch.js.map +1 -1
  118. package/lib/entity/AcDbLeader.d.ts +3 -0
  119. package/lib/entity/AcDbLeader.d.ts.map +1 -1
  120. package/lib/entity/AcDbLeader.js +43 -0
  121. package/lib/entity/AcDbLeader.js.map +1 -1
  122. package/lib/entity/AcDbLine.d.ts +2 -0
  123. package/lib/entity/AcDbLine.d.ts.map +1 -1
  124. package/lib/entity/AcDbLine.js +7 -0
  125. package/lib/entity/AcDbLine.js.map +1 -1
  126. package/lib/entity/AcDbMText.d.ts +2 -0
  127. package/lib/entity/AcDbMText.d.ts.map +1 -1
  128. package/lib/entity/AcDbMText.js +22 -0
  129. package/lib/entity/AcDbMText.js.map +1 -1
  130. package/lib/entity/AcDbPoint.d.ts +2 -0
  131. package/lib/entity/AcDbPoint.d.ts.map +1 -1
  132. package/lib/entity/AcDbPoint.js +6 -0
  133. package/lib/entity/AcDbPoint.js.map +1 -1
  134. package/lib/entity/AcDbPolyline.d.ts +2 -0
  135. package/lib/entity/AcDbPolyline.d.ts.map +1 -1
  136. package/lib/entity/AcDbPolyline.js +11 -0
  137. package/lib/entity/AcDbPolyline.js.map +1 -1
  138. package/lib/entity/AcDbRasterImage.d.ts +2 -1
  139. package/lib/entity/AcDbRasterImage.d.ts.map +1 -1
  140. package/lib/entity/AcDbRasterImage.js +44 -0
  141. package/lib/entity/AcDbRasterImage.js.map +1 -1
  142. package/lib/entity/AcDbRay.d.ts +2 -0
  143. package/lib/entity/AcDbRay.d.ts.map +1 -1
  144. package/lib/entity/AcDbRay.js +7 -0
  145. package/lib/entity/AcDbRay.js.map +1 -1
  146. package/lib/entity/AcDbSpline.d.ts +2 -0
  147. package/lib/entity/AcDbSpline.d.ts.map +1 -1
  148. package/lib/entity/AcDbSpline.js +76 -0
  149. package/lib/entity/AcDbSpline.js.map +1 -1
  150. package/lib/entity/AcDbTable.d.ts +2 -0
  151. package/lib/entity/AcDbTable.d.ts.map +1 -1
  152. package/lib/entity/AcDbTable.js +14 -0
  153. package/lib/entity/AcDbTable.js.map +1 -1
  154. package/lib/entity/AcDbText.d.ts +2 -0
  155. package/lib/entity/AcDbText.d.ts.map +1 -1
  156. package/lib/entity/AcDbText.js +16 -0
  157. package/lib/entity/AcDbText.js.map +1 -1
  158. package/lib/entity/AcDbTrace.d.ts +2 -0
  159. package/lib/entity/AcDbTrace.d.ts.map +1 -1
  160. package/lib/entity/AcDbTrace.js +11 -0
  161. package/lib/entity/AcDbTrace.js.map +1 -1
  162. package/lib/entity/AcDbViewport.d.ts +2 -0
  163. package/lib/entity/AcDbViewport.d.ts.map +1 -1
  164. package/lib/entity/AcDbViewport.js +11 -0
  165. package/lib/entity/AcDbViewport.js.map +1 -1
  166. package/lib/entity/AcDbWipeout.d.ts +2 -0
  167. package/lib/entity/AcDbWipeout.d.ts.map +1 -1
  168. package/lib/entity/AcDbWipeout.js +5 -0
  169. package/lib/entity/AcDbWipeout.js.map +1 -1
  170. package/lib/entity/AcDbXline.d.ts +2 -0
  171. package/lib/entity/AcDbXline.d.ts.map +1 -1
  172. package/lib/entity/AcDbXline.js +7 -0
  173. package/lib/entity/AcDbXline.js.map +1 -1
  174. package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts +2 -0
  175. package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts.map +1 -1
  176. package/lib/entity/dimension/AcDb3PointAngularDimension.js +9 -0
  177. package/lib/entity/dimension/AcDb3PointAngularDimension.js.map +1 -1
  178. package/lib/entity/dimension/AcDbAlignedDimension.d.ts +2 -0
  179. package/lib/entity/dimension/AcDbAlignedDimension.d.ts.map +1 -1
  180. package/lib/entity/dimension/AcDbAlignedDimension.js +10 -0
  181. package/lib/entity/dimension/AcDbAlignedDimension.js.map +1 -1
  182. package/lib/entity/dimension/AcDbArcDimension.d.ts +2 -0
  183. package/lib/entity/dimension/AcDbArcDimension.d.ts.map +1 -1
  184. package/lib/entity/dimension/AcDbArcDimension.js +9 -0
  185. package/lib/entity/dimension/AcDbArcDimension.js.map +1 -1
  186. package/lib/entity/dimension/AcDbDiametricDimension.d.ts +2 -0
  187. package/lib/entity/dimension/AcDbDiametricDimension.d.ts.map +1 -1
  188. package/lib/entity/dimension/AcDbDiametricDimension.js +10 -0
  189. package/lib/entity/dimension/AcDbDiametricDimension.js.map +1 -1
  190. package/lib/entity/dimension/AcDbDimension.d.ts +2 -0
  191. package/lib/entity/dimension/AcDbDimension.d.ts.map +1 -1
  192. package/lib/entity/dimension/AcDbDimension.js +17 -0
  193. package/lib/entity/dimension/AcDbDimension.js.map +1 -1
  194. package/lib/entity/dimension/AcDbOrdinateDimension.d.ts +2 -0
  195. package/lib/entity/dimension/AcDbOrdinateDimension.d.ts.map +1 -1
  196. package/lib/entity/dimension/AcDbOrdinateDimension.js +7 -0
  197. package/lib/entity/dimension/AcDbOrdinateDimension.js.map +1 -1
  198. package/lib/entity/dimension/AcDbRadialDimension.d.ts +2 -0
  199. package/lib/entity/dimension/AcDbRadialDimension.d.ts.map +1 -1
  200. package/lib/entity/dimension/AcDbRadialDimension.js +10 -0
  201. package/lib/entity/dimension/AcDbRadialDimension.js.map +1 -1
  202. package/lib/misc/AcDbRenderingCache.d.ts.map +1 -1
  203. package/lib/misc/AcDbRenderingCache.js.map +1 -1
  204. package/lib/object/AcDbDictionary.d.ts +9 -3
  205. package/lib/object/AcDbDictionary.d.ts.map +1 -1
  206. package/lib/object/AcDbDictionary.js +57 -2
  207. package/lib/object/AcDbDictionary.js.map +1 -1
  208. package/lib/object/AcDbRasterImageDef.d.ts +3 -1
  209. package/lib/object/AcDbRasterImageDef.d.ts.map +1 -1
  210. package/lib/object/AcDbRasterImageDef.js +9 -1
  211. package/lib/object/AcDbRasterImageDef.js.map +1 -1
  212. package/lib/object/AcDbXrecord.d.ts +4 -2
  213. package/lib/object/AcDbXrecord.d.ts.map +1 -1
  214. package/lib/object/AcDbXrecord.js +8 -1
  215. package/lib/object/AcDbXrecord.js.map +1 -1
  216. package/lib/object/layout/AcDbLayout.d.ts +4 -2
  217. package/lib/object/layout/AcDbLayout.d.ts.map +1 -1
  218. package/lib/object/layout/AcDbLayout.js +15 -2
  219. package/lib/object/layout/AcDbLayout.js.map +1 -1
  220. package/lib/object/layout/AcDbLayoutDictionary.d.ts +1 -1
  221. package/lib/object/layout/AcDbLayoutDictionary.d.ts.map +1 -1
  222. package/lib/object/layout/AcDbLayoutManager.d.ts +3 -2
  223. package/lib/object/layout/AcDbLayoutManager.d.ts.map +1 -1
  224. package/lib/object/layout/AcDbLayoutManager.js +3 -2
  225. package/lib/object/layout/AcDbLayoutManager.js.map +1 -1
  226. package/lib/object/layout/AcDbPlotSettings.d.ts +600 -0
  227. package/lib/object/layout/AcDbPlotSettings.d.ts.map +1 -0
  228. package/lib/object/layout/AcDbPlotSettings.js +957 -0
  229. package/lib/object/layout/AcDbPlotSettings.js.map +1 -0
  230. package/lib/object/layout/index.d.ts +1 -0
  231. package/lib/object/layout/index.d.ts.map +1 -1
  232. package/lib/object/layout/index.js +1 -0
  233. package/lib/object/layout/index.js.map +1 -1
  234. package/package.json +4 -4
@@ -0,0 +1,62 @@
1
+ import { AcCmColor, AcCmTransparency } from '@mlightcad/common';
2
+ import { AcGePoint2dLike, AcGePoint3dLike, AcGeVector3dLike } from '@mlightcad/geometry-engine';
3
+ import type { AcDbDatabase } from '../database';
4
+ import { AcDbDwgVersion } from '../database/AcDbDwgVersion';
5
+ import { AcDbResultBuffer } from './AcDbResultBuffer';
6
+ export interface AcDbDxfFilerOptions {
7
+ database?: AcDbDatabase;
8
+ precision?: number;
9
+ version?: string | number | AcDbDwgVersion;
10
+ }
11
+ /**
12
+ * ASCII DXF writer that loosely mirrors the ObjectARX AcDbDxfFiler API.
13
+ *
14
+ * This implementation focuses on export scenarios in the web data model and
15
+ * writes classic group-code based DXF text.
16
+ */
17
+ export declare class AcDbDxfFiler {
18
+ private _database?;
19
+ private _precision;
20
+ private _version?;
21
+ private readonly _lines;
22
+ private readonly _handleMap;
23
+ private _nextHandle;
24
+ constructor(options?: AcDbDxfFilerOptions);
25
+ get database(): AcDbDatabase | undefined;
26
+ set database(value: AcDbDatabase | undefined);
27
+ get precision(): number;
28
+ setPrecision(value: number): this;
29
+ get version(): AcDbDwgVersion | undefined;
30
+ setVersion(value: string | number | AcDbDwgVersion): this;
31
+ toString(): string;
32
+ registerHandle(key: string): string;
33
+ resolveHandle(key?: string): string | undefined;
34
+ writeGroup(code: number, value: unknown): this;
35
+ writeStart(value: string): this;
36
+ writeSubclassMarker(value: string): this;
37
+ writeString(code: number, value?: string): this;
38
+ writeInt8(code: number, value?: number): this;
39
+ writeInt16(code: number, value?: number): this;
40
+ writeInt32(code: number, value?: number): this;
41
+ writeInt64(code: number, value?: number): this;
42
+ writeUInt16(code: number, value?: number): this;
43
+ writeUInt32(code: number, value?: number): this;
44
+ writeBoolean(code: number, value?: boolean): this;
45
+ writeBool(code: number, value?: boolean): this;
46
+ writeDouble(code: number, value?: number): this;
47
+ writeAngle(code: number, radians?: number): this;
48
+ writeHandle(code: number, key?: string): this;
49
+ writeObjectId(code: number, objectId?: string): this;
50
+ writePoint2d(code: number, point?: AcGePoint2dLike): this;
51
+ writePoint3d(code: number, point?: AcGePoint3dLike): this;
52
+ writeVector3d(code: number, vector?: AcGeVector3dLike): this;
53
+ writeCmColor(color?: AcCmColor, aciCode?: number, trueColorCode?: number): this;
54
+ writeTransparency(transparency?: AcCmTransparency, code?: number): this;
55
+ writeResultBuffer(data?: AcDbResultBuffer | null): this;
56
+ startSection(name: string): this;
57
+ endSection(): this;
58
+ startTable(name: string, count: number): this;
59
+ endTable(): this;
60
+ private formatValue;
61
+ }
62
+ //# sourceMappingURL=AcDbDxfFiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcDbDxfFiler.d.ts","sourceRoot":"","sources":["../../src/base/AcDbDxfFiler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,244 @@
1
+ var __values = (this && this.__values) || function(o) {
2
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
3
+ if (m) return m.call(o);
4
+ if (o && typeof o.length === "number") return {
5
+ next: function () {
6
+ if (o && i >= o.length) o = void 0;
7
+ return { value: o && o[i++], done: !o };
8
+ }
9
+ };
10
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
11
+ };
12
+ import { AcDbDwgVersion } from '../database/AcDbDwgVersion';
13
+ /**
14
+ * ASCII DXF writer that loosely mirrors the ObjectARX AcDbDxfFiler API.
15
+ *
16
+ * This implementation focuses on export scenarios in the web data model and
17
+ * writes classic group-code based DXF text.
18
+ */
19
+ var AcDbDxfFiler = /** @class */ (function () {
20
+ function AcDbDxfFiler(options) {
21
+ if (options === void 0) { options = {}; }
22
+ var _a;
23
+ this._database = options.database;
24
+ this._precision = Math.max(0, Math.min(16, (_a = options.precision) !== null && _a !== void 0 ? _a : 16));
25
+ this._version =
26
+ options.version instanceof AcDbDwgVersion
27
+ ? options.version
28
+ : options.version != null
29
+ ? new AcDbDwgVersion(options.version)
30
+ : undefined;
31
+ this._lines = [];
32
+ this._handleMap = new Map();
33
+ this._nextHandle = 1;
34
+ }
35
+ Object.defineProperty(AcDbDxfFiler.prototype, "database", {
36
+ get: function () {
37
+ return this._database;
38
+ },
39
+ set: function (value) {
40
+ this._database = value;
41
+ },
42
+ enumerable: false,
43
+ configurable: true
44
+ });
45
+ Object.defineProperty(AcDbDxfFiler.prototype, "precision", {
46
+ get: function () {
47
+ return this._precision;
48
+ },
49
+ enumerable: false,
50
+ configurable: true
51
+ });
52
+ AcDbDxfFiler.prototype.setPrecision = function (value) {
53
+ this._precision = Math.max(0, Math.min(16, value));
54
+ return this;
55
+ };
56
+ Object.defineProperty(AcDbDxfFiler.prototype, "version", {
57
+ get: function () {
58
+ return this._version;
59
+ },
60
+ enumerable: false,
61
+ configurable: true
62
+ });
63
+ AcDbDxfFiler.prototype.setVersion = function (value) {
64
+ this._version =
65
+ value instanceof AcDbDwgVersion ? value : new AcDbDwgVersion(value);
66
+ return this;
67
+ };
68
+ AcDbDxfFiler.prototype.toString = function () {
69
+ return this._lines.join('\n') + '\n';
70
+ };
71
+ AcDbDxfFiler.prototype.registerHandle = function (key) {
72
+ if (!this._handleMap.has(key)) {
73
+ this._handleMap.set(key, this._nextHandle.toString(16).toUpperCase());
74
+ this._nextHandle += 1;
75
+ }
76
+ return this._handleMap.get(key);
77
+ };
78
+ AcDbDxfFiler.prototype.resolveHandle = function (key) {
79
+ if (!key)
80
+ return undefined;
81
+ return this.registerHandle(key);
82
+ };
83
+ AcDbDxfFiler.prototype.writeGroup = function (code, value) {
84
+ if (value == null)
85
+ return this;
86
+ this._lines.push(String(Math.trunc(code)));
87
+ this._lines.push(this.formatValue(value));
88
+ return this;
89
+ };
90
+ AcDbDxfFiler.prototype.writeStart = function (value) {
91
+ return this.writeString(0, value);
92
+ };
93
+ AcDbDxfFiler.prototype.writeSubclassMarker = function (value) {
94
+ return this.writeString(100, value);
95
+ };
96
+ AcDbDxfFiler.prototype.writeString = function (code, value) {
97
+ if (!value && value !== '')
98
+ return this;
99
+ return this.writeGroup(code, value);
100
+ };
101
+ AcDbDxfFiler.prototype.writeInt8 = function (code, value) {
102
+ return value == null ? this : this.writeGroup(code, Math.trunc(value));
103
+ };
104
+ AcDbDxfFiler.prototype.writeInt16 = function (code, value) {
105
+ return value == null ? this : this.writeGroup(code, Math.trunc(value));
106
+ };
107
+ AcDbDxfFiler.prototype.writeInt32 = function (code, value) {
108
+ return value == null ? this : this.writeGroup(code, Math.trunc(value));
109
+ };
110
+ AcDbDxfFiler.prototype.writeInt64 = function (code, value) {
111
+ return value == null ? this : this.writeGroup(code, Math.trunc(value));
112
+ };
113
+ AcDbDxfFiler.prototype.writeUInt16 = function (code, value) {
114
+ return value == null ? this : this.writeGroup(code, Math.max(0, value));
115
+ };
116
+ AcDbDxfFiler.prototype.writeUInt32 = function (code, value) {
117
+ return value == null ? this : this.writeGroup(code, Math.max(0, value));
118
+ };
119
+ AcDbDxfFiler.prototype.writeBoolean = function (code, value) {
120
+ return value == null ? this : this.writeGroup(code, value ? 1 : 0);
121
+ };
122
+ AcDbDxfFiler.prototype.writeBool = function (code, value) {
123
+ return this.writeBoolean(code, value);
124
+ };
125
+ AcDbDxfFiler.prototype.writeDouble = function (code, value) {
126
+ return value == null || !Number.isFinite(value)
127
+ ? this
128
+ : this.writeGroup(code, value);
129
+ };
130
+ AcDbDxfFiler.prototype.writeAngle = function (code, radians) {
131
+ if (radians == null || !Number.isFinite(radians))
132
+ return this;
133
+ return this.writeDouble(code, (radians * 180) / Math.PI);
134
+ };
135
+ AcDbDxfFiler.prototype.writeHandle = function (code, key) {
136
+ var handle = this.resolveHandle(key);
137
+ return handle ? this.writeString(code, handle) : this;
138
+ };
139
+ AcDbDxfFiler.prototype.writeObjectId = function (code, objectId) {
140
+ return this.writeHandle(code, objectId);
141
+ };
142
+ AcDbDxfFiler.prototype.writePoint2d = function (code, point) {
143
+ if (!point)
144
+ return this;
145
+ this.writeDouble(code, point.x);
146
+ this.writeDouble(code + 10, point.y);
147
+ return this;
148
+ };
149
+ AcDbDxfFiler.prototype.writePoint3d = function (code, point) {
150
+ var _a;
151
+ if (!point)
152
+ return this;
153
+ this.writeDouble(code, point.x);
154
+ this.writeDouble(code + 10, point.y);
155
+ this.writeDouble(code + 20, (_a = point.z) !== null && _a !== void 0 ? _a : 0);
156
+ return this;
157
+ };
158
+ AcDbDxfFiler.prototype.writeVector3d = function (code, vector) {
159
+ var _a;
160
+ if (!vector)
161
+ return this;
162
+ this.writeDouble(code, vector.x);
163
+ this.writeDouble(code + 10, vector.y);
164
+ this.writeDouble(code + 20, (_a = vector.z) !== null && _a !== void 0 ? _a : 0);
165
+ return this;
166
+ };
167
+ AcDbDxfFiler.prototype.writeCmColor = function (color, aciCode, trueColorCode) {
168
+ if (aciCode === void 0) { aciCode = 62; }
169
+ if (trueColorCode === void 0) { trueColorCode = 420; }
170
+ if (!color)
171
+ return this;
172
+ var aci = color.colorIndex;
173
+ if (aci != null) {
174
+ this.writeInt16(aciCode, aci);
175
+ }
176
+ var rgb = color.RGB;
177
+ if (rgb != null && color.colorIndex == null) {
178
+ this.writeInt32(trueColorCode, rgb);
179
+ }
180
+ return this;
181
+ };
182
+ AcDbDxfFiler.prototype.writeTransparency = function (transparency, code) {
183
+ if (code === void 0) { code = 440; }
184
+ if (!transparency)
185
+ return this;
186
+ return this.writeInt32(code, transparency.serialize());
187
+ };
188
+ AcDbDxfFiler.prototype.writeResultBuffer = function (data) {
189
+ var e_1, _a;
190
+ if (!data)
191
+ return this;
192
+ try {
193
+ for (var data_1 = __values(data), data_1_1 = data_1.next(); !data_1_1.done; data_1_1 = data_1.next()) {
194
+ var item = data_1_1.value;
195
+ this.writeGroup(item.code, item.value);
196
+ }
197
+ }
198
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
199
+ finally {
200
+ try {
201
+ if (data_1_1 && !data_1_1.done && (_a = data_1.return)) _a.call(data_1);
202
+ }
203
+ finally { if (e_1) throw e_1.error; }
204
+ }
205
+ return this;
206
+ };
207
+ AcDbDxfFiler.prototype.startSection = function (name) {
208
+ this.writeStart('SECTION');
209
+ this.writeString(2, name);
210
+ return this;
211
+ };
212
+ AcDbDxfFiler.prototype.endSection = function () {
213
+ this.writeStart('ENDSEC');
214
+ return this;
215
+ };
216
+ AcDbDxfFiler.prototype.startTable = function (name, count) {
217
+ this.writeStart('TABLE');
218
+ this.writeString(2, name);
219
+ this.writeInt16(70, count);
220
+ return this;
221
+ };
222
+ AcDbDxfFiler.prototype.endTable = function () {
223
+ this.writeStart('ENDTAB');
224
+ return this;
225
+ };
226
+ AcDbDxfFiler.prototype.formatValue = function (value) {
227
+ if (typeof value === 'string')
228
+ return value;
229
+ if (typeof value === 'boolean')
230
+ return value ? '1' : '0';
231
+ if (typeof value === 'number') {
232
+ if (!Number.isFinite(value))
233
+ return '0';
234
+ if (Number.isInteger(value))
235
+ return String(value);
236
+ var fixed = value.toFixed(this._precision);
237
+ return fixed.replace(/\.?0+$/, '');
238
+ }
239
+ return String(value);
240
+ };
241
+ return AcDbDxfFiler;
242
+ }());
243
+ export { AcDbDxfFiler };
244
+ //# sourceMappingURL=AcDbDxfFiler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcDbDxfFiler.js","sourceRoot":"","sources":["../../src/base/AcDbDxfFiler.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { AcDbDatabase } from '../database/AcDbDatabase';
2
- import { AcDbLayoutManager } from '../object/layout/AcDbLayoutManager';
2
+ import type { AcDbLayoutManager } from '../object/layout/AcDbLayoutManager';
3
+ export declare function setAcDbLayoutManagerFactory(factory: () => AcDbLayoutManager): void;
3
4
  /**
4
5
  * Returns the singleton instance of the host application services.
5
6
  *
@@ -33,12 +34,11 @@ export declare class AcDbHostApplicationServices {
33
34
  /** The current working database instance */
34
35
  private _workingDatabase;
35
36
  /** The layout manager instance */
36
- private _layoutManager;
37
+ private _layoutManager?;
37
38
  /** The singleton instance of AcDbHostApplicationServices */
38
39
  static instance: AcDbHostApplicationServices;
39
40
  /**
40
41
  * Private constructor to enforce singleton pattern.
41
- * Initializes the layout manager.
42
42
  */
43
43
  private constructor();
44
44
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbHostApplicationServices.d.ts","sourceRoot":"","sources":["../../src/base/AcDbHostApplicationServices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAEtE;;;;;;;;;;;;GAYG;AACH,wBAAgB,2BAA2B,gCAE1C;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,2BAA2B;IACtC,4CAA4C;IAC5C,OAAO,CAAC,gBAAgB,CAA4B;IAEpD,kCAAkC;IAClC,OAAO,CAAC,cAAc,CAAmB;IAEzC,4DAA4D;IAC5D,OAAc,QAAQ,EAAE,2BAA2B,CAChB;IAEnC;;;OAGG;IACH,OAAO;IAIP;;;;;;;;;;;;;;;;;;OAkBG;IACH,IAAI,eAAe,IAAI,YAAY,CAQlC;IAED;;;;;;;;;;;;;OAaG;IACH,IAAI,eAAe,CAAC,QAAQ,EAAE,YAAY,EAEzC;IAED;;;;;;;;;;;;;;OAcG;IACH,IAAI,aAAa,sBAEhB;CACF"}
1
+ {"version":3,"file":"AcDbHostApplicationServices.d.ts","sourceRoot":"","sources":["../../src/base/AcDbHostApplicationServices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAK3E,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,iBAAiB,QAE3E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,2BAA2B,gCAE1C;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,2BAA2B;IACtC,4CAA4C;IAC5C,OAAO,CAAC,gBAAgB,CAA4B;IAEpD,kCAAkC;IAClC,OAAO,CAAC,cAAc,CAAC,CAAmB;IAE1C,4DAA4D;IAC5D,OAAc,QAAQ,EAAE,2BAA2B,CAChB;IAEnC;;OAEG;IACH,OAAO;IAEP;;;;;;;;;;;;;;;;;;OAkBG;IACH,IAAI,eAAe,IAAI,YAAY,CAQlC;IAED;;;;;;;;;;;;;OAaG;IACH,IAAI,eAAe,CAAC,QAAQ,EAAE,YAAY,EAEzC;IAED;;;;;;;;;;;;;;OAcG;IACH,IAAI,aAAa,sBAUhB;CACF"}
@@ -1,4 +1,8 @@
1
- import { AcDbLayoutManager } from '../object/layout/AcDbLayoutManager';
1
+ import { setAcDbHostApplicationServicesProvider } from './AcDbObject';
2
+ var layoutManagerFactory;
3
+ export function setAcDbLayoutManagerFactory(factory) {
4
+ layoutManagerFactory = factory;
5
+ }
2
6
  /**
3
7
  * Returns the singleton instance of the host application services.
4
8
  *
@@ -33,12 +37,10 @@ export function acdbHostApplicationServices() {
33
37
  var AcDbHostApplicationServices = /** @class */ (function () {
34
38
  /**
35
39
  * Private constructor to enforce singleton pattern.
36
- * Initializes the layout manager.
37
40
  */
38
41
  function AcDbHostApplicationServices() {
39
42
  /** The current working database instance */
40
43
  this._workingDatabase = null;
41
- this._layoutManager = new AcDbLayoutManager();
42
44
  }
43
45
  Object.defineProperty(AcDbHostApplicationServices.prototype, "workingDatabase", {
44
46
  /**
@@ -105,6 +107,12 @@ var AcDbHostApplicationServices = /** @class */ (function () {
105
107
  * ```
106
108
  */
107
109
  get: function () {
110
+ if (!this._layoutManager) {
111
+ if (!layoutManagerFactory) {
112
+ throw new Error('The layout manager factory must be registered before using it!');
113
+ }
114
+ this._layoutManager = layoutManagerFactory();
115
+ }
108
116
  return this._layoutManager;
109
117
  },
110
118
  enumerable: false,
@@ -115,4 +123,5 @@ var AcDbHostApplicationServices = /** @class */ (function () {
115
123
  return AcDbHostApplicationServices;
116
124
  }());
117
125
  export { AcDbHostApplicationServices };
126
+ setAcDbHostApplicationServicesProvider(acdbHostApplicationServices);
118
127
  //# sourceMappingURL=AcDbHostApplicationServices.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbHostApplicationServices.js","sourceRoot":"","sources":["../../src/base/AcDbHostApplicationServices.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAEtE;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,2BAA2B;IACzC,OAAO,2BAA2B,CAAC,QAAQ,CAAA;AAC7C,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH;IAWE;;;OAGG;IACH;QAdA,4CAA4C;QACpC,qBAAgB,GAAwB,IAAI,CAAA;QAclD,IAAI,CAAC,cAAc,GAAG,IAAI,iBAAiB,EAAE,CAAA;IAC/C,CAAC;IAqBD,sBAAI,wDAAe;QAnBnB;;;;;;;;;;;;;;;;;;WAkBG;aACH;YACE,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAC,gBAAgB,CAAA;YAC9B,CAAC;QACH,CAAC;QAED;;;;;;;;;;;;;WAaG;aACH,UAAoB,QAAsB;YACxC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAA;QAClC,CAAC;;;OAlBA;IAmCD,sBAAI,sDAAa;QAfjB;;;;;;;;;;;;;;WAcG;aACH;YACE,OAAO,IAAI,CAAC,cAAc,CAAA;QAC5B,CAAC;;;OAAA;IA5ED,4DAA4D;IAC9C,oCAAQ,GACpB,IAAI,2BAA2B,EAAE,AADb,CACa;IA2ErC,kCAAC;CAAA,AApFD,IAoFC;SApFY,2BAA2B"}
1
+ {"version":3,"file":"AcDbHostApplicationServices.js","sourceRoot":"","sources":["../../src/base/AcDbHostApplicationServices.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sCAAsC,EAAE,MAAM,cAAc,CAAA;AAErE,IAAI,oBAA2D,CAAA;AAE/D,MAAM,UAAU,2BAA2B,CAAC,OAAgC;IAC1E,oBAAoB,GAAG,OAAO,CAAA;AAChC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,2BAA2B;IACzC,OAAO,2BAA2B,CAAC,QAAQ,CAAA;AAC7C,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH;IAWE;;OAEG;IACH;QAbA,4CAA4C;QACpC,qBAAgB,GAAwB,IAAI,CAAA;IAY7B,CAAC;IAqBxB,sBAAI,wDAAe;QAnBnB;;;;;;;;;;;;;;;;;;WAkBG;aACH;YACE,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAC,gBAAgB,CAAA;YAC9B,CAAC;QACH,CAAC;QAED;;;;;;;;;;;;;WAaG;aACH,UAAoB,QAAsB;YACxC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAA;QAClC,CAAC;;;OAlBA;IAmCD,sBAAI,sDAAa;QAfjB;;;;;;;;;;;;;;WAcG;aACH;YACE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE,CAAA;gBACH,CAAC;gBACD,IAAI,CAAC,cAAc,GAAG,oBAAoB,EAAE,CAAA;YAC9C,CAAC;YACD,OAAO,IAAI,CAAC,cAAc,CAAA;QAC5B,CAAC;;;OAAA;IAjFD,4DAA4D;IAC9C,oCAAQ,GACpB,IAAI,2BAA2B,EAAE,AADb,CACa;IAgFrC,kCAAC;CAAA,AAzFD,IAyFC;SAzFY,2BAA2B;AA2FxC,sCAAsC,CAAC,2BAA2B,CAAC,CAAA"}
@@ -1,8 +1,12 @@
1
1
  import { AcCmAttributes, AcCmObject, AcCmStringKey } from '@mlightcad/common';
2
- import { AcDbDatabase } from '../database/AcDbDatabase';
2
+ import type { AcDbDatabase } from '../database/AcDbDatabase';
3
+ import { AcDbDxfFiler } from './AcDbDxfFiler';
3
4
  import { AcDbResultBuffer } from './AcDbResultBuffer';
4
5
  /** Type alias for object ID as string */
5
6
  export type AcDbObjectId = string;
7
+ export declare function setAcDbHostApplicationServicesProvider(provider: () => {
8
+ workingDatabase: AcDbDatabase;
9
+ }): void;
6
10
  /**
7
11
  * Interface defining the attributes that can be associated with an AcDbObject.
8
12
  *
@@ -327,5 +331,17 @@ export declare class AcDbObject<ATTRS extends AcDbObjectAttrs = AcDbObjectAttrs>
327
331
  * ```
328
332
  */
329
333
  close(): void;
334
+ /**
335
+ * Writes the common DXF wrapper for this object and then delegates the
336
+ * object-specific payload to {@link dxfOutFields}.
337
+ */
338
+ dxfOut(...args: unknown[]): unknown;
339
+ /**
340
+ * Writes object-specific DXF fields.
341
+ *
342
+ * Subclasses should override this method and call `super.dxfOutFields(filer)`
343
+ * first so the subclass markers remain consistent.
344
+ */
345
+ dxfOutFields(_filer: AcDbDxfFiler): this;
330
346
  }
331
347
  //# sourceMappingURL=AcDbObject.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbObject.d.ts","sourceRoot":"","sources":["../../src/base/AcDbObject.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,UAAU,EACV,aAAa,EAEd,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAGvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,yCAAyC;AACzC,MAAM,MAAM,YAAY,GAAG,MAAM,CAAA;AAEjC;;;;;GAKG;AACH,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,uCAAuC;IACvC,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,qDAAqD;IACrD,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,YAAY,CAAA;CACnC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,UAAU,CAAC,KAAK,SAAS,eAAe,GAAG,eAAe;IACrE,uDAAuD;IACvD,OAAO,CAAC,SAAS,CAAC,CAAc;IAChC,8DAA8D;IAC9D,OAAO,CAAC,MAAM,CAAmB;IACjC,oCAAoC;IACpC,OAAO,CAAC,SAAS,CAA+B;IAEhD;;;;;;;;;;OAUG;gBACS,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC;IAOjE;;;;;;;;;;OAUG;IACH,IAAI,KAAK,sBAER;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC;IAUtC;;;;;;;;;;;;;;;;OAgBG;IACH,uBAAuB,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC;IAItD;;;;;;;;;;OAUG;IACH,OAAO,CAAC,CAAC,SAAS,aAAa,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAInE;;;;;;;;;;;;;OAaG;IACH,IAAI,QAAQ,IAAI,YAAY,CAE3B;IAED;;;;;;;;;OASG;IACH,IAAI,QAAQ,CAAC,KAAK,EAAE,YAAY,EAE/B;IAED;;;;;;;;;OASG;IACH,IAAI,OAAO,IAAI,YAAY,CAE1B;IAED;;;;;;;;;OASG;IACH,IAAI,OAAO,CAAC,KAAK,EAAE,YAAY,EAE9B;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,IAAI,mBAAmB,IAAI,YAAY,GAAG,SAAS,CAElD;IAED;;;;;;;;;;;;;;OAcG;IACH,IAAI,mBAAmB,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,EAEtD;IAED;;;;;;;;;;;;;OAaG;IACH,IAAI,QAAQ,IAAI,YAAY,CAI3B;IAED;;;;;;;;;;;;OAYG;IACH,IAAI,QAAQ,CAAC,EAAE,EAAE,YAAY,EAE5B;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIrD;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAQxC;;;;;;;;;;;;;;;OAeG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIhC;;;;;;;;;;;;;;;;;OAiBG;IACH,yBAAyB,IAAI,YAAY,GAAG,SAAS;IAyBrD;;;;;;;;;;;OAWG;IACH,KAAK;CACN"}
1
+ {"version":3,"file":"AcDbObject.d.ts","sourceRoot":"","sources":["../../src/base/AcDbObject.ts"],"names":[],"mappings":"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"}
@@ -9,9 +9,28 @@ var __values = (this && this.__values) || function(o) {
9
9
  };
10
10
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
11
11
  };
12
+ var __read = (this && this.__read) || function (o, n) {
13
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
14
+ if (!m) return o;
15
+ var i = m.call(o), r, ar = [], e;
16
+ try {
17
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
18
+ }
19
+ catch (error) { e = { error: error }; }
20
+ finally {
21
+ try {
22
+ if (r && !r.done && (m = i["return"])) m.call(i);
23
+ }
24
+ finally { if (e) throw e.error; }
25
+ }
26
+ return ar;
27
+ };
12
28
  import { AcCmObject, defaults } from '@mlightcad/common';
13
29
  import { uid } from 'uid';
14
- import { acdbHostApplicationServices } from './AcDbHostApplicationServices';
30
+ var hostApplicationServicesProvider;
31
+ export function setAcDbHostApplicationServicesProvider(provider) {
32
+ hostApplicationServicesProvider = provider;
33
+ }
15
34
  /**
16
35
  * The base class for all objects that reside in a drawing database.
17
36
  *
@@ -248,9 +267,13 @@ var AcDbObject = /** @class */ (function () {
248
267
  * ```
249
268
  */
250
269
  get: function () {
251
- return this._database
252
- ? this._database
253
- : acdbHostApplicationServices().workingDatabase;
270
+ if (this._database) {
271
+ return this._database;
272
+ }
273
+ if (hostApplicationServicesProvider) {
274
+ return hostApplicationServicesProvider().workingDatabase;
275
+ }
276
+ throw new Error('The current working database must be set before using it!');
254
277
  },
255
278
  /**
256
279
  * Sets the database for this object.
@@ -408,6 +431,49 @@ var AcDbObject = /** @class */ (function () {
408
431
  * ```
409
432
  */
410
433
  AcDbObject.prototype.close = function () { };
434
+ /**
435
+ * Writes the common DXF wrapper for this object and then delegates the
436
+ * object-specific payload to {@link dxfOutFields}.
437
+ */
438
+ AcDbObject.prototype.dxfOut = function () {
439
+ var e_2, _a;
440
+ var args = [];
441
+ for (var _i = 0; _i < arguments.length; _i++) {
442
+ args[_i] = arguments[_i];
443
+ }
444
+ var _b = __read(args, 2), filer = _b[0], _c = _b[1], allXdata = _c === void 0 ? false : _c;
445
+ filer.writeHandle(5, this.objectId);
446
+ filer.writeObjectId(330, this.ownerId);
447
+ filer.writeObjectId(360, this.extensionDictionary);
448
+ this.dxfOutFields(filer);
449
+ if (allXdata) {
450
+ try {
451
+ for (var _d = __values(this._xDataMap.values()), _e = _d.next(); !_e.done; _e = _d.next()) {
452
+ var data = _e.value;
453
+ filer.writeResultBuffer(data);
454
+ }
455
+ }
456
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
457
+ finally {
458
+ try {
459
+ if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
460
+ }
461
+ finally { if (e_2) throw e_2.error; }
462
+ }
463
+ }
464
+ return this;
465
+ };
466
+ /**
467
+ * Writes object-specific DXF fields.
468
+ *
469
+ * Subclasses should override this method and call `super.dxfOutFields(filer)`
470
+ * first so the subclass markers remain consistent.
471
+ */
472
+ AcDbObject.prototype.dxfOutFields = function (_filer) {
473
+ // For better downstream compatibility, the object-level marker (AcDbObject) is omitted.
474
+ // filer.writeSubclassMarker('AcDbObject')
475
+ return this;
476
+ };
411
477
  return AcDbObject;
412
478
  }());
413
479
  export { AcDbObject };
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbObject.js","sourceRoot":"","sources":["../../src/base/AcDbObject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcDbObject.js","sourceRoot":"","sources":["../../src/base/AcDbObject.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export * from './AcDbDxfCode';
2
+ export * from './AcDbDxfFiler';
2
3
  export * from './AcDbHostApplicationServices';
3
4
  export * from './AcDbObject';
4
5
  export * from './AcDbOpenMode';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/base/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,+BAA+B,CAAA;AAC7C,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/base/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,+BAA+B,CAAA;AAC7C,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA"}
package/lib/base/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './AcDbDxfCode';
2
+ export * from './AcDbDxfFiler';
2
3
  export * from './AcDbHostApplicationServices';
3
4
  export * from './AcDbObject';
4
5
  export * from './AcDbOpenMode';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/base/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,+BAA+B,CAAA;AAC7C,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/base/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,+BAA+B,CAAA;AAC7C,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbDxfConverter.d.ts","sourceRoot":"","sources":["../../src/converter/AcDbDxfConverter.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,SAAS,EAEV,MAAM,qBAAqB,CAAA;AAa5B,OAAO,EAEL,YAAY,EACZ,2BAA2B,EAa5B,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,8BAA8B,EAC9B,qBAAqB,EACtB,MAAM,mCAAmC,CAAA;AAS1C;;;;;;;;;;;;;GAaG;AACH,qBAAa,gBAAiB,SAAQ,qBAAqB,CAAC,SAAS,CAAC;gBACxD,MAAM,GAAE,2BAAgC;IAOpD;;;;;;OAMG;cACa,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM;;;;;;IAsCzD;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS;IAmCjC;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,eAAe;IA6BvB;;;;;;;;;;;;;;;;;;OAkBG;cACa,eAAe,CAC7B,GAAG,EAAE,SAAS,EACd,EAAE,EAAE,YAAY,EAChB,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAClC,QAAQ,CAAC,EAAE,8BAA8B;IAgF3C;;;;;;;;;;;;;;;;OAgBG;YACW,sBAAsB;IAsCpC;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY;IAyB1D;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY;IAsB1D;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY;IAc7D;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY;IAwB3D;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY;IA6G7D;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY;IAqB1D;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY;IAY7D;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY;IAW9D;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY;IAmF7D;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,4BAA4B;IAYpC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,qBAAqB;CAc9B"}
1
+ {"version":3,"file":"AcDbDxfConverter.d.ts","sourceRoot":"","sources":["../../src/converter/AcDbDxfConverter.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,SAAS,EAEV,MAAM,qBAAqB,CAAA;AAa5B,OAAO,EAEL,YAAY,EACZ,2BAA2B,EAa5B,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,8BAA8B,EAC9B,qBAAqB,EACtB,MAAM,mCAAmC,CAAA;AAS1C;;;;;;;;;;;;;GAaG;AACH,qBAAa,gBAAiB,SAAQ,qBAAqB,CAAC,SAAS,CAAC;gBACxD,MAAM,GAAE,2BAAgC;IAOpD;;;;;;OAMG;cACa,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM;;;;;;IAsCzD;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS;IAmCjC;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,eAAe;IA6BvB;;;;;;;;;;;;;;;;;;OAkBG;cACa,eAAe,CAC7B,GAAG,EAAE,SAAS,EACd,EAAE,EAAE,YAAY,EAChB,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAClC,QAAQ,CAAC,EAAE,8BAA8B;IAsF3C;;;;;;;;;;;;;;;;OAgBG;YACW,sBAAsB;IAsCpC;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY;IAyB1D;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY;IAsB1D;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY;IAc7D;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY;IAwB3D;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY;IA6G7D;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY;IAqB1D;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY;IAY7D;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY;IAW9D;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY;IAmF7D;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,4BAA4B;IAYpC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,qBAAqB;CAc9B"}
@@ -328,6 +328,10 @@ var AcDbDxfConverter = /** @class */ (function (_super) {
328
328
  entityType = start < end ? entities[start].type : '';
329
329
  _loop_1 = function (i) {
330
330
  var entity = entities[i];
331
+ if (entity.ownerBlockRecordSoftId &&
332
+ entity.ownerBlockRecordSoftId !== modelSpaceBlockTableRecord.objectId) {
333
+ return "continue";
334
+ }
331
335
  if (entity.type !== 'ATTRIB') {
332
336
  var dbEntity_1 = converter.convert(entity);
333
337
  if (dbEntity_1) {