@mlightcad/data-model 1.11.2 → 1.12.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 (388) hide show
  1. package/README.md +19 -12
  2. package/dist/data-model.cjs +15 -12
  3. package/lib/acis/AcDbAcisDecrypt.d.ts +51 -0
  4. package/lib/acis/AcDbAcisDecrypt.d.ts.map +1 -0
  5. package/lib/acis/AcDbAcisDecrypt.js +98 -0
  6. package/lib/acis/AcDbAcisDecrypt.js.map +1 -0
  7. package/lib/acis/index.d.ts +1 -0
  8. package/lib/acis/index.d.ts.map +1 -1
  9. package/lib/acis/index.js +1 -0
  10. package/lib/acis/index.js.map +1 -1
  11. package/lib/base/AcDbDxfFiler.d.ts +140 -4
  12. package/lib/base/AcDbDxfFiler.d.ts.map +1 -1
  13. package/lib/base/AcDbDxfFiler.js +690 -9
  14. package/lib/base/AcDbDxfFiler.js.map +1 -1
  15. package/lib/base/AcDbDxfGroupCodeTypes.d.ts +12 -0
  16. package/lib/base/AcDbDxfGroupCodeTypes.d.ts.map +1 -0
  17. package/lib/base/AcDbDxfGroupCodeTypes.js +96 -0
  18. package/lib/base/AcDbDxfGroupCodeTypes.js.map +1 -0
  19. package/lib/base/AcDbDxfPair.d.ts +38 -0
  20. package/lib/base/AcDbDxfPair.d.ts.map +1 -0
  21. package/lib/base/AcDbDxfPair.js +2 -0
  22. package/lib/base/AcDbDxfPair.js.map +1 -0
  23. package/lib/base/AcDbDxfPairReader.d.ts +65 -0
  24. package/lib/base/AcDbDxfPairReader.d.ts.map +1 -0
  25. package/lib/base/AcDbDxfPairReader.js +539 -0
  26. package/lib/base/AcDbDxfPairReader.js.map +1 -0
  27. package/lib/base/AcDbDxfStringChunks.d.ts +41 -0
  28. package/lib/base/AcDbDxfStringChunks.d.ts.map +1 -0
  29. package/lib/base/AcDbDxfStringChunks.js +121 -0
  30. package/lib/base/AcDbDxfStringChunks.js.map +1 -0
  31. package/lib/base/AcDbObject.d.ts +40 -0
  32. package/lib/base/AcDbObject.d.ts.map +1 -1
  33. package/lib/base/AcDbObject.js +144 -14
  34. package/lib/base/AcDbObject.js.map +1 -1
  35. package/lib/base/index.d.ts +9 -2
  36. package/lib/base/index.d.ts.map +1 -1
  37. package/lib/base/index.js +4 -1
  38. package/lib/base/index.js.map +1 -1
  39. package/lib/converter/AcDbFontNameCollector.d.ts +4 -0
  40. package/lib/converter/AcDbFontNameCollector.d.ts.map +1 -1
  41. package/lib/converter/AcDbFontNameCollector.js +6 -0
  42. package/lib/converter/AcDbFontNameCollector.js.map +1 -1
  43. package/lib/database/AcDbBlockTableRecord.d.ts +18 -2
  44. package/lib/database/AcDbBlockTableRecord.d.ts.map +1 -1
  45. package/lib/database/AcDbBlockTableRecord.js +67 -2
  46. package/lib/database/AcDbBlockTableRecord.js.map +1 -1
  47. package/lib/database/AcDbDatabase.d.ts +71 -8
  48. package/lib/database/AcDbDatabase.d.ts.map +1 -1
  49. package/lib/database/AcDbDatabase.js +381 -76
  50. package/lib/database/AcDbDatabase.js.map +1 -1
  51. package/lib/database/AcDbDatabaseConverterManager.d.ts +5 -0
  52. package/lib/database/AcDbDatabaseConverterManager.d.ts.map +1 -1
  53. package/lib/database/AcDbDatabaseConverterManager.js +5 -0
  54. package/lib/database/AcDbDatabaseConverterManager.js.map +1 -1
  55. package/lib/database/AcDbDimStyleTableRecord.d.ts +9 -0
  56. package/lib/database/AcDbDimStyleTableRecord.d.ts.map +1 -1
  57. package/lib/database/AcDbDimStyleTableRecord.js +277 -0
  58. package/lib/database/AcDbDimStyleTableRecord.js.map +1 -1
  59. package/lib/database/AcDbDwgVersion.d.ts +37 -0
  60. package/lib/database/AcDbDwgVersion.d.ts.map +1 -1
  61. package/lib/database/AcDbDwgVersion.js +31 -6
  62. package/lib/database/AcDbDwgVersion.js.map +1 -1
  63. package/lib/database/AcDbLayerTableRecord.d.ts +1 -0
  64. package/lib/database/AcDbLayerTableRecord.d.ts.map +1 -1
  65. package/lib/database/AcDbLayerTableRecord.js +52 -1
  66. package/lib/database/AcDbLayerTableRecord.js.map +1 -1
  67. package/lib/database/AcDbLinetypeTableRecord.d.ts +1 -0
  68. package/lib/database/AcDbLinetypeTableRecord.d.ts.map +1 -1
  69. package/lib/database/AcDbLinetypeTableRecord.js +60 -0
  70. package/lib/database/AcDbLinetypeTableRecord.js.map +1 -1
  71. package/lib/database/AcDbRegAppTableRecord.d.ts +1 -0
  72. package/lib/database/AcDbRegAppTableRecord.d.ts.map +1 -1
  73. package/lib/database/AcDbRegAppTableRecord.js +26 -0
  74. package/lib/database/AcDbRegAppTableRecord.js.map +1 -1
  75. package/lib/database/AcDbSystemVariables.d.ts +3 -1
  76. package/lib/database/AcDbSystemVariables.d.ts.map +1 -1
  77. package/lib/database/AcDbSystemVariables.js +2 -0
  78. package/lib/database/AcDbSystemVariables.js.map +1 -1
  79. package/lib/database/AcDbTextStyleTableRecord.d.ts +9 -0
  80. package/lib/database/AcDbTextStyleTableRecord.d.ts.map +1 -1
  81. package/lib/database/AcDbTextStyleTableRecord.js +101 -0
  82. package/lib/database/AcDbTextStyleTableRecord.js.map +1 -1
  83. package/lib/database/AcDbUcsTable.d.ts +15 -0
  84. package/lib/database/AcDbUcsTable.d.ts.map +1 -0
  85. package/lib/database/AcDbUcsTable.js +33 -0
  86. package/lib/database/AcDbUcsTable.js.map +1 -0
  87. package/lib/database/AcDbUcsTableRecord.d.ts +75 -0
  88. package/lib/database/AcDbUcsTableRecord.d.ts.map +1 -0
  89. package/lib/database/AcDbUcsTableRecord.js +240 -0
  90. package/lib/database/AcDbUcsTableRecord.js.map +1 -0
  91. package/lib/database/AcDbViewTableRecord.d.ts +9 -0
  92. package/lib/database/AcDbViewTableRecord.d.ts.map +1 -1
  93. package/lib/database/AcDbViewTableRecord.js +148 -0
  94. package/lib/database/AcDbViewTableRecord.js.map +1 -1
  95. package/lib/database/AcDbViewportTableRecord.d.ts +8 -0
  96. package/lib/database/AcDbViewportTableRecord.d.ts.map +1 -1
  97. package/lib/database/AcDbViewportTableRecord.js +253 -1
  98. package/lib/database/AcDbViewportTableRecord.js.map +1 -1
  99. package/lib/database/index.d.ts +4 -1
  100. package/lib/database/index.d.ts.map +1 -1
  101. package/lib/database/index.js +2 -0
  102. package/lib/database/index.js.map +1 -1
  103. package/lib/dxf/AcDbDxfAcdsDataReader.d.ts +25 -0
  104. package/lib/dxf/AcDbDxfAcdsDataReader.d.ts.map +1 -0
  105. package/lib/dxf/AcDbDxfAcdsDataReader.js +98 -0
  106. package/lib/dxf/AcDbDxfAcdsDataReader.js.map +1 -0
  107. package/lib/dxf/AcDbDxfDimensionAssembler.d.ts +10 -0
  108. package/lib/dxf/AcDbDxfDimensionAssembler.d.ts.map +1 -0
  109. package/lib/dxf/AcDbDxfDimensionAssembler.js +149 -0
  110. package/lib/dxf/AcDbDxfDimensionAssembler.js.map +1 -0
  111. package/lib/dxf/AcDbDxfDocumentReader.d.ts +101 -0
  112. package/lib/dxf/AcDbDxfDocumentReader.d.ts.map +1 -0
  113. package/lib/dxf/AcDbDxfDocumentReader.js +1100 -0
  114. package/lib/dxf/AcDbDxfDocumentReader.js.map +1 -0
  115. package/lib/dxf/AcDbDxfEntityFactory.d.ts +14 -0
  116. package/lib/dxf/AcDbDxfEntityFactory.d.ts.map +1 -0
  117. package/lib/dxf/AcDbDxfEntityFactory.js +147 -0
  118. package/lib/dxf/AcDbDxfEntityFactory.js.map +1 -0
  119. package/lib/dxf/AcDbDxfHeaderReader.d.ts +9 -0
  120. package/lib/dxf/AcDbDxfHeaderReader.d.ts.map +1 -0
  121. package/lib/dxf/AcDbDxfHeaderReader.js +248 -0
  122. package/lib/dxf/AcDbDxfHeaderReader.js.map +1 -0
  123. package/lib/dxf/AcDbDxfObjectsReader.d.ts +38 -0
  124. package/lib/dxf/AcDbDxfObjectsReader.d.ts.map +1 -0
  125. package/lib/dxf/AcDbDxfObjectsReader.js +533 -0
  126. package/lib/dxf/AcDbDxfObjectsReader.js.map +1 -0
  127. package/lib/dxf/AcDbDxfPairArrayReader.d.ts +27 -0
  128. package/lib/dxf/AcDbDxfPairArrayReader.d.ts.map +1 -0
  129. package/lib/dxf/AcDbDxfPairArrayReader.js +69 -0
  130. package/lib/dxf/AcDbDxfPairArrayReader.js.map +1 -0
  131. package/lib/dxf/AcDbDxfPolylineAssembler.d.ts +11 -0
  132. package/lib/dxf/AcDbDxfPolylineAssembler.d.ts.map +1 -0
  133. package/lib/dxf/AcDbDxfPolylineAssembler.js +318 -0
  134. package/lib/dxf/AcDbDxfPolylineAssembler.js.map +1 -0
  135. package/lib/dxf/AcDbDxfVersionCaps.d.ts +8 -0
  136. package/lib/dxf/AcDbDxfVersionCaps.d.ts.map +1 -0
  137. package/lib/dxf/AcDbDxfVersionCaps.js +18 -0
  138. package/lib/dxf/AcDbDxfVersionCaps.js.map +1 -0
  139. package/lib/dxf/AcDbNativeDxfConverter.d.ts +30 -0
  140. package/lib/dxf/AcDbNativeDxfConverter.d.ts.map +1 -0
  141. package/lib/dxf/AcDbNativeDxfConverter.js +266 -0
  142. package/lib/dxf/AcDbNativeDxfConverter.js.map +1 -0
  143. package/lib/dxf/index.d.ts +12 -0
  144. package/lib/dxf/index.d.ts.map +1 -0
  145. package/lib/dxf/index.js +9 -0
  146. package/lib/dxf/index.js.map +1 -0
  147. package/lib/dxf/registerNativeDxfConverter.d.ts +2 -0
  148. package/lib/dxf/registerNativeDxfConverter.d.ts.map +1 -0
  149. package/lib/dxf/registerNativeDxfConverter.js +12 -0
  150. package/lib/dxf/registerNativeDxfConverter.js.map +1 -0
  151. package/lib/entity/AcDb3dSolid.d.ts +43 -0
  152. package/lib/entity/AcDb3dSolid.d.ts.map +1 -1
  153. package/lib/entity/AcDb3dSolid.js +154 -16
  154. package/lib/entity/AcDb3dSolid.js.map +1 -1
  155. package/lib/entity/AcDbArc.d.ts +9 -0
  156. package/lib/entity/AcDbArc.d.ts.map +1 -1
  157. package/lib/entity/AcDbArc.js +107 -3
  158. package/lib/entity/AcDbArc.js.map +1 -1
  159. package/lib/entity/AcDbAttribute.d.ts +1 -0
  160. package/lib/entity/AcDbAttribute.d.ts.map +1 -1
  161. package/lib/entity/AcDbAttribute.js +44 -0
  162. package/lib/entity/AcDbAttribute.js.map +1 -1
  163. package/lib/entity/AcDbAttributeDefinition.d.ts +1 -0
  164. package/lib/entity/AcDbAttributeDefinition.d.ts.map +1 -1
  165. package/lib/entity/AcDbAttributeDefinition.js +47 -0
  166. package/lib/entity/AcDbAttributeDefinition.js.map +1 -1
  167. package/lib/entity/AcDbBlockReference.d.ts +26 -0
  168. package/lib/entity/AcDbBlockReference.d.ts.map +1 -1
  169. package/lib/entity/AcDbBlockReference.js +185 -5
  170. package/lib/entity/AcDbBlockReference.js.map +1 -1
  171. package/lib/entity/AcDbCircle.d.ts +9 -0
  172. package/lib/entity/AcDbCircle.d.ts.map +1 -1
  173. package/lib/entity/AcDbCircle.js +73 -1
  174. package/lib/entity/AcDbCircle.js.map +1 -1
  175. package/lib/entity/AcDbEllipse.d.ts +2 -0
  176. package/lib/entity/AcDbEllipse.d.ts.map +1 -1
  177. package/lib/entity/AcDbEllipse.js +71 -0
  178. package/lib/entity/AcDbEllipse.js.map +1 -1
  179. package/lib/entity/AcDbEntity.d.ts +12 -0
  180. package/lib/entity/AcDbEntity.d.ts.map +1 -1
  181. package/lib/entity/AcDbEntity.js +91 -1
  182. package/lib/entity/AcDbEntity.js.map +1 -1
  183. package/lib/entity/AcDbFace.d.ts +1 -0
  184. package/lib/entity/AcDbFace.d.ts.map +1 -1
  185. package/lib/entity/AcDbFace.js +49 -1
  186. package/lib/entity/AcDbFace.js.map +1 -1
  187. package/lib/entity/AcDbFcf.d.ts +1 -0
  188. package/lib/entity/AcDbFcf.d.ts.map +1 -1
  189. package/lib/entity/AcDbFcf.js +71 -0
  190. package/lib/entity/AcDbFcf.js.map +1 -1
  191. package/lib/entity/AcDbHatch.d.ts +17 -0
  192. package/lib/entity/AcDbHatch.d.ts.map +1 -1
  193. package/lib/entity/AcDbHatch.js +629 -4
  194. package/lib/entity/AcDbHatch.js.map +1 -1
  195. package/lib/entity/AcDbLeader.d.ts +1 -0
  196. package/lib/entity/AcDbLeader.d.ts.map +1 -1
  197. package/lib/entity/AcDbLeader.js +135 -0
  198. package/lib/entity/AcDbLeader.js.map +1 -1
  199. package/lib/entity/AcDbLine.d.ts +16 -1
  200. package/lib/entity/AcDbLine.d.ts.map +1 -1
  201. package/lib/entity/AcDbLine.js +102 -3
  202. package/lib/entity/AcDbLine.js.map +1 -1
  203. package/lib/entity/AcDbMLeader.d.ts +22 -0
  204. package/lib/entity/AcDbMLeader.d.ts.map +1 -1
  205. package/lib/entity/AcDbMLeader.js +871 -11
  206. package/lib/entity/AcDbMLeader.js.map +1 -1
  207. package/lib/entity/AcDbMLine.d.ts +1 -0
  208. package/lib/entity/AcDbMLine.d.ts.map +1 -1
  209. package/lib/entity/AcDbMLine.js +168 -0
  210. package/lib/entity/AcDbMLine.js.map +1 -1
  211. package/lib/entity/AcDbMText.d.ts +46 -1
  212. package/lib/entity/AcDbMText.d.ts.map +1 -1
  213. package/lib/entity/AcDbMText.js +278 -4
  214. package/lib/entity/AcDbMText.js.map +1 -1
  215. package/lib/entity/AcDbOle2Frame.d.ts +1 -0
  216. package/lib/entity/AcDbOle2Frame.d.ts.map +1 -1
  217. package/lib/entity/AcDbOle2Frame.js +83 -1
  218. package/lib/entity/AcDbOle2Frame.js.map +1 -1
  219. package/lib/entity/AcDbOleFrame.d.ts +1 -0
  220. package/lib/entity/AcDbOleFrame.d.ts.map +1 -1
  221. package/lib/entity/AcDbOleFrame.js +44 -1
  222. package/lib/entity/AcDbOleFrame.js.map +1 -1
  223. package/lib/entity/AcDbPoint.d.ts +27 -1
  224. package/lib/entity/AcDbPoint.d.ts.map +1 -1
  225. package/lib/entity/AcDbPoint.js +113 -2
  226. package/lib/entity/AcDbPoint.js.map +1 -1
  227. package/lib/entity/AcDbPolyline.d.ts +22 -1
  228. package/lib/entity/AcDbPolyline.d.ts.map +1 -1
  229. package/lib/entity/AcDbPolyline.js +195 -1
  230. package/lib/entity/AcDbPolyline.js.map +1 -1
  231. package/lib/entity/AcDbProxyEntity.d.ts +4 -2
  232. package/lib/entity/AcDbProxyEntity.d.ts.map +1 -1
  233. package/lib/entity/AcDbProxyEntity.js +55 -3
  234. package/lib/entity/AcDbProxyEntity.js.map +1 -1
  235. package/lib/entity/AcDbRasterImage.d.ts +16 -0
  236. package/lib/entity/AcDbRasterImage.d.ts.map +1 -1
  237. package/lib/entity/AcDbRasterImage.js +156 -0
  238. package/lib/entity/AcDbRasterImage.js.map +1 -1
  239. package/lib/entity/AcDbRay.d.ts +1 -0
  240. package/lib/entity/AcDbRay.d.ts.map +1 -1
  241. package/lib/entity/AcDbRay.js +42 -0
  242. package/lib/entity/AcDbRay.js.map +1 -1
  243. package/lib/entity/AcDbShape.d.ts +1 -0
  244. package/lib/entity/AcDbShape.d.ts.map +1 -1
  245. package/lib/entity/AcDbShape.js +76 -1
  246. package/lib/entity/AcDbShape.js.map +1 -1
  247. package/lib/entity/AcDbSpline.d.ts +23 -1
  248. package/lib/entity/AcDbSpline.d.ts.map +1 -1
  249. package/lib/entity/AcDbSpline.js +226 -1
  250. package/lib/entity/AcDbSpline.js.map +1 -1
  251. package/lib/entity/AcDbTable.d.ts +5 -0
  252. package/lib/entity/AcDbTable.d.ts.map +1 -1
  253. package/lib/entity/AcDbTable.js +265 -1
  254. package/lib/entity/AcDbTable.js.map +1 -1
  255. package/lib/entity/AcDbText.d.ts +25 -1
  256. package/lib/entity/AcDbText.d.ts.map +1 -1
  257. package/lib/entity/AcDbText.js +175 -1
  258. package/lib/entity/AcDbText.js.map +1 -1
  259. package/lib/entity/AcDbTextExtentsHelpers.d.ts +2 -2
  260. package/lib/entity/AcDbTextExtentsHelpers.js +3 -3
  261. package/lib/entity/AcDbTextExtentsHelpers.js.map +1 -1
  262. package/lib/entity/AcDbTrace.d.ts +9 -1
  263. package/lib/entity/AcDbTrace.d.ts.map +1 -1
  264. package/lib/entity/AcDbTrace.js +84 -5
  265. package/lib/entity/AcDbTrace.js.map +1 -1
  266. package/lib/entity/AcDbViewport.d.ts +174 -0
  267. package/lib/entity/AcDbViewport.d.ts.map +1 -1
  268. package/lib/entity/AcDbViewport.js +890 -1
  269. package/lib/entity/AcDbViewport.js.map +1 -1
  270. package/lib/entity/AcDbXline.d.ts +1 -0
  271. package/lib/entity/AcDbXline.d.ts.map +1 -1
  272. package/lib/entity/AcDbXline.js +42 -0
  273. package/lib/entity/AcDbXline.js.map +1 -1
  274. package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts +1 -0
  275. package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts.map +1 -1
  276. package/lib/entity/dimension/AcDb3PointAngularDimension.js +163 -0
  277. package/lib/entity/dimension/AcDb3PointAngularDimension.js.map +1 -1
  278. package/lib/entity/dimension/AcDbAlignedDimension.d.ts +2 -0
  279. package/lib/entity/dimension/AcDbAlignedDimension.d.ts.map +1 -1
  280. package/lib/entity/dimension/AcDbAlignedDimension.js +109 -2
  281. package/lib/entity/dimension/AcDbAlignedDimension.js.map +1 -1
  282. package/lib/entity/dimension/AcDbArcDimension.d.ts +1 -0
  283. package/lib/entity/dimension/AcDbArcDimension.d.ts.map +1 -1
  284. package/lib/entity/dimension/AcDbArcDimension.js +68 -0
  285. package/lib/entity/dimension/AcDbArcDimension.js.map +1 -1
  286. package/lib/entity/dimension/AcDbDiametricDimension.d.ts +1 -0
  287. package/lib/entity/dimension/AcDbDiametricDimension.d.ts.map +1 -1
  288. package/lib/entity/dimension/AcDbDiametricDimension.js +77 -0
  289. package/lib/entity/dimension/AcDbDiametricDimension.js.map +1 -1
  290. package/lib/entity/dimension/AcDbDimension.d.ts +50 -1
  291. package/lib/entity/dimension/AcDbDimension.d.ts.map +1 -1
  292. package/lib/entity/dimension/AcDbDimension.js +176 -5
  293. package/lib/entity/dimension/AcDbDimension.js.map +1 -1
  294. package/lib/entity/dimension/AcDbOrdinateDimension.d.ts +1 -0
  295. package/lib/entity/dimension/AcDbOrdinateDimension.d.ts.map +1 -1
  296. package/lib/entity/dimension/AcDbOrdinateDimension.js +46 -0
  297. package/lib/entity/dimension/AcDbOrdinateDimension.js.map +1 -1
  298. package/lib/entity/dimension/AcDbRadialDimension.d.ts +1 -0
  299. package/lib/entity/dimension/AcDbRadialDimension.d.ts.map +1 -1
  300. package/lib/entity/dimension/AcDbRadialDimension.js +69 -0
  301. package/lib/entity/dimension/AcDbRadialDimension.js.map +1 -1
  302. package/lib/index.d.ts +8 -6
  303. package/lib/index.d.ts.map +1 -1
  304. package/lib/index.js +8 -4
  305. package/lib/index.js.map +1 -1
  306. package/lib/ly/AcLyLayerFilterIO.d.ts.map +1 -1
  307. package/lib/ly/AcLyLayerFilterIO.js +5 -0
  308. package/lib/ly/AcLyLayerFilterIO.js.map +1 -1
  309. package/lib/misc/AcDbMemoryEstimator.d.ts.map +1 -1
  310. package/lib/misc/AcDbMemoryEstimator.js +3 -0
  311. package/lib/misc/AcDbMemoryEstimator.js.map +1 -1
  312. package/lib/misc/AcDbPreviewIcon.d.ts +11 -0
  313. package/lib/misc/AcDbPreviewIcon.d.ts.map +1 -1
  314. package/lib/misc/AcDbPreviewIcon.js +39 -3
  315. package/lib/misc/AcDbPreviewIcon.js.map +1 -1
  316. package/lib/misc/index.d.ts +2 -2
  317. package/lib/misc/index.d.ts.map +1 -1
  318. package/lib/misc/index.js +2 -2
  319. package/lib/misc/index.js.map +1 -1
  320. package/lib/misc/proxyGraphic/AcDbProxyGraphic.d.ts +6 -5
  321. package/lib/misc/proxyGraphic/AcDbProxyGraphic.d.ts.map +1 -1
  322. package/lib/misc/proxyGraphic/AcDbProxyGraphic.js +9 -36
  323. package/lib/misc/proxyGraphic/AcDbProxyGraphic.js.map +1 -1
  324. package/lib/misc/proxyGraphic/AcDbProxyGraphicBinaryStream.d.ts +12 -0
  325. package/lib/misc/proxyGraphic/AcDbProxyGraphicBinaryStream.d.ts.map +1 -1
  326. package/lib/misc/proxyGraphic/AcDbProxyGraphicBinaryStream.js +54 -0
  327. package/lib/misc/proxyGraphic/AcDbProxyGraphicBinaryStream.js.map +1 -1
  328. package/lib/misc/proxyGraphic/index.d.ts +1 -1
  329. package/lib/misc/proxyGraphic/index.d.ts.map +1 -1
  330. package/lib/misc/proxyGraphic/index.js +1 -1
  331. package/lib/misc/proxyGraphic/index.js.map +1 -1
  332. package/lib/object/AcDbDictionary.d.ts +7 -0
  333. package/lib/object/AcDbDictionary.d.ts.map +1 -1
  334. package/lib/object/AcDbDictionary.js +35 -0
  335. package/lib/object/AcDbDictionary.js.map +1 -1
  336. package/lib/object/AcDbFilter.d.ts +95 -0
  337. package/lib/object/AcDbFilter.d.ts.map +1 -1
  338. package/lib/object/AcDbFilter.js +256 -1
  339. package/lib/object/AcDbFilter.js.map +1 -1
  340. package/lib/object/AcDbGroup.d.ts +26 -0
  341. package/lib/object/AcDbGroup.d.ts.map +1 -0
  342. package/lib/object/AcDbGroup.js +171 -0
  343. package/lib/object/AcDbGroup.js.map +1 -0
  344. package/lib/object/AcDbIndex.d.ts +1 -0
  345. package/lib/object/AcDbIndex.d.ts.map +1 -1
  346. package/lib/object/AcDbIndex.js +23 -0
  347. package/lib/object/AcDbIndex.js.map +1 -1
  348. package/lib/object/AcDbLayerFilter.d.ts +1 -0
  349. package/lib/object/AcDbLayerFilter.d.ts.map +1 -1
  350. package/lib/object/AcDbLayerFilter.js +21 -0
  351. package/lib/object/AcDbLayerFilter.js.map +1 -1
  352. package/lib/object/AcDbLayerIndex.d.ts +1 -0
  353. package/lib/object/AcDbLayerIndex.d.ts.map +1 -1
  354. package/lib/object/AcDbLayerIndex.js +38 -0
  355. package/lib/object/AcDbLayerIndex.js.map +1 -1
  356. package/lib/object/AcDbMLeaderStyle.d.ts +1 -0
  357. package/lib/object/AcDbMLeaderStyle.d.ts.map +1 -1
  358. package/lib/object/AcDbMLeaderStyle.js +158 -1
  359. package/lib/object/AcDbMLeaderStyle.js.map +1 -1
  360. package/lib/object/AcDbMlineStyle.d.ts +2 -0
  361. package/lib/object/AcDbMlineStyle.d.ts.map +1 -1
  362. package/lib/object/AcDbMlineStyle.js +88 -0
  363. package/lib/object/AcDbMlineStyle.js.map +1 -1
  364. package/lib/object/AcDbRasterImageDef.d.ts +49 -0
  365. package/lib/object/AcDbRasterImageDef.d.ts.map +1 -1
  366. package/lib/object/AcDbRasterImageDef.js +136 -2
  367. package/lib/object/AcDbRasterImageDef.js.map +1 -1
  368. package/lib/object/AcDbSortentsTable.d.ts +14 -0
  369. package/lib/object/AcDbSortentsTable.d.ts.map +1 -0
  370. package/lib/object/AcDbSortentsTable.js +122 -0
  371. package/lib/object/AcDbSortentsTable.js.map +1 -0
  372. package/lib/object/AcDbXrecord.d.ts +8 -0
  373. package/lib/object/AcDbXrecord.d.ts.map +1 -1
  374. package/lib/object/AcDbXrecord.js +43 -2
  375. package/lib/object/AcDbXrecord.js.map +1 -1
  376. package/lib/object/index.d.ts +2 -0
  377. package/lib/object/index.d.ts.map +1 -1
  378. package/lib/object/index.js +2 -0
  379. package/lib/object/index.js.map +1 -1
  380. package/lib/object/layout/AcDbLayout.d.ts +60 -1
  381. package/lib/object/layout/AcDbLayout.d.ts.map +1 -1
  382. package/lib/object/layout/AcDbLayout.js +237 -1
  383. package/lib/object/layout/AcDbLayout.js.map +1 -1
  384. package/lib/object/layout/AcDbPlotSettings.d.ts +11 -0
  385. package/lib/object/layout/AcDbPlotSettings.d.ts.map +1 -1
  386. package/lib/object/layout/AcDbPlotSettings.js +143 -0
  387. package/lib/object/layout/AcDbPlotSettings.js.map +1 -1
  388. package/package.json +6 -5
@@ -0,0 +1,266 @@
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 __assign = (this && this.__assign) || function () {
17
+ __assign = Object.assign || function(t) {
18
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
19
+ s = arguments[i];
20
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
21
+ t[p] = s[p];
22
+ }
23
+ return t;
24
+ };
25
+ return __assign.apply(this, arguments);
26
+ };
27
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
28
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
29
+ return new (P || (P = Promise))(function (resolve, reject) {
30
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
31
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
32
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
33
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
34
+ });
35
+ };
36
+ var __generator = (this && this.__generator) || function (thisArg, body) {
37
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
38
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
39
+ function verb(n) { return function (v) { return step([n, v]); }; }
40
+ function step(op) {
41
+ if (f) throw new TypeError("Generator is already executing.");
42
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
43
+ 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;
44
+ if (y = 0, t) op = [op[0] & 2, t.value];
45
+ switch (op[0]) {
46
+ case 0: case 1: t = op; break;
47
+ case 4: _.label++; return { value: op[1], done: false };
48
+ case 5: _.label++; y = op[1]; op = [0]; continue;
49
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
50
+ default:
51
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
52
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
53
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
54
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
55
+ if (t[2]) _.ops.pop();
56
+ _.trys.pop(); continue;
57
+ }
58
+ op = body.call(thisArg, _);
59
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
60
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
61
+ }
62
+ };
63
+ import { AcDbDxfFiler } from '../base/AcDbDxfFiler';
64
+ import { AcDbDatabaseConverter } from '../database/AcDbDatabaseConverter';
65
+ import { AcDbDxfDocumentReader } from './AcDbDxfDocumentReader';
66
+ /**
67
+ * Progress weights mirror typical open cost: a small PARSE slice, a short FONT
68
+ * download, then most of the bar for ENTITY add/render (same idea as the old
69
+ * converter where ENTITY carried the largest step).
70
+ */
71
+ var PARSE_START_PCT = 1;
72
+ var PARSE_END_PCT = 12;
73
+ var FONT_START_PCT = 13;
74
+ var FONT_END_PCT = 18;
75
+ var ENTITY_START_PCT = 20;
76
+ var ENTITY_END_PCT = 98;
77
+ /**
78
+ * Yields so the browser can paint loading UI before main-thread parse work.
79
+ */
80
+ function yieldForPaint() {
81
+ return new Promise(function (resolve) {
82
+ if (typeof globalThis !== 'undefined' &&
83
+ typeof globalThis
84
+ .requestAnimationFrame === 'function') {
85
+ var raf_1 = globalThis.requestAnimationFrame;
86
+ raf_1(function () { return raf_1(function () { return resolve(); }); });
87
+ }
88
+ else {
89
+ setTimeout(resolve, 0);
90
+ }
91
+ });
92
+ }
93
+ /**
94
+ * Native DXF → database converter.
95
+ *
96
+ * Streams DXF pairs through {@link AcDbDxfFiler} / {@link AcDbDxfDocumentReader}
97
+ * directly into {@link AcDbDatabase}, avoiding the ParsedDxf JSON intermediate
98
+ * used by `@mlightcad/dxf-json-converter`.
99
+ *
100
+ * Conversion stages mirror {@link AcDbDatabaseConverter}:
101
+ * `START → PARSE → FONT → ENTITY → END`. The reader fills the database quietly
102
+ * (entity-appended events batched); fonts load on FONT; then the batch flushes
103
+ * so the first draw happens with fonts already available — no mid-parse FONT
104
+ * or post-open regen.
105
+ *
106
+ * Mid-PARSE byte progress, chunked ENTITY flush, and paint yields keep the
107
+ * status bar / spinner responsive while main-thread work runs.
108
+ */
109
+ var AcDbNativeDxfConverter = /** @class */ (function (_super) {
110
+ __extends(AcDbNativeDxfConverter, _super);
111
+ function AcDbNativeDxfConverter(config) {
112
+ if (config === void 0) { config = {}; }
113
+ return _super.call(this, __assign({ useWorker: false }, config)) || this;
114
+ }
115
+ AcDbNativeDxfConverter.prototype.read = function (data, db, minimumChunkSize, progress, _timeout, _sysVars) {
116
+ return __awaiter(this, void 0, void 0, function () {
117
+ var emit, batchOpen, filer, totalBytes, lastParsePct_1, reader, result, chunkSize, lastEntityPct_1, error_1;
118
+ var _this = this;
119
+ return __generator(this, function (_a) {
120
+ switch (_a.label) {
121
+ case 0:
122
+ this.progress = progress;
123
+ emit = function (percentage, stage, status, stageData) { return __awaiter(_this, void 0, void 0, function () {
124
+ return __generator(this, function (_a) {
125
+ switch (_a.label) {
126
+ case 0:
127
+ if (!progress)
128
+ return [2 /*return*/];
129
+ return [4 /*yield*/, progress(percentage, stage, status, stageData)];
130
+ case 1:
131
+ _a.sent();
132
+ return [2 /*return*/];
133
+ }
134
+ });
135
+ }); };
136
+ return [4 /*yield*/, emit(0, 'START', 'START')];
137
+ case 1:
138
+ _a.sent();
139
+ return [4 /*yield*/, emit(PARSE_START_PCT, 'PARSE', 'START')
140
+ // Let the open-file overlay paint before sync-heavy parse work.
141
+ ];
142
+ case 2:
143
+ _a.sent();
144
+ // Let the open-file overlay paint before sync-heavy parse work.
145
+ return [4 /*yield*/, yieldForPaint()
146
+ // Suppress entityAppended (and related) until FONT finishes so the viewer
147
+ // does not worldDraw text before fontLoader.load has run.
148
+ ];
149
+ case 3:
150
+ // Let the open-file overlay paint before sync-heavy parse work.
151
+ _a.sent();
152
+ // Suppress entityAppended (and related) until FONT finishes so the viewer
153
+ // does not worldDraw text before fontLoader.load has run.
154
+ db.beginEventBatch();
155
+ batchOpen = true;
156
+ _a.label = 4;
157
+ case 4:
158
+ _a.trys.push([4, 13, , 14]);
159
+ filer = AcDbDxfFiler.fromBuffer(data, { database: db });
160
+ totalBytes = data.byteLength;
161
+ lastParsePct_1 = PARSE_START_PCT;
162
+ reader = new AcDbDxfDocumentReader(db, {
163
+ entityBatchSize: Math.max(1, minimumChunkSize || 200),
164
+ totalBytes: totalBytes,
165
+ onProgress: function (ratio) { return __awaiter(_this, void 0, void 0, function () {
166
+ var pct;
167
+ return __generator(this, function (_a) {
168
+ switch (_a.label) {
169
+ case 0:
170
+ pct = Math.min(PARSE_END_PCT - 1, PARSE_START_PCT +
171
+ Math.floor(ratio * (PARSE_END_PCT - PARSE_START_PCT)));
172
+ if (pct <= lastParsePct_1)
173
+ return [2 /*return*/];
174
+ lastParsePct_1 = pct;
175
+ return [4 /*yield*/, emit(pct, 'PARSE', 'IN-PROGRESS')];
176
+ case 1:
177
+ _a.sent();
178
+ return [2 /*return*/];
179
+ }
180
+ });
181
+ }); }
182
+ });
183
+ return [4 /*yield*/, reader.read(filer)];
184
+ case 5:
185
+ result = _a.sent();
186
+ return [4 /*yield*/, emit(PARSE_END_PCT, 'PARSE', 'END', {
187
+ unknownEntityCount: result.unknownEntityCount
188
+ })
189
+ // Same FONT contract as AcDbDxfConverter / AcDbDatabaseConverter.
190
+ ];
191
+ case 6:
192
+ _a.sent();
193
+ // Same FONT contract as AcDbDxfConverter / AcDbDatabaseConverter.
194
+ return [4 /*yield*/, emit(FONT_START_PCT, 'FONT', 'START')];
195
+ case 7:
196
+ // Same FONT contract as AcDbDxfConverter / AcDbDatabaseConverter.
197
+ _a.sent();
198
+ return [4 /*yield*/, emit(FONT_END_PCT, 'FONT', 'END', result.fonts)];
199
+ case 8:
200
+ _a.sent();
201
+ return [4 /*yield*/, emit(ENTITY_START_PCT, 'ENTITY', 'START')];
202
+ case 9:
203
+ _a.sent();
204
+ chunkSize = Math.max(1, minimumChunkSize || 200);
205
+ lastEntityPct_1 = ENTITY_START_PCT;
206
+ // Flush queued entityAppended in chunks → first draw with fonts loaded,
207
+ // while advancing most of the open-file progress bar.
208
+ return [4 /*yield*/, db.endEventBatchChunked(chunkSize, function (flushed, total) { return __awaiter(_this, void 0, void 0, function () {
209
+ var pct;
210
+ return __generator(this, function (_a) {
211
+ switch (_a.label) {
212
+ case 0:
213
+ pct = total <= 0
214
+ ? ENTITY_END_PCT
215
+ : Math.min(ENTITY_END_PCT, ENTITY_START_PCT +
216
+ Math.floor((flushed / total) * (ENTITY_END_PCT - ENTITY_START_PCT)));
217
+ if (pct <= lastEntityPct_1)
218
+ return [2 /*return*/];
219
+ lastEntityPct_1 = pct;
220
+ return [4 /*yield*/, emit(pct, 'ENTITY', 'IN-PROGRESS')];
221
+ case 1:
222
+ _a.sent();
223
+ return [4 /*yield*/, yieldForPaint()];
224
+ case 2:
225
+ _a.sent();
226
+ return [2 /*return*/];
227
+ }
228
+ });
229
+ }); })];
230
+ case 10:
231
+ // Flush queued entityAppended in chunks → first draw with fonts loaded,
232
+ // while advancing most of the open-file progress bar.
233
+ _a.sent();
234
+ batchOpen = false;
235
+ return [4 /*yield*/, emit(ENTITY_END_PCT, 'ENTITY', 'END')];
236
+ case 11:
237
+ _a.sent();
238
+ return [4 /*yield*/, emit(100, 'END', 'END')];
239
+ case 12:
240
+ _a.sent();
241
+ return [3 /*break*/, 14];
242
+ case 13:
243
+ error_1 = _a.sent();
244
+ if (batchOpen) {
245
+ db.endEventBatch();
246
+ }
247
+ throw error_1;
248
+ case 14: return [2 /*return*/];
249
+ }
250
+ });
251
+ });
252
+ };
253
+ AcDbNativeDxfConverter.prototype.parse = function (_data) {
254
+ return __awaiter(this, void 0, void 0, function () {
255
+ return __generator(this, function (_a) {
256
+ return [2 /*return*/, { model: null, data: { unknownEntityCount: 0 } }];
257
+ });
258
+ });
259
+ };
260
+ AcDbNativeDxfConverter.prototype.getFonts = function (_model) {
261
+ return [];
262
+ };
263
+ return AcDbNativeDxfConverter;
264
+ }(AcDbDatabaseConverter));
265
+ export { AcDbNativeDxfConverter };
266
+ //# sourceMappingURL=AcDbNativeDxfConverter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcDbNativeDxfConverter.js","sourceRoot":"","sources":["../../src/dxf/AcDbNativeDxfConverter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export { acdbCreateEntityForDxfIn, acdbDxfInEntity } from './AcDbDxfEntityFactory';
2
+ export { AcDbDxfDocumentReader } from './AcDbDxfDocumentReader';
3
+ export type { AcDbDxfDocumentReaderOptions, AcDbDxfDocumentReaderResult } from './AcDbDxfDocumentReader';
4
+ export { acdbDxfInAcdsData, acdbGetAcdsDataByOwnerHandle, acdbNormalizeDxfHandle } from './AcDbDxfAcdsDataReader';
5
+ export type { AcDbAcdsDataSection } from './AcDbDxfAcdsDataReader';
6
+ export { acdbDxfInHeader } from './AcDbDxfHeaderReader';
7
+ export { AcDbNativeDxfConverter } from './AcDbNativeDxfConverter';
8
+ export { AcDbDxfObjectsReader } from './AcDbDxfObjectsReader';
9
+ export { acdbDxfInPolyline } from './AcDbDxfPolylineAssembler';
10
+ export { acdbDxfVersionCaps } from './AcDbDxfVersionCaps';
11
+ export type { AcDbDxfVersionCapabilities } from './AcDbDxfVersionCaps';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dxf/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,YAAY,EACV,4BAA4B,EAC5B,2BAA2B,EAC5B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,iBAAiB,EACjB,4BAA4B,EAC5B,sBAAsB,EACvB,MAAM,yBAAyB,CAAA;AAChC,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,YAAY,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA"}
@@ -0,0 +1,9 @@
1
+ export { acdbCreateEntityForDxfIn, acdbDxfInEntity } from './AcDbDxfEntityFactory';
2
+ export { AcDbDxfDocumentReader } from './AcDbDxfDocumentReader';
3
+ export { acdbDxfInAcdsData, acdbGetAcdsDataByOwnerHandle, acdbNormalizeDxfHandle } from './AcDbDxfAcdsDataReader';
4
+ export { acdbDxfInHeader } from './AcDbDxfHeaderReader';
5
+ export { AcDbNativeDxfConverter } from './AcDbNativeDxfConverter';
6
+ export { AcDbDxfObjectsReader } from './AcDbDxfObjectsReader';
7
+ export { acdbDxfInPolyline } from './AcDbDxfPolylineAssembler';
8
+ export { acdbDxfVersionCaps } from './AcDbDxfVersionCaps';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dxf/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAK/D,OAAO,EACL,iBAAiB,EACjB,4BAA4B,EAC5B,sBAAsB,EACvB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=registerNativeDxfConverter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerNativeDxfConverter.d.ts","sourceRoot":"","sources":["../../src/dxf/registerNativeDxfConverter.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import { AcDbDatabaseConverterManager, AcDbFileType } from '../database/AcDbDatabaseConverterManager';
2
+ import { AcDbNativeDxfConverter } from './AcDbNativeDxfConverter';
3
+ /**
4
+ * Registers {@link AcDbNativeDxfConverter} as the default DXF converter.
5
+ *
6
+ * Importing `@mlightcad/data-model` runs this once so DXF files work without
7
+ * an explicit `register` call. Apps that prefer `@mlightcad/dxf-json-converter`
8
+ * (or another DXF converter) can call `register(AcDbFileType.DXF, …)` afterward;
9
+ * that replaces this default.
10
+ */
11
+ AcDbDatabaseConverterManager.instance.register(AcDbFileType.DXF, new AcDbNativeDxfConverter());
12
+ //# sourceMappingURL=registerNativeDxfConverter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerNativeDxfConverter.js","sourceRoot":"","sources":["../../src/dxf/registerNativeDxfConverter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,YAAY,EACb,MAAM,0CAA0C,CAAA;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAEjE;;;;;;;GAOG;AACH,4BAA4B,CAAC,QAAQ,CAAC,QAAQ,CAC5C,YAAY,CAAC,GAAG,EAChB,IAAI,sBAAsB,EAAE,CAC7B,CAAA"}
@@ -31,8 +31,16 @@ export declare class AcDb3dSolid extends AcDbEntity {
31
31
  get dxfTypeName(): string;
32
32
  /** Raw ACIS SAT text preserved for DXF round-trip and future B-rep parsing. */
33
33
  private _acisData;
34
+ /** Binary SAB/ASM payload from ACDSDATA, when present. */
35
+ private _sabBytes?;
34
36
  /** DXF group 70 ACIS version number, when present. */
35
37
  private _version?;
38
+ /** Soft-pointer to ACSH history object (DXF group 350). */
39
+ private _historyObjectSoftId?;
40
+ /** Revision GUID for the modeler geometry, when present (DXF group 2). */
41
+ private _guid?;
42
+ /** Whether the ASM/ACIS payload uses SAT text caching (DXF group 290). */
43
+ private _satCache?;
36
44
  /** Vertex positions used for extents and fallback bounding-box rendering. */
37
45
  private _points;
38
46
  /** Line-segment endpoint pairs for wireframe rendering (`[x,y,z,...]`). */
@@ -56,6 +64,40 @@ export declare class AcDb3dSolid extends AcDbEntity {
56
64
  get acisData(): string;
57
65
  /** DXF group 70 ACIS version number, when present. */
58
66
  get version(): number | undefined;
67
+ /**
68
+ * Soft-pointer handle to `ACSH_HISTORY_CLASS` (DXF group 350), when present.
69
+ * Resolved later when OBJECTS-section data is available.
70
+ */
71
+ get historyObjectSoftId(): string | undefined;
72
+ set historyObjectSoftId(value: string | undefined);
73
+ /**
74
+ * Revision GUID for the modeler geometry, when present (DXF group 2).
75
+ */
76
+ get guid(): string | undefined;
77
+ set guid(value: string | undefined);
78
+ /**
79
+ * Whether the ASM/ACIS payload uses SAT text caching (DXF group 290).
80
+ */
81
+ get satCache(): boolean | undefined;
82
+ set satCache(value: boolean | undefined);
83
+ /**
84
+ * Replaces the SAT/ACIS payload and rebuilds wireframe / point caches.
85
+ * Used by DXF import after constructing an empty solid.
86
+ */
87
+ setAcisData(satText: string, version?: number): void;
88
+ /**
89
+ * Attaches binary SAB/ASM bytes (typically from ACDSDATA) and rebuilds
90
+ * wireframe / point caches. Preferred over SAT text when both are present.
91
+ *
92
+ * @param sabBytes - Raw ASM_Data payload for this solid.
93
+ */
94
+ setSabBytes(sabBytes: Uint8Array | undefined): void;
95
+ /** Binary SAB/ASM payload attached via ACDSDATA or construction options. */
96
+ get sabBytes(): Uint8Array | undefined;
97
+ /**
98
+ * Rebuilds `_wireframe` / `_points` from SAB bytes (preferred) or SAT text.
99
+ */
100
+ private rebuildGeometryCaches;
59
101
  /**
60
102
  * Whether wireframe segments or fallback point data could be extracted from
61
103
  * the supplied SAB/SAT payload.
@@ -88,5 +130,6 @@ export declare class AcDb3dSolid extends AcDbEntity {
88
130
  * @returns The instance (for chaining).
89
131
  */
90
132
  dxfOutFields(filer: AcDbDxfFiler): this;
133
+ dxfInFields(filer: AcDbDxfFiler): this;
91
134
  }
92
135
  //# sourceMappingURL=AcDb3dSolid.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AcDb3dSolid.d.ts","sourceRoot":"","sources":["../../src/entity/AcDb3dSolid.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,YAAY,EAEb,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAM3D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,QAAQ,CAAC,EAAE,UAAU,CAAA;IACrB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAkHD;;;;;;;;GAQG;AACH,qBAAa,WAAY,SAAQ,UAAU;IACzC,2BAA2B;IAC3B,OAAgB,QAAQ,EAAE,MAAM,CAAY;IAE5C,IAAa,WAAW,WAEvB;IAED,+EAA+E;IAC/E,OAAO,CAAC,SAAS,CAAQ;IACzB,sDAAsD;IACtD,OAAO,CAAC,QAAQ,CAAC,CAAQ;IACzB,6EAA6E;IAC7E,OAAO,CAAC,OAAO,CAAe;IAC9B,2EAA2E;IAC3E,OAAO,CAAC,UAAU,CAAc;IAEhC;;;;;OAKG;gBACS,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAC9C;;;;OAIG;gBACS,OAAO,EAAE,kBAAkB;IA0BvC;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,sDAAsD;IACtD,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAEhC;IAED;;;OAGG;IACH,IAAI,qBAAqB,IAAI,OAAO,CAEnC;IAED,kBAAkB;IAClB,IAAI,gBAAgB,IAAI,SAAS,CAKhC;IAED;;;;;;;OAOG;IACH,WAAW,CAAC,MAAM,EAAE,YAAY;IAoBhC;;;;;;;OAOG;IACH,YAAY,CAAC,QAAQ,EAAE,YAAY;IAyCnC;;;;;OAKG;IACM,YAAY,CAAC,KAAK,EAAE,YAAY;CAmB1C"}
1
+ {"version":3,"file":"AcDb3dSolid.d.ts","sourceRoot":"","sources":["../../src/entity/AcDb3dSolid.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,YAAY,EAEb,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAQ3D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,QAAQ,CAAC,EAAE,UAAU,CAAA;IACrB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAkHD;;;;;;;;GAQG;AACH,qBAAa,WAAY,SAAQ,UAAU;IACzC,2BAA2B;IAC3B,OAAgB,QAAQ,EAAE,MAAM,CAAY;IAE5C,IAAa,WAAW,WAEvB;IAED,+EAA+E;IAC/E,OAAO,CAAC,SAAS,CAAQ;IACzB,0DAA0D;IAC1D,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,sDAAsD;IACtD,OAAO,CAAC,QAAQ,CAAC,CAAQ;IACzB,2DAA2D;IAC3D,OAAO,CAAC,oBAAoB,CAAC,CAAQ;IACrC,0EAA0E;IAC1E,OAAO,CAAC,KAAK,CAAC,CAAQ;IACtB,0EAA0E;IAC1E,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,6EAA6E;IAC7E,OAAO,CAAC,OAAO,CAAoB;IACnC,2EAA2E;IAC3E,OAAO,CAAC,UAAU,CAAoC;IAEtD;;;;;OAKG;gBACS,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAC9C;;;;OAIG;gBACS,OAAO,EAAE,kBAAkB;IAavC;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,sDAAsD;IACtD,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAEhC;IAED;;;OAGG;IACH,IAAI,mBAAmB,IAAI,MAAM,GAAG,SAAS,CAE5C;IAED,IAAI,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAEhD;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAE7B;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAEjC;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,GAAG,SAAS,CAElC;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAEtC;IAED;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAQ7C;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,UAAU,GAAG,SAAS;IAM5C,4EAA4E;IAC5E,IAAI,QAAQ,IAAI,UAAU,GAAG,SAAS,CAErC;IAED;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAgB7B;;;OAGG;IACH,IAAI,qBAAqB,IAAI,OAAO,CAEnC;IAED,kBAAkB;IAClB,IAAI,gBAAgB,IAAI,SAAS,CAKhC;IAED;;;;;;;OAOG;IACH,WAAW,CAAC,MAAM,EAAE,YAAY;IAoBhC;;;;;;;OAOG;IACH,YAAY,CAAC,QAAQ,EAAE,YAAY;IAyCnC;;;;;OAKG;IACM,YAAY,CAAC,KAAK,EAAE,YAAY;IA0BhC,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;CAyDhD"}
@@ -25,7 +25,7 @@ var __values = (this && this.__values) || function(o) {
25
25
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
26
26
  };
27
27
  import { AcGeBox3d, AcGePoint3d } from '@mlightcad/geometry-engine';
28
- import { acdbAcisWireframeSegmentsFromSab, acdbAcisWireframeSegmentsFromSatText } from '../acis';
28
+ import { acdbAcisWireframeSegmentsFromSab, acdbAcisWireframeSegmentsFromSatText, acdbAppendAcisPayloadFragment, acdbJoinAcisPayloadLines } from '../acis';
29
29
  import { AcDbEntity } from './AcDbEntity';
30
30
  /**
31
31
  * Matches classic SAT `point` records (`point $-1 x y z`) and ASM-style records
@@ -158,25 +158,16 @@ function resolveSolidPayload(input, version) {
158
158
  var AcDb3dSolid = /** @class */ (function (_super) {
159
159
  __extends(AcDb3dSolid, _super);
160
160
  function AcDb3dSolid(acisDataOrOptions, version) {
161
- var _a;
162
161
  var _this = _super.call(this) || this;
162
+ /** Vertex positions used for extents and fallback bounding-box rendering. */
163
+ _this._points = [];
164
+ /** Line-segment endpoint pairs for wireframe rendering (`[x,y,z,...]`). */
165
+ _this._wireframe = new Float32Array(0);
163
166
  var payload = resolveSolidPayload(acisDataOrOptions, version);
164
167
  _this._acisData = payload.satText;
168
+ _this._sabBytes = payload.sabBytes;
165
169
  _this._version = payload.version;
166
- var wireframe = new Float32Array(0);
167
- if (payload.sabBytes && payload.sabBytes.length > 0) {
168
- wireframe = (_a = acdbAcisWireframeSegmentsFromSab(payload.sabBytes)) !== null && _a !== void 0 ? _a : new Float32Array(0);
169
- }
170
- if (wireframe.length === 0 && payload.satText) {
171
- wireframe = acdbAcisWireframeSegmentsFromSatText(payload.satText);
172
- }
173
- _this._wireframe = wireframe;
174
- if (wireframe.length > 0) {
175
- _this._points = pointsFromWireframe(wireframe);
176
- }
177
- else {
178
- _this._points = extractAcisPointCloud(payload.satText);
179
- }
170
+ _this.rebuildGeometryCaches();
180
171
  return _this;
181
172
  }
182
173
  Object.defineProperty(AcDb3dSolid.prototype, "dxfTypeName", {
@@ -204,6 +195,95 @@ var AcDb3dSolid = /** @class */ (function (_super) {
204
195
  enumerable: false,
205
196
  configurable: true
206
197
  });
198
+ Object.defineProperty(AcDb3dSolid.prototype, "historyObjectSoftId", {
199
+ /**
200
+ * Soft-pointer handle to `ACSH_HISTORY_CLASS` (DXF group 350), when present.
201
+ * Resolved later when OBJECTS-section data is available.
202
+ */
203
+ get: function () {
204
+ return this._historyObjectSoftId;
205
+ },
206
+ set: function (value) {
207
+ this._historyObjectSoftId = value;
208
+ },
209
+ enumerable: false,
210
+ configurable: true
211
+ });
212
+ Object.defineProperty(AcDb3dSolid.prototype, "guid", {
213
+ /**
214
+ * Revision GUID for the modeler geometry, when present (DXF group 2).
215
+ */
216
+ get: function () {
217
+ return this._guid;
218
+ },
219
+ set: function (value) {
220
+ this._guid = value;
221
+ },
222
+ enumerable: false,
223
+ configurable: true
224
+ });
225
+ Object.defineProperty(AcDb3dSolid.prototype, "satCache", {
226
+ /**
227
+ * Whether the ASM/ACIS payload uses SAT text caching (DXF group 290).
228
+ */
229
+ get: function () {
230
+ return this._satCache;
231
+ },
232
+ set: function (value) {
233
+ this._satCache = value;
234
+ },
235
+ enumerable: false,
236
+ configurable: true
237
+ });
238
+ /**
239
+ * Replaces the SAT/ACIS payload and rebuilds wireframe / point caches.
240
+ * Used by DXF import after constructing an empty solid.
241
+ */
242
+ AcDb3dSolid.prototype.setAcisData = function (satText, version) {
243
+ this._acisData = satText !== null && satText !== void 0 ? satText : '';
244
+ if (version != null) {
245
+ this._version = version;
246
+ }
247
+ this.rebuildGeometryCaches();
248
+ };
249
+ /**
250
+ * Attaches binary SAB/ASM bytes (typically from ACDSDATA) and rebuilds
251
+ * wireframe / point caches. Preferred over SAT text when both are present.
252
+ *
253
+ * @param sabBytes - Raw ASM_Data payload for this solid.
254
+ */
255
+ AcDb3dSolid.prototype.setSabBytes = function (sabBytes) {
256
+ this._sabBytes =
257
+ sabBytes && sabBytes.length > 0 ? sabBytes : undefined;
258
+ this.rebuildGeometryCaches();
259
+ };
260
+ Object.defineProperty(AcDb3dSolid.prototype, "sabBytes", {
261
+ /** Binary SAB/ASM payload attached via ACDSDATA or construction options. */
262
+ get: function () {
263
+ return this._sabBytes;
264
+ },
265
+ enumerable: false,
266
+ configurable: true
267
+ });
268
+ /**
269
+ * Rebuilds `_wireframe` / `_points` from SAB bytes (preferred) or SAT text.
270
+ */
271
+ AcDb3dSolid.prototype.rebuildGeometryCaches = function () {
272
+ var _a;
273
+ var wireframe = new Float32Array(0);
274
+ if (this._sabBytes && this._sabBytes.length > 0) {
275
+ wireframe =
276
+ (_a = acdbAcisWireframeSegmentsFromSab(this._sabBytes)) !== null && _a !== void 0 ? _a : new Float32Array(0);
277
+ }
278
+ if (wireframe.length === 0 && this._acisData) {
279
+ wireframe = acdbAcisWireframeSegmentsFromSatText(this._acisData);
280
+ }
281
+ this._wireframe = wireframe;
282
+ this._points =
283
+ wireframe.length > 0
284
+ ? pointsFromWireframe(wireframe)
285
+ : extractAcisPointCloud(this._acisData);
286
+ };
207
287
  Object.defineProperty(AcDb3dSolid.prototype, "hasRenderableGeometry", {
208
288
  /**
209
289
  * Whether wireframe segments or fallback point data could be extracted from
@@ -307,6 +387,12 @@ var AcDb3dSolid = /** @class */ (function (_super) {
307
387
  if (this._version != null) {
308
388
  filer.writeInt16(70, this._version);
309
389
  }
390
+ if (this._guid != null) {
391
+ filer.writeString(2, this._guid);
392
+ }
393
+ if (this._satCache != null) {
394
+ filer.writeInt16(290, this._satCache ? 1 : 0);
395
+ }
310
396
  var maxChunkLength = 255;
311
397
  var lines = this._acisData.split('\n');
312
398
  for (var i = 0; i < lines.length; i++) {
@@ -320,6 +406,58 @@ var AcDb3dSolid = /** @class */ (function (_super) {
320
406
  }
321
407
  return this;
322
408
  };
409
+ AcDb3dSolid.prototype.dxfInFields = function (filer) {
410
+ _super.prototype.dxfInFields.call(this, filer);
411
+ // DXF order: AcDbModelerGeometry (version + SAT chunks) then AcDb3dSolid
412
+ // (history / guid / satCache). Consume both subclass markers when present.
413
+ filer.atSubclassData('AcDbModelerGeometry');
414
+ var lines = [];
415
+ var version = this._version;
416
+ while (!filer.atEndOfObject && !filer.atEof && !filer.atExtendedData) {
417
+ var item = filer.peekItem();
418
+ if (!item)
419
+ break;
420
+ var code = Number(item.code);
421
+ // Nested subclass marker for AcDb3dSolid — consume and continue.
422
+ if (code === 100) {
423
+ filer.readItem();
424
+ var marker = String(item.value);
425
+ if (marker === 'AcDb3dSolid') {
426
+ continue;
427
+ }
428
+ // Unknown subclass — push back and stop so callers can handle it.
429
+ filer.pushBackItem(item);
430
+ break;
431
+ }
432
+ filer.readItem();
433
+ var n = Number(item.value);
434
+ switch (code) {
435
+ case 1:
436
+ acdbAppendAcisPayloadFragment(lines, 1, String(item.value));
437
+ break;
438
+ case 3:
439
+ acdbAppendAcisPayloadFragment(lines, 3, String(item.value));
440
+ break;
441
+ case 70:
442
+ version = n;
443
+ break;
444
+ case 350:
445
+ this._historyObjectSoftId = String(item.value);
446
+ break;
447
+ case 2:
448
+ this._guid = String(item.value);
449
+ break;
450
+ case 290:
451
+ this._satCache = n !== 0;
452
+ break;
453
+ default:
454
+ break;
455
+ }
456
+ }
457
+ // Decrypt obfuscated SAT fragments (DXF groups 1/3) the same way dxf-json does.
458
+ this.setAcisData(acdbJoinAcisPayloadLines(lines), version);
459
+ return this;
460
+ };
323
461
  /** The entity type name */
324
462
  AcDb3dSolid.typeName = '3dSolid';
325
463
  return AcDb3dSolid;