@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.
- package/README.md +19 -12
- package/dist/data-model.cjs +15 -12
- package/lib/acis/AcDbAcisDecrypt.d.ts +51 -0
- package/lib/acis/AcDbAcisDecrypt.d.ts.map +1 -0
- package/lib/acis/AcDbAcisDecrypt.js +98 -0
- package/lib/acis/AcDbAcisDecrypt.js.map +1 -0
- package/lib/acis/index.d.ts +1 -0
- package/lib/acis/index.d.ts.map +1 -1
- package/lib/acis/index.js +1 -0
- package/lib/acis/index.js.map +1 -1
- package/lib/base/AcDbDxfFiler.d.ts +140 -4
- package/lib/base/AcDbDxfFiler.d.ts.map +1 -1
- package/lib/base/AcDbDxfFiler.js +690 -9
- package/lib/base/AcDbDxfFiler.js.map +1 -1
- package/lib/base/AcDbDxfGroupCodeTypes.d.ts +12 -0
- package/lib/base/AcDbDxfGroupCodeTypes.d.ts.map +1 -0
- package/lib/base/AcDbDxfGroupCodeTypes.js +96 -0
- package/lib/base/AcDbDxfGroupCodeTypes.js.map +1 -0
- package/lib/base/AcDbDxfPair.d.ts +38 -0
- package/lib/base/AcDbDxfPair.d.ts.map +1 -0
- package/lib/base/AcDbDxfPair.js +2 -0
- package/lib/base/AcDbDxfPair.js.map +1 -0
- package/lib/base/AcDbDxfPairReader.d.ts +65 -0
- package/lib/base/AcDbDxfPairReader.d.ts.map +1 -0
- package/lib/base/AcDbDxfPairReader.js +539 -0
- package/lib/base/AcDbDxfPairReader.js.map +1 -0
- package/lib/base/AcDbDxfStringChunks.d.ts +41 -0
- package/lib/base/AcDbDxfStringChunks.d.ts.map +1 -0
- package/lib/base/AcDbDxfStringChunks.js +121 -0
- package/lib/base/AcDbDxfStringChunks.js.map +1 -0
- package/lib/base/AcDbObject.d.ts +48 -0
- package/lib/base/AcDbObject.d.ts.map +1 -1
- package/lib/base/AcDbObject.js +166 -17
- package/lib/base/AcDbObject.js.map +1 -1
- package/lib/base/index.d.ts +10 -3
- package/lib/base/index.d.ts.map +1 -1
- package/lib/base/index.js +5 -2
- package/lib/base/index.js.map +1 -1
- package/lib/converter/AcDbBatchProcessing.d.ts +2 -2
- package/lib/converter/AcDbBatchProcessing.d.ts.map +1 -1
- package/lib/converter/AcDbBatchProcessing.js +15 -16
- package/lib/converter/AcDbBatchProcessing.js.map +1 -1
- package/lib/converter/AcDbFontNameCollector.d.ts +4 -0
- package/lib/converter/AcDbFontNameCollector.d.ts.map +1 -1
- package/lib/converter/AcDbFontNameCollector.js +6 -0
- package/lib/converter/AcDbFontNameCollector.js.map +1 -1
- package/lib/database/AcDbBlockTableRecord.d.ts +18 -2
- package/lib/database/AcDbBlockTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbBlockTableRecord.js +67 -2
- package/lib/database/AcDbBlockTableRecord.js.map +1 -1
- package/lib/database/AcDbDatabase.d.ts +55 -8
- package/lib/database/AcDbDatabase.d.ts.map +1 -1
- package/lib/database/AcDbDatabase.js +385 -87
- package/lib/database/AcDbDatabase.js.map +1 -1
- package/lib/database/AcDbDatabaseConverterManager.d.ts +10 -0
- package/lib/database/AcDbDatabaseConverterManager.d.ts.map +1 -1
- package/lib/database/AcDbDatabaseConverterManager.js +12 -0
- package/lib/database/AcDbDatabaseConverterManager.js.map +1 -1
- package/lib/database/AcDbDimStyleTableRecord.d.ts +9 -0
- package/lib/database/AcDbDimStyleTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbDimStyleTableRecord.js +277 -0
- package/lib/database/AcDbDimStyleTableRecord.js.map +1 -1
- package/lib/database/AcDbDwgVersion.d.ts +37 -0
- package/lib/database/AcDbDwgVersion.d.ts.map +1 -1
- package/lib/database/AcDbDwgVersion.js +31 -6
- package/lib/database/AcDbDwgVersion.js.map +1 -1
- package/lib/database/AcDbLayerTableRecord.d.ts +1 -0
- package/lib/database/AcDbLayerTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbLayerTableRecord.js +52 -1
- package/lib/database/AcDbLayerTableRecord.js.map +1 -1
- package/lib/database/AcDbLinetypeTableRecord.d.ts +1 -0
- package/lib/database/AcDbLinetypeTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbLinetypeTableRecord.js +60 -0
- package/lib/database/AcDbLinetypeTableRecord.js.map +1 -1
- package/lib/database/AcDbRegAppTableRecord.d.ts +1 -0
- package/lib/database/AcDbRegAppTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbRegAppTableRecord.js +26 -0
- package/lib/database/AcDbRegAppTableRecord.js.map +1 -1
- package/lib/database/AcDbSysVarManager.d.ts.map +1 -1
- package/lib/database/AcDbSysVarManager.js +11 -0
- package/lib/database/AcDbSysVarManager.js.map +1 -1
- package/lib/database/AcDbSystemVariables.d.ts +9 -1
- package/lib/database/AcDbSystemVariables.d.ts.map +1 -1
- package/lib/database/AcDbSystemVariables.js +8 -0
- package/lib/database/AcDbSystemVariables.js.map +1 -1
- package/lib/database/AcDbTextStyleTableRecord.d.ts +9 -0
- package/lib/database/AcDbTextStyleTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbTextStyleTableRecord.js +101 -0
- package/lib/database/AcDbTextStyleTableRecord.js.map +1 -1
- package/lib/database/AcDbUcsTable.d.ts +15 -0
- package/lib/database/AcDbUcsTable.d.ts.map +1 -0
- package/lib/database/AcDbUcsTable.js +33 -0
- package/lib/database/AcDbUcsTable.js.map +1 -0
- package/lib/database/AcDbUcsTableRecord.d.ts +75 -0
- package/lib/database/AcDbUcsTableRecord.d.ts.map +1 -0
- package/lib/database/AcDbUcsTableRecord.js +240 -0
- package/lib/database/AcDbUcsTableRecord.js.map +1 -0
- package/lib/database/AcDbViewTableRecord.d.ts +9 -0
- package/lib/database/AcDbViewTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbViewTableRecord.js +148 -0
- package/lib/database/AcDbViewTableRecord.js.map +1 -1
- package/lib/database/AcDbViewportTableRecord.d.ts +8 -0
- package/lib/database/AcDbViewportTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbViewportTableRecord.js +253 -1
- package/lib/database/AcDbViewportTableRecord.js.map +1 -1
- package/lib/database/index.d.ts +4 -1
- package/lib/database/index.d.ts.map +1 -1
- package/lib/database/index.js +2 -0
- package/lib/database/index.js.map +1 -1
- package/lib/dxf/AcDbDxfAcdsDataReader.d.ts +25 -0
- package/lib/dxf/AcDbDxfAcdsDataReader.d.ts.map +1 -0
- package/lib/dxf/AcDbDxfAcdsDataReader.js +98 -0
- package/lib/dxf/AcDbDxfAcdsDataReader.js.map +1 -0
- package/lib/dxf/AcDbDxfDimensionAssembler.d.ts +10 -0
- package/lib/dxf/AcDbDxfDimensionAssembler.d.ts.map +1 -0
- package/lib/dxf/AcDbDxfDimensionAssembler.js +149 -0
- package/lib/dxf/AcDbDxfDimensionAssembler.js.map +1 -0
- package/lib/dxf/AcDbDxfDocumentReader.d.ts +105 -0
- package/lib/dxf/AcDbDxfDocumentReader.d.ts.map +1 -0
- package/lib/dxf/AcDbDxfDocumentReader.js +1093 -0
- package/lib/dxf/AcDbDxfDocumentReader.js.map +1 -0
- package/lib/dxf/AcDbDxfEntityFactory.d.ts +14 -0
- package/lib/dxf/AcDbDxfEntityFactory.d.ts.map +1 -0
- package/lib/dxf/AcDbDxfEntityFactory.js +147 -0
- package/lib/dxf/AcDbDxfEntityFactory.js.map +1 -0
- package/lib/dxf/AcDbDxfHeaderReader.d.ts +9 -0
- package/lib/dxf/AcDbDxfHeaderReader.d.ts.map +1 -0
- package/lib/dxf/AcDbDxfHeaderReader.js +248 -0
- package/lib/dxf/AcDbDxfHeaderReader.js.map +1 -0
- package/lib/dxf/AcDbDxfObjectsReader.d.ts +38 -0
- package/lib/dxf/AcDbDxfObjectsReader.d.ts.map +1 -0
- package/lib/dxf/AcDbDxfObjectsReader.js +533 -0
- package/lib/dxf/AcDbDxfObjectsReader.js.map +1 -0
- package/lib/dxf/AcDbDxfPairArrayReader.d.ts +27 -0
- package/lib/dxf/AcDbDxfPairArrayReader.d.ts.map +1 -0
- package/lib/dxf/AcDbDxfPairArrayReader.js +69 -0
- package/lib/dxf/AcDbDxfPairArrayReader.js.map +1 -0
- package/lib/dxf/AcDbDxfPolylineAssembler.d.ts +11 -0
- package/lib/dxf/AcDbDxfPolylineAssembler.d.ts.map +1 -0
- package/lib/dxf/AcDbDxfPolylineAssembler.js +318 -0
- package/lib/dxf/AcDbDxfPolylineAssembler.js.map +1 -0
- package/lib/dxf/AcDbDxfVersionCaps.d.ts +8 -0
- package/lib/dxf/AcDbDxfVersionCaps.d.ts.map +1 -0
- package/lib/dxf/AcDbDxfVersionCaps.js +18 -0
- package/lib/dxf/AcDbDxfVersionCaps.js.map +1 -0
- package/lib/dxf/AcDbNativeDxfConverter.d.ts +31 -0
- package/lib/dxf/AcDbNativeDxfConverter.d.ts.map +1 -0
- package/lib/dxf/AcDbNativeDxfConverter.js +257 -0
- package/lib/dxf/AcDbNativeDxfConverter.js.map +1 -0
- package/lib/dxf/index.d.ts +12 -0
- package/lib/dxf/index.d.ts.map +1 -0
- package/lib/dxf/index.js +9 -0
- package/lib/dxf/index.js.map +1 -0
- package/lib/entity/AcDb3dSolid.d.ts +43 -0
- package/lib/entity/AcDb3dSolid.d.ts.map +1 -1
- package/lib/entity/AcDb3dSolid.js +154 -16
- package/lib/entity/AcDb3dSolid.js.map +1 -1
- package/lib/entity/AcDbArc.d.ts +9 -0
- package/lib/entity/AcDbArc.d.ts.map +1 -1
- package/lib/entity/AcDbArc.js +107 -3
- package/lib/entity/AcDbArc.js.map +1 -1
- package/lib/entity/AcDbAttribute.d.ts +1 -0
- package/lib/entity/AcDbAttribute.d.ts.map +1 -1
- package/lib/entity/AcDbAttribute.js +44 -0
- package/lib/entity/AcDbAttribute.js.map +1 -1
- package/lib/entity/AcDbAttributeDefinition.d.ts +1 -0
- package/lib/entity/AcDbAttributeDefinition.d.ts.map +1 -1
- package/lib/entity/AcDbAttributeDefinition.js +47 -0
- package/lib/entity/AcDbAttributeDefinition.js.map +1 -1
- package/lib/entity/AcDbBlockReference.d.ts +26 -0
- package/lib/entity/AcDbBlockReference.d.ts.map +1 -1
- package/lib/entity/AcDbBlockReference.js +185 -5
- package/lib/entity/AcDbBlockReference.js.map +1 -1
- package/lib/entity/AcDbCircle.d.ts +9 -0
- package/lib/entity/AcDbCircle.d.ts.map +1 -1
- package/lib/entity/AcDbCircle.js +73 -1
- package/lib/entity/AcDbCircle.js.map +1 -1
- package/lib/entity/AcDbEllipse.d.ts +2 -0
- package/lib/entity/AcDbEllipse.d.ts.map +1 -1
- package/lib/entity/AcDbEllipse.js +71 -0
- package/lib/entity/AcDbEllipse.js.map +1 -1
- package/lib/entity/AcDbEntity.d.ts +12 -0
- package/lib/entity/AcDbEntity.d.ts.map +1 -1
- package/lib/entity/AcDbEntity.js +97 -17
- package/lib/entity/AcDbEntity.js.map +1 -1
- package/lib/entity/AcDbFace.d.ts +1 -0
- package/lib/entity/AcDbFace.d.ts.map +1 -1
- package/lib/entity/AcDbFace.js +49 -1
- package/lib/entity/AcDbFace.js.map +1 -1
- package/lib/entity/AcDbFcf.d.ts +1 -0
- package/lib/entity/AcDbFcf.d.ts.map +1 -1
- package/lib/entity/AcDbFcf.js +71 -0
- package/lib/entity/AcDbFcf.js.map +1 -1
- package/lib/entity/AcDbHatch.d.ts +17 -0
- package/lib/entity/AcDbHatch.d.ts.map +1 -1
- package/lib/entity/AcDbHatch.js +629 -4
- package/lib/entity/AcDbHatch.js.map +1 -1
- package/lib/entity/AcDbLeader.d.ts +1 -0
- package/lib/entity/AcDbLeader.d.ts.map +1 -1
- package/lib/entity/AcDbLeader.js +135 -0
- package/lib/entity/AcDbLeader.js.map +1 -1
- package/lib/entity/AcDbLine.d.ts +16 -1
- package/lib/entity/AcDbLine.d.ts.map +1 -1
- package/lib/entity/AcDbLine.js +102 -3
- package/lib/entity/AcDbLine.js.map +1 -1
- package/lib/entity/AcDbMLeader.d.ts +22 -0
- package/lib/entity/AcDbMLeader.d.ts.map +1 -1
- package/lib/entity/AcDbMLeader.js +871 -11
- package/lib/entity/AcDbMLeader.js.map +1 -1
- package/lib/entity/AcDbMLine.d.ts +1 -0
- package/lib/entity/AcDbMLine.d.ts.map +1 -1
- package/lib/entity/AcDbMLine.js +168 -0
- package/lib/entity/AcDbMLine.js.map +1 -1
- package/lib/entity/AcDbMText.d.ts +46 -1
- package/lib/entity/AcDbMText.d.ts.map +1 -1
- package/lib/entity/AcDbMText.js +278 -4
- package/lib/entity/AcDbMText.js.map +1 -1
- package/lib/entity/AcDbOle2Frame.d.ts +12 -0
- package/lib/entity/AcDbOle2Frame.d.ts.map +1 -1
- package/lib/entity/AcDbOle2Frame.js +103 -1
- package/lib/entity/AcDbOle2Frame.js.map +1 -1
- package/lib/entity/AcDbOleFrame.d.ts +1 -0
- package/lib/entity/AcDbOleFrame.d.ts.map +1 -1
- package/lib/entity/AcDbOleFrame.js +44 -1
- package/lib/entity/AcDbOleFrame.js.map +1 -1
- package/lib/entity/AcDbPoint.d.ts +27 -1
- package/lib/entity/AcDbPoint.d.ts.map +1 -1
- package/lib/entity/AcDbPoint.js +113 -2
- package/lib/entity/AcDbPoint.js.map +1 -1
- package/lib/entity/AcDbPolyline.d.ts +22 -1
- package/lib/entity/AcDbPolyline.d.ts.map +1 -1
- package/lib/entity/AcDbPolyline.js +195 -1
- package/lib/entity/AcDbPolyline.js.map +1 -1
- package/lib/entity/AcDbProxyEntity.d.ts +4 -2
- package/lib/entity/AcDbProxyEntity.d.ts.map +1 -1
- package/lib/entity/AcDbProxyEntity.js +55 -3
- package/lib/entity/AcDbProxyEntity.js.map +1 -1
- package/lib/entity/AcDbRasterImage.d.ts +16 -0
- package/lib/entity/AcDbRasterImage.d.ts.map +1 -1
- package/lib/entity/AcDbRasterImage.js +156 -0
- package/lib/entity/AcDbRasterImage.js.map +1 -1
- package/lib/entity/AcDbRay.d.ts +1 -0
- package/lib/entity/AcDbRay.d.ts.map +1 -1
- package/lib/entity/AcDbRay.js +42 -0
- package/lib/entity/AcDbRay.js.map +1 -1
- package/lib/entity/AcDbShape.d.ts +1 -0
- package/lib/entity/AcDbShape.d.ts.map +1 -1
- package/lib/entity/AcDbShape.js +76 -1
- package/lib/entity/AcDbShape.js.map +1 -1
- package/lib/entity/AcDbSpline.d.ts +23 -1
- package/lib/entity/AcDbSpline.d.ts.map +1 -1
- package/lib/entity/AcDbSpline.js +226 -1
- package/lib/entity/AcDbSpline.js.map +1 -1
- package/lib/entity/AcDbTable.d.ts +5 -0
- package/lib/entity/AcDbTable.d.ts.map +1 -1
- package/lib/entity/AcDbTable.js +265 -1
- package/lib/entity/AcDbTable.js.map +1 -1
- package/lib/entity/AcDbText.d.ts +25 -1
- package/lib/entity/AcDbText.d.ts.map +1 -1
- package/lib/entity/AcDbText.js +175 -1
- package/lib/entity/AcDbText.js.map +1 -1
- package/lib/entity/AcDbTextExtentsHelpers.d.ts +2 -2
- package/lib/entity/AcDbTextExtentsHelpers.js +3 -3
- package/lib/entity/AcDbTextExtentsHelpers.js.map +1 -1
- package/lib/entity/AcDbTrace.d.ts +9 -1
- package/lib/entity/AcDbTrace.d.ts.map +1 -1
- package/lib/entity/AcDbTrace.js +84 -5
- package/lib/entity/AcDbTrace.js.map +1 -1
- package/lib/entity/AcDbViewport.d.ts +156 -0
- package/lib/entity/AcDbViewport.d.ts.map +1 -1
- package/lib/entity/AcDbViewport.js +852 -1
- package/lib/entity/AcDbViewport.js.map +1 -1
- package/lib/entity/AcDbXline.d.ts +1 -0
- package/lib/entity/AcDbXline.d.ts.map +1 -1
- package/lib/entity/AcDbXline.js +42 -0
- package/lib/entity/AcDbXline.js.map +1 -1
- package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts +1 -0
- package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts.map +1 -1
- package/lib/entity/dimension/AcDb3PointAngularDimension.js +163 -0
- package/lib/entity/dimension/AcDb3PointAngularDimension.js.map +1 -1
- package/lib/entity/dimension/AcDbAlignedDimension.d.ts +2 -0
- package/lib/entity/dimension/AcDbAlignedDimension.d.ts.map +1 -1
- package/lib/entity/dimension/AcDbAlignedDimension.js +109 -2
- package/lib/entity/dimension/AcDbAlignedDimension.js.map +1 -1
- package/lib/entity/dimension/AcDbArcDimension.d.ts +1 -0
- package/lib/entity/dimension/AcDbArcDimension.d.ts.map +1 -1
- package/lib/entity/dimension/AcDbArcDimension.js +68 -0
- package/lib/entity/dimension/AcDbArcDimension.js.map +1 -1
- package/lib/entity/dimension/AcDbDiametricDimension.d.ts +1 -0
- package/lib/entity/dimension/AcDbDiametricDimension.d.ts.map +1 -1
- package/lib/entity/dimension/AcDbDiametricDimension.js +77 -0
- package/lib/entity/dimension/AcDbDiametricDimension.js.map +1 -1
- package/lib/entity/dimension/AcDbDimension.d.ts +50 -1
- package/lib/entity/dimension/AcDbDimension.d.ts.map +1 -1
- package/lib/entity/dimension/AcDbDimension.js +176 -5
- package/lib/entity/dimension/AcDbDimension.js.map +1 -1
- package/lib/entity/dimension/AcDbOrdinateDimension.d.ts +1 -0
- package/lib/entity/dimension/AcDbOrdinateDimension.d.ts.map +1 -1
- package/lib/entity/dimension/AcDbOrdinateDimension.js +46 -0
- package/lib/entity/dimension/AcDbOrdinateDimension.js.map +1 -1
- package/lib/entity/dimension/AcDbRadialDimension.d.ts +1 -0
- package/lib/entity/dimension/AcDbRadialDimension.d.ts.map +1 -1
- package/lib/entity/dimension/AcDbRadialDimension.js +69 -0
- package/lib/entity/dimension/AcDbRadialDimension.js.map +1 -1
- package/lib/index.d.ts +7 -6
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +5 -4
- package/lib/index.js.map +1 -1
- package/lib/ly/AcLyLayerFilterIO.d.ts.map +1 -1
- package/lib/ly/AcLyLayerFilterIO.js +5 -0
- package/lib/ly/AcLyLayerFilterIO.js.map +1 -1
- package/lib/misc/AcDbMemoryEstimator.d.ts.map +1 -1
- package/lib/misc/AcDbMemoryEstimator.js +3 -0
- package/lib/misc/AcDbMemoryEstimator.js.map +1 -1
- package/lib/misc/AcDbOle2FrameGeometry.d.ts +49 -0
- package/lib/misc/AcDbOle2FrameGeometry.d.ts.map +1 -0
- package/lib/misc/AcDbOle2FrameGeometry.js +66 -0
- package/lib/misc/AcDbOle2FrameGeometry.js.map +1 -0
- package/lib/misc/AcDbRenderingCache.d.ts +159 -8
- package/lib/misc/AcDbRenderingCache.d.ts.map +1 -1
- package/lib/misc/AcDbRenderingCache.js +460 -70
- package/lib/misc/AcDbRenderingCache.js.map +1 -1
- package/lib/misc/index.d.ts +4 -1
- package/lib/misc/index.d.ts.map +1 -1
- package/lib/misc/index.js +2 -1
- package/lib/misc/index.js.map +1 -1
- package/lib/misc/proxyGraphic/AcDbProxyGraphic.d.ts +6 -5
- package/lib/misc/proxyGraphic/AcDbProxyGraphic.d.ts.map +1 -1
- package/lib/misc/proxyGraphic/AcDbProxyGraphic.js +9 -36
- package/lib/misc/proxyGraphic/AcDbProxyGraphic.js.map +1 -1
- package/lib/misc/proxyGraphic/AcDbProxyGraphicBinaryStream.d.ts +12 -0
- package/lib/misc/proxyGraphic/AcDbProxyGraphicBinaryStream.d.ts.map +1 -1
- package/lib/misc/proxyGraphic/AcDbProxyGraphicBinaryStream.js +54 -0
- package/lib/misc/proxyGraphic/AcDbProxyGraphicBinaryStream.js.map +1 -1
- package/lib/misc/proxyGraphic/index.d.ts +1 -1
- package/lib/misc/proxyGraphic/index.d.ts.map +1 -1
- package/lib/misc/proxyGraphic/index.js +1 -1
- package/lib/misc/proxyGraphic/index.js.map +1 -1
- package/lib/object/AcDbDictionary.d.ts +7 -0
- package/lib/object/AcDbDictionary.d.ts.map +1 -1
- package/lib/object/AcDbDictionary.js +35 -0
- package/lib/object/AcDbDictionary.js.map +1 -1
- package/lib/object/AcDbFilter.d.ts +95 -0
- package/lib/object/AcDbFilter.d.ts.map +1 -1
- package/lib/object/AcDbFilter.js +256 -1
- package/lib/object/AcDbFilter.js.map +1 -1
- package/lib/object/AcDbGroup.d.ts +26 -0
- package/lib/object/AcDbGroup.d.ts.map +1 -0
- package/lib/object/AcDbGroup.js +171 -0
- package/lib/object/AcDbGroup.js.map +1 -0
- package/lib/object/AcDbIndex.d.ts +1 -0
- package/lib/object/AcDbIndex.d.ts.map +1 -1
- package/lib/object/AcDbIndex.js +23 -0
- package/lib/object/AcDbIndex.js.map +1 -1
- package/lib/object/AcDbLayerFilter.d.ts +1 -0
- package/lib/object/AcDbLayerFilter.d.ts.map +1 -1
- package/lib/object/AcDbLayerFilter.js +21 -0
- package/lib/object/AcDbLayerFilter.js.map +1 -1
- package/lib/object/AcDbLayerIndex.d.ts +1 -0
- package/lib/object/AcDbLayerIndex.d.ts.map +1 -1
- package/lib/object/AcDbLayerIndex.js +38 -0
- package/lib/object/AcDbLayerIndex.js.map +1 -1
- package/lib/object/AcDbMLeaderStyle.d.ts +1 -0
- package/lib/object/AcDbMLeaderStyle.d.ts.map +1 -1
- package/lib/object/AcDbMLeaderStyle.js +158 -1
- package/lib/object/AcDbMLeaderStyle.js.map +1 -1
- package/lib/object/AcDbMlineStyle.d.ts +2 -0
- package/lib/object/AcDbMlineStyle.d.ts.map +1 -1
- package/lib/object/AcDbMlineStyle.js +88 -0
- package/lib/object/AcDbMlineStyle.js.map +1 -1
- package/lib/object/AcDbRasterImageDef.d.ts +49 -0
- package/lib/object/AcDbRasterImageDef.d.ts.map +1 -1
- package/lib/object/AcDbRasterImageDef.js +136 -2
- package/lib/object/AcDbRasterImageDef.js.map +1 -1
- package/lib/object/AcDbSortentsTable.d.ts +14 -0
- package/lib/object/AcDbSortentsTable.d.ts.map +1 -0
- package/lib/object/AcDbSortentsTable.js +122 -0
- package/lib/object/AcDbSortentsTable.js.map +1 -0
- package/lib/object/AcDbXrecord.d.ts +8 -0
- package/lib/object/AcDbXrecord.d.ts.map +1 -1
- package/lib/object/AcDbXrecord.js +43 -2
- package/lib/object/AcDbXrecord.js.map +1 -1
- package/lib/object/index.d.ts +2 -0
- package/lib/object/index.d.ts.map +1 -1
- package/lib/object/index.js +2 -0
- package/lib/object/index.js.map +1 -1
- package/lib/object/layout/AcDbLayout.d.ts +60 -1
- package/lib/object/layout/AcDbLayout.d.ts.map +1 -1
- package/lib/object/layout/AcDbLayout.js +237 -1
- package/lib/object/layout/AcDbLayout.js.map +1 -1
- package/lib/object/layout/AcDbPlotSettings.d.ts +11 -0
- package/lib/object/layout/AcDbPlotSettings.d.ts.map +1 -1
- package/lib/object/layout/AcDbPlotSettings.js +143 -0
- package/lib/object/layout/AcDbPlotSettings.js.map +1 -1
- 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
|
-
|
|
1751
|
-
|
|
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
|
|
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 (
|
|
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 (
|
|
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
|
-
//
|
|
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
|
/**
|