@mlightcad/data-model 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (301) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +116 -0
  3. package/dist/data-model.js +19887 -0
  4. package/dist/data-model.umd.cjs +5 -0
  5. package/lib/base/AcDbHostApplicationServices.d.ts +30 -0
  6. package/lib/base/AcDbHostApplicationServices.d.ts.map +1 -0
  7. package/lib/base/AcDbHostApplicationServices.js +54 -0
  8. package/lib/base/AcDbHostApplicationServices.js.map +1 -0
  9. package/lib/base/AcDbObject.d.ts +70 -0
  10. package/lib/base/AcDbObject.d.ts.map +1 -0
  11. package/lib/base/AcDbObject.js +113 -0
  12. package/lib/base/AcDbObject.js.map +1 -0
  13. package/lib/base/index.d.ts +3 -0
  14. package/lib/base/index.d.ts.map +1 -0
  15. package/lib/base/index.js +3 -0
  16. package/lib/base/index.js.map +1 -0
  17. package/lib/converter/AcDbBatchProcessing.d.ts +43 -0
  18. package/lib/converter/AcDbBatchProcessing.d.ts.map +1 -0
  19. package/lib/converter/AcDbBatchProcessing.js +165 -0
  20. package/lib/converter/AcDbBatchProcessing.js.map +1 -0
  21. package/lib/converter/AcDbDxfConverter.d.ts +39 -0
  22. package/lib/converter/AcDbDxfConverter.d.ts.map +1 -0
  23. package/lib/converter/AcDbDxfConverter.js +567 -0
  24. package/lib/converter/AcDbDxfConverter.js.map +1 -0
  25. package/lib/converter/AcDbDxfParseWorker.d.ts +2 -0
  26. package/lib/converter/AcDbDxfParseWorker.d.ts.map +1 -0
  27. package/lib/converter/AcDbDxfParseWorker.js +6 -0
  28. package/lib/converter/AcDbDxfParseWorker.js.map +1 -0
  29. package/lib/converter/AcDbEntitiyConverter.d.ts +36 -0
  30. package/lib/converter/AcDbEntitiyConverter.d.ts.map +1 -0
  31. package/lib/converter/AcDbEntitiyConverter.js +491 -0
  32. package/lib/converter/AcDbEntitiyConverter.js.map +1 -0
  33. package/lib/converter/AcDbObjectConverter.d.ts +9 -0
  34. package/lib/converter/AcDbObjectConverter.d.ts.map +1 -0
  35. package/lib/converter/AcDbObjectConverter.js +30 -0
  36. package/lib/converter/AcDbObjectConverter.js.map +1 -0
  37. package/lib/converter/index.d.ts +3 -0
  38. package/lib/converter/index.d.ts.map +1 -0
  39. package/lib/converter/index.js +3 -0
  40. package/lib/converter/index.js.map +1 -0
  41. package/lib/database/AcDbBlockTable.d.ts +15 -0
  42. package/lib/database/AcDbBlockTable.d.ts.map +1 -0
  43. package/lib/database/AcDbBlockTable.js +46 -0
  44. package/lib/database/AcDbBlockTable.js.map +1 -0
  45. package/lib/database/AcDbBlockTableRecord.d.ts +49 -0
  46. package/lib/database/AcDbBlockTableRecord.d.ts.map +1 -0
  47. package/lib/database/AcDbBlockTableRecord.js +108 -0
  48. package/lib/database/AcDbBlockTableRecord.js.map +1 -0
  49. package/lib/database/AcDbDatabase.d.ts +211 -0
  50. package/lib/database/AcDbDatabase.d.ts.map +1 -0
  51. package/lib/database/AcDbDatabase.js +395 -0
  52. package/lib/database/AcDbDatabase.js.map +1 -0
  53. package/lib/database/AcDbDatabaseConverter.d.ts +120 -0
  54. package/lib/database/AcDbDatabaseConverter.d.ts.map +1 -0
  55. package/lib/database/AcDbDatabaseConverter.js +376 -0
  56. package/lib/database/AcDbDatabaseConverter.js.map +1 -0
  57. package/lib/database/AcDbDatabaseConverterManager.d.ts +59 -0
  58. package/lib/database/AcDbDatabaseConverterManager.d.ts.map +1 -0
  59. package/lib/database/AcDbDatabaseConverterManager.js +98 -0
  60. package/lib/database/AcDbDatabaseConverterManager.js.map +1 -0
  61. package/lib/database/AcDbDatabaseConverterRegister.d.ts +54 -0
  62. package/lib/database/AcDbDatabaseConverterRegister.d.ts.map +1 -0
  63. package/lib/database/AcDbDatabaseConverterRegister.js +84 -0
  64. package/lib/database/AcDbDatabaseConverterRegister.js.map +1 -0
  65. package/lib/database/AcDbDimStyleTable.d.ts +11 -0
  66. package/lib/database/AcDbDimStyleTable.d.ts.map +1 -0
  67. package/lib/database/AcDbDimStyleTable.js +29 -0
  68. package/lib/database/AcDbDimStyleTable.js.map +1 -0
  69. package/lib/database/AcDbDimStyleTableRecord.d.ts +682 -0
  70. package/lib/database/AcDbDimStyleTableRecord.d.ts.map +1 -0
  71. package/lib/database/AcDbDimStyleTableRecord.js +1250 -0
  72. package/lib/database/AcDbDimStyleTableRecord.js.map +1 -0
  73. package/lib/database/AcDbLayerTable.d.ts +14 -0
  74. package/lib/database/AcDbLayerTable.d.ts.map +1 -0
  75. package/lib/database/AcDbLayerTable.js +55 -0
  76. package/lib/database/AcDbLayerTable.js.map +1 -0
  77. package/lib/database/AcDbLayerTableRecord.d.ts +98 -0
  78. package/lib/database/AcDbLayerTableRecord.d.ts.map +1 -0
  79. package/lib/database/AcDbLayerTableRecord.js +235 -0
  80. package/lib/database/AcDbLayerTableRecord.js.map +1 -0
  81. package/lib/database/AcDbLinetypeTable.d.ts +11 -0
  82. package/lib/database/AcDbLinetypeTable.d.ts.map +1 -0
  83. package/lib/database/AcDbLinetypeTable.js +29 -0
  84. package/lib/database/AcDbLinetypeTable.js.map +1 -0
  85. package/lib/database/AcDbLinetypeTableRecord.d.ts +47 -0
  86. package/lib/database/AcDbLinetypeTableRecord.d.ts.map +1 -0
  87. package/lib/database/AcDbLinetypeTableRecord.js +97 -0
  88. package/lib/database/AcDbLinetypeTableRecord.js.map +1 -0
  89. package/lib/database/AcDbSymbolTable.d.ts +74 -0
  90. package/lib/database/AcDbSymbolTable.d.ts.map +1 -0
  91. package/lib/database/AcDbSymbolTable.js +136 -0
  92. package/lib/database/AcDbSymbolTable.js.map +1 -0
  93. package/lib/database/AcDbSymbolTableRecord.d.ts +16 -0
  94. package/lib/database/AcDbSymbolTableRecord.d.ts.map +1 -0
  95. package/lib/database/AcDbSymbolTableRecord.js +44 -0
  96. package/lib/database/AcDbSymbolTableRecord.js.map +1 -0
  97. package/lib/database/AcDbTextStyleTable.d.ts +14 -0
  98. package/lib/database/AcDbTextStyleTable.d.ts.map +1 -0
  99. package/lib/database/AcDbTextStyleTable.js +78 -0
  100. package/lib/database/AcDbTextStyleTable.js.map +1 -0
  101. package/lib/database/AcDbTextStyleTableRecord.d.ts +67 -0
  102. package/lib/database/AcDbTextStyleTableRecord.d.ts.map +1 -0
  103. package/lib/database/AcDbTextStyleTableRecord.js +166 -0
  104. package/lib/database/AcDbTextStyleTableRecord.js.map +1 -0
  105. package/lib/database/AcDbViewportTable.d.ts +11 -0
  106. package/lib/database/AcDbViewportTable.d.ts.map +1 -0
  107. package/lib/database/AcDbViewportTable.js +29 -0
  108. package/lib/database/AcDbViewportTable.js.map +1 -0
  109. package/lib/database/AcDbViewportTableRecord.d.ts +89 -0
  110. package/lib/database/AcDbViewportTableRecord.d.ts.map +1 -0
  111. package/lib/database/AcDbViewportTableRecord.js +262 -0
  112. package/lib/database/AcDbViewportTableRecord.js.map +1 -0
  113. package/lib/database/index.d.ts +18 -0
  114. package/lib/database/index.d.ts.map +1 -0
  115. package/lib/database/index.js +18 -0
  116. package/lib/database/index.js.map +1 -0
  117. package/lib/entity/AcDbArc.d.ts +67 -0
  118. package/lib/entity/AcDbArc.d.ts.map +1 -0
  119. package/lib/entity/AcDbArc.js +154 -0
  120. package/lib/entity/AcDbArc.js.map +1 -0
  121. package/lib/entity/AcDbBlockReference.d.ts +54 -0
  122. package/lib/entity/AcDbBlockReference.d.ts.map +1 -0
  123. package/lib/entity/AcDbBlockReference.js +168 -0
  124. package/lib/entity/AcDbBlockReference.js.map +1 -0
  125. package/lib/entity/AcDbCircle.d.ts +51 -0
  126. package/lib/entity/AcDbCircle.d.ts.map +1 -0
  127. package/lib/entity/AcDbCircle.js +115 -0
  128. package/lib/entity/AcDbCircle.js.map +1 -0
  129. package/lib/entity/AcDbCurve.d.ts +9 -0
  130. package/lib/entity/AcDbCurve.d.ts.map +1 -0
  131. package/lib/entity/AcDbCurve.js +25 -0
  132. package/lib/entity/AcDbCurve.js.map +1 -0
  133. package/lib/entity/AcDbEllipse.d.ts +53 -0
  134. package/lib/entity/AcDbEllipse.d.ts.map +1 -0
  135. package/lib/entity/AcDbEllipse.js +119 -0
  136. package/lib/entity/AcDbEllipse.js.map +1 -0
  137. package/lib/entity/AcDbEntity.d.ts +103 -0
  138. package/lib/entity/AcDbEntity.d.ts.map +1 -0
  139. package/lib/entity/AcDbEntity.js +292 -0
  140. package/lib/entity/AcDbEntity.js.map +1 -0
  141. package/lib/entity/AcDbHatch.d.ts +116 -0
  142. package/lib/entity/AcDbHatch.d.ts.map +1 -0
  143. package/lib/entity/AcDbHatch.js +200 -0
  144. package/lib/entity/AcDbHatch.js.map +1 -0
  145. package/lib/entity/AcDbLeader.d.ts +94 -0
  146. package/lib/entity/AcDbLeader.d.ts.map +1 -0
  147. package/lib/entity/AcDbLeader.js +217 -0
  148. package/lib/entity/AcDbLeader.js.map +1 -0
  149. package/lib/entity/AcDbLine.d.ts +55 -0
  150. package/lib/entity/AcDbLine.d.ts.map +1 -0
  151. package/lib/entity/AcDbLine.js +158 -0
  152. package/lib/entity/AcDbLine.js.map +1 -0
  153. package/lib/entity/AcDbMText.d.ts +119 -0
  154. package/lib/entity/AcDbMText.d.ts.map +1 -0
  155. package/lib/entity/AcDbMText.js +300 -0
  156. package/lib/entity/AcDbMText.js.map +1 -0
  157. package/lib/entity/AcDbPoint.d.ts +32 -0
  158. package/lib/entity/AcDbPoint.d.ts.map +1 -0
  159. package/lib/entity/AcDbPoint.js +75 -0
  160. package/lib/entity/AcDbPoint.js.map +1 -0
  161. package/lib/entity/AcDbPolyline.d.ts +72 -0
  162. package/lib/entity/AcDbPolyline.d.ts.map +1 -0
  163. package/lib/entity/AcDbPolyline.js +154 -0
  164. package/lib/entity/AcDbPolyline.js.map +1 -0
  165. package/lib/entity/AcDbRasterImage.d.ts +163 -0
  166. package/lib/entity/AcDbRasterImage.d.ts.map +1 -0
  167. package/lib/entity/AcDbRasterImage.js +406 -0
  168. package/lib/entity/AcDbRasterImage.js.map +1 -0
  169. package/lib/entity/AcDbRay.d.ts +42 -0
  170. package/lib/entity/AcDbRay.d.ts.map +1 -0
  171. package/lib/entity/AcDbRay.js +102 -0
  172. package/lib/entity/AcDbRay.js.map +1 -0
  173. package/lib/entity/AcDbSpline.d.ts +37 -0
  174. package/lib/entity/AcDbSpline.d.ts.map +1 -0
  175. package/lib/entity/AcDbSpline.js +71 -0
  176. package/lib/entity/AcDbSpline.js.map +1 -0
  177. package/lib/entity/AcDbTable.d.ts +141 -0
  178. package/lib/entity/AcDbTable.d.ts.map +1 -0
  179. package/lib/entity/AcDbTable.js +358 -0
  180. package/lib/entity/AcDbTable.js.map +1 -0
  181. package/lib/entity/AcDbText.d.ts +110 -0
  182. package/lib/entity/AcDbText.d.ts.map +1 -0
  183. package/lib/entity/AcDbText.js +255 -0
  184. package/lib/entity/AcDbText.js.map +1 -0
  185. package/lib/entity/AcDbTrace.d.ts +64 -0
  186. package/lib/entity/AcDbTrace.d.ts.map +1 -0
  187. package/lib/entity/AcDbTrace.js +145 -0
  188. package/lib/entity/AcDbTrace.js.map +1 -0
  189. package/lib/entity/AcDbViewport.d.ts +58 -0
  190. package/lib/entity/AcDbViewport.d.ts.map +1 -0
  191. package/lib/entity/AcDbViewport.js +179 -0
  192. package/lib/entity/AcDbViewport.js.map +1 -0
  193. package/lib/entity/AcDbWipeout.d.ts +9 -0
  194. package/lib/entity/AcDbWipeout.d.ts.map +1 -0
  195. package/lib/entity/AcDbWipeout.js +40 -0
  196. package/lib/entity/AcDbWipeout.js.map +1 -0
  197. package/lib/entity/AcDbXline.d.ts +42 -0
  198. package/lib/entity/AcDbXline.d.ts.map +1 -0
  199. package/lib/entity/AcDbXline.js +102 -0
  200. package/lib/entity/AcDbXline.js.map +1 -0
  201. package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts +46 -0
  202. package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts.map +1 -0
  203. package/lib/entity/dimension/AcDb3PointAngularDimension.js +111 -0
  204. package/lib/entity/dimension/AcDb3PointAngularDimension.js.map +1 -0
  205. package/lib/entity/dimension/AcDbAlignedDimension.d.ts +77 -0
  206. package/lib/entity/dimension/AcDbAlignedDimension.d.ts.map +1 -0
  207. package/lib/entity/dimension/AcDbAlignedDimension.js +203 -0
  208. package/lib/entity/dimension/AcDbAlignedDimension.js.map +1 -0
  209. package/lib/entity/dimension/AcDbArcDimension.d.ts +46 -0
  210. package/lib/entity/dimension/AcDbArcDimension.d.ts.map +1 -0
  211. package/lib/entity/dimension/AcDbArcDimension.js +111 -0
  212. package/lib/entity/dimension/AcDbArcDimension.js.map +1 -0
  213. package/lib/entity/dimension/AcDbDiametricDimension.d.ts +69 -0
  214. package/lib/entity/dimension/AcDbDiametricDimension.d.ts.map +1 -0
  215. package/lib/entity/dimension/AcDbDiametricDimension.js +199 -0
  216. package/lib/entity/dimension/AcDbDiametricDimension.js.map +1 -0
  217. package/lib/entity/dimension/AcDbDimension.d.ts +161 -0
  218. package/lib/entity/dimension/AcDbDimension.d.ts.map +1 -0
  219. package/lib/entity/dimension/AcDbDimension.js +375 -0
  220. package/lib/entity/dimension/AcDbDimension.js.map +1 -0
  221. package/lib/entity/dimension/AcDbOrdinateDimension.d.ts +44 -0
  222. package/lib/entity/dimension/AcDbOrdinateDimension.d.ts.map +1 -0
  223. package/lib/entity/dimension/AcDbOrdinateDimension.js +99 -0
  224. package/lib/entity/dimension/AcDbOrdinateDimension.js.map +1 -0
  225. package/lib/entity/dimension/AcDbRadialDimension.d.ts +69 -0
  226. package/lib/entity/dimension/AcDbRadialDimension.d.ts.map +1 -0
  227. package/lib/entity/dimension/AcDbRadialDimension.js +148 -0
  228. package/lib/entity/dimension/AcDbRadialDimension.js.map +1 -0
  229. package/lib/entity/dimension/index.d.ts +8 -0
  230. package/lib/entity/dimension/index.d.ts.map +1 -0
  231. package/lib/entity/dimension/index.js +8 -0
  232. package/lib/entity/dimension/index.js.map +1 -0
  233. package/lib/entity/index.d.ts +23 -0
  234. package/lib/entity/index.d.ts.map +1 -0
  235. package/lib/entity/index.js +23 -0
  236. package/lib/entity/index.js.map +1 -0
  237. package/lib/index.d.ts +10 -0
  238. package/lib/index.d.ts.map +1 -0
  239. package/lib/index.js +10 -0
  240. package/lib/index.js.map +1 -0
  241. package/lib/misc/AcDbAngleUnits.d.ts +8 -0
  242. package/lib/misc/AcDbAngleUnits.d.ts.map +1 -0
  243. package/lib/misc/AcDbAngleUnits.js +9 -0
  244. package/lib/misc/AcDbAngleUnits.js.map +1 -0
  245. package/lib/misc/AcDbConstants.d.ts +4 -0
  246. package/lib/misc/AcDbConstants.d.ts.map +1 -0
  247. package/lib/misc/AcDbConstants.js +4 -0
  248. package/lib/misc/AcDbConstants.js.map +1 -0
  249. package/lib/misc/AcDbDimArrowType.d.ts +86 -0
  250. package/lib/misc/AcDbDimArrowType.d.ts.map +1 -0
  251. package/lib/misc/AcDbDimArrowType.js +87 -0
  252. package/lib/misc/AcDbDimArrowType.js.map +1 -0
  253. package/lib/misc/AcDbObjectIterator.d.ts +16 -0
  254. package/lib/misc/AcDbObjectIterator.d.ts.map +1 -0
  255. package/lib/misc/AcDbObjectIterator.js +28 -0
  256. package/lib/misc/AcDbObjectIterator.js.map +1 -0
  257. package/lib/misc/AcDbOsnapMode.d.ts +43 -0
  258. package/lib/misc/AcDbOsnapMode.d.ts.map +1 -0
  259. package/lib/misc/AcDbOsnapMode.js +44 -0
  260. package/lib/misc/AcDbOsnapMode.js.map +1 -0
  261. package/lib/misc/AcDbRenderingCache.d.ts +61 -0
  262. package/lib/misc/AcDbRenderingCache.d.ts.map +1 -0
  263. package/lib/misc/AcDbRenderingCache.js +154 -0
  264. package/lib/misc/AcDbRenderingCache.js.map +1 -0
  265. package/lib/misc/AcDbUnitsValue.d.ts +51 -0
  266. package/lib/misc/AcDbUnitsValue.d.ts.map +1 -0
  267. package/lib/misc/AcDbUnitsValue.js +71 -0
  268. package/lib/misc/AcDbUnitsValue.js.map +1 -0
  269. package/lib/misc/index.d.ts +8 -0
  270. package/lib/misc/index.d.ts.map +1 -0
  271. package/lib/misc/index.js +8 -0
  272. package/lib/misc/index.js.map +1 -0
  273. package/lib/object/AcDbDictionary.d.ts +80 -0
  274. package/lib/object/AcDbDictionary.d.ts.map +1 -0
  275. package/lib/object/AcDbDictionary.js +144 -0
  276. package/lib/object/AcDbDictionary.js.map +1 -0
  277. package/lib/object/AcDbRasterImageDef.d.ts +25 -0
  278. package/lib/object/AcDbRasterImageDef.d.ts.map +1 -0
  279. package/lib/object/AcDbRasterImageDef.js +54 -0
  280. package/lib/object/AcDbRasterImageDef.js.map +1 -0
  281. package/lib/object/index.d.ts +4 -0
  282. package/lib/object/index.d.ts.map +1 -0
  283. package/lib/object/index.js +4 -0
  284. package/lib/object/index.js.map +1 -0
  285. package/lib/object/layout/AcDbLayout.d.ts +51 -0
  286. package/lib/object/layout/AcDbLayout.d.ts.map +1 -0
  287. package/lib/object/layout/AcDbLayout.js +120 -0
  288. package/lib/object/layout/AcDbLayout.js.map +1 -0
  289. package/lib/object/layout/AcDbLayoutDictionary.d.ts +19 -0
  290. package/lib/object/layout/AcDbLayoutDictionary.d.ts.map +1 -0
  291. package/lib/object/layout/AcDbLayoutDictionary.js +94 -0
  292. package/lib/object/layout/AcDbLayoutDictionary.js.map +1 -0
  293. package/lib/object/layout/AcDbLayoutManager.d.ts +101 -0
  294. package/lib/object/layout/AcDbLayoutManager.d.ts.map +1 -0
  295. package/lib/object/layout/AcDbLayoutManager.js +154 -0
  296. package/lib/object/layout/AcDbLayoutManager.js.map +1 -0
  297. package/lib/object/layout/index.d.ts +4 -0
  298. package/lib/object/layout/index.d.ts.map +1 -0
  299. package/lib/object/layout/index.js +4 -0
  300. package/lib/object/layout/index.js.map +1 -0
  301. package/package.json +46 -0
@@ -0,0 +1,395 @@
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
17
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18
+ return new (P || (P = Promise))(function (resolve, reject) {
19
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
20
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
21
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
22
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
23
+ });
24
+ };
25
+ var __generator = (this && this.__generator) || function (thisArg, body) {
26
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
27
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
28
+ function verb(n) { return function (v) { return step([n, v]); }; }
29
+ function step(op) {
30
+ if (f) throw new TypeError("Generator is already executing.");
31
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
32
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
33
+ if (y = 0, t) op = [op[0] & 2, t.value];
34
+ switch (op[0]) {
35
+ case 0: case 1: t = op; break;
36
+ case 4: _.label++; return { value: op[1], done: false };
37
+ case 5: _.label++; y = op[1]; op = [0]; continue;
38
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
39
+ default:
40
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
41
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
42
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
43
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
44
+ if (t[2]) _.ops.pop();
45
+ _.trys.pop(); continue;
46
+ }
47
+ op = body.call(thisArg, _);
48
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
49
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
50
+ }
51
+ };
52
+ /* eslint-disable simple-import-sort/imports */
53
+ import { AcCmColor, AcCmEventManager } from '@mlightcad/common';
54
+ import { AcDbObject } from '../base';
55
+ import { AcDbDatabaseConverterManager, AcDbFileType } from './AcDbDatabaseConverterManager';
56
+ import { AcDbAngleUnits, AcDbUnitsValue } from '../misc';
57
+ import { AcDbDictionary, AcDbLayoutDictionary } from '../object';
58
+ import { AcDbBlockTable } from './AcDbBlockTable';
59
+ import { AcDbDimStyleTable } from './AcDbDimStyleTable';
60
+ import { AcDbLayerTable } from './AcDbLayerTable';
61
+ import { AcDbLinetypeTable } from './AcDbLinetypeTable';
62
+ import { AcDbTextStyleTable } from './AcDbTextStyleTable';
63
+ import { AcDbViewportTable } from './AcDbViewportTable';
64
+ /**
65
+ * The AcDbDatabase class represents the AutoCAD drawing file. Each AcDbDatabase object contains
66
+ * the various header variables, symbol tables, table records, entities, and objects that make up
67
+ * the drawing. The AcDbDatabase class has member functions to allow access to all the symbol tables,
68
+ * to read and write to DWG files, to get or set database defaults, to execute various database-level
69
+ * operations, and to get or set all header variables.
70
+ */
71
+ var AcDbDatabase = /** @class */ (function (_super) {
72
+ __extends(AcDbDatabase, _super);
73
+ /**
74
+ * Default constructor.
75
+ * If buildDefaultDrawing == true, then the new AcDbDatabase object contains the minimum necessary
76
+ * for a complete database. If buildDefaultDrawing == false, then the new AcDbDatabase object is
77
+ * completely empty.
78
+ */
79
+ function AcDbDatabase() {
80
+ var _this = _super.call(this) || this;
81
+ _this.events = {
82
+ entityAppended: new AcCmEventManager(),
83
+ entityModified: new AcCmEventManager(),
84
+ layerAppended: new AcCmEventManager(),
85
+ layerModified: new AcCmEventManager(),
86
+ layerErased: new AcCmEventManager(),
87
+ openProgress: new AcCmEventManager(),
88
+ headerSysVarChanged: new AcCmEventManager()
89
+ };
90
+ _this._angBase = 0;
91
+ _this._angDir = 0;
92
+ _this._aunits = AcDbAngleUnits.DecimalDegrees;
93
+ _this._celtscale = 1;
94
+ _this._cecolor = new AcCmColor();
95
+ // TODO: Default value is 1 (imperial) or 4 (metric)
96
+ _this._insunits = AcDbUnitsValue.Millimeters;
97
+ _this._ltscale = 1;
98
+ _this._pdmode = 0;
99
+ _this._pdsize = 0;
100
+ _this._tables = {
101
+ blockTable: new AcDbBlockTable(_this),
102
+ dimStyleTable: new AcDbDimStyleTable(_this),
103
+ linetypeTable: new AcDbLinetypeTable(_this),
104
+ textStyleTable: new AcDbTextStyleTable(_this),
105
+ layerTable: new AcDbLayerTable(_this),
106
+ viewportTable: new AcDbViewportTable(_this)
107
+ };
108
+ _this._dictionaries = {
109
+ layouts: new AcDbLayoutDictionary(_this),
110
+ imageDefs: new AcDbDictionary(_this)
111
+ };
112
+ return _this;
113
+ }
114
+ Object.defineProperty(AcDbDatabase.prototype, "tables", {
115
+ /**
116
+ * All of tables in this drawing database
117
+ */
118
+ get: function () {
119
+ return this._tables;
120
+ },
121
+ enumerable: false,
122
+ configurable: true
123
+ });
124
+ Object.defineProperty(AcDbDatabase.prototype, "dictionaries", {
125
+ /**
126
+ * All of named object dictionaries in this drawing database
127
+ */
128
+ get: function () {
129
+ return this._dictionaries;
130
+ },
131
+ enumerable: false,
132
+ configurable: true
133
+ });
134
+ Object.defineProperty(AcDbDatabase.prototype, "currentSpaceId", {
135
+ /**
136
+ * The object ID of the AcDbBlockTableRecord of the current space (e.g., model space or paper space.)
137
+ */
138
+ get: function () {
139
+ if (!this._currentSpace) {
140
+ this._currentSpace = this._tables.blockTable.modelSpace;
141
+ }
142
+ return this._currentSpace.objectId;
143
+ },
144
+ set: function (value) {
145
+ var currentSpace = this.tables.blockTable.getIdAt(value);
146
+ if (currentSpace == null) {
147
+ throw new Error("[AcDbDatabase] The specified block table record id '".concat(value, "' doesn't exist in the drawing database!"));
148
+ }
149
+ else {
150
+ this._currentSpace = currentSpace;
151
+ }
152
+ },
153
+ enumerable: false,
154
+ configurable: true
155
+ });
156
+ Object.defineProperty(AcDbDatabase.prototype, "aunits", {
157
+ /**
158
+ * Angle units. It is the current AUNITS value for the database.
159
+ */
160
+ get: function () {
161
+ return this._aunits;
162
+ },
163
+ set: function (value) {
164
+ this._aunits = value || 0;
165
+ this.triggerHeaderSysVarChangedEvent('aunits');
166
+ },
167
+ enumerable: false,
168
+ configurable: true
169
+ });
170
+ Object.defineProperty(AcDbDatabase.prototype, "insunits", {
171
+ /**
172
+ * The drawing-units value for automatic scaling of blocks, images, or xrefs when inserted or attached
173
+ * to a drawing. It is the current INSUNITS value for the database.
174
+ */
175
+ get: function () {
176
+ return this._insunits;
177
+ },
178
+ set: function (value) {
179
+ // TODO: Default value is 1 (imperial) or 4 (metric)
180
+ this._insunits = value || 4;
181
+ this.triggerHeaderSysVarChangedEvent('insunits');
182
+ },
183
+ enumerable: false,
184
+ configurable: true
185
+ });
186
+ Object.defineProperty(AcDbDatabase.prototype, "ltscale", {
187
+ /**
188
+ * The line type scale factor.
189
+ */
190
+ get: function () {
191
+ return this._ltscale;
192
+ },
193
+ set: function (value) {
194
+ this._ltscale = value || 1;
195
+ this.triggerHeaderSysVarChangedEvent('ltscale');
196
+ },
197
+ enumerable: false,
198
+ configurable: true
199
+ });
200
+ Object.defineProperty(AcDbDatabase.prototype, "cecolor", {
201
+ /**
202
+ * The color of new objects as you create them.
203
+ */
204
+ get: function () {
205
+ return this._cecolor;
206
+ },
207
+ set: function (value) {
208
+ this._cecolor = value || 0;
209
+ this.triggerHeaderSysVarChangedEvent('cecolor');
210
+ },
211
+ enumerable: false,
212
+ configurable: true
213
+ });
214
+ Object.defineProperty(AcDbDatabase.prototype, "celtscale", {
215
+ /**
216
+ * The line type scaling for new objects relative to the ltscale setting. A line created with
217
+ * celtscale = 2 in a drawing with ltscale set to 0.5 would appear the same as a line created
218
+ * with celtscale = 1 in a drawing with ltscale = 1.
219
+ */
220
+ get: function () {
221
+ return this._celtscale;
222
+ },
223
+ set: function (value) {
224
+ this._celtscale = value || 1;
225
+ this.triggerHeaderSysVarChangedEvent('celtscale');
226
+ },
227
+ enumerable: false,
228
+ configurable: true
229
+ });
230
+ Object.defineProperty(AcDbDatabase.prototype, "angBase", {
231
+ /**
232
+ * The zero (0) base angle with respect to the current UCS in radians.
233
+ */
234
+ get: function () {
235
+ return this._angBase;
236
+ },
237
+ set: function (value) {
238
+ this._angBase = value || 0;
239
+ this.triggerHeaderSysVarChangedEvent('angbase');
240
+ },
241
+ enumerable: false,
242
+ configurable: true
243
+ });
244
+ Object.defineProperty(AcDbDatabase.prototype, "angDir", {
245
+ /**
246
+ * The direction of positive angles.
247
+ * - 0: Counterclockwise
248
+ * - 1: Clockwise
249
+ */
250
+ get: function () {
251
+ return this._angDir;
252
+ },
253
+ set: function (value) {
254
+ this._angDir = value || 0;
255
+ this.triggerHeaderSysVarChangedEvent('angdir');
256
+ },
257
+ enumerable: false,
258
+ configurable: true
259
+ });
260
+ Object.defineProperty(AcDbDatabase.prototype, "pdmode", {
261
+ /**
262
+ * Point display mode. Please get more details on value of this property from [this page](https://help.autodesk.com/view/ACDLT/2022/ENU/?guid=GUID-82F9BB52-D026-4D6A-ABA6-BF29641F459B).
263
+ */
264
+ get: function () {
265
+ return this._pdmode;
266
+ },
267
+ set: function (value) {
268
+ this._pdmode = value || 0;
269
+ this.triggerHeaderSysVarChangedEvent('pdmode');
270
+ },
271
+ enumerable: false,
272
+ configurable: true
273
+ });
274
+ Object.defineProperty(AcDbDatabase.prototype, "pdsize", {
275
+ /**
276
+ * Point display size.
277
+ * - 0: Create a point at 5 percent of the drawing area height
278
+ * - > 0: Specifie an absolute size
279
+ * - < 0: Specifie a percentage of the viewport size
280
+ */
281
+ get: function () {
282
+ return this._pdsize;
283
+ },
284
+ set: function (value) {
285
+ this._pdsize = value || 0;
286
+ this.triggerHeaderSysVarChangedEvent('pdsize');
287
+ },
288
+ enumerable: false,
289
+ configurable: true
290
+ });
291
+ /**
292
+ * Read AutoCAD drawing specified by data into the database object.
293
+ * @param data Input contents of one AutoCAD file
294
+ * @param options Input options to read drawing data
295
+ * @param fileType Input file type of the drawing
296
+ */
297
+ AcDbDatabase.prototype.read = function (data_1, options_1) {
298
+ return __awaiter(this, arguments, void 0, function (data, options, fileType) {
299
+ var converter;
300
+ var _this = this;
301
+ if (fileType === void 0) { fileType = AcDbFileType.DXF; }
302
+ return __generator(this, function (_a) {
303
+ switch (_a.label) {
304
+ case 0:
305
+ converter = AcDbDatabaseConverterManager.instance.get(fileType);
306
+ if (converter == null)
307
+ throw new Error("Database converter for file type '".concat(fileType, "' isn't registered and can can't read this file!"));
308
+ this.clear();
309
+ return [4 /*yield*/, converter.read(data, this, (options && options.minimumChunkSize) || 10, function (percentage, stage, stageStatus, data) { return __awaiter(_this, void 0, void 0, function () {
310
+ var fonts;
311
+ return __generator(this, function (_a) {
312
+ switch (_a.label) {
313
+ case 0:
314
+ this.events.openProgress.dispatch({
315
+ database: this,
316
+ percentage: percentage,
317
+ stage: stage,
318
+ stageStatus: stageStatus
319
+ });
320
+ if (!(options &&
321
+ options.fontLoader &&
322
+ stage == 'FONT' &&
323
+ stageStatus == 'END')) return [3 /*break*/, 2];
324
+ fonts = data
325
+ ? data
326
+ : this.tables.textStyleTable.fonts;
327
+ return [4 /*yield*/, options.fontLoader.load(fonts)];
328
+ case 1:
329
+ _a.sent();
330
+ _a.label = 2;
331
+ case 2: return [2 /*return*/];
332
+ }
333
+ });
334
+ }); })];
335
+ case 1:
336
+ _a.sent();
337
+ return [2 /*return*/];
338
+ }
339
+ });
340
+ });
341
+ };
342
+ /**
343
+ * Read AutoCAD DXF drawing specified by the URL into the database object.
344
+ * @param url Input the URL linked to one AutoCAD DXF file
345
+ * @param options Input options to read drawing data
346
+ */
347
+ AcDbDatabase.prototype.openUri = function (url, options) {
348
+ return __awaiter(this, void 0, void 0, function () {
349
+ var response, blob, reader;
350
+ var _this = this;
351
+ return __generator(this, function (_a) {
352
+ switch (_a.label) {
353
+ case 0: return [4 /*yield*/, fetch(url)];
354
+ case 1:
355
+ response = _a.sent();
356
+ return [4 /*yield*/, response.blob()];
357
+ case 2:
358
+ blob = _a.sent();
359
+ reader = new FileReader();
360
+ reader.onload = function (event) {
361
+ var _a;
362
+ var content = (_a = event.target) === null || _a === void 0 ? void 0 : _a.result;
363
+ if (content)
364
+ _this.read(content, options);
365
+ };
366
+ reader.readAsText(blob);
367
+ return [2 /*return*/];
368
+ }
369
+ });
370
+ });
371
+ };
372
+ /**
373
+ * Clear drawing database. It is needed when opening one drawing.
374
+ */
375
+ AcDbDatabase.prototype.clear = function () {
376
+ this.tables.blockTable.removeAll();
377
+ this.tables.dimStyleTable.removeAll();
378
+ this.tables.layerTable.removeAll();
379
+ this.tables.linetypeTable.removeAll();
380
+ this.tables.textStyleTable.removeAll();
381
+ this.tables.viewportTable.removeAll();
382
+ this.dictionaries.layouts.removeAll();
383
+ this._currentSpace = undefined;
384
+ };
385
+ AcDbDatabase.prototype.triggerHeaderSysVarChangedEvent = function (sysVarName) {
386
+ this.events.headerSysVarChanged.dispatch({
387
+ database: this,
388
+ name: sysVarName
389
+ });
390
+ };
391
+ return AcDbDatabase;
392
+ }(AcDbObject));
393
+ export { AcDbDatabase };
394
+ /* eslint-enable simple-import-sort/imports */
395
+ //# sourceMappingURL=AcDbDatabase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcDbDatabase.js","sourceRoot":"","sources":["../../src/database/AcDbDatabase.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,120 @@
1
+ import { AcDbDatabase } from './AcDbDatabase';
2
+ export type AcDbConversionStage =
3
+ /**
4
+ * Start DXF/DWG file conversion
5
+ */
6
+ 'START'
7
+ /**
8
+ * Prasing DXF/DWG file
9
+ */
10
+ | 'PARSE'
11
+ /**
12
+ * Downloading font files
13
+ */
14
+ | 'FONT'
15
+ /**
16
+ * Converting line types
17
+ */
18
+ | 'LTYPE'
19
+ /**
20
+ * Converting text styles
21
+ */
22
+ | 'STYLE'
23
+ /**
24
+ * Converting dimension styles
25
+ */
26
+ | 'DIMSTYLE'
27
+ /**
28
+ * Converting layers
29
+ */
30
+ | 'LAYER'
31
+ /**
32
+ * Converting viewports
33
+ */
34
+ | 'VPORT'
35
+ /**
36
+ * Converting block table record
37
+ */
38
+ | 'BLOCK_RECORD'
39
+ /**
40
+ * Converting file header
41
+ */
42
+ | 'HEADER'
43
+ /**
44
+ * Converting blocks
45
+ */
46
+ | 'BLOCK'
47
+ /**
48
+ * Converting entities in model space
49
+ */
50
+ | 'ENTITY'
51
+ /**
52
+ * Converting objects such as nod
53
+ */
54
+ | 'OBJECT'
55
+ /**
56
+ * Finish file conversion
57
+ */
58
+ | 'END';
59
+ export type AcDbConversionStageStatus = 'START' | 'END' | 'IN-PROGRESS';
60
+ /**
61
+ * Callback function to update progress when parsing one file
62
+ */
63
+ export type AcDbConversionProgressCallback = (
64
+ /**
65
+ * Finish percentage
66
+ */
67
+ percentage: number,
68
+ /**
69
+ * Name of the current stage.
70
+ */
71
+ stage: AcDbConversionStage,
72
+ /**
73
+ * Status of the current stage.
74
+ */
75
+ stageStatus: AcDbConversionStageStatus,
76
+ /**
77
+ * Store data associated with the current stage. Its meaning of different stages are as follows.
78
+ * - 'FONT' stage: fonts needed by this drawing
79
+ *
80
+ * Note: For now, 'FONT' stage uses this field only.
81
+ */
82
+ data?: unknown) => Promise<void>;
83
+ export interface AcDbConvertDatabasePerformanceData {
84
+ [key: string]: number;
85
+ total: number;
86
+ }
87
+ /**
88
+ * It defines interface that one drawing database convert should follow. One drawing database converter
89
+ * can convert one dxf/dwg file to one instance of AcDbDatabase.
90
+ */
91
+ export declare abstract class AcDbDatabaseConverter<TModel = unknown> {
92
+ progress?: AcDbConversionProgressCallback;
93
+ /**
94
+ * Read the drawing specified by data and store them into the specified database. It will break up
95
+ * entities in the drawing into smaller chunks that are processed asynchronously to allow the UI to
96
+ * remain responsive.
97
+ * @param data Input drawing data in dxf format
98
+ * @param db Input database to store drawing data
99
+ * @param progress Input optional callback function to update progress
100
+ * @param minimumChunkSize Input the minimum number of entities in one chunk. If it is greater than
101
+ * the total number of entities to process, the total number is used.
102
+ */
103
+ read(data: string | ArrayBuffer, db: AcDbDatabase, minimumChunkSize: number, progress?: AcDbConversionProgressCallback): Promise<void>;
104
+ protected onFinished(): void;
105
+ protected parse(_data: string | ArrayBuffer): TModel;
106
+ protected getFonts(_model: TModel): string[];
107
+ protected processLineTypes(_model: TModel, _db: AcDbDatabase): void;
108
+ protected processTextStyles(_model: TModel, _db: AcDbDatabase): void;
109
+ protected processDimStyles(_model: TModel, _db: AcDbDatabase): void;
110
+ protected processLayers(_model: TModel, _db: AcDbDatabase): void;
111
+ protected processViewports(_model: TModel, _db: AcDbDatabase): void;
112
+ protected processHeader(_model: TModel, _db: AcDbDatabase): void;
113
+ protected processBlockTables(_model: TModel, _db: AcDbDatabase): void;
114
+ protected processObjects(_model: TModel, _db: AcDbDatabase): void;
115
+ protected processBlocks(_model: TModel, _db: AcDbDatabase): void;
116
+ protected processEntities(_model: TModel, _db: AcDbDatabase, _minimumChunkSize: number, _percentage: {
117
+ value: number;
118
+ }, _progress?: AcDbConversionProgressCallback): void;
119
+ }
120
+ //# sourceMappingURL=AcDbDatabaseConverter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcDbDatabaseConverter.d.ts","sourceRoot":"","sources":["../../src/database/AcDbDatabaseConverter.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,MAAM,MAAM,mBAAmB;AAC7B;;GAEG;AACD,OAAO;AACT;;GAEG;GACD,OAAO;AACT;;GAEG;GACD,MAAM;AACR;;GAEG;GACD,OAAO;AACT;;GAEG;GACD,OAAO;AACT;;GAEG;GACD,UAAU;AACZ;;GAEG;GACD,OAAO;AACT;;GAEG;GACD,OAAO;AACT;;GAEG;GACD,cAAc;AAChB;;GAEG;GACD,QAAQ;AACV;;GAEG;GACD,OAAO;AACT;;GAEG;GACD,QAAQ;AACV;;GAEG;GACD,QAAQ;AACV;;GAEG;GACD,KAAK,CAAA;AAET,MAAM,MAAM,yBAAyB,GAAG,OAAO,GAAG,KAAK,GAAG,aAAa,CAAA;AAEvE;;GAEG;AACH,MAAM,MAAM,8BAA8B,GAAG;AAC3C;;GAEG;AACH,UAAU,EAAE,MAAM;AAClB;;GAEG;AACH,KAAK,EAAE,mBAAmB;AAC1B;;GAEG;AACH,WAAW,EAAE,yBAAyB;AACtC;;;;;GAKG;AACH,IAAI,CAAC,EAAE,OAAO,KACX,OAAO,CAAC,IAAI,CAAC,CAAA;AAqBlB,MAAM,WAAW,kCAAkC;IACjD,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;CACd;AA6DD;;;GAGG;AACH,8BAAsB,qBAAqB,CAAC,MAAM,GAAG,OAAO;IAC1D,QAAQ,CAAC,EAAE,8BAA8B,CAAA;IAEzC;;;;;;;;;OASG;IACG,IAAI,CACR,IAAI,EAAE,MAAM,GAAG,WAAW,EAC1B,EAAE,EAAE,YAAY,EAChB,gBAAgB,EAAE,MAAM,EACxB,QAAQ,CAAC,EAAE,8BAA8B;IAuO3C,SAAS,CAAC,UAAU;IAQpB,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM;IAIpD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;IAI5C,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;IAI5D,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;IAI7D,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;IAI5D,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;IAIzD,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;IAI5D,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;IAIzD,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;IAI9D,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;IAI1D,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;IAIzD,SAAS,CAAC,eAAe,CACvB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,YAAY,EACjB,iBAAiB,EAAE,MAAM,EACzB,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAC9B,SAAS,CAAC,EAAE,8BAA8B;CAI7C"}