@mlightcad/data-model 1.11.3 → 1.12.1

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 (395) 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 +48 -0
  32. package/lib/base/AcDbObject.d.ts.map +1 -1
  33. package/lib/base/AcDbObject.js +166 -17
  34. package/lib/base/AcDbObject.js.map +1 -1
  35. package/lib/base/index.d.ts +10 -3
  36. package/lib/base/index.d.ts.map +1 -1
  37. package/lib/base/index.js +5 -2
  38. package/lib/base/index.js.map +1 -1
  39. package/lib/converter/AcDbBatchProcessing.d.ts +2 -2
  40. package/lib/converter/AcDbBatchProcessing.d.ts.map +1 -1
  41. package/lib/converter/AcDbBatchProcessing.js +15 -16
  42. package/lib/converter/AcDbBatchProcessing.js.map +1 -1
  43. package/lib/converter/AcDbFontNameCollector.d.ts +4 -0
  44. package/lib/converter/AcDbFontNameCollector.d.ts.map +1 -1
  45. package/lib/converter/AcDbFontNameCollector.js +6 -0
  46. package/lib/converter/AcDbFontNameCollector.js.map +1 -1
  47. package/lib/database/AcDbBlockTableRecord.d.ts +18 -2
  48. package/lib/database/AcDbBlockTableRecord.d.ts.map +1 -1
  49. package/lib/database/AcDbBlockTableRecord.js +67 -2
  50. package/lib/database/AcDbBlockTableRecord.js.map +1 -1
  51. package/lib/database/AcDbDatabase.d.ts +55 -8
  52. package/lib/database/AcDbDatabase.d.ts.map +1 -1
  53. package/lib/database/AcDbDatabase.js +385 -87
  54. package/lib/database/AcDbDatabase.js.map +1 -1
  55. package/lib/database/AcDbDatabaseConverterManager.d.ts +10 -0
  56. package/lib/database/AcDbDatabaseConverterManager.d.ts.map +1 -1
  57. package/lib/database/AcDbDatabaseConverterManager.js +12 -0
  58. package/lib/database/AcDbDatabaseConverterManager.js.map +1 -1
  59. package/lib/database/AcDbDimStyleTableRecord.d.ts +9 -0
  60. package/lib/database/AcDbDimStyleTableRecord.d.ts.map +1 -1
  61. package/lib/database/AcDbDimStyleTableRecord.js +277 -0
  62. package/lib/database/AcDbDimStyleTableRecord.js.map +1 -1
  63. package/lib/database/AcDbDwgVersion.d.ts +37 -0
  64. package/lib/database/AcDbDwgVersion.d.ts.map +1 -1
  65. package/lib/database/AcDbDwgVersion.js +31 -6
  66. package/lib/database/AcDbDwgVersion.js.map +1 -1
  67. package/lib/database/AcDbLayerTableRecord.d.ts +1 -0
  68. package/lib/database/AcDbLayerTableRecord.d.ts.map +1 -1
  69. package/lib/database/AcDbLayerTableRecord.js +52 -1
  70. package/lib/database/AcDbLayerTableRecord.js.map +1 -1
  71. package/lib/database/AcDbLinetypeTableRecord.d.ts +1 -0
  72. package/lib/database/AcDbLinetypeTableRecord.d.ts.map +1 -1
  73. package/lib/database/AcDbLinetypeTableRecord.js +60 -0
  74. package/lib/database/AcDbLinetypeTableRecord.js.map +1 -1
  75. package/lib/database/AcDbRegAppTableRecord.d.ts +1 -0
  76. package/lib/database/AcDbRegAppTableRecord.d.ts.map +1 -1
  77. package/lib/database/AcDbRegAppTableRecord.js +26 -0
  78. package/lib/database/AcDbRegAppTableRecord.js.map +1 -1
  79. package/lib/database/AcDbSysVarManager.d.ts.map +1 -1
  80. package/lib/database/AcDbSysVarManager.js +11 -0
  81. package/lib/database/AcDbSysVarManager.js.map +1 -1
  82. package/lib/database/AcDbSystemVariables.d.ts +9 -1
  83. package/lib/database/AcDbSystemVariables.d.ts.map +1 -1
  84. package/lib/database/AcDbSystemVariables.js +8 -0
  85. package/lib/database/AcDbSystemVariables.js.map +1 -1
  86. package/lib/database/AcDbTextStyleTableRecord.d.ts +9 -0
  87. package/lib/database/AcDbTextStyleTableRecord.d.ts.map +1 -1
  88. package/lib/database/AcDbTextStyleTableRecord.js +101 -0
  89. package/lib/database/AcDbTextStyleTableRecord.js.map +1 -1
  90. package/lib/database/AcDbUcsTable.d.ts +15 -0
  91. package/lib/database/AcDbUcsTable.d.ts.map +1 -0
  92. package/lib/database/AcDbUcsTable.js +33 -0
  93. package/lib/database/AcDbUcsTable.js.map +1 -0
  94. package/lib/database/AcDbUcsTableRecord.d.ts +75 -0
  95. package/lib/database/AcDbUcsTableRecord.d.ts.map +1 -0
  96. package/lib/database/AcDbUcsTableRecord.js +240 -0
  97. package/lib/database/AcDbUcsTableRecord.js.map +1 -0
  98. package/lib/database/AcDbViewTableRecord.d.ts +9 -0
  99. package/lib/database/AcDbViewTableRecord.d.ts.map +1 -1
  100. package/lib/database/AcDbViewTableRecord.js +148 -0
  101. package/lib/database/AcDbViewTableRecord.js.map +1 -1
  102. package/lib/database/AcDbViewportTableRecord.d.ts +8 -0
  103. package/lib/database/AcDbViewportTableRecord.d.ts.map +1 -1
  104. package/lib/database/AcDbViewportTableRecord.js +253 -1
  105. package/lib/database/AcDbViewportTableRecord.js.map +1 -1
  106. package/lib/database/index.d.ts +4 -1
  107. package/lib/database/index.d.ts.map +1 -1
  108. package/lib/database/index.js +2 -0
  109. package/lib/database/index.js.map +1 -1
  110. package/lib/dxf/AcDbDxfAcdsDataReader.d.ts +25 -0
  111. package/lib/dxf/AcDbDxfAcdsDataReader.d.ts.map +1 -0
  112. package/lib/dxf/AcDbDxfAcdsDataReader.js +98 -0
  113. package/lib/dxf/AcDbDxfAcdsDataReader.js.map +1 -0
  114. package/lib/dxf/AcDbDxfDimensionAssembler.d.ts +10 -0
  115. package/lib/dxf/AcDbDxfDimensionAssembler.d.ts.map +1 -0
  116. package/lib/dxf/AcDbDxfDimensionAssembler.js +149 -0
  117. package/lib/dxf/AcDbDxfDimensionAssembler.js.map +1 -0
  118. package/lib/dxf/AcDbDxfDocumentReader.d.ts +105 -0
  119. package/lib/dxf/AcDbDxfDocumentReader.d.ts.map +1 -0
  120. package/lib/dxf/AcDbDxfDocumentReader.js +1093 -0
  121. package/lib/dxf/AcDbDxfDocumentReader.js.map +1 -0
  122. package/lib/dxf/AcDbDxfEntityFactory.d.ts +14 -0
  123. package/lib/dxf/AcDbDxfEntityFactory.d.ts.map +1 -0
  124. package/lib/dxf/AcDbDxfEntityFactory.js +147 -0
  125. package/lib/dxf/AcDbDxfEntityFactory.js.map +1 -0
  126. package/lib/dxf/AcDbDxfHeaderReader.d.ts +9 -0
  127. package/lib/dxf/AcDbDxfHeaderReader.d.ts.map +1 -0
  128. package/lib/dxf/AcDbDxfHeaderReader.js +248 -0
  129. package/lib/dxf/AcDbDxfHeaderReader.js.map +1 -0
  130. package/lib/dxf/AcDbDxfObjectsReader.d.ts +38 -0
  131. package/lib/dxf/AcDbDxfObjectsReader.d.ts.map +1 -0
  132. package/lib/dxf/AcDbDxfObjectsReader.js +533 -0
  133. package/lib/dxf/AcDbDxfObjectsReader.js.map +1 -0
  134. package/lib/dxf/AcDbDxfPairArrayReader.d.ts +27 -0
  135. package/lib/dxf/AcDbDxfPairArrayReader.d.ts.map +1 -0
  136. package/lib/dxf/AcDbDxfPairArrayReader.js +69 -0
  137. package/lib/dxf/AcDbDxfPairArrayReader.js.map +1 -0
  138. package/lib/dxf/AcDbDxfPolylineAssembler.d.ts +11 -0
  139. package/lib/dxf/AcDbDxfPolylineAssembler.d.ts.map +1 -0
  140. package/lib/dxf/AcDbDxfPolylineAssembler.js +318 -0
  141. package/lib/dxf/AcDbDxfPolylineAssembler.js.map +1 -0
  142. package/lib/dxf/AcDbDxfVersionCaps.d.ts +8 -0
  143. package/lib/dxf/AcDbDxfVersionCaps.d.ts.map +1 -0
  144. package/lib/dxf/AcDbDxfVersionCaps.js +18 -0
  145. package/lib/dxf/AcDbDxfVersionCaps.js.map +1 -0
  146. package/lib/dxf/AcDbNativeDxfConverter.d.ts +31 -0
  147. package/lib/dxf/AcDbNativeDxfConverter.d.ts.map +1 -0
  148. package/lib/dxf/AcDbNativeDxfConverter.js +257 -0
  149. package/lib/dxf/AcDbNativeDxfConverter.js.map +1 -0
  150. package/lib/dxf/index.d.ts +12 -0
  151. package/lib/dxf/index.d.ts.map +1 -0
  152. package/lib/dxf/index.js +9 -0
  153. package/lib/dxf/index.js.map +1 -0
  154. package/lib/entity/AcDb3dSolid.d.ts +43 -0
  155. package/lib/entity/AcDb3dSolid.d.ts.map +1 -1
  156. package/lib/entity/AcDb3dSolid.js +154 -16
  157. package/lib/entity/AcDb3dSolid.js.map +1 -1
  158. package/lib/entity/AcDbArc.d.ts +9 -0
  159. package/lib/entity/AcDbArc.d.ts.map +1 -1
  160. package/lib/entity/AcDbArc.js +107 -3
  161. package/lib/entity/AcDbArc.js.map +1 -1
  162. package/lib/entity/AcDbAttribute.d.ts +1 -0
  163. package/lib/entity/AcDbAttribute.d.ts.map +1 -1
  164. package/lib/entity/AcDbAttribute.js +44 -0
  165. package/lib/entity/AcDbAttribute.js.map +1 -1
  166. package/lib/entity/AcDbAttributeDefinition.d.ts +1 -0
  167. package/lib/entity/AcDbAttributeDefinition.d.ts.map +1 -1
  168. package/lib/entity/AcDbAttributeDefinition.js +47 -0
  169. package/lib/entity/AcDbAttributeDefinition.js.map +1 -1
  170. package/lib/entity/AcDbBlockReference.d.ts +26 -0
  171. package/lib/entity/AcDbBlockReference.d.ts.map +1 -1
  172. package/lib/entity/AcDbBlockReference.js +185 -5
  173. package/lib/entity/AcDbBlockReference.js.map +1 -1
  174. package/lib/entity/AcDbCircle.d.ts +9 -0
  175. package/lib/entity/AcDbCircle.d.ts.map +1 -1
  176. package/lib/entity/AcDbCircle.js +73 -1
  177. package/lib/entity/AcDbCircle.js.map +1 -1
  178. package/lib/entity/AcDbEllipse.d.ts +2 -0
  179. package/lib/entity/AcDbEllipse.d.ts.map +1 -1
  180. package/lib/entity/AcDbEllipse.js +71 -0
  181. package/lib/entity/AcDbEllipse.js.map +1 -1
  182. package/lib/entity/AcDbEntity.d.ts +12 -0
  183. package/lib/entity/AcDbEntity.d.ts.map +1 -1
  184. package/lib/entity/AcDbEntity.js +97 -17
  185. package/lib/entity/AcDbEntity.js.map +1 -1
  186. package/lib/entity/AcDbFace.d.ts +1 -0
  187. package/lib/entity/AcDbFace.d.ts.map +1 -1
  188. package/lib/entity/AcDbFace.js +49 -1
  189. package/lib/entity/AcDbFace.js.map +1 -1
  190. package/lib/entity/AcDbFcf.d.ts +1 -0
  191. package/lib/entity/AcDbFcf.d.ts.map +1 -1
  192. package/lib/entity/AcDbFcf.js +71 -0
  193. package/lib/entity/AcDbFcf.js.map +1 -1
  194. package/lib/entity/AcDbHatch.d.ts +17 -0
  195. package/lib/entity/AcDbHatch.d.ts.map +1 -1
  196. package/lib/entity/AcDbHatch.js +629 -4
  197. package/lib/entity/AcDbHatch.js.map +1 -1
  198. package/lib/entity/AcDbLeader.d.ts +1 -0
  199. package/lib/entity/AcDbLeader.d.ts.map +1 -1
  200. package/lib/entity/AcDbLeader.js +135 -0
  201. package/lib/entity/AcDbLeader.js.map +1 -1
  202. package/lib/entity/AcDbLine.d.ts +16 -1
  203. package/lib/entity/AcDbLine.d.ts.map +1 -1
  204. package/lib/entity/AcDbLine.js +102 -3
  205. package/lib/entity/AcDbLine.js.map +1 -1
  206. package/lib/entity/AcDbMLeader.d.ts +22 -0
  207. package/lib/entity/AcDbMLeader.d.ts.map +1 -1
  208. package/lib/entity/AcDbMLeader.js +871 -11
  209. package/lib/entity/AcDbMLeader.js.map +1 -1
  210. package/lib/entity/AcDbMLine.d.ts +1 -0
  211. package/lib/entity/AcDbMLine.d.ts.map +1 -1
  212. package/lib/entity/AcDbMLine.js +168 -0
  213. package/lib/entity/AcDbMLine.js.map +1 -1
  214. package/lib/entity/AcDbMText.d.ts +46 -1
  215. package/lib/entity/AcDbMText.d.ts.map +1 -1
  216. package/lib/entity/AcDbMText.js +278 -4
  217. package/lib/entity/AcDbMText.js.map +1 -1
  218. package/lib/entity/AcDbOle2Frame.d.ts +12 -0
  219. package/lib/entity/AcDbOle2Frame.d.ts.map +1 -1
  220. package/lib/entity/AcDbOle2Frame.js +103 -1
  221. package/lib/entity/AcDbOle2Frame.js.map +1 -1
  222. package/lib/entity/AcDbOleFrame.d.ts +1 -0
  223. package/lib/entity/AcDbOleFrame.d.ts.map +1 -1
  224. package/lib/entity/AcDbOleFrame.js +44 -1
  225. package/lib/entity/AcDbOleFrame.js.map +1 -1
  226. package/lib/entity/AcDbPoint.d.ts +27 -1
  227. package/lib/entity/AcDbPoint.d.ts.map +1 -1
  228. package/lib/entity/AcDbPoint.js +113 -2
  229. package/lib/entity/AcDbPoint.js.map +1 -1
  230. package/lib/entity/AcDbPolyline.d.ts +22 -1
  231. package/lib/entity/AcDbPolyline.d.ts.map +1 -1
  232. package/lib/entity/AcDbPolyline.js +195 -1
  233. package/lib/entity/AcDbPolyline.js.map +1 -1
  234. package/lib/entity/AcDbProxyEntity.d.ts +4 -2
  235. package/lib/entity/AcDbProxyEntity.d.ts.map +1 -1
  236. package/lib/entity/AcDbProxyEntity.js +55 -3
  237. package/lib/entity/AcDbProxyEntity.js.map +1 -1
  238. package/lib/entity/AcDbRasterImage.d.ts +16 -0
  239. package/lib/entity/AcDbRasterImage.d.ts.map +1 -1
  240. package/lib/entity/AcDbRasterImage.js +156 -0
  241. package/lib/entity/AcDbRasterImage.js.map +1 -1
  242. package/lib/entity/AcDbRay.d.ts +1 -0
  243. package/lib/entity/AcDbRay.d.ts.map +1 -1
  244. package/lib/entity/AcDbRay.js +42 -0
  245. package/lib/entity/AcDbRay.js.map +1 -1
  246. package/lib/entity/AcDbShape.d.ts +1 -0
  247. package/lib/entity/AcDbShape.d.ts.map +1 -1
  248. package/lib/entity/AcDbShape.js +76 -1
  249. package/lib/entity/AcDbShape.js.map +1 -1
  250. package/lib/entity/AcDbSpline.d.ts +23 -1
  251. package/lib/entity/AcDbSpline.d.ts.map +1 -1
  252. package/lib/entity/AcDbSpline.js +226 -1
  253. package/lib/entity/AcDbSpline.js.map +1 -1
  254. package/lib/entity/AcDbTable.d.ts +5 -0
  255. package/lib/entity/AcDbTable.d.ts.map +1 -1
  256. package/lib/entity/AcDbTable.js +265 -1
  257. package/lib/entity/AcDbTable.js.map +1 -1
  258. package/lib/entity/AcDbText.d.ts +25 -1
  259. package/lib/entity/AcDbText.d.ts.map +1 -1
  260. package/lib/entity/AcDbText.js +175 -1
  261. package/lib/entity/AcDbText.js.map +1 -1
  262. package/lib/entity/AcDbTextExtentsHelpers.d.ts +2 -2
  263. package/lib/entity/AcDbTextExtentsHelpers.js +3 -3
  264. package/lib/entity/AcDbTextExtentsHelpers.js.map +1 -1
  265. package/lib/entity/AcDbTrace.d.ts +9 -1
  266. package/lib/entity/AcDbTrace.d.ts.map +1 -1
  267. package/lib/entity/AcDbTrace.js +84 -5
  268. package/lib/entity/AcDbTrace.js.map +1 -1
  269. package/lib/entity/AcDbViewport.d.ts +156 -0
  270. package/lib/entity/AcDbViewport.d.ts.map +1 -1
  271. package/lib/entity/AcDbViewport.js +852 -1
  272. package/lib/entity/AcDbViewport.js.map +1 -1
  273. package/lib/entity/AcDbXline.d.ts +1 -0
  274. package/lib/entity/AcDbXline.d.ts.map +1 -1
  275. package/lib/entity/AcDbXline.js +42 -0
  276. package/lib/entity/AcDbXline.js.map +1 -1
  277. package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts +1 -0
  278. package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts.map +1 -1
  279. package/lib/entity/dimension/AcDb3PointAngularDimension.js +163 -0
  280. package/lib/entity/dimension/AcDb3PointAngularDimension.js.map +1 -1
  281. package/lib/entity/dimension/AcDbAlignedDimension.d.ts +2 -0
  282. package/lib/entity/dimension/AcDbAlignedDimension.d.ts.map +1 -1
  283. package/lib/entity/dimension/AcDbAlignedDimension.js +109 -2
  284. package/lib/entity/dimension/AcDbAlignedDimension.js.map +1 -1
  285. package/lib/entity/dimension/AcDbArcDimension.d.ts +1 -0
  286. package/lib/entity/dimension/AcDbArcDimension.d.ts.map +1 -1
  287. package/lib/entity/dimension/AcDbArcDimension.js +68 -0
  288. package/lib/entity/dimension/AcDbArcDimension.js.map +1 -1
  289. package/lib/entity/dimension/AcDbDiametricDimension.d.ts +1 -0
  290. package/lib/entity/dimension/AcDbDiametricDimension.d.ts.map +1 -1
  291. package/lib/entity/dimension/AcDbDiametricDimension.js +77 -0
  292. package/lib/entity/dimension/AcDbDiametricDimension.js.map +1 -1
  293. package/lib/entity/dimension/AcDbDimension.d.ts +50 -1
  294. package/lib/entity/dimension/AcDbDimension.d.ts.map +1 -1
  295. package/lib/entity/dimension/AcDbDimension.js +176 -5
  296. package/lib/entity/dimension/AcDbDimension.js.map +1 -1
  297. package/lib/entity/dimension/AcDbOrdinateDimension.d.ts +1 -0
  298. package/lib/entity/dimension/AcDbOrdinateDimension.d.ts.map +1 -1
  299. package/lib/entity/dimension/AcDbOrdinateDimension.js +46 -0
  300. package/lib/entity/dimension/AcDbOrdinateDimension.js.map +1 -1
  301. package/lib/entity/dimension/AcDbRadialDimension.d.ts +1 -0
  302. package/lib/entity/dimension/AcDbRadialDimension.d.ts.map +1 -1
  303. package/lib/entity/dimension/AcDbRadialDimension.js +69 -0
  304. package/lib/entity/dimension/AcDbRadialDimension.js.map +1 -1
  305. package/lib/index.d.ts +7 -6
  306. package/lib/index.d.ts.map +1 -1
  307. package/lib/index.js +5 -4
  308. package/lib/index.js.map +1 -1
  309. package/lib/ly/AcLyLayerFilterIO.d.ts.map +1 -1
  310. package/lib/ly/AcLyLayerFilterIO.js +5 -0
  311. package/lib/ly/AcLyLayerFilterIO.js.map +1 -1
  312. package/lib/misc/AcDbMemoryEstimator.d.ts.map +1 -1
  313. package/lib/misc/AcDbMemoryEstimator.js +3 -0
  314. package/lib/misc/AcDbMemoryEstimator.js.map +1 -1
  315. package/lib/misc/AcDbOle2FrameGeometry.d.ts +49 -0
  316. package/lib/misc/AcDbOle2FrameGeometry.d.ts.map +1 -0
  317. package/lib/misc/AcDbOle2FrameGeometry.js +66 -0
  318. package/lib/misc/AcDbOle2FrameGeometry.js.map +1 -0
  319. package/lib/misc/AcDbRenderingCache.d.ts +159 -8
  320. package/lib/misc/AcDbRenderingCache.d.ts.map +1 -1
  321. package/lib/misc/AcDbRenderingCache.js +460 -70
  322. package/lib/misc/AcDbRenderingCache.js.map +1 -1
  323. package/lib/misc/index.d.ts +4 -1
  324. package/lib/misc/index.d.ts.map +1 -1
  325. package/lib/misc/index.js +2 -1
  326. package/lib/misc/index.js.map +1 -1
  327. package/lib/misc/proxyGraphic/AcDbProxyGraphic.d.ts +6 -5
  328. package/lib/misc/proxyGraphic/AcDbProxyGraphic.d.ts.map +1 -1
  329. package/lib/misc/proxyGraphic/AcDbProxyGraphic.js +9 -36
  330. package/lib/misc/proxyGraphic/AcDbProxyGraphic.js.map +1 -1
  331. package/lib/misc/proxyGraphic/AcDbProxyGraphicBinaryStream.d.ts +12 -0
  332. package/lib/misc/proxyGraphic/AcDbProxyGraphicBinaryStream.d.ts.map +1 -1
  333. package/lib/misc/proxyGraphic/AcDbProxyGraphicBinaryStream.js +54 -0
  334. package/lib/misc/proxyGraphic/AcDbProxyGraphicBinaryStream.js.map +1 -1
  335. package/lib/misc/proxyGraphic/index.d.ts +1 -1
  336. package/lib/misc/proxyGraphic/index.d.ts.map +1 -1
  337. package/lib/misc/proxyGraphic/index.js +1 -1
  338. package/lib/misc/proxyGraphic/index.js.map +1 -1
  339. package/lib/object/AcDbDictionary.d.ts +7 -0
  340. package/lib/object/AcDbDictionary.d.ts.map +1 -1
  341. package/lib/object/AcDbDictionary.js +35 -0
  342. package/lib/object/AcDbDictionary.js.map +1 -1
  343. package/lib/object/AcDbFilter.d.ts +95 -0
  344. package/lib/object/AcDbFilter.d.ts.map +1 -1
  345. package/lib/object/AcDbFilter.js +256 -1
  346. package/lib/object/AcDbFilter.js.map +1 -1
  347. package/lib/object/AcDbGroup.d.ts +26 -0
  348. package/lib/object/AcDbGroup.d.ts.map +1 -0
  349. package/lib/object/AcDbGroup.js +171 -0
  350. package/lib/object/AcDbGroup.js.map +1 -0
  351. package/lib/object/AcDbIndex.d.ts +1 -0
  352. package/lib/object/AcDbIndex.d.ts.map +1 -1
  353. package/lib/object/AcDbIndex.js +23 -0
  354. package/lib/object/AcDbIndex.js.map +1 -1
  355. package/lib/object/AcDbLayerFilter.d.ts +1 -0
  356. package/lib/object/AcDbLayerFilter.d.ts.map +1 -1
  357. package/lib/object/AcDbLayerFilter.js +21 -0
  358. package/lib/object/AcDbLayerFilter.js.map +1 -1
  359. package/lib/object/AcDbLayerIndex.d.ts +1 -0
  360. package/lib/object/AcDbLayerIndex.d.ts.map +1 -1
  361. package/lib/object/AcDbLayerIndex.js +38 -0
  362. package/lib/object/AcDbLayerIndex.js.map +1 -1
  363. package/lib/object/AcDbMLeaderStyle.d.ts +1 -0
  364. package/lib/object/AcDbMLeaderStyle.d.ts.map +1 -1
  365. package/lib/object/AcDbMLeaderStyle.js +158 -1
  366. package/lib/object/AcDbMLeaderStyle.js.map +1 -1
  367. package/lib/object/AcDbMlineStyle.d.ts +2 -0
  368. package/lib/object/AcDbMlineStyle.d.ts.map +1 -1
  369. package/lib/object/AcDbMlineStyle.js +88 -0
  370. package/lib/object/AcDbMlineStyle.js.map +1 -1
  371. package/lib/object/AcDbRasterImageDef.d.ts +49 -0
  372. package/lib/object/AcDbRasterImageDef.d.ts.map +1 -1
  373. package/lib/object/AcDbRasterImageDef.js +136 -2
  374. package/lib/object/AcDbRasterImageDef.js.map +1 -1
  375. package/lib/object/AcDbSortentsTable.d.ts +14 -0
  376. package/lib/object/AcDbSortentsTable.d.ts.map +1 -0
  377. package/lib/object/AcDbSortentsTable.js +122 -0
  378. package/lib/object/AcDbSortentsTable.js.map +1 -0
  379. package/lib/object/AcDbXrecord.d.ts +8 -0
  380. package/lib/object/AcDbXrecord.d.ts.map +1 -1
  381. package/lib/object/AcDbXrecord.js +43 -2
  382. package/lib/object/AcDbXrecord.js.map +1 -1
  383. package/lib/object/index.d.ts +2 -0
  384. package/lib/object/index.d.ts.map +1 -1
  385. package/lib/object/index.js +2 -0
  386. package/lib/object/index.js.map +1 -1
  387. package/lib/object/layout/AcDbLayout.d.ts +60 -1
  388. package/lib/object/layout/AcDbLayout.d.ts.map +1 -1
  389. package/lib/object/layout/AcDbLayout.js +237 -1
  390. package/lib/object/layout/AcDbLayout.js.map +1 -1
  391. package/lib/object/layout/AcDbPlotSettings.d.ts +11 -0
  392. package/lib/object/layout/AcDbPlotSettings.d.ts.map +1 -1
  393. package/lib/object/layout/AcDbPlotSettings.js +143 -0
  394. package/lib/object/layout/AcDbPlotSettings.js.map +1 -1
  395. package/package.json +4 -4
@@ -63,8 +63,10 @@ var __values = (this && this.__values) || function(o) {
63
63
  import { AcGeArea2d, AcGeBox3d, AcGeMatrix3d, AcGePoint3d, AcGePolyline2d, AcGeVector3d } from '@mlightcad/geometry-engine';
64
64
  import { AcGiMTextAttachmentPoint, AcGiMTextFlowDirection } from '@mlightcad/graphic-interface';
65
65
  import { DEFAULT_MLEADER_STYLE } from '../misc/AcDbConstants';
66
+ import { acdbDecodeMLeaderStyleRawColor } from '../misc/AcDbMLeaderStyleColorCodec';
66
67
  import { AcDbOsnapMode } from '../misc/AcDbOsnapMode';
67
68
  import { AcDbRenderingCache } from '../misc/AcDbRenderingCache';
69
+ import { AcDbMLeaderStyle } from '../object/AcDbMLeaderStyle';
68
70
  import { AcDbEntity } from './AcDbEntity';
69
71
  import { acdbForEachGripIndex } from './AcDbGripHelpers';
70
72
  import { acdbCollectLineSegmentOsnapPoints, acdbPickNearestOsnapPoint } from './AcDbOsnapHelpers';
@@ -1747,8 +1749,11 @@ var AcDbMLeader = /** @class */ (function (_super) {
1747
1749
  });
1748
1750
  }
1749
1751
  var mtextContent = this.getRenderableMTextContent();
1750
- if (this.contentType === AcDbMLeaderContentType.MTextContent &&
1751
- mtextContent) {
1752
+ var shouldDrawMText = !!mtextContent &&
1753
+ (this.contentType === AcDbMLeaderContentType.MTextContent ||
1754
+ this.contentType === AcDbMLeaderContentType.NoneContent ||
1755
+ this.hasMText === true);
1756
+ if (shouldDrawMText && mtextContent) {
1752
1757
  this.applyColorTraits(traits, textColor, originalColor);
1753
1758
  var textHeight = this.getResolvedTextHeight();
1754
1759
  var mtextData = {
@@ -1822,6 +1827,834 @@ var AcDbMLeader = /** @class */ (function (_super) {
1822
1827
  });
1823
1828
  return this;
1824
1829
  };
1830
+ AcDbMLeader.prototype.dxfInFields = function (filer) {
1831
+ var _this = this;
1832
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
1833
+ _super.prototype.dxfInFields.call(this, filer);
1834
+ filer.atSubclassData('AcDbMLeader');
1835
+ // Rebuild leaders from either native CONTEXT_DATA or legacy flat codes.
1836
+ this._leaders.length = 0;
1837
+ var textContent = (_a = this._mtextContent) === null || _a === void 0 ? void 0 : _a.text;
1838
+ var textAnchor = (_c = (_b = this._mtextContent) === null || _b === void 0 ? void 0 : _b.anchorPoint) === null || _c === void 0 ? void 0 : _c.clone();
1839
+ var hasMTextContent = !!this._mtextContent;
1840
+ var blockId = (_d = this._blockContent) === null || _d === void 0 ? void 0 : _d.blockContentId;
1841
+ var blockPos = (_f = (_e = this._blockContent) === null || _e === void 0 ? void 0 : _e.position) === null || _f === void 0 ? void 0 : _f.clone();
1842
+ var blockScale = (_h = (_g = this._blockContent) === null || _g === void 0 ? void 0 : _g.scale) === null || _h === void 0 ? void 0 : _h.clone();
1843
+ var blockRotation = (_j = this._blockContent) === null || _j === void 0 ? void 0 : _j.rotation;
1844
+ var blockNormal = (_l = (_k = this._blockContent) === null || _k === void 0 ? void 0 : _k.normal) === null || _l === void 0 ? void 0 : _l.clone();
1845
+ var blockColor = (_o = (_m = this._blockContent) === null || _m === void 0 ? void 0 : _m.color) === null || _o === void 0 ? void 0 : _o.clone();
1846
+ var blockMatrix = ((_p = this._blockContent) === null || _p === void 0 ? void 0 : _p.transformationMatrix)
1847
+ ? __spreadArray([], __read(this._blockContent.transformationMatrix), false) : [];
1848
+ var hasBlockContent = !!this._blockContent;
1849
+ var contentTypeSet = false;
1850
+ // Native AutoCAD MULTILEADER uses CONTEXT_DATA / version (270). Older
1851
+ // dxfOutFields used a flat layout without those markers.
1852
+ var nativeFormat = false;
1853
+ // Legacy flat-format accumulators (written by older dxfOutFields).
1854
+ var legacyLanding = (_q = this._landingPoint) === null || _q === void 0 ? void 0 : _q.clone();
1855
+ var legacyDogleg = this._doglegVector.clone();
1856
+ var legacyLeader = null;
1857
+ var legacyLine = null;
1858
+ var legacyInLeaders = false;
1859
+ var legacyTextRotDeg;
1860
+ var flushLegacyLine = function () {
1861
+ if (legacyLine && legacyLeader) {
1862
+ legacyLeader.leaderLines.push(legacyLine);
1863
+ }
1864
+ legacyLine = null;
1865
+ };
1866
+ var flushLegacyLeader = function () {
1867
+ flushLegacyLine();
1868
+ if (legacyLeader)
1869
+ _this.addLeader(legacyLeader);
1870
+ legacyLeader = null;
1871
+ };
1872
+ while (!filer.atEndOfObject && !filer.atEof && !filer.atExtendedData) {
1873
+ var item = filer.readItem();
1874
+ if (!item)
1875
+ break;
1876
+ var code = Number(item.code);
1877
+ var n = Number(item.value);
1878
+ var s = String((_r = item.value) !== null && _r !== void 0 ? _r : '');
1879
+ switch (code) {
1880
+ case 100:
1881
+ filer.pushBackItem(item);
1882
+ flushLegacyLeader();
1883
+ this.finishMLeaderDxfIn(textContent, textAnchor, hasMTextContent, blockId, blockPos, blockScale, blockRotation, blockNormal, blockColor, blockMatrix, hasBlockContent, contentTypeSet, legacyLanding, legacyDogleg, legacyTextRotDeg);
1884
+ return this;
1885
+ case 300:
1886
+ if (s === 'CONTEXT_DATA{') {
1887
+ nativeFormat = true;
1888
+ var ctx = this.dxfInContextData(filer);
1889
+ if (ctx.textContent != null) {
1890
+ textContent = ctx.textContent;
1891
+ hasMTextContent = true;
1892
+ }
1893
+ if (ctx.textAnchor) {
1894
+ textAnchor = ctx.textAnchor;
1895
+ hasMTextContent = true;
1896
+ }
1897
+ if (ctx.hasMText != null)
1898
+ this.hasMText = ctx.hasMText;
1899
+ if (ctx.hasBlock != null)
1900
+ this.hasBlock = ctx.hasBlock;
1901
+ if (ctx.blockContentId) {
1902
+ blockId = ctx.blockContentId;
1903
+ hasBlockContent = this.isValidMLeaderHandle(ctx.blockContentId);
1904
+ }
1905
+ if (ctx.blockPosition) {
1906
+ blockPos = ctx.blockPosition;
1907
+ hasBlockContent = true;
1908
+ }
1909
+ if (ctx.blockScale) {
1910
+ blockScale = ctx.blockScale;
1911
+ hasBlockContent = true;
1912
+ }
1913
+ if (ctx.blockRotation != null) {
1914
+ blockRotation = ctx.blockRotation;
1915
+ hasBlockContent = true;
1916
+ }
1917
+ if (ctx.blockNormal) {
1918
+ blockNormal = ctx.blockNormal;
1919
+ hasBlockContent = true;
1920
+ }
1921
+ if (ctx.blockColor) {
1922
+ blockColor = ctx.blockColor;
1923
+ hasBlockContent = true;
1924
+ }
1925
+ if (ctx.blockMatrix.length > 0) {
1926
+ blockMatrix = ctx.blockMatrix;
1927
+ hasBlockContent = true;
1928
+ }
1929
+ if (hasMTextContent && !contentTypeSet) {
1930
+ this.contentType = AcDbMLeaderContentType.MTextContent;
1931
+ contentTypeSet = true;
1932
+ }
1933
+ }
1934
+ break;
1935
+ case 270:
1936
+ nativeFormat = true;
1937
+ this.version = n;
1938
+ break;
1939
+ case 340:
1940
+ this.leaderStyleId = s;
1941
+ this.mleaderStyleId = s;
1942
+ break;
1943
+ case 90:
1944
+ if (!legacyInLeaders)
1945
+ this.propertyOverrideFlag = n;
1946
+ else {
1947
+ flushLegacyLine();
1948
+ legacyLine = {
1949
+ vertices: [],
1950
+ breakPointIndexes: [],
1951
+ breaks: []
1952
+ };
1953
+ }
1954
+ break;
1955
+ case 170:
1956
+ this.leaderLineType = n;
1957
+ break;
1958
+ case 91:
1959
+ this.leaderLineColor = acdbDecodeMLeaderStyleRawColor(n);
1960
+ break;
1961
+ case 341:
1962
+ if (nativeFormat) {
1963
+ this.leaderLineTypeId = s;
1964
+ }
1965
+ else if (this.isValidMLeaderHandle(s)) {
1966
+ // Legacy dxfOutFields wrote block content id as group 341.
1967
+ blockId = s;
1968
+ hasBlockContent = true;
1969
+ }
1970
+ else {
1971
+ this.leaderLineTypeId = s;
1972
+ }
1973
+ break;
1974
+ case 171:
1975
+ if (!legacyInLeaders)
1976
+ this.leaderLineWeight = n;
1977
+ break;
1978
+ case 290:
1979
+ if (nativeFormat)
1980
+ this.landingEnabled = this.readDxfBoolean(item);
1981
+ else
1982
+ this.doglegEnabled = this.readDxfBoolean(item);
1983
+ break;
1984
+ case 291:
1985
+ this.doglegEnabled = this.readDxfBoolean(item);
1986
+ break;
1987
+ case 40:
1988
+ if (nativeFormat)
1989
+ this.doglegLength = n;
1990
+ else
1991
+ this.textHeight = n;
1992
+ break;
1993
+ case 41:
1994
+ this.doglegLength = n;
1995
+ break;
1996
+ case 342:
1997
+ this.arrowheadId = s;
1998
+ break;
1999
+ case 42:
2000
+ if (nativeFormat)
2001
+ this.arrowheadSize = n;
2002
+ else
2003
+ this.textWidth = n;
2004
+ break;
2005
+ case 172:
2006
+ this.contentType = n;
2007
+ contentTypeSet = true;
2008
+ break;
2009
+ case 343:
2010
+ this.textStyleId = s;
2011
+ break;
2012
+ case 173:
2013
+ this.textLeftAttachmentType = n;
2014
+ break;
2015
+ case 95:
2016
+ this.textRightAttachmentType = n;
2017
+ break;
2018
+ case 174:
2019
+ this.textAngleType = n;
2020
+ break;
2021
+ case 175:
2022
+ this.textAlignmentType = n;
2023
+ break;
2024
+ case 92:
2025
+ this.textColor = acdbDecodeMLeaderStyleRawColor(n);
2026
+ break;
2027
+ case 292:
2028
+ this.textFrameEnabled = this.readDxfBoolean(item);
2029
+ break;
2030
+ case 344:
2031
+ if (this.isValidMLeaderHandle(s)) {
2032
+ blockId = s;
2033
+ this.blockContentId = s;
2034
+ hasBlockContent = true;
2035
+ }
2036
+ break;
2037
+ case 93:
2038
+ this.blockContentColor = acdbDecodeMLeaderStyleRawColor(n);
2039
+ break;
2040
+ case 10:
2041
+ if (legacyInLeaders) {
2042
+ filer.pushBackItem(item);
2043
+ var vertex = filer.readPoint3d(10);
2044
+ if (vertex && legacyLine)
2045
+ legacyLine.vertices.push(vertex);
2046
+ }
2047
+ else {
2048
+ filer.pushBackItem(item);
2049
+ var pt = filer.readPoint3d(10);
2050
+ if (!pt)
2051
+ break;
2052
+ if (nativeFormat) {
2053
+ this.blockContentScale = new AcGeVector3d(pt);
2054
+ blockScale = new AcGeVector3d(pt);
2055
+ hasBlockContent = true;
2056
+ }
2057
+ else {
2058
+ legacyLanding = pt;
2059
+ }
2060
+ }
2061
+ break;
2062
+ case 43:
2063
+ this.blockContentRotation = n;
2064
+ blockRotation = n;
2065
+ hasBlockContent = true;
2066
+ break;
2067
+ case 176:
2068
+ this.blockContentConnectionType = n;
2069
+ break;
2070
+ case 293:
2071
+ this.annotativeScaleEnabled = this.readDxfBoolean(item);
2072
+ break;
2073
+ case 94: {
2074
+ this.arrowheadOverrides.push({ index: n });
2075
+ break;
2076
+ }
2077
+ case 345: {
2078
+ var last = this.arrowheadOverrides[this.arrowheadOverrides.length - 1];
2079
+ if (last)
2080
+ last.handle = s;
2081
+ else
2082
+ this.arrowheadOverrides.push({ index: 0, handle: s });
2083
+ break;
2084
+ }
2085
+ case 330:
2086
+ this.blockAttributes.push({ id: s });
2087
+ break;
2088
+ case 177: {
2089
+ var attr = this.blockAttributes[this.blockAttributes.length - 1];
2090
+ if (attr)
2091
+ attr.index = n;
2092
+ break;
2093
+ }
2094
+ case 44: {
2095
+ var attr = this.blockAttributes[this.blockAttributes.length - 1];
2096
+ if (attr)
2097
+ attr.width = n;
2098
+ break;
2099
+ }
2100
+ case 302: {
2101
+ var attr = this.blockAttributes[this.blockAttributes.length - 1];
2102
+ if (attr)
2103
+ attr.text = s;
2104
+ break;
2105
+ }
2106
+ case 294:
2107
+ this.textDirectionNegative = this.readDxfBoolean(item);
2108
+ break;
2109
+ case 178:
2110
+ this.textAlignInIPE = n;
2111
+ break;
2112
+ case 179:
2113
+ if (n !== 0) {
2114
+ this.textAttachmentPoint = n;
2115
+ }
2116
+ break;
2117
+ case 271:
2118
+ this.textAttachmentDirection =
2119
+ n;
2120
+ break;
2121
+ case 272:
2122
+ this.bottomTextAttachmentDirection = n;
2123
+ break;
2124
+ case 273:
2125
+ this.topTextAttachmentDirection = n;
2126
+ break;
2127
+ // ---- Legacy flat format (older dxfOutFields) ----
2128
+ case 210:
2129
+ filer.pushBackItem(item);
2130
+ {
2131
+ var normal = filer.readVector3d(210);
2132
+ if (normal)
2133
+ this.normal = normal;
2134
+ }
2135
+ break;
2136
+ case 110:
2137
+ flushLegacyLeader();
2138
+ legacyInLeaders = true;
2139
+ filer.pushBackItem(item);
2140
+ {
2141
+ var landing = filer.readPoint3d(110);
2142
+ legacyLeader = {
2143
+ landingPoint: landing,
2144
+ doglegVector: new AcGeVector3d(1, 0, 0),
2145
+ doglegLength: 0,
2146
+ breaks: [],
2147
+ leaderLines: []
2148
+ };
2149
+ }
2150
+ break;
2151
+ case 111:
2152
+ if (legacyLeader) {
2153
+ filer.pushBackItem(item);
2154
+ var dogleg = filer.readVector3d(111);
2155
+ if (dogleg)
2156
+ legacyLeader.doglegVector = dogleg;
2157
+ }
2158
+ break;
2159
+ case 140:
2160
+ if (legacyLeader)
2161
+ legacyLeader.doglegLength = n;
2162
+ else
2163
+ this.arrowheadSize = n;
2164
+ break;
2165
+ case 1:
2166
+ textContent = s;
2167
+ hasMTextContent = true;
2168
+ break;
2169
+ case 12:
2170
+ filer.pushBackItem(item);
2171
+ {
2172
+ var anchor = filer.readPoint3d(12);
2173
+ if (anchor) {
2174
+ textAnchor = anchor;
2175
+ hasMTextContent = true;
2176
+ }
2177
+ }
2178
+ break;
2179
+ case 7:
2180
+ this.textStyleName = s;
2181
+ break;
2182
+ case 50:
2183
+ legacyTextRotDeg = n;
2184
+ break;
2185
+ case 15:
2186
+ filer.pushBackItem(item);
2187
+ {
2188
+ var pos = filer.readPoint3d(15);
2189
+ if (pos) {
2190
+ blockPos = pos;
2191
+ hasBlockContent = true;
2192
+ }
2193
+ }
2194
+ break;
2195
+ case 16:
2196
+ filer.pushBackItem(item);
2197
+ {
2198
+ var scale = filer.readVector3d(16);
2199
+ if (scale) {
2200
+ blockScale = scale;
2201
+ hasBlockContent = true;
2202
+ }
2203
+ }
2204
+ break;
2205
+ case 52:
2206
+ blockRotation = (n * Math.PI) / 180;
2207
+ hasBlockContent = true;
2208
+ break;
2209
+ case 11:
2210
+ if (!legacyInLeaders && !nativeFormat) {
2211
+ filer.pushBackItem(item);
2212
+ var dogleg = filer.readVector3d(11);
2213
+ if (dogleg)
2214
+ legacyDogleg = dogleg;
2215
+ }
2216
+ break;
2217
+ default:
2218
+ break;
2219
+ }
2220
+ }
2221
+ flushLegacyLeader();
2222
+ this.finishMLeaderDxfIn(textContent, textAnchor, hasMTextContent, blockId, blockPos, blockScale, blockRotation, blockNormal, blockColor, blockMatrix, hasBlockContent, contentTypeSet, legacyLanding, legacyDogleg, legacyTextRotDeg);
2223
+ return this;
2224
+ };
2225
+ /**
2226
+ * Finalizes MLEADER fields after DXF group codes are consumed.
2227
+ */
2228
+ AcDbMLeader.prototype.finishMLeaderDxfIn = function (textContent, textAnchor, hasMTextContent, blockId, blockPos, blockScale, blockRotation, blockNormal, blockColor, blockMatrix, hasBlockContent, contentTypeSet, legacyLanding, legacyDogleg, legacyTextRotDeg) {
2229
+ var _a, _b;
2230
+ if (legacyLanding)
2231
+ this.landingPoint = legacyLanding;
2232
+ this.doglegVector = legacyDogleg;
2233
+ if (legacyTextRotDeg != null) {
2234
+ this.textRotation = (legacyTextRotDeg * Math.PI) / 180;
2235
+ }
2236
+ // Resolve text style handle → name so font collection / renderer can find it.
2237
+ if (!this.textStyleName && this.textStyleId) {
2238
+ var record = this.database.tables.textStyleTable.getIdAt(this.textStyleId);
2239
+ if (record === null || record === void 0 ? void 0 : record.name)
2240
+ this.textStyleName = record.name;
2241
+ }
2242
+ var anchor = (_b = (_a = textAnchor !== null && textAnchor !== void 0 ? textAnchor : this.textAnchor) !== null && _a !== void 0 ? _a : this.contentBasePosition) !== null && _b !== void 0 ? _b : legacyLanding;
2243
+ if ((hasMTextContent || this.hasMText) && textContent != null && anchor) {
2244
+ this.mtextContent = {
2245
+ text: textContent,
2246
+ anchorPoint: anchor.clone()
2247
+ };
2248
+ if (!this.textAnchor)
2249
+ this.textAnchor = anchor.clone();
2250
+ if (!contentTypeSet) {
2251
+ this.contentType = AcDbMLeaderContentType.MTextContent;
2252
+ }
2253
+ }
2254
+ else if ((hasMTextContent || this.hasMText) && textContent != null && !anchor) {
2255
+ if (!contentTypeSet) {
2256
+ this.contentType = AcDbMLeaderContentType.MTextContent;
2257
+ }
2258
+ }
2259
+ // Prefer MText when both content types appear (AutoCAD writes block-scale
2260
+ // fields even for MText leaders; blockContentId "0" must be ignored).
2261
+ if (hasBlockContent &&
2262
+ this.isValidMLeaderHandle(blockId) &&
2263
+ this.contentType !== AcDbMLeaderContentType.MTextContent &&
2264
+ !this.mtextContent) {
2265
+ this.blockContent = {
2266
+ blockContentId: blockId,
2267
+ position: blockPos,
2268
+ scale: blockScale !== null && blockScale !== void 0 ? blockScale : new AcGeVector3d(1, 1, 1),
2269
+ rotation: blockRotation !== null && blockRotation !== void 0 ? blockRotation : 0,
2270
+ normal: blockNormal,
2271
+ color: blockColor,
2272
+ transformationMatrix: blockMatrix
2273
+ };
2274
+ if (!contentTypeSet &&
2275
+ this.contentType === AcDbMLeaderContentType.NoneContent) {
2276
+ this.contentType = AcDbMLeaderContentType.BlockContent;
2277
+ }
2278
+ }
2279
+ };
2280
+ /**
2281
+ * Parses the native AutoCAD `CONTEXT_DATA{ ... }` block (group 300/301).
2282
+ *
2283
+ * Mirrors dxf-json `parseContextData` so built-in DXF reading matches the
2284
+ * converter path used by `@mlightcad/dxf-json`.
2285
+ */
2286
+ AcDbMLeader.prototype.dxfInContextData = function (filer) {
2287
+ var _a;
2288
+ var result = { blockMatrix: [] };
2289
+ while (!filer.atEof) {
2290
+ var item = filer.readItem();
2291
+ if (!item)
2292
+ break;
2293
+ var code = Number(item.code);
2294
+ var n = Number(item.value);
2295
+ var s = String((_a = item.value) !== null && _a !== void 0 ? _a : '');
2296
+ if (code === 301)
2297
+ break;
2298
+ if (code === 0) {
2299
+ filer.pushBackItem(item);
2300
+ break;
2301
+ }
2302
+ switch (code) {
2303
+ case 10:
2304
+ filer.pushBackItem(item);
2305
+ this.contentBasePosition = filer.readPoint3d(10);
2306
+ break;
2307
+ case 11:
2308
+ filer.pushBackItem(item);
2309
+ {
2310
+ var normal = filer.readVector3d(11);
2311
+ if (normal)
2312
+ this.normal = normal;
2313
+ }
2314
+ break;
2315
+ case 12:
2316
+ filer.pushBackItem(item);
2317
+ {
2318
+ var anchor = filer.readPoint3d(12);
2319
+ if (anchor) {
2320
+ result.textAnchor = anchor;
2321
+ this.textAnchor = anchor.clone();
2322
+ }
2323
+ }
2324
+ break;
2325
+ case 13:
2326
+ filer.pushBackItem(item);
2327
+ {
2328
+ var direction = filer.readVector3d(13);
2329
+ if (direction)
2330
+ this.textDirection = direction;
2331
+ }
2332
+ break;
2333
+ case 14:
2334
+ filer.pushBackItem(item);
2335
+ result.blockNormal = filer.readVector3d(14);
2336
+ break;
2337
+ case 15:
2338
+ filer.pushBackItem(item);
2339
+ result.blockPosition = filer.readPoint3d(15);
2340
+ break;
2341
+ case 16:
2342
+ filer.pushBackItem(item);
2343
+ result.blockScale = filer.readVector3d(16);
2344
+ break;
2345
+ case 40:
2346
+ this.contentScale = n;
2347
+ break;
2348
+ case 41:
2349
+ // Primary text height. Keep the first positive value; later code 44
2350
+ // is often written as 0.0 by AutoCAD and must not wipe this.
2351
+ if (n > 0)
2352
+ this.textHeight = n;
2353
+ break;
2354
+ case 42:
2355
+ // CONTEXT_DATA stores text rotation in radians.
2356
+ this.textRotation = n;
2357
+ break;
2358
+ case 43:
2359
+ // Width 0 means "auto" in AutoCAD — keep prior positive width.
2360
+ if (n > 0)
2361
+ this.textWidth = n;
2362
+ break;
2363
+ case 44:
2364
+ if (n > 0)
2365
+ this.textHeight = n;
2366
+ break;
2367
+ case 45:
2368
+ this.textLineSpacingFactor = n;
2369
+ break;
2370
+ case 46:
2371
+ result.blockRotation = n;
2372
+ break;
2373
+ case 47:
2374
+ result.blockMatrix.push(n);
2375
+ break;
2376
+ case 90:
2377
+ this.textColor = acdbDecodeMLeaderStyleRawColor(n);
2378
+ break;
2379
+ case 91:
2380
+ this.textBackgroundColor = acdbDecodeMLeaderStyleRawColor(n);
2381
+ break;
2382
+ case 92:
2383
+ this.textBackgroundTransparency = n;
2384
+ break;
2385
+ case 93:
2386
+ result.blockColor = acdbDecodeMLeaderStyleRawColor(n);
2387
+ break;
2388
+ case 110:
2389
+ filer.pushBackItem(item);
2390
+ this.planeOrigin = filer.readPoint3d(110);
2391
+ break;
2392
+ case 111:
2393
+ filer.pushBackItem(item);
2394
+ this.planeXAxisDirection = filer.readVector3d(111);
2395
+ break;
2396
+ case 112:
2397
+ filer.pushBackItem(item);
2398
+ this.planeYAxisDirection = filer.readVector3d(112);
2399
+ break;
2400
+ case 140:
2401
+ this.arrowheadSize = n;
2402
+ break;
2403
+ case 141:
2404
+ this.textBackgroundScaleFactor = n;
2405
+ break;
2406
+ case 142:
2407
+ this.textColumnWidth = n;
2408
+ break;
2409
+ case 143:
2410
+ this.textColumnGutterWidth = n;
2411
+ break;
2412
+ case 144:
2413
+ this.textColumnHeight = n;
2414
+ break;
2415
+ case 145:
2416
+ this.landingGap = n;
2417
+ break;
2418
+ case 170:
2419
+ this.textLineSpacingStyle = n;
2420
+ break;
2421
+ case 171:
2422
+ this.textAttachment = n;
2423
+ break;
2424
+ case 172:
2425
+ this.textFlowDirection = n;
2426
+ break;
2427
+ case 173:
2428
+ this.textColumnType = n;
2429
+ break;
2430
+ case 290:
2431
+ result.hasMText = this.readDxfBoolean(item);
2432
+ this.hasMText = result.hasMText;
2433
+ break;
2434
+ case 291:
2435
+ this.textBackgroundColorOn = this.readDxfBoolean(item);
2436
+ break;
2437
+ case 292:
2438
+ this.textFillOn = this.readDxfBoolean(item);
2439
+ break;
2440
+ case 293:
2441
+ this.textUseAutoHeight = this.readDxfBoolean(item);
2442
+ break;
2443
+ case 294:
2444
+ this.textColumnFlowReversed = this.readDxfBoolean(item);
2445
+ break;
2446
+ case 295:
2447
+ this.textUseWordBreak = this.readDxfBoolean(item);
2448
+ break;
2449
+ case 296:
2450
+ result.hasBlock = this.readDxfBoolean(item);
2451
+ this.hasBlock = result.hasBlock;
2452
+ break;
2453
+ case 297:
2454
+ this.planeNormalReversed = this.readDxfBoolean(item);
2455
+ break;
2456
+ case 302:
2457
+ if (s === 'LEADER{') {
2458
+ var leader = this.dxfInLeaderSection(filer);
2459
+ this.addLeader(leader);
2460
+ }
2461
+ break;
2462
+ case 304:
2463
+ if (s !== 'LEADER_LINE{') {
2464
+ result.textContent = s;
2465
+ this.hasMText = true;
2466
+ }
2467
+ break;
2468
+ case 340:
2469
+ this.textStyleId = s;
2470
+ break;
2471
+ case 341:
2472
+ result.blockContentId = s;
2473
+ if (this.isValidMLeaderHandle(s))
2474
+ this.blockContentId = s;
2475
+ break;
2476
+ default:
2477
+ break;
2478
+ }
2479
+ }
2480
+ return result;
2481
+ };
2482
+ /**
2483
+ * Parses one `LEADER{ ... }` section (group 302/303) inside CONTEXT_DATA.
2484
+ */
2485
+ AcDbMLeader.prototype.dxfInLeaderSection = function (filer) {
2486
+ var _a;
2487
+ var leader = {
2488
+ breaks: [],
2489
+ leaderLines: []
2490
+ };
2491
+ var currentBreak;
2492
+ var pushBreak = function () {
2493
+ if (!currentBreak)
2494
+ return;
2495
+ leader.breaks.push(currentBreak);
2496
+ currentBreak = undefined;
2497
+ };
2498
+ while (!filer.atEof) {
2499
+ var item = filer.readItem();
2500
+ if (!item)
2501
+ break;
2502
+ var code = Number(item.code);
2503
+ var n = Number(item.value);
2504
+ var s = String((_a = item.value) !== null && _a !== void 0 ? _a : '');
2505
+ if (code === 303) {
2506
+ pushBreak();
2507
+ break;
2508
+ }
2509
+ if (code === 0 || code === 301) {
2510
+ filer.pushBackItem(item);
2511
+ pushBreak();
2512
+ break;
2513
+ }
2514
+ switch (code) {
2515
+ case 290:
2516
+ leader.lastLeaderLinePointSet = this.readDxfBoolean(item);
2517
+ break;
2518
+ case 291:
2519
+ leader.doglegVectorSet = this.readDxfBoolean(item);
2520
+ break;
2521
+ case 10:
2522
+ filer.pushBackItem(item);
2523
+ leader.lastLeaderLinePoint = filer.readPoint3d(10);
2524
+ break;
2525
+ case 11:
2526
+ filer.pushBackItem(item);
2527
+ leader.doglegVector = filer.readVector3d(11);
2528
+ break;
2529
+ case 12:
2530
+ filer.pushBackItem(item);
2531
+ {
2532
+ var start = filer.readPoint3d(12);
2533
+ if (start)
2534
+ currentBreak = { start: start, end: start.clone() };
2535
+ }
2536
+ break;
2537
+ case 13:
2538
+ filer.pushBackItem(item);
2539
+ {
2540
+ var end = filer.readPoint3d(13);
2541
+ if (currentBreak && end) {
2542
+ currentBreak.end = end;
2543
+ pushBreak();
2544
+ }
2545
+ }
2546
+ break;
2547
+ case 90:
2548
+ leader.leaderBranchIndex = n;
2549
+ break;
2550
+ case 40:
2551
+ leader.doglegLength = n;
2552
+ break;
2553
+ case 304:
2554
+ if (s === 'LEADER_LINE{') {
2555
+ leader.leaderLines.push(this.dxfInLeaderLine(filer));
2556
+ }
2557
+ break;
2558
+ default:
2559
+ break;
2560
+ }
2561
+ }
2562
+ return leader;
2563
+ };
2564
+ /**
2565
+ * Parses one `LEADER_LINE{ ... }` block (group 304/305) inside a LEADER section.
2566
+ */
2567
+ AcDbMLeader.prototype.dxfInLeaderLine = function (filer) {
2568
+ var _a, _b;
2569
+ var line = {
2570
+ vertices: [],
2571
+ breakPointIndexes: [],
2572
+ breaks: []
2573
+ };
2574
+ var currentBreak;
2575
+ var pushBreak = function () {
2576
+ if (!currentBreak)
2577
+ return;
2578
+ line.breaks.push(currentBreak);
2579
+ currentBreak = undefined;
2580
+ };
2581
+ while (!filer.atEof) {
2582
+ var item = filer.readItem();
2583
+ if (!item)
2584
+ break;
2585
+ var code = Number(item.code);
2586
+ var n = Number(item.value);
2587
+ if (code === 305) {
2588
+ pushBreak();
2589
+ break;
2590
+ }
2591
+ if (code === 0 || code === 303 || code === 301) {
2592
+ filer.pushBackItem(item);
2593
+ pushBreak();
2594
+ break;
2595
+ }
2596
+ switch (code) {
2597
+ case 10:
2598
+ filer.pushBackItem(item);
2599
+ {
2600
+ var vertex = filer.readPoint3d(10);
2601
+ if (vertex)
2602
+ line.vertices.push(vertex);
2603
+ }
2604
+ break;
2605
+ case 11:
2606
+ filer.pushBackItem(item);
2607
+ {
2608
+ var start = filer.readPoint3d(11);
2609
+ if (start) {
2610
+ currentBreak = {
2611
+ index: currentBreak === null || currentBreak === void 0 ? void 0 : currentBreak.index,
2612
+ start: start,
2613
+ end: start.clone()
2614
+ };
2615
+ }
2616
+ }
2617
+ break;
2618
+ case 12:
2619
+ filer.pushBackItem(item);
2620
+ {
2621
+ var end = filer.readPoint3d(12);
2622
+ if (currentBreak && end) {
2623
+ currentBreak.end = end;
2624
+ pushBreak();
2625
+ }
2626
+ }
2627
+ break;
2628
+ case 90:
2629
+ line.breakPointIndexes.push(n);
2630
+ currentBreak = {
2631
+ index: n,
2632
+ start: (_a = currentBreak === null || currentBreak === void 0 ? void 0 : currentBreak.start) !== null && _a !== void 0 ? _a : new AcGePoint3d(),
2633
+ end: (_b = currentBreak === null || currentBreak === void 0 ? void 0 : currentBreak.end) !== null && _b !== void 0 ? _b : new AcGePoint3d()
2634
+ };
2635
+ break;
2636
+ case 91:
2637
+ line.leaderLineIndex = n;
2638
+ break;
2639
+ default:
2640
+ break;
2641
+ }
2642
+ }
2643
+ return line;
2644
+ };
2645
+ AcDbMLeader.prototype.readDxfBoolean = function (item) {
2646
+ var _a;
2647
+ if (typeof item.value === 'boolean')
2648
+ return item.value;
2649
+ var n = Number(item.value);
2650
+ if (Number.isFinite(n))
2651
+ return n !== 0;
2652
+ var s = String((_a = item.value) !== null && _a !== void 0 ? _a : '');
2653
+ return s !== '' && s !== '0';
2654
+ };
2655
+ AcDbMLeader.prototype.isValidMLeaderHandle = function (id) {
2656
+ return id != null && id !== '' && id !== '0';
2657
+ };
1825
2658
  /**
1826
2659
  * Creates a concrete point from point-like input.
1827
2660
  *
@@ -2398,12 +3231,35 @@ var AcDbMLeader = /** @class */ (function (_super) {
2398
3231
  * @returns Resolved style object or `undefined` when not available.
2399
3232
  */
2400
3233
  AcDbMLeader.prototype.getMLeaderStyle = function () {
3234
+ var e_2, _a;
3235
+ var _b, _c;
2401
3236
  var dictionary = this.database.objects.mleaderStyle;
2402
- var styleId = this.mleaderStyleId || this.leaderStyleId;
3237
+ var styleId = (_b = (this.mleaderStyleId || this.leaderStyleId)) === null || _b === void 0 ? void 0 : _b.trim();
2403
3238
  if (styleId) {
2404
3239
  var style = dictionary.getIdAt(styleId);
2405
3240
  if (style)
2406
3241
  return style;
3242
+ // Fallback: native DXF may key styles by handle before the named
3243
+ // dictionary rewires ownerId, so getIdAt can miss. Scan entries by id.
3244
+ var normalized = styleId.toUpperCase();
3245
+ try {
3246
+ for (var _d = __values(dictionary.entries()), _e = _d.next(); !_e.done; _e = _d.next()) {
3247
+ var _f = __read(_e.value, 2), candidate = _f[1];
3248
+ if (((_c = candidate.objectId) === null || _c === void 0 ? void 0 : _c.toUpperCase()) === normalized) {
3249
+ return candidate;
3250
+ }
3251
+ }
3252
+ }
3253
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
3254
+ finally {
3255
+ try {
3256
+ if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
3257
+ }
3258
+ finally { if (e_2) throw e_2.error; }
3259
+ }
3260
+ var byDb = this.database.getObjectById(styleId);
3261
+ if (byDb instanceof AcDbMLeaderStyle)
3262
+ return byDb;
2407
3263
  }
2408
3264
  return this.getDefaultMLeaderStyle();
2409
3265
  };
@@ -2425,7 +3281,7 @@ var AcDbMLeader = /** @class */ (function (_super) {
2425
3281
  * @returns Matching style object, or `undefined` when not found.
2426
3282
  */
2427
3283
  AcDbMLeader.prototype.resolveMLeaderStyleByName = function (styleName) {
2428
- var e_2, _a;
3284
+ var e_3, _a;
2429
3285
  var rawName = styleName === null || styleName === void 0 ? void 0 : styleName.trim();
2430
3286
  if (!rawName)
2431
3287
  return undefined;
@@ -2445,12 +3301,12 @@ var AcDbMLeader = /** @class */ (function (_super) {
2445
3301
  }
2446
3302
  }
2447
3303
  }
2448
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
3304
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
2449
3305
  finally {
2450
3306
  try {
2451
3307
  if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
2452
3308
  }
2453
- finally { if (e_2) throw e_2.error; }
3309
+ finally { if (e_3) throw e_3.error; }
2454
3310
  }
2455
3311
  return undefined;
2456
3312
  };
@@ -2601,16 +3457,20 @@ var AcDbMLeader = /** @class */ (function (_super) {
2601
3457
  AcDbMLeader.prototype.getResolvedComponentColor = function (entityColor, styleColor, overrideFlagMask) {
2602
3458
  if (!entityColor)
2603
3459
  return styleColor;
3460
+ // Explicit ACI / true-color on the MULTILEADER entity is authoritative.
3461
+ // AutoCAD writes context/common raw colors even when the matching
3462
+ // property-override bit is clear, and those flags are unreliable
3463
+ // (ezdxf ignores them for rendering). Prefer the entity color so yellow /
3464
+ // green MText is not replaced by a ByBlock style fallback (white).
3465
+ if (!entityColor.isByBlock && !entityColor.isByLayer) {
3466
+ return entityColor;
3467
+ }
2604
3468
  var overrideEnabled = this.isPropertyOverrideEnabled(overrideFlagMask);
2605
3469
  if (overrideEnabled === true)
2606
3470
  return entityColor;
2607
3471
  if (overrideEnabled === false)
2608
3472
  return styleColor !== null && styleColor !== void 0 ? styleColor : entityColor;
2609
- // Some DXF producers always write entity color fields as ByBlock/ByLayer even
2610
- // when no override flag is enabled. Prefer style color in that ambiguous case.
2611
- if (!entityColor.isByBlock && !entityColor.isByLayer) {
2612
- return entityColor;
2613
- }
3473
+ // Entity is ByBlock/ByLayer and override flag is absent: prefer style.
2614
3474
  return styleColor !== null && styleColor !== void 0 ? styleColor : entityColor;
2615
3475
  };
2616
3476
  /**