@mlightcad/libredwg-converter 3.15.15 → 3.15.17

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.
@@ -1 +1 @@
1
- (function(C,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("@mlightcad/data-model")):typeof define=="function"&&define.amd?define(["exports","@mlightcad/data-model"],r):(C=typeof globalThis<"u"?globalThis:C||self,r(C["libredwg-converter"]={},C.dataModel))})(this,(function(C,r){"use strict";class y{convert(e){const t=this.createEntity(e);if(t&&(this.processCommonAttrs(e,t),e.type==="ARCALIGNEDTEXT")){const o=e.rawTextColor;t.applyRawTextColor(o)}return t}createEntity(e){return e.type=="3DFACE"?this.convertFace(e):e.type=="ARC"?this.convertArc(e):e.type=="ATTDEF"?this.convertAttributeDefinition(e):e.type=="ATTRIB"?this.convertAttribute(e):e.type=="CIRCLE"?this.convertCirle(e):e.type=="DIMENSION"?this.convertDimension(e):e.type=="ELLIPSE"?this.convertEllipse(e):e.type=="HATCH"?this.convertHatch(e):e.type=="IMAGE"?this.convertImage(e):e.type=="LEADER"?this.convertLeader(e):e.type=="LINE"?this.convertLine(e):e.type=="LWPOLYLINE"?this.convertLWPolyline(e):e.type=="MLINE"?this.convertMLine(e):e.type=="MTEXT"?this.convertMText(e):e.type=="MULTILEADER"||e.type=="MLEADER"?this.convertMLeader(e):e.type=="POINT"?this.convertPoint(e):e.type=="POLYLINE2D"?this.convertPolyline2d(e):e.type=="POLYLINE3D"?this.convertPolyline3d(e):e.type=="RAY"?this.convertRay(e):e.type=="SPLINE"?this.convertSpline(e):e.type=="ACAD_TABLE"?this.convertTable(e):e.type=="TEXT"?this.convertText(e):e.type=="TOLERANCE"?this.convertTolerance(e):e.type=="SHAPE"?this.convertShape(e):e.type=="SOLID"?this.convertSolid(e):e.type=="TRACE"?this.convertTrace(e):e.type=="VIEWPORT"?this.convertViewport(e):e.type=="WIPEOUT"?this.convertWipeout(e):e.type=="XLINE"?this.convertXline(e):e.type=="INSERT"?this.convertBlockReference(e):e.type=="ACAD_PROXY_ENTITY"?this.convertProxyEntity(e):e.type=="OLE2FRAME"?this.convertOle2Frame(e):e.type=="OLEFRAME"?this.convertOleFrame(e):e.type=="ARCALIGNEDTEXT"?this.convertArcAlignedText(e):null}convertProxyEntity(e){const t=new r.AcDbProxyEntity;if(t.proxyEntityClassId=e.proxyEntityClassId,e.originalDxfName&&(t.originalDxfName=e.originalDxfName),e.applicationEntityClassId!=null&&(t.applicationEntityClassId=e.applicationEntityClassId),e.objectDrawingFormat!=null&&(t.objectDrawingFormat=e.objectDrawingFormat),e.originalDataFormat!=null&&(t.originalDataFormat=e.originalDataFormat),e.graphicsData){const o=r.acdbHexStringsToBytes([e.graphicsData]),n=e.graphicsDataSize??o.length;t.setProxyGraphic(o.subarray(0,n))}return t}convertFace(e){const t=new r.AcDbFace;return e.corner1&&t.setVertexAt(0,e.corner1),e.corner2&&t.setVertexAt(1,e.corner2),e.corner3&&t.setVertexAt(2,e.corner3),e.corner4&&t.setVertexAt(3,e.corner4),t.setEdgeInvisibilities(e.flag),t}convertArc(e){const t=e.extrusionDirection??r.AcGeVector3d.Z_AXIS;return new r.AcDbArc(r.acgeTransformOcsPointToWcs(e.center,t),e.radius,e.startAngle,e.endAngle,t)}convertCirle(e){const t=e.extrusionDirection??r.AcGeVector3d.Z_AXIS;return new r.AcDbCircle(r.acgeTransformOcsPointToWcs(e.center,t),e.radius,t)}convertEllipse(e){const t=new r.AcGeVector3d(e.majorAxisEndPoint),o=t.length();return new r.AcDbEllipse(e.center,e.extrusionDirection??r.AcGeVector3d.Z_AXIS,t,o,o*e.axisRatio,e.startAngle,e.endAngle)}convertLine(e){const t=e.startPoint,o=e.endPoint;return new r.AcDbLine(new r.AcGePoint3d(t.x,t.y,t.z),new r.AcGePoint3d(o.x,o.y,o.z))}convertSpline(e){return r.AcDbSpline.fromDwgSpline(e)}convertPoint(e){const t=new r.AcDbPoint;return t.position=e.position,t}convertShape(e){const t=e.extrusionDirection??r.AcGeVector3d.Z_AXIS,o=new r.AcDbShape;return o.position=r.acgeTransformOcsPointToWcs(e.insertionPoint,t),o.size=e.size,o.shapeNumber=e.shapeNumber,e.styleName&&(o.styleName=e.styleName),o.rotation=e.rotation??0,o.widthFactor=e.xScale??1,o.oblique=e.obliqueAngle??0,o.thickness=e.thickness??0,o.normal.copy(t),o}convertSolid(e){return this.convertTraceLike(new r.AcDbSolid,e)}convertTrace(e){return this.convertTraceLike(new r.AcDbTrace,e)}convertTraceLike(e,t){const o=t.extrusionDirection??r.AcGeVector3d.Z_AXIS,n=s=>r.acgeTransformOcsPointToWcs({x:s.x,y:s.y,z:s.z??0},o),i=t.corner4??t.corner3;return e.setPointAt(0,n(t.corner1)),e.setPointAt(1,n(t.corner2)),e.setPointAt(2,n(t.corner3)),e.setPointAt(3,n(i)),e.thickness=t.thickness??0,e.normal.copy(o),e.elevation=e.getPointAt(0).z,e}convertLWPolyline(e){const t=new r.AcDbPolyline;t.closed=!!(e.flag&512);const o=e.constantWidth??-1;return e.vertices.forEach((n,i)=>{t.addVertexAt(i,new r.AcGePoint2d(n.x,n.y),n.bulge,n.startWidth??o,n.endWidth??o)}),t}convertPolyline2d(e){var f;const t=!!(e.flag&1),o=!!(e.flag&16),n=!!(e.flag&64),i=!!(e.flag&32),s=[],c=[],a=[];if(e.vertices.map(l=>{if(!(l.flag&16))if(n&&l.flag&128)if(l.flag&64)s.push({x:l.x,y:l.y,z:l.z}),c.push(l.bulge??0);else{const u=[];l.polyfaceIndex0!=null&&l.polyfaceIndex0!=0&&u.push(Math.abs(l.polyfaceIndex0)-1),l.polyfaceIndex1!=null&&l.polyfaceIndex1!=0&&u.push(Math.abs(l.polyfaceIndex1)-1),l.polyfaceIndex2!=null&&l.polyfaceIndex2!=0&&u.push(Math.abs(l.polyfaceIndex2)-1),l.polyfaceIndex3!=null&&l.polyfaceIndex3!=0&&u.push(Math.abs(l.polyfaceIndex3)-1),u.length>=3&&a.push(u)}else s.push({x:l.x,y:l.y,z:l.z}),c.push(l.bulge??0)}),o){const l=e.meshMVertexCount??2,u=e.meshNVertexCount??2;return new r.AcDbPolygonMesh(l,u,s,t,i)}else{if(n)return new r.AcDbPolyFaceMesh(s,a);{let l=r.AcDbPoly2dType.SimplePoly;e.flag&2?l=r.AcDbPoly2dType.FitCurvePoly:e.flag&4&&(e.smoothType==6?l=r.AcDbPoly2dType.CubicSplinePoly:e.smoothType==5&&(l=r.AcDbPoly2dType.QuadSplinePoly));const u=new r.AcDb2dPolyline(l,s,((f=s[0])==null?void 0:f.z)??0,t,e.startWidth,e.endWidth,c);return e.extrusionDirection&&(u.normal=e.extrusionDirection),u}}}convertPolyline3d(e){const t=!!(e.flag&1),o=[];e.vertices.map(i=>{i.flag&16||o.push({x:i.x,y:i.y,z:i.z})});let n=r.AcDbPoly3dType.SimplePoly;return e.flag&4&&(e.smoothType==6?n=r.AcDbPoly3dType.CubicSplinePoly:e.smoothType==5&&(n=r.AcDbPoly3dType.QuadSplinePoly)),new r.AcDb3dPolyline(n,o,t)}convertHatch(e){var n;const t=new r.AcDbHatch;if((n=e.definitionLines)==null||n.forEach(i=>{t.definitionLines.push({angle:i.angle,base:i.base,offset:i.offset,dashLengths:i.numberOfDashLengths>0?i.dashLengths:[]})}),t.hatchStyle=e.hatchStyle,t.patternName=e.patternName,e.solidFill==1&&(t.isSolidFill=!0),t.patternType=e.patternType,t.patternAngle=e.patternAngle==null?0:e.patternAngle,t.patternScale=e.patternScale==null?0:e.patternScale,e.boundaryPaths.forEach(i=>{if(i.boundaryPathTypeFlag&2){const c=i,a=new r.AcGePolyline2d;a.closed=c.isClosed,c.vertices.forEach((f,l)=>{a.addVertexAt(l,{x:f.x,y:f.y,bulge:f.bulge})}),t.add(a)}else{const c=i,a=[];c.edges.forEach(l=>{if(l!=null){if(l.type==1){const u=l;a.push(new r.AcGeLine2d(u.start,u.end))}else if(l.type==2){const u=l;a.push(new r.AcGeCircArc2d(u.center,u.radius,u.startAngle,u.endAngle,!u.isCCW))}else if(l.type==3){const u=l;new r.AcGeVector2d().subVectors(u.end,u.center);const g=Math.sqrt(Math.pow(u.end.x,2)+Math.pow(u.end.y,2)),A=g*u.lengthOfMinorAxis;let d=u.startAngle,b=u.endAngle;const T=Math.atan2(u.end.y,u.end.x);u.isCCW||(d=Math.PI*2-d,b=Math.PI*2-b),a.push(new r.AcGeEllipseArc2d({...u.center,z:0},g,A,d,b,!u.isCCW,T))}else if(l.type==4){const u=r.AcGeSpline3d.fromDwgSplineEdge(l);u&&a.push(u)}}});const f=r.AcGeLoop2d.buildFromEdges(a);f.length===1?t.add(f[0]):a.length>0&&t.add(new r.AcGeLoop2d(a))}}),e.gradientFlag){const i=e;if(t.hatchObjectType=r.AcDbHatchObjectType.GradientObject,t.gradientName=i.gradientName,t.gradientAngle=i.gradientRotation??0,t.gradientShift=i.gradientDefinition??0,t.gradientOneColorMode=i.gradientColorFlag==1,t.shadeTintValue=i.colorTint??0,i.gradientColors){const s=i.gradientColors.length;s>1?(t.gradientStartColor=i.gradientColors[0].rgb,t.gradientEndColor=i.gradientColors[1].rgb):s>0&&(t.gradientStartColor=i.gradientColors[0].rgb)}}return e.extrusionDirection&&(t.normal=e.extrusionDirection),t}convertTable(e){const t=new r.AcDbTable(e.name??"",e.rowCount,e.columnCount);return t.tableStyleId=e.tableStyleId,t.owningBlockRecordId=e.blockRecordHandle,e.directionVector&&(t.horizontalDirection=new r.AcGeVector3d(e.directionVector)),t.attachmentPoint=e.attachmentPoint,t.position.copy(e.startPoint),t.tableValueFlag=e.tableValue,t.tableOverrideFlag=e.overrideFlag,t.borderColorOverrideFlag=e.borderColorOverrideFlag,t.borderLineweightOverrideFlag=e.borderLineWeightOverrideFlag,t.borderVisibilityOverrideFlag=e.borderVisibilityOverrideFlag,e.columnWidthArr.forEach((o,n)=>t.setColumnWidth(n,o)),e.rowHeightArr.forEach((o,n)=>t.setRowHeight(n,o)),e.cells.forEach((o,n)=>{t.setCell(n,o)}),t}convertText(e){const t=new r.AcDbText;t.textString=e.text,t.styleName=e.styleName,t.height=e.textHeight,t.position.copy(e.startPoint);const o=!e.endPoint||e.endPoint.x===0&&e.endPoint.y===0&&(e.endPoint.z??0)===0;return e.endPoint&&!o?(t.alignmentPoint.copy(e.endPoint),t.hasAlignmentPoint=!0):(t.alignmentPoint.copy(e.startPoint),t.hasAlignmentPoint=!1),t.rotation=e.rotation,t.oblique=e.obliqueAngle??0,t.thickness=e.thickness,t.horizontalMode=e.halign,t.verticalMode=e.valign,t.widthFactor=e.xScale??1,t}convertArcAlignedText(e){const t=new r.AcDbArcAlignedText;return t.textString=e.text,t.textSize=e.textSize,t.xScale=e.xScale>0?e.xScale:1,t.characterSpacing=e.characterSpacing,e.styleName&&(t.styleName=e.styleName),t.fontName=e.fontName,t.bigFontName=e.bigFontName,t.offsetFromArc=e.offsetFromArc,t.rightOffset=e.rightOffset,t.leftOffset=e.leftOffset,t.center=new r.AcGePoint3d(e.center.x,e.center.y,e.center.z),t.radius=e.radius,t.startAngle=e.startAngle,t.endAngle=e.endAngle,t.normal=new r.AcGeVector3d(e.extrusionDirection.x,e.extrusionDirection.y,e.extrusionDirection.z||1),t.characterSet=e.characterSet,t.pitchAndFamily=e.pitchAndFamily,t.isShx=e.isShx,t.isBold=e.isBold,t.isItalic=e.isItalic,t.isUnderlined=e.isUnderlined,t.alignment=e.alignment,t.isReverse=e.isReverse,t.wizardFlag=e.wizardFlag,t.textPosition=e.textPosition,t.textDirection=e.textDirection,e.arcHandle&&(t.arcId=e.arcHandle),t}convertTolerance(e){const t=new r.AcDbFcf;return t.location.copy(e.insertionPoint),t.text=e.text,t.dimensionStyle=e.styleName??"",e.extrusionDirection&&t.normal.copy(e.extrusionDirection),e.xAxisDirection&&t.direction.copy(e.xAxisDirection),t}convertMText(e){const t=new r.AcDbMText;return t.contents=e.text,e.styleName!=null&&(t.styleName=e.styleName),t.height=e.textHeight,t.width=e.rectWidth,t.rotation=e.rotation||0,t.location=e.insertionPoint,t.attachmentPoint=e.attachmentPoint,e.direction&&(t.direction=new r.AcGeVector3d(e.direction)),t.drawingDirection=e.drawingDirection,e.lineSpacing!=null&&e.lineSpacing>0&&(t.lineSpacingFactor=e.lineSpacing),e.lineSpacingStyle!=null&&(t.lineSpacingStyle=e.lineSpacingStyle),e.extentsWidth!=null&&e.extentsWidth>0&&(t.extentsWidth=e.extentsWidth),t}convertLeader(e){const t=new r.AcDbLeader;return e.vertices.forEach(o=>{t.appendVertex(o)}),t.hasArrowHead=e.isArrowheadEnabled,t.hasHookLine=e.isHooklineExists,t.isHookLineSameDirection=e.isHooklineSameDirection,t.isSplined=e.isSpline,t.dimensionStyle=e.styleName??"",t.annoType=e.leaderCreationFlag,e.textHeight!=null&&(t.textHeight=e.textHeight),e.textWidth!=null&&(t.textWidth=e.textWidth),e.byBlockColor!=null&&(t.byBlockColor=e.byBlockColor),e.associatedAnnotation&&(t.associatedAnnotation=e.associatedAnnotation),e.normal&&(t.normal=e.normal),e.horizontalDirection&&(t.horizontalDirection=e.horizontalDirection),e.offsetFromBlock&&(t.offsetFromBlock=e.offsetFromBlock),e.offsetFromAnnotation&&(t.offsetFromAnnotation=e.offsetFromAnnotation),t}convertMLine(e){const t=new r.AcDbMLine;return t.styleName=e.mlineStyle||"STANDARD",t.scale=e.scale,t.flags=e.flags,t.justification=e.justification,t.startPosition=e.startPoint,t.normal=e.extrusionDirection??r.AcGeVector3d.Z_AXIS,t.styleCount=e.numberOfLines??0,t.segments=(e.vertices??[]).map(o=>({position:o.vertex,direction:o.vertexDirection,miterDirection:o.miterDirection,elements:(o.lines??[]).map(n=>({parameterCount:n.numberOfSegmentParams,parameters:n.segmentParams??[],fillCount:n.numberOfAreaFillParams,fillParameters:n.areaFillParams??[]}))})),t}convertMLeader(e){var I,E;const t=new r.AcDbMLeader,o=e;t.version=e.version,t.leaderStyleId=e.leaderStyleId,e.leaderStyleId&&(t.mleaderStyleId=e.leaderStyleId),t.propertyOverrideFlag=e.propertyOverrideFlag,t.leaderLineType=e.leaderLineType??r.AcDbMLeaderLineType.StraightLeader,e.leaderLineColor!=null&&(t.leaderLineColor=this.convertMLeaderEntityColor(e.leaderLineColor)),t.leaderLineTypeId=e.leaderLineTypeId,t.leaderLineWeight=e.leaderLineWeight,t.landingEnabled=e.landingEnabled,t.doglegEnabled=e.doglegEnabled??!1,t.doglegLength=e.doglegLength??0,t.arrowheadId=e.arrowheadId,t.arrowheadSize=e.arrowheadSize,t.textStyleId=e.textStyleId,t.textLeftAttachmentType=e.textLeftAttachmentType,t.textRightAttachmentType=e.textRightAttachmentType,t.textAngleType=e.textAngleType,t.textAlignmentType=e.textAlignmentType,e.textColor!=null&&(t.textColor=this.convertMLeaderEntityColor(e.textColor)),t.textFrameEnabled=e.textFrameEnabled,t.landingGap=e.landingGap,t.textAttachment=e.textAttachment,t.textFlowDirection=e.textFlowDirection,this.isValidHandleId(e.blockContentId)&&(t.blockContentId=e.blockContentId),e.blockContentColor!=null&&(t.blockContentColor=this.convertMLeaderEntityColor(e.blockContentColor)),t.blockContentRotation=e.blockContentRotation,t.blockContentConnectionType=e.blockContentConnectionType,t.annotativeScaleEnabled=e.annotativeScaleEnabled,t.arrowheadOverrides=e.arrowheadOverrides?e.arrowheadOverrides.map(p=>({...p})):[],t.blockAttributes=e.blockAttributes?e.blockAttributes.map(p=>({...p})):[],t.textDirectionNegative=e.textDirectionNegative,t.textAlignInIPE=e.textAlignInIPE,t.bottomTextAttachmentDirection=e.bottomTextAttachmentDirection,t.topTextAttachmentDirection=e.topTextAttachmentDirection,t.contentScale=e.contentScale,t.textLineSpacingStyle=e.textLineSpacingStyle,e.textBackgroundColor!=null&&(t.textBackgroundColor=this.convertMLeaderEntityColor(e.textBackgroundColor)),t.textBackgroundScaleFactor=e.textBackgroundScaleFactor,t.textBackgroundTransparency=e.textBackgroundTransparency,t.textBackgroundColorOn=e.textBackgroundColorOn,t.textFillOn=e.textFillOn,t.textColumnType=e.textColumnType,t.textUseAutoHeight=e.textUseAutoHeight,t.textColumnWidth=e.textColumnWidth,t.textColumnGutterWidth=e.textColumnGutterWidth,t.textColumnFlowReversed=e.textColumnFlowReversed,t.textColumnHeight=e.textColumnHeight,t.textUseWordBreak=e.textUseWordBreak,t.hasMText=e.hasMText,t.hasBlock=e.hasBlock,t.planeNormalReversed=e.planeNormalReversed,e.blockContentScale&&(t.blockContentScale=new r.AcGeVector3d(e.blockContentScale)),e.contentBasePosition&&(t.contentBasePosition=new r.AcGePoint3d().copy(e.contentBasePosition)),e.textAnchor&&(t.textAnchor=new r.AcGePoint3d().copy(e.textAnchor)),e.planeOrigin&&(t.planeOrigin=new r.AcGePoint3d().copy(e.planeOrigin)),e.planeXAxisDirection&&(t.planeXAxisDirection=new r.AcGeVector3d(e.planeXAxisDirection)),e.planeYAxisDirection&&(t.planeYAxisDirection=new r.AcGeVector3d(e.planeYAxisDirection));const n=o.textContent,i=n&&typeof n=="object"?n:void 0,s=typeof n=="string"&&n.length>0||this.readString(i??{},["text","contents"])!=null||this.readString(o,["text","contents","mtext"])!=null,c=e.contentType??(s?r.AcDbMLeaderContentType.MTextContent:e.blockContent?r.AcDbMLeaderContentType.BlockContent:r.AcDbMLeaderContentType.NoneContent);t.contentType=c;const a=this.readPoint(o,["normal","extrusionDirection"]);a&&(t.normal=a);const f=this.readString(i??{},["styleName","textStyleName","textStyle"])??this.readString(o,["textStyleName","textStyle","styleName"]);f&&(t.textStyleName=f);const l=this.readPositiveNumber(i??{},["textHeight","height"])??this.readPositiveNumber(o,["textHeight","mtextHeight","textContentHeight"])??this.readPositiveNumber(o,["arrowheadSize","contentScale"]);l!=null&&(t.textHeight=l);const u=this.readPositiveNumber(i??{},["textWidth","width"])??this.readPositiveNumber(o,["textWidth","mtextWidth","textContentWidth"]);u!=null&&(t.textWidth=u),t.textLineSpacingFactor=this.readNumber(i??{},["lineSpacingFactor","textLineSpacingFactor"])??this.readNumber(o,["textLineSpacingFactor"])??t.textLineSpacingFactor;const D=this.readNumber(i??{},["lineSpacingStyle","textLineSpacingStyle"])??this.readNumber(o,["textLineSpacingStyle"]);D!=null&&(t.textLineSpacingStyle=D);const g=this.readNumber(i??{},["textRotation","rotation"])??this.readNumber(o,["textRotation","mtextRotation","textContentRotation"]);g!=null&&(t.textRotation=g);const A=this.readPoint(o,["textDirection","mtextDirection","textDirectionVector"]);A&&(t.textDirection=A);const d=this.readNumber(o,["textAttachmentPoint","attachmentPoint"]);d!=null&&d!==0&&(t.textAttachmentPoint=d);const b=e.textAttachmentDirection;b!=null&&(t.textAttachmentDirection=b);const T=this.readNumber(o,["textDrawingDirection","drawingDirection"]);T!=null&&(t.textDrawingDirection=T);const L=typeof n=="string"?n:this.readString(i??{},["text","contents"])??this.readString(o,["text","contents","mtext"]),S=this.readPoint(i??{},["anchorPoint","textAnchor","textLocation","textPosition","textAnchorPoint"])??this.readPoint(o,["textAnchor","textLocation","textPosition","textAnchorPoint","contentBasePosition"]);if(L!=null&&S&&(t.mtextContent={text:L,anchorPoint:S}),e.blockContent){const p=e.blockContent,m=e.blockContent.blockContentId;if(this.isValidHandleId(m)){const O=this.readMLeaderEntityColor(p,["color"]);t.blockContent={blockContentId:m,normal:this.readPoint(p,["normal"]),position:e.blockContent.position,scale:this.readPoint(p,["scale"]),rotation:this.readNumber(p,["rotation"]),color:O,transformationMatrix:Array.isArray(e.blockContent.transformationMatrix)?e.blockContent.transformationMatrix:[]}}}else this.isValidHandleId(e.blockContentId)&&(t.blockContent={blockContentId:e.blockContentId,scale:e.blockContentScale,rotation:e.blockContentRotation,color:t.blockContentColor,transformationMatrix:[]});return(I=this.readMLeaderLeaders(o))==null||I.forEach(p=>{t.addLeader({lastLeaderLinePoint:p.lastLeaderLinePoint,lastLeaderLinePointSet:p.lastLeaderLinePointSet,doglegVector:p.doglegVector,doglegVectorSet:p.doglegVectorSet,doglegLength:p.doglegLength??e.doglegLength,breaks:p.breaks,leaderBranchIndex:p.leaderBranchIndex,leaderLines:p.leaderLines})}),t.numberOfLeaders===0&&((E=this.readLeaderLineArray(o))==null||E.forEach(p=>{t.addLeader({doglegLength:e.doglegLength}),t.addLeaderLine(t.numberOfLeaders-1,p)})),t.numberOfLeaders===0&&e.contentBasePosition&&t.addLeader({lastLeaderLinePoint:e.contentBasePosition,lastLeaderLinePointSet:!0,doglegLength:e.doglegLength}),t}convertDimension(e){if(e.subclassMarker=="AcDbAlignedDimension"){const t=e,o=new r.AcDbAlignedDimension(t.subDefinitionPoint1,t.subDefinitionPoint2,t.definitionPoint);return t.insertionPoint&&(o.dimBlockPosition={x:t.insertionPoint.x,y:t.insertionPoint.y,z:0}),o.rotation=t.rotationAngle,this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDbRotatedDimension"){const t=e,o=new r.AcDbRotatedDimension(t.subDefinitionPoint1,t.subDefinitionPoint2,t.definitionPoint);return t.insertionPoint&&(o.dimBlockPosition={x:t.insertionPoint.x,y:t.insertionPoint.y,z:0}),o.rotation=t.rotationAngle,this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDb3PointAngularDimension"){const t=e,o=new r.AcDb3PointAngularDimension(t.centerPoint,t.subDefinitionPoint1,t.subDefinitionPoint2,t.definitionPoint);return this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDb2LineAngularDimension"){const t=e,o=t.definitionPoint??t.arcPoint??t.subDefinitionPoint2,n=t.centerPoint??t.subDefinitionPoint2??t.subDefinitionPoint1,i=n??o,s=t.subDefinitionPoint1??n??o,c=t.subDefinitionPoint2??n??o;if(!o||!t.name)return null;const a=new r.AcDb3PointAngularDimension(i,s,c,o);return this.processDimensionCommonAttrs(e,a),a}else if(e.subclassMarker=="AcDbOrdinateDimension"){const t=e,o=new r.AcDbOrdinateDimension(t.subDefinitionPoint1,t.subDefinitionPoint2);return t.definitionPoint&&(o.origin=new r.AcGePoint3d(t.definitionPoint.x,t.definitionPoint.y,t.definitionPoint.z)),this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDbRadialDimension"){const t=e,o=new r.AcDbRadialDimension(t.definitionPoint,t.centerPoint,t.leaderLength);return this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDbDiametricDimension"){const t=e,o=new r.AcDbDiametricDimension(t.definitionPoint,t.centerPoint,t.leaderLength);return this.processDimensionCommonAttrs(e,o),o}return null}processImage(e,t){t.position.copy(e.position),t.brightness=e.brightness,t.contrast=e.contrast,t.fade=e.fade,t.imageSize.copy(e.imageSize),t.imageDefId=e.imageDefHandle,t.isClipped=e.clipping>0,t.isShownClipped=(e.flags&4)!==0,t.isImageShown=(e.flags&3)!==0,t.isImageTransparent=(e.flags&8)!==0,e.clippingBoundaryPath.forEach(o=>{t.clipBoundary.push(new r.AcGePoint2d(o))}),t.clipBoundaryType=e.clippingBoundaryType,t.width=Math.sqrt(e.uPixel.x**2+e.uPixel.y**2+e.uPixel.z**2)*e.imageSize.x,t.height=Math.sqrt(e.vPixel.x**2+e.vPixel.y**2+e.vPixel.z**2)*e.imageSize.y,t.rotation=Math.atan2(e.uPixel.y,e.uPixel.x)}convertImage(e){const t=new r.AcDbRasterImage;return this.processImage(e,t),t}convertWipeout(e){const t=new r.AcDbWipeout;return this.processImage(e,t),t}convertOleFrame(e){const t=new r.AcDbOleFrame;if(t.oleVersion=e.flag??0,e.binaryData){const o=r.acdbHexStringsToBytes([e.binaryData]);t.loadOleObjectFromDxf(e.dataSize,o)}return t}convertOle2Frame(e){const t=new r.AcDbOle2Frame;if(t.oleVersion=e.oleVersion??0,t.userType=e.oleClient??"",e.leftUpPoint&&t.upperLeftCorner.copy(e.leftUpPoint),e.rightDownPoint&&t.lowerRightCorner.copy(e.rightDownPoint),t.setLockAspect(e.lockAspect??0),t.oleObjectType=e.oleObjectType??r.AcDbOleObjectType.Embedded,t.tileMode=e.tileModeDescriptor??r.AcDbOleTileMode.ModelSpace,e.binaryData){const o=r.acdbHexStringsToBytes([e.binaryData]);t.loadOleObjectFromDxf(e.dataSize,o)}return t}convertViewport(e){const t=new r.AcDbViewport;t.number=e.viewportId,t.centerPoint.copy(e.viewportCenter),t.height=e.height,t.width=e.width,t.viewCenter.copy(e.displayCenter),t.viewHeight=e.viewHeight,e.targetPoint&&t.viewTarget.copy(e.targetPoint),e.viewTwistAngle!=null&&(t.viewTwistAngle=e.viewTwistAngle);const o=1e-6,n=Math.abs(t.centerPoint.x)<o&&Math.abs(t.centerPoint.y)<o,i=t.viewTarget,s=Math.abs(i.x)<o&&Math.abs(i.y)<o,c=Number.isFinite(t.height)&&Number.isFinite(t.viewHeight)&&Math.abs(t.viewHeight-t.height)<o;return n&&s&&c&&t.centerPoint.copy(t.viewCenter),t}convertRay(e){const t=new r.AcDbRay;return t.basePoint.copy(e.firstPoint),t.unitDir.copy(e.unitDirection),t}convertXline(e){const t=new r.AcDbXline;return t.basePoint.copy(e.firstPoint),t.unitDir.copy(e.unitDirection),t}convertAttributeCommon(e,t){const o=e.text;t.textString=o.text,t.styleName=o.styleName,t.height=o.textHeight,t.position.copy(o.startPoint);const n=e.alignmentPoint??o.endPoint,i=!n||n.x===0&&n.y===0&&(n.z??0)===0;n&&!i?(t.alignmentPoint.copy(n),t.hasAlignmentPoint=!0):(t.alignmentPoint.copy(o.startPoint),t.hasAlignmentPoint=!1),t.rotation=o.rotation,t.oblique=o.obliqueAngle??0,t.thickness=o.thickness,t.horizontalMode=o.halign,t.verticalMode=o.valign,t.widthFactor=o.xScale??1,t.tag=e.tag,t.fieldLength=e.fieldLength,t.isInvisible=(e.flags&r.AcDbAttributeFlags.Invisible)!==0,t.isConst=(e.flags&r.AcDbAttributeFlags.Const)!==0,t.isVerifiable=(e.flags&r.AcDbAttributeFlags.Verifiable)!==0,t.isPreset=(e.flags&r.AcDbAttributeFlags.Preset)!==0,t.lockPositionInBlock=e.lockPositionFlag,t.isReallyLocked=e.isReallyLocked,t.isMTextAttribute=(e.mtextFlag&r.AcDbAttributeMTextFlag.MultiLine)!==0,t.isConstMTextAttribute=(e.mtextFlag&r.AcDbAttributeMTextFlag.ConstMultiLine)!==0}convertAttribute(e){const t=new r.AcDbAttribute;return this.convertAttributeCommon(e,t),t}convertAttributeDefinition(e){const t=new r.AcDbAttributeDefinition;return this.convertAttributeCommon(e,t),t.prompt=e.prompt,t}convertBlockReference(e){const t=new r.AcDbBlockReference(e.name);return e.insertionPoint&&t.position.copy(e.insertionPoint),t.scaleFactors.x=e.xScale,t.scaleFactors.y=e.yScale,t.scaleFactors.z=e.zScale,t.rotation=e.rotation,t.normal.copy(e.extrusionDirection),e.columnCount!=null&&(t.columnCount=e.columnCount),e.rowCount!=null&&(t.rowCount=e.rowCount),e.columnSpacing!=null&&(t.columnSpacing=e.columnSpacing),e.rowSpacing!=null&&(t.rowSpacing=e.rowSpacing),e.handle!=null&&(t.objectId=e.handle),e.attribs&&e.attribs.forEach(o=>{const n=this.convert(o);n instanceof r.AcDbAttribute&&t.appendAttributes(n)}),t}processDimensionCommonAttrs(e,t){t.dimBlockId=e.name,t.textPosition.copy(e.textPoint),t.textRotation=e.textRotation||0,e.textLineSpacingFactor&&(t.textLineSpacingFactor=e.textLineSpacingFactor),e.textLineSpacingStyle&&(t.textLineSpacingStyle=e.textLineSpacingStyle),t.dimensionStyleName=e.styleName,t.dimensionText=e.text||"",t.measurement=e.measurement,e.dimensionType!=null&&(t.dimensionType=e.dimensionType)}processCommonAttrs(e,t){t.layer=e.layer||"0",t.objectId=e.handle,e.ownerBlockRecordSoftId!=null&&(t.ownerId=e.ownerBlockRecordSoftId);const o=r.acdbNormalizeExtensionDictionaryId(e.extensionDictionary??e.ownerDictionaryHardId??e.ownerDictionarySoftId);if(o&&(t.extensionDictionary=o),this.applyExtendedData(e,t),e.lineType!=null&&(t.lineType=e.lineType),e.lineweight!=null&&(t.lineWeight=e.lineweight),e.lineTypeScale!=null&&(t.linetypeScale=e.lineTypeScale),e.color!=null||e.colorIndex!=null||e.colorName){const n=new r.AcCmColor;e.color!=null&&n.setRGBValue(e.color),e.colorIndex!=null&&(e.color==null||e.colorIndex===7)&&(n.colorIndex=e.colorIndex),e.colorName&&(n.colorName=e.colorName),t.color=n}if(e.isVisible!=null&&(t.visibility=e.isVisible),e.transparency!=null){const n=new r.AcCmTransparency;n.method=e.transparencyType,(n.isByBlock||n.isByBlock)&&(n.alpha=e.transparency),t.transparency=n}}applyExtendedData(e,t){const o=e.xdata;if(!o)return;const n=Array.isArray(o)?o:[o];for(const i of n){if(!(i!=null&&i.appName))continue;const s=[{code:r.AcDbDxfCode.ExtendedDataRegAppName,value:i.appName}];for(const c of i.value??[])if(c!=null&&typeof c=="object"&&"code"in c&&"value"in c){const a=Number(c.code),f=c.value;if(a===r.AcDbDxfCode.ExtendedDataHandle||a>=1e3&&a<=1071){const l=this.normalizeXDataValue(a,f);l!==void 0&&s.push({code:a,value:l})}}t.setImportedXData(s)}}normalizeXDataValue(e,t){if(e>=1010&&e<=1013){if(this.isPointLike(t))return{x:t.x,y:t.y,z:typeof t.z=="number"?t.z:0};if(Array.isArray(t)&&typeof t[0]=="number"&&typeof t[1]=="number")return{x:t[0],y:t[1],z:typeof t[2]=="number"?t[2]:0};if(typeof t=="number"&&Number.isFinite(t))return t}if(e===r.AcDbDxfCode.ExtendedDataBinaryChunk)return t instanceof Uint8Array?t:t instanceof ArrayBuffer?new Uint8Array(t):typeof t=="string"?t:Array.isArray(t)&&t.every(o=>typeof o=="number"&&Number.isFinite(o)&&o>=0&&o<=255)?Uint8Array.from(t):void 0;if(typeof t=="string"||typeof t=="number"||typeof t=="boolean"||t instanceof Uint8Array)return t;if(this.isPointLike(t))return{x:t.x,y:t.y,z:typeof t.z=="number"?t.z:0}}convertMLeaderEntityColor(e){return r.acdbDecodeMLeaderStyleRawColor(e)}readMLeaderEntityColor(e,t){for(const o of t){const n=e[o];if(typeof n=="number"&&Number.isFinite(n))return r.acdbDecodeMLeaderStyleRawColor(n)}}isValidHandleId(e){return e!=null&&e!==""&&e!=="0"}readNumber(e,t){for(const o of t){const n=e[o];if(typeof n=="number"&&Number.isFinite(n))return n}}readPositiveNumber(e,t){const o=this.readNumber(e,t);return o!=null&&o>0?o:void 0}readString(e,t){for(const o of t){const n=e[o];if(typeof n=="string")return n}}readBoolean(e,t){for(const o of t){const n=e[o];if(typeof n=="boolean")return n;if(typeof n=="number")return n!==0}}readPoint(e,t){for(const o of t){const n=e[o];if(this.isPointLike(n))return n;if(Array.isArray(n)&&typeof n[0]=="number"&&typeof n[1]=="number")return{x:n[0],y:n[1],z:n[2]??0}}}readLeaderLineArray(e){const t=e.leaderLines;if(Array.isArray(t))return t.map(n=>{if(!n||typeof n!="object")return;const i=n.vertices;return Array.isArray(i)?i.filter(s=>this.isPointLike(s)):void 0}).filter(n=>!!n&&n.length>0);const o=e.vertices;if(Array.isArray(o)){const n=o.filter(i=>this.isPointLike(i));return n.length>0?[n]:void 0}}readMLeaderLeaders(e){const t=e.leaderSections;if(!Array.isArray(t))return;const o=[];return t.forEach(n=>{if(!n||typeof n!="object")return;const i=n,s=i.leaderLines,c=Array.isArray(s)?s.reduce((A,d)=>{const b=this.readMLeaderLine(d);return b&&A.push(b),A},[]):void 0,a={},f=this.readPoint(i,["lastLeaderLinePoint"]),l=this.readPoint(i,["doglegVector"]),u=this.readNumber(i,["doglegLength"]),D=this.readMLeaderBreaks(i.breaks),g=this.readNumber(i,["leaderBranchIndex"]);f&&(a.lastLeaderLinePoint=f),i.lastLeaderLinePointSet!=null&&(a.lastLeaderLinePointSet=this.readBoolean(i,["lastLeaderLinePointSet"])),l&&(a.doglegVector=l),i.doglegVectorSet!=null&&(a.doglegVectorSet=this.readBoolean(i,["doglegVectorSet"])),u!=null&&(a.doglegLength=u),D&&(a.breaks=D),g!=null&&(a.leaderBranchIndex=g),c&&(a.leaderLines=c),o.push(a)}),o}readMLeaderLine(e){if(!e||typeof e!="object")return;const t=e,o=t.vertices,n=Array.isArray(o)?o.filter(a=>this.isPointLike(a)):[],i=this.readMLeaderBreaks(t.breaks),s=Array.isArray(t.breakPointIndexes)?t.breakPointIndexes.filter(a=>typeof a=="number"):void 0,c=this.readNumber(t,["leaderLineIndex"]);return n.length>0||i&&i.length>0?{vertices:n,breakPointIndexes:s,leaderLineIndex:c,breaks:i}:void 0}readMLeaderBreaks(e){if(!Array.isArray(e))return;const t=e.map(o=>{if(!o||typeof o!="object")return;const n=o,i=this.readPoint(n,["start"]),s=this.readPoint(n,["end"]),c=this.readNumber(n,["index"]);if(!i||!s)return;const a={start:i,end:s};return c!=null&&(a.index=c),a}).filter(o=>!!o);return t.length>0?t:void 0}isPointLike(e){return!!e&&typeof e=="object"&&typeof e.x=="number"&&typeof e.y=="number"}}class h{convertMLeaderStyle(e){const t=new r.AcDbMLeaderStyle;return t.unknown1=e.unknown1,e.contentType!=null&&(t.contentType=e.contentType),e.drawMLeaderOrderType!=null&&(t.drawMLeaderOrderType=e.drawMLeaderOrderType),e.drawLeaderOrderType!=null&&(t.drawLeaderOrderType=e.drawLeaderOrderType),e.maxLeaderSegmentPoints!=null&&(t.maxLeaderSegmentPoints=e.maxLeaderSegmentPoints),e.firstSegmentAngleConstraint!=null&&(t.firstSegmentAngleConstraint=e.firstSegmentAngleConstraint),e.secondSegmentAngleConstraint!=null&&(t.secondSegmentAngleConstraint=e.secondSegmentAngleConstraint),e.leaderLineType!=null&&(t.leaderLineType=e.leaderLineType),e.leaderLineColor!=null&&(t.leaderLineColor=r.acdbDecodeMLeaderStyleRawColor(e.leaderLineColor)),t.leaderLineTypeId=e.leaderLineTypeId,e.leaderLineWeight!=null&&(t.leaderLineWeight=e.leaderLineWeight),e.landingEnabled!=null&&(t.landingEnabled=e.landingEnabled),e.landingGap!=null&&(t.landingGap=e.landingGap),e.doglegEnabled!=null&&(t.doglegEnabled=e.doglegEnabled),e.doglegLength!=null&&(t.doglegLength=e.doglegLength),e.description!=null&&(t.description=e.description),t.arrowheadId=e.arrowheadId,e.arrowheadSize!=null&&(t.arrowheadSize=e.arrowheadSize),e.defaultMTextContents!=null&&(t.defaultMTextContents=e.defaultMTextContents),t.textStyleId=e.textStyleId,e.textLeftAttachmentType!=null&&(t.textLeftAttachmentType=e.textLeftAttachmentType),e.textAngleType!=null&&(t.textAngleType=e.textAngleType),e.textAlignmentType!=null&&(t.textAlignmentType=e.textAlignmentType),e.textRightAttachmentType!=null&&(t.textRightAttachmentType=e.textRightAttachmentType),e.textColor!=null&&(t.textColor=r.acdbDecodeMLeaderStyleRawColor(e.textColor)),e.textHeight!=null&&(t.textHeight=e.textHeight),e.textFrameEnabled!=null&&(t.textFrameEnabled=e.textFrameEnabled),e.textAlignAlwaysLeft!=null&&(t.textAlignAlwaysLeft=e.textAlignAlwaysLeft),e.alignSpace!=null&&(t.alignSpace=e.alignSpace),t.blockContentId=e.blockContentId,e.blockContentColor!=null&&(t.blockContentColor=r.acdbDecodeMLeaderStyleRawColor(e.blockContentColor)),e.blockContentScale&&(t.blockContentScale={x:e.blockContentScale.x,y:e.blockContentScale.y,z:e.blockContentScale.z??1}),e.blockContentScaleEnabled!=null&&(t.blockContentScaleEnabled=e.blockContentScaleEnabled),e.blockContentRotation!=null&&(t.blockContentRotation=e.blockContentRotation),e.blockContentRotationEnabled!=null&&(t.blockContentRotationEnabled=e.blockContentRotationEnabled),e.blockContentConnectionType!=null&&(t.blockContentConnectionType=e.blockContentConnectionType),e.scale!=null&&(t.scale=e.scale),e.overwritePropertyValue!=null&&(t.overwritePropertyValue=e.overwritePropertyValue),e.annotative!=null&&(t.annotative=e.annotative),e.breakGapSize!=null&&(t.breakGapSize=e.breakGapSize),e.textAttachmentDirection!=null&&(t.textAttachmentDirection=e.textAttachmentDirection),e.bottomTextAttachmentDirection!=null&&(t.bottomTextAttachmentDirection=e.bottomTextAttachmentDirection),e.topTextAttachmentDirection!=null&&(t.topTextAttachmentDirection=e.topTextAttachmentDirection),t.unknown2=e.unknown2,this.processCommonAttrs(e,t),t}convertLayerFilter(e){var o;const t=new r.AcDbLayerFilter;return(o=e.layerNames)!=null&&o.length&&(t.layerNames=e.layerNames),this.processCommonAttrs(e,t),t}convertLayerIndex(e){var o,n,i;const t=new r.AcDbLayerIndex;return e.timeStamp!=null&&(t.lastUpdatedAt=e.timeStamp,t.lastUpdatedAtU=e.timeStamp),(o=e.layerNames)!=null&&o.length&&(t.layerNames=e.layerNames),(n=e.idBufferIds)!=null&&n.length&&(t.idBufferIds=e.idBufferIds),(i=e.idBufferEntryCounts)!=null&&i.length&&(t.idBufferEntryCounts=e.idBufferEntryCounts),t.isUptoDate=!0,this.processCommonAttrs(e,t),t}convertScale(e){const t=new r.AcDbScale;return e.flag!=null&&(t.classVersion=e.flag),t.scaleName=e.name??"",t.paperUnits=e.paperUnits??1,t.drawingUnits=e.drawingUnits??1,t.isUnitScale=!!e.isUnitScale,this.processCommonAttrs(e,t),t}convertDictionaryVar(e){const t=new r.AcDbDictionaryVar;return e.schema!=null&&(t.schema=e.schema),t.value=e.value??e.strvalue??"",this.processCommonAttrs(e,t),t}convertMTextObjectContextData(e){const t=new r.AcDbMTextObjectContextData;return e.classVersion!=null&&(t.classVersion=e.classVersion),t.isDefault=!!e.isDefault,t.scaleId=e.scaleId??e.scaleHandle??"",e.attachment!=null&&(t.attachmentPoint=e.attachment),e.xAxisDir&&(t.direction=new r.AcGeVector3d(e.xAxisDir.x,e.xAxisDir.y,e.xAxisDir.z??0)),e.insertionPoint&&(t.insertionPoint=new r.AcGePoint3d(e.insertionPoint.x,e.insertionPoint.y,e.insertionPoint.z??0)),e.definedWidth!=null&&(t.definedWidth=e.definedWidth),e.definedHeight!=null&&(t.definedHeight=e.definedHeight),e.extentsWidth!=null&&(t.extentsWidth=e.extentsWidth),e.extentsHeight!=null&&(t.extentsHeight=e.extentsHeight),e.columnType!=null&&(t.columnType=e.columnType),this.processCommonAttrs(e,t),t}convertDimensionObjectContextData(e){const t=new r.AcDbDimensionObjectContextData;e.classVersion!=null&&(t.classVersion=e.classVersion),t.isDefault=!!e.isDefault,t.scaleId=e.scaleId??e.scaleHandle??"",t.blockName=e.blockName??e.name??"";const o=e.definitionPoint??e.defPt;o&&(t.definitionPoint=new r.AcGePoint3d(o.x,o.y,o.z??0));const n=e.dimLinePoint??e._11pt;return n&&(t.dimLinePoint=new r.AcGePoint3d(n.x,n.y,n.z??0)),this.processCommonAttrs(e,t),t}convertTextObjectContextData(e){const t=new r.AcDbTextObjectContextData;return this.applyAnnotScaleContextBase(e,t),e.horizontalMode!=null&&(t.horizontalMode=e.horizontalMode),e.rotation!=null&&(t.rotation=e.rotation),e.alignmentPoint&&(t.alignmentPoint=new r.AcGePoint3d(e.alignmentPoint.x,e.alignmentPoint.y,e.alignmentPoint.z??0)),e.position&&(t.position=new r.AcGePoint3d(e.position.x,e.position.y,e.position.z??0)),this.processCommonAttrs(e,t),t}convertHatchScaleContextData(e){const t=new r.AcDbHatchScaleContextData;this.applyAnnotScaleContextBase(e,t);const o=e.patternScale??e.scale;return o!=null&&o>0&&(t.patternScale=o),this.processCommonAttrs(e,t),t}convertBlkRefObjectContextData(e){const t=new r.AcDbBlkRefObjectContextData;this.applyAnnotScaleContextBase(e,t);const o=e.position??e.insertionPoint;o&&(t.position=new r.AcGePoint3d(o.x,o.y,o.z??0)),e.rotation!=null&&(t.rotation=e.rotation);const n=e.scaleX??e.xScale,i=e.scaleY??e.yScale,s=e.scaleZ??e.zScale;return n!=null&&(t.scaleX=n),i!=null&&(t.scaleY=i),s!=null&&(t.scaleZ=s),this.processCommonAttrs(e,t),t}convertLeaderObjectContextData(e){const t=new r.AcDbLeaderObjectContextData;return this.applyAnnotScaleContextBase(e,t),this.processCommonAttrs(e,t),t}convertMLeaderObjectContextData(e){const t=new r.AcDbMLeaderObjectContextData;this.applyAnnotScaleContextBase(e,t),e.contentScale!=null&&e.contentScale>0&&(t.contentScale=e.contentScale),e.textHeight!=null&&e.textHeight>0&&(t.textHeight=e.textHeight);const o=e.arrowheadSize??e.arrowSize;o!=null&&o>0&&(t.arrowheadSize=o);const n=e.textAnchor??e.landingPoint;return n&&(t.textAnchor=new r.AcGePoint3d(n.x,n.y,n.z??0)),this.processCommonAttrs(e,t),t}convertMTextAttributeObjectContextData(e){const t=new r.AcDbMTextAttributeObjectContextData;return e.classVersion!=null&&(t.classVersion=e.classVersion),t.isDefault=!!e.isDefault,t.scaleId=e.scaleId??e.scaleHandle??"",e.attachment!=null&&(t.attachmentPoint=e.attachment),e.xAxisDir&&(t.direction=new r.AcGeVector3d(e.xAxisDir.x,e.xAxisDir.y,e.xAxisDir.z??0)),e.insertionPoint&&(t.insertionPoint=new r.AcGePoint3d(e.insertionPoint.x,e.insertionPoint.y,e.insertionPoint.z??0)),e.definedWidth!=null&&(t.definedWidth=e.definedWidth),e.definedHeight!=null&&(t.definedHeight=e.definedHeight),e.extentsWidth!=null&&(t.extentsWidth=e.extentsWidth),e.extentsHeight!=null&&(t.extentsHeight=e.extentsHeight),e.columnType!=null&&(t.columnType=e.columnType),this.processCommonAttrs(e,t),t}convertXRecord(e){const t=new r.AcDbXrecord;return this.processCommonAttrs(e,t),e.extensionDictionary&&(t.extensionDictionary=e.extensionDictionary),t.data=new r.AcDbResultBuffer((e.data??[]).map(o=>({code:Number(o.code),value:o.value}))),t}applyAnnotScaleContextBase(e,t){e.classVersion!=null&&(t.classVersion=e.classVersion),t.isDefault=!!e.isDefault,t.scaleId=e.scaleId??e.scaleHandle??""}processCommonAttrs(e,t){t.objectId=e.handle,e.ownerHandle!=null&&(t.ownerId=e.ownerHandle)}}const P="*MODEL_SPACE";class w extends r.AcDbDatabaseConverter{constructor(e={}){super(e),this.config.useWorker=!0,this.config.parserWorkerUrl||(this.config.parserWorkerUrl="/assets/libredwg-parser-worker.js")}async parse(e,t){const o=this.config,n=this.getParserWorkerTimeout(e,t);if(o.useWorker&&o.parserWorkerUrl){const i=r.acdbCreateWorkerApi({workerUrl:o.parserWorkerUrl,timeout:n,maxConcurrentWorkers:1}),s=await i.execute(e);return i.destroy(),r.AcDbOpenDatabaseError.throwOnWorkerParseFailure(s),s.data}else throw new Error("dwg converter can run in web worker only!")}processLineTypes(e,t){e.tables.LTYPE.entries.forEach(n=>{const i={name:n.name,description:n.description,standardFlag:n.standardFlag,totalPatternLength:n.totalPatternLength,pattern:n.pattern},s=new r.AcDbLinetypeTableRecord(i);this.processCommonTableEntryAttrs(n,s),t.tables.linetypeTable.add(s)})}processTextStyles(e,t){e.tables.STYLE.entries.forEach(n=>{const i={name:n.name,standardFlag:n.standardFlag,fixedTextHeight:n.fixedTextHeight,widthFactor:n.widthFactor,obliqueAngle:n.obliqueAngle,textGenerationFlag:n.textGenerationFlag,lastHeight:n.lastHeight,font:n.font,bigFont:n.bigFont,extendedFont:n.extendedFont},s=new r.AcDbTextStyleTableRecord(i);this.processCommonTableEntryAttrs(n,s),t.tables.textStyleTable.add(s)}),t.ensureTextStyleDefaults()}processDimStyles(e,t){e.tables.DIMSTYLE.entries.forEach(i=>{const s={name:i.name,ownerId:i.ownerHandle,dimpost:i.DIMPOST||"",dimapost:i.DIMAPOST||"",dimscale:i.DIMSCALE,dimasz:i.DIMASZ,dimexo:i.DIMEXO,dimdli:i.DIMDLI,dimexe:i.DIMEXE,dimrnd:i.DIMRND,dimdle:i.DIMDLE,dimtp:i.DIMTP,dimtm:i.DIMTM,dimtxt:i.DIMTXT,dimcen:i.DIMCEN,dimtsz:i.DIMTSZ,dimaltf:i.DIMALTF,dimlfac:i.DIMLFAC,dimtvp:i.DIMTVP,dimtfac:i.DIMTFAC,dimgap:i.DIMGAP,dimaltrnd:i.DIMALTRND,dimtol:i.DIMTOL==null||i.DIMTOL==0?0:1,dimlim:i.DIMLIM==null||i.DIMLIM==0?0:1,dimtih:i.DIMTIH==null||i.DIMTIH==0?0:1,dimtoh:i.DIMTOH==null||i.DIMTOH==0?0:1,dimse1:i.DIMSE1==null||i.DIMSE1==0?0:1,dimse2:i.DIMSE2==null||i.DIMSE2==0?0:1,dimtad:i.DIMTAD,dimzin:i.DIMZIN,dimazin:i.DIMAZIN,dimalt:i.DIMALT,dimaltd:i.DIMALTD,dimtofl:i.DIMTOFL,dimsah:i.DIMSAH,dimtix:i.DIMTIX,dimsoxd:i.DIMSOXD,dimclrd:r.acdbNormalizeDimStyleColorNumber(i.DIMCLRD),dimclre:r.acdbNormalizeDimStyleColorNumber(i.DIMCLRE),dimclrt:r.acdbNormalizeDimStyleColorNumber(i.DIMCLRT),dimadec:i.DIMADEC||0,dimunit:i.DIMUNIT||2,dimdec:i.DIMDEC,dimtdec:i.DIMTDEC,dimaltu:i.DIMALTU,dimalttd:i.DIMALTTD,dimaunit:i.DIMAUNIT,dimfrac:i.DIMFRAC,dimlunit:i.DIMLUNIT,dimdsep:i.DIMDSEP||".",dimtmove:i.DIMTMOVE||0,dimjust:i.DIMJUST,dimsd1:i.DIMSD1,dimsd2:i.DIMSD2,dimtolj:i.DIMTOLJ,dimtzin:i.DIMTZIN,dimaltz:i.DIMALTZ,dimalttz:i.DIMALTTZ,dimfit:i.DIMFIT||0,dimupt:i.DIMUPT,dimatfit:i.DIMATFIT,dimtxsty:this.resolveDimTextStyleName(e,i.DIMTXSTY),dimldrblk:"",dimblk:i.DIMBLK||"",dimblk1:i.DIMBLK1||"",dimblk2:i.DIMBLK2||"",dimlwd:i.DIMLWD,dimlwe:i.DIMLWE},c=new r.AcDbDimStyleTableRecord(s);this.processCommonTableEntryAttrs(i,c),t.tables.dimStyleTable.add(c)});const n=e.dimStyleAnnotationScales;if(n)for(const[i,s]of Object.entries(n))t.setDimStyleAnnotationScale(i,s)}resolveDimTextStyleName(e,t){if(typeof t=="string"){const n=t.trim();if(n&&!/^[0-9]+$/.test(n)&&!/^[0-9A-F]+$/i.test(n))return n;if(n&&/[A-Z]/i.test(n)){const i=e.tables.STYLE.entries.find(s=>String(s.handle).toUpperCase()===n.toUpperCase());if(i!=null&&i.name)return i.name}}const o=typeof t=="number"?t:Number(t);if(Number.isFinite(o)&&o>0){const n=Math.trunc(o).toString(16).toUpperCase(),i=e.tables.STYLE.entries.find(s=>String(s.handle).toUpperCase()===n);if(i!=null&&i.name)return i.name}return r.DEFAULT_TEXT_STYLE}processLayers(e,t){e.tables.LAYER.entries.forEach(n=>{const i=new r.AcCmColor;this.applyLibreLayerColor(i,n);const s=new r.AcDbLayerTableRecord({name:n.name,standardFlags:n.standardFlag,linetype:n.lineType,lineWeight:n.lineweight,isOff:n.off,color:i,isPlottable:n.plotFlag!=0});this.processCommonTableEntryAttrs(n,s),t.tables.layerTable.add(s)})}applyLibreLayerColor(e,t){const o=t.colorIndex,n=t.color;o!=null&&o>=1&&o<=255?e.colorIndex=o:o===0?e.colorIndex=0:n!=null&&Number.isFinite(n)?e.setRGBValue(n&16777215):e.colorIndex=256,t.colorName&&(e.colorName=t.colorName)}processViewports(e,t){e.tables.VPORT.entries.forEach(n=>{const i=new r.AcDbViewportTableRecord;n.circleSides&&(i.circleSides=n.circleSides),i.standardFlag=n.standardFlag,i.center.copy(n.center??r.VPORT_FALLBACK_CENTER_2D),i.lowerLeftCorner.copy(n.lowerLeftCorner??r.VPORT_FALLBACK_LLC),i.upperRightCorner.copy(n.upperRightCorner??r.VPORT_FALLBACK_URC),n.snapBasePoint&&i.snapBase.copy(n.snapBasePoint),n.snapRotationAngle&&(i.snapAngle=n.snapRotationAngle),n.snapSpacing&&i.snapIncrements.copy(n.snapSpacing),n.majorGridLines&&(i.gridMajor=n.majorGridLines),n.gridSpacing&&i.gridIncrements.copy(n.gridSpacing),n.backgroundObjectId&&(i.backgroundObjectId=n.backgroundObjectId),i.gsView.center.copy(n.center??r.VPORT_FALLBACK_CENTER_2D),i.gsView.viewDirectionFromTarget.copy(n.viewDirectionFromTarget??r.VPORT_FALLBACK_VIEW_DIR),i.gsView.viewTarget.copy(n.viewTarget??r.VPORT_FALLBACK_VIEW_TARGET),n.lensLength&&(i.gsView.lensLength=n.lensLength),n.frontClippingPlane&&(i.gsView.frontClippingPlane=n.frontClippingPlane),n.backClippingPlane&&(i.gsView.backClippingPlane=n.backClippingPlane),n.viewHeight&&(i.gsView.viewHeight=n.viewHeight);const s=n.aspectRatio;s!=null&&Number.isFinite(s)&&s>0&&(i.gsView.aspectRatio=s),n.viewTwistAngle&&(i.gsView.viewTwistAngle=n.viewTwistAngle),n.frozenLayers&&(i.gsView.frozenLayers=n.frozenLayers),n.styleSheet&&(i.gsView.styleSheet=n.styleSheet),n.renderMode&&(i.gsView.renderMode=n.renderMode),n.viewMode&&(i.gsView.viewMode=n.viewMode),n.ucsIconSetting&&(i.gsView.ucsIconSetting=n.ucsIconSetting),n.ucsOrigin&&i.gsView.ucsOrigin.copy(n.ucsOrigin),n.ucsXAxis&&i.gsView.ucsXAxis.copy(n.ucsXAxis),n.ucsYAxis&&i.gsView.ucsYAxis.copy(n.ucsYAxis),n.orthographicType&&(i.gsView.orthographicType=n.orthographicType),n.shadePlotSetting&&(i.gsView.shadePlotSetting=n.shadePlotSetting),n.shadePlotObjectId&&(i.gsView.shadePlotObjectId=n.shadePlotObjectId),n.visualStyleObjectId&&(i.gsView.visualStyleObjectId=n.visualStyleObjectId),n.isDefaultLightingOn&&(i.gsView.isDefaultLightingOn=n.isDefaultLightingOn),n.defaultLightingType&&(i.gsView.defaultLightingType=n.defaultLightingType),n.brightness&&(i.gsView.brightness=n.brightness),n.contrast&&(i.gsView.contrast=n.contrast),n.ambientColor&&(i.gsView.ambientColor=n.ambientColor),this.processCommonTableEntryAttrs(n,i),t.tables.viewportTable.add(i)})}processBlockTables(e,t){e.tables.BLOCK_RECORD.entries.forEach(n=>{let i=t.tables.blockTable.getAt(n.name);i||(i=new r.AcDbBlockTableRecord,i.name=n.name,i.ownerId=n.ownerHandle,i.layoutId=n.layout,i.flags=r.AcDbBlockTableRecord.sanitizeImportedFlags(n.flags??0),i.blockInsertUnits=n.insertionUnits,i.explodability=n.explodability,i.blockScaling=n.scalability,i.objectId=n.handle,t.tables.blockTable.add(i)),n.bmpPreview&&(i.previewIcon=r.acdbHexStringsToBytes([n.bmpPreview])),i.origin.copy(n.basePoint),!i.isModelSapce&&n.entities&&n.entities.length>0&&this.processEntitiesInBlock(n.entities,i)})}processBlocks(e,t){}async processEntitiesInBlock(e,t){const o=new y,n=e.length,i=[];for(let s=0;s<n;s++){const c=e[s],a=o.convert(c);a&&i.push(a)}t.appendEntity(i)}async processEntities(e,t,o,n,i){const s=new y;let c=[];e.tables.BLOCK_RECORD.entries.forEach(u=>{this.isModelSpace(u.name)&&(c=u.entities)});const a=c.length,f=new r.AcDbBatchProcessing(a,100-n.value,o);this.config.convertByEntityType&&(c=this.groupAndFlattenByType(c));const l=t.tables.blockTable.modelSpace;await f.processChunk(async(u,D)=>{const g=[];for(let A=u;A<D;A++){const d=c[A],b=s.convert(d);b&&g.push(b)}if(l.appendEntity(g),i){let A=n.value+D/a*(100-n.value);A>100&&(A=100),await i(A,"ENTITY","IN-PROGRESS")}})}processClasses(e,t){var o;(o=e.classes)!=null&&o.length&&(t.classes=e.classes.map(n=>({name:n.dxfName,cppClassName:n.cppName,appName:n.appName,proxyFlag:n.capabilitiesFlag,instanceCount:n.instanceCount,wasProxy:n.wasAProxyFlag,isEntity:n.isAnEntityFlag})))}processHeader(e,t){const o=e.thumbnailImage;o!=null&&o.length&&(t.thumbnailImage=o);const n=e.header;n.CECOLOR&&(n.CECOLOR.index>=0&&n.CECOLOR.index<=256?t.cecolor.colorIndex=n.CECOLOR.index:t.cecolor.setRGBValue(n.CECOLOR.rgb)),t.angbase=n.ANGBASE??0,t.angdir=n.ANGDIR??0,t.aunits=n.AUNITS??0,n.AUPREC!=null&&(t.auprec=n.AUPREC),n.LUNITS!=null&&(t.lunits=n.LUNITS),n.LUPREC!=null&&(t.luprec=n.LUPREC),n.UNITMODE!=null&&(t.unitmode=n.UNITMODE),n.MEASUREMENT!=null&&(t.measurement=n.MEASUREMENT),t.celtype=n.CELTYPE??r.ByLayer,t.celtscale=n.CELTSCALE??1,t.ltscale=n.LTSCALE??1,t.tilemode=n.TILEMODE??1,n.EXTMAX&&(t.extmax=n.EXTMAX),n.EXTMIN&&(t.extmin=n.EXTMIN),t.insunits=n.INSUNITS??1,t.pdmode=n.PDMODE??0,t.pdsize=n.PDSIZE??0,t.textstyle=n.TEXTSTYLE??r.DEFAULT_TEXT_STYLE,t.dimstyle=this.normalizeHeaderStringValue(n.DIMSTYLE)??r.DEFAULT_TEXT_STYLE;const i=this.normalizeHeaderStringValue(n.CMLEADERSTYLE)??r.DEFAULT_MLEADER_STYLE;t.cmleaderstyle=i}processCommonTableEntryAttrs(e,t){t.name=e.name,t.objectId=e.handle,e.ownerHandle!=null&&(t.ownerId=e.ownerHandle)}processObjects(e,t){this.processScales(e,t),this.processDictionaryVars(e,t),this.processMTextObjectContextData(e,t),this.processTextObjectContextData(e,t),this.processDimensionObjectContextData(e,t),this.processHatchScaleContextData(e,t),this.processBlkRefObjectContextData(e,t),this.processLeaderObjectContextData(e,t),this.processMLeaderObjectContextData(e,t),this.processMTextAttributeObjectContextData(e,t),this.processXRecords(e,t),this.processLayouts(e,t),this.processImageDefs(e,t),this.processLayerFilters(e,t),this.processLayerIndexes(e,t),this.processLayerFilterTree(e,t),this.processMLeaderStyles(e,t),this.processDynBlockMetadata(e,t),this.finishCannoscale(e,t),this.finishAnnoallvisible(e,t)}processDynBlockMetadata(e,t){const o=s=>s==null||s===""||s===0?"":String(s).trim().toUpperCase();for(const s of e.tables.BLOCK_RECORD.entries){const c=t.tables.blockTable.getAt(s.name);if(!c)continue;const a=s,f=r.acdbNormalizeExtensionDictionaryId(a.extensionDictionary??a.ownerDictionaryHardId??a.ownerDictionarySoftId);f&&(c.extensionDictionary=f)}const n=e.objects.DICTIONARY;if(!(n!=null&&n.length))return;const i=n.map(s=>{const c=[],a=s.entries??{};for(const f in a){const l=a[f];f&&l&&c.push({name:f,handle:o(String(l))})}return{handle:o(s.handle),ownerHandle:o(s.ownerHandle)||void 0,entries:c}});r.acdbImportDynBlockMetadata(t,{dictionaries:i,representationData:[]})}processLayerFilterTree(e,t){const o=e.objects.DICTIONARY,n=e.objects.XRECORD;if(!(o!=null&&o.length)||!(n!=null&&n.length))return;const i=f=>f?String(f).trim().toUpperCase():"",s=new Map;o.forEach(f=>{const l={},u=f.entries??{};for(const D in u){const g=u[D];D&&g&&(l[D]=i(String(g)))}s.set(i(f.handle),{handle:i(f.handle),ownerObjectId:i(f.ownerHandle),entries:l})});const c=new Map;n.forEach(f=>{c.set(i(f.handle),{handle:i(f.handle),ownerObjectId:i(f.ownerHandle),extensionDictionaryId:i(f.extensionDictionary),data:(f.data??[]).map(l=>({code:Number(l.code),value:l.value}))})});const a=r.acdbReadLayerFilterTree({dictionaries:s,xrecords:c});a.root.getNestedFilters().length>0&&(t.layerFilters=a)}processLayouts(e,t){const o=t.objects.layout;e.objects.LAYOUT.forEach(i=>{const s=new r.AcDbLayout;s.layoutName=i.layoutName,s.tabOrder=i.tabOrder;const c=t.tables.blockTable.newIterator();s.objectId=i.handle;for(const a of c)if(a.layoutId===s.objectId){s.blockTableRecordId=a.objectId;break}s.blockTableRecordId||i.layoutName==="Model"&&(s.blockTableRecordId=t.tables.blockTable.modelSpace.objectId),s.limits.min.copy(i.minLimit),s.limits.max.copy(i.maxLimit),s.extents.min.copy(i.minExtent),s.extents.max.copy(i.maxExtent),i.viewportId&&s.viewportArray.push(i.viewportId),this.processCommonObjectAttrs(i,s),o.setAt(s.layoutName,s)})}processImageDefs(e,t){const o=t.objects.imageDefinition;e.objects.IMAGEDEF.forEach(i=>{const s=new r.AcDbRasterImageDef;s.sourceFileName=i.fileName,this.processCommonObjectAttrs(i,s),o.setAt(s.objectId,s)})}processLayerFilters(e,t){const o=e.objects.LAYER_FILTER;if(!(o!=null&&o.length))return;const n=t.objects.layerFilter,i=new h;o.forEach(s=>{const c=i.convertLayerFilter(s);n.setAt(c.objectId,c)})}processLayerIndexes(e,t){const o=e.objects.LAYER_INDEX;if(!(o!=null&&o.length))return;const n=t.objects.layerIndex,i=new h;o.forEach(s=>{const c=i.convertLayerIndex(s);n.setAt(c.objectId,c)})}processMLeaderStyles(e,t){const o=e.objects.MLEADERSTYLE;if(!(o!=null&&o.length))return;const n=t.objects.mleaderStyle,i=new h;o.forEach(s=>{const c=i.convertMLeaderStyle(s);n.setAt(c.objectId,c)})}processScales(e,t){const o=this.optionalObjectArray(e,"SCALE");if(!(o!=null&&o.length))return;const n=t.objects.scale,i=new h;for(const s of o){const c=i.convertScale(s),a=c.scaleName||c.objectId;a&&n.setAt(a,c)}}processDictionaryVars(e,t){const o=this.optionalObjectArray(e,"DICTIONARYVAR");if(!(o!=null&&o.length))return;const n=t.objects.dictionaryVar,i=new h;for(const s of o){const c=i.convertDictionaryVar(s);c.objectId&&n.setAt(c.objectId,c)}}processMTextObjectContextData(e,t){const o=this.optionalObjectArray(e,"MTEXTOBJECTCONTEXTDATA")??this.optionalObjectArray(e,"ACDB_MTEXTOBJECTCONTEXTDATA_CLASS");if(!(o!=null&&o.length))return;const n=t.objects.objectContextData,i=new h;for(const s of o){const c=i.convertMTextObjectContextData(s);c.objectId&&n.setAt(c.objectId,c)}}processDimensionObjectContextData(e,t){const o=["ALDIMOBJECTCONTEXTDATA","ACDB_ALDIMOBJECTCONTEXTDATA_CLASS","ANGDIMOBJECTCONTEXTDATA","ACDB_ANGDIMOBJECTCONTEXTDATA_CLASS","ARCDIMOBJECTCONTEXTDATA","ACDB_ARCDIMOBJECTCONTEXTDATA_CLASS","DMDIMOBJECTCONTEXTDATA","ACDB_DMDIMOBJECTCONTEXTDATA_CLASS","ORDDIMOBJECTCONTEXTDATA","ACDB_ORDDIMOBJECTCONTEXTDATA_CLASS","RADDIMOBJECTCONTEXTDATA","ACDB_RADDIMOBJECTCONTEXTDATA_CLASS","RADIMOBJECTCONTEXTDATA","ACDB_RADIMOBJECTCONTEXTDATA_CLASS","RADDIMLGCOBJECTCONTEXTDATA","ACDB_RADDIMLGCOBJECTCONTEXTDATA_CLASS"],n=new h,i=t.objects.objectContextData;for(const s of o){const c=this.optionalObjectArray(e,s);if(c!=null&&c.length)for(const a of c){const f=n.convertDimensionObjectContextData(a);f.objectId&&i.setAt(f.objectId,f)}}}processTextObjectContextData(e,t){const o=this.optionalObjectArray(e,"TEXTOBJECTCONTEXTDATA")??this.optionalObjectArray(e,"ACDB_TEXTOBJECTCONTEXTDATA_CLASS");if(!(o!=null&&o.length))return;const n=t.objects.objectContextData,i=new h;for(const s of o){const c=i.convertTextObjectContextData(s);c.objectId&&n.setAt(c.objectId,c)}}processHatchScaleContextData(e,t){const o=this.optionalObjectArray(e,"HATCHSCALECONTEXTDATA")??this.optionalObjectArray(e,"ACDB_HATCHSCALECONTEXTDATA_CLASS");if(!(o!=null&&o.length))return;const n=t.objects.objectContextData,i=new h;for(const s of o){const c=i.convertHatchScaleContextData(s);c.objectId&&n.setAt(c.objectId,c)}}processBlkRefObjectContextData(e,t){const o=this.optionalObjectArray(e,"BLKREFOBJECTCONTEXTDATA")??this.optionalObjectArray(e,"ACDB_BLKREFOBJECTCONTEXTDATA_CLASS");if(!(o!=null&&o.length))return;const n=t.objects.objectContextData,i=new h;for(const s of o){const c=i.convertBlkRefObjectContextData(s);c.objectId&&n.setAt(c.objectId,c)}}processLeaderObjectContextData(e,t){const o=this.optionalObjectArray(e,"LEADEROBJECTCONTEXTDATA")??this.optionalObjectArray(e,"ACDB_LEADEROBJECTCONTEXTDATA_CLASS");if(!(o!=null&&o.length))return;const n=t.objects.objectContextData,i=new h;for(const s of o){const c=i.convertLeaderObjectContextData(s);c.objectId&&n.setAt(c.objectId,c)}}processMLeaderObjectContextData(e,t){const o=this.optionalObjectArray(e,"MLEADEROBJECTCONTEXTDATA")??this.optionalObjectArray(e,"ACDB_MLEADEROBJECTCONTEXTDATA_CLASS");if(!(o!=null&&o.length))return;const n=t.objects.objectContextData,i=new h;for(const s of o){const c=i.convertMLeaderObjectContextData(s);c.objectId&&n.setAt(c.objectId,c)}}processMTextAttributeObjectContextData(e,t){const o=this.optionalObjectArray(e,"MTEXTATTRIBUTEOBJECTCONTEXTDATA")??this.optionalObjectArray(e,"ACDB_MTEXTATTRIBUTEOBJECTCONTEXTDATA_CLASS");if(!(o!=null&&o.length))return;const n=t.objects.objectContextData,i=new h;for(const s of o){const c=i.convertMTextAttributeObjectContextData(s);c.objectId&&n.setAt(c.objectId,c)}}processXRecords(e,t){const o=e.objects.XRECORD;if(!(o!=null&&o.length))return;const n=t.objects.xrecord,i=new h;for(const s of o){const c=i.convertXRecord(s);c.objectId&&n.setAt(c.objectId,c)}}finishCannoscale(e,t){const o=s=>{const c=s.getAt("CANNOSCALE");return c instanceof r.AcDbDictionaryVar&&c.value?(t.cannoscale=c.value,!0):!1},n=t.objects.dictionary.getAt("AcDbVariableDictionary");if(n instanceof r.AcDbDictionary&&o(n))return;const i=s=>s==null||s===""||s===0?"":String(s).trim().toUpperCase();for(const s of e.objects.DICTIONARY??[]){const a=(s.entries??{}).AcDbVariableDictionary;if(!a)continue;const f=t.getObjectById(i(a));if(f instanceof r.AcDbDictionary&&o(f)){try{t.objects.dictionary.getAt("AcDbVariableDictionary")||t.objects.dictionary.setAt("AcDbVariableDictionary",f)}catch{}return}}}finishAnnoallvisible(e,t){const o=s=>{const c=s.getAt("ANNOALLVISIBLE");if(!(c instanceof r.AcDbDictionaryVar)||c.value==null)return!1;const a=String(c.value).trim();return t.annoallvisible=a!=="0"&&a.toLowerCase()!=="false",!0},n=t.objects.dictionary.getAt("AcDbVariableDictionary");if(n instanceof r.AcDbDictionary&&o(n))return;const i=s=>s==null||s===""||s===0?"":String(s).trim().toUpperCase();for(const s of e.objects.DICTIONARY??[]){const a=(s.entries??{}).AcDbVariableDictionary;if(!a)continue;const f=t.getObjectById(i(a));if(f instanceof r.AcDbDictionary&&o(f))return}}optionalObjectArray(e,t){const n=e.objects[t];return Array.isArray(n)?n:void 0}processCommonObjectAttrs(e,t){t.objectId=e.handle,e.ownerHandle!=null&&(t.ownerId=e.ownerHandle)}groupAndFlattenByType(e){const t={},o=[];for(const i of e)t[i.type]||(t[i.type]=[],o.push(i.type)),t[i.type].push(i);const n=[];for(const i of o){const s=t[i];for(let c=0;c<s.length;c++)n.push(s[c])}return n}isModelSpace(e){return e&&e.toUpperCase()==P}normalizeHeaderStringValue(e){if(typeof e!="string")return;const t=e.trim();return t.length>0?t:void 0}}C.AcDbLibreDwgConverter=w,Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})}));
1
+ (function(C,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("@mlightcad/data-model")):typeof define=="function"&&define.amd?define(["exports","@mlightcad/data-model"],r):(C=typeof globalThis<"u"?globalThis:C||self,r(C["libredwg-converter"]={},C.dataModel))})(this,(function(C,r){"use strict";class y{convert(e){const t=this.createEntity(e);if(t&&(this.processCommonAttrs(e,t),e.type==="ARCALIGNEDTEXT")){const o=e.rawTextColor;t.applyRawTextColor(o)}return t}createEntity(e){return e.type=="3DFACE"?this.convertFace(e):e.type=="ARC"?this.convertArc(e):e.type=="ATTDEF"?this.convertAttributeDefinition(e):e.type=="ATTRIB"?this.convertAttribute(e):e.type=="CIRCLE"?this.convertCirle(e):e.type=="DIMENSION"?this.convertDimension(e):e.type=="ELLIPSE"?this.convertEllipse(e):e.type=="HATCH"?this.convertHatch(e):e.type=="IMAGE"?this.convertImage(e):e.type=="LEADER"?this.convertLeader(e):e.type=="LINE"?this.convertLine(e):e.type=="LWPOLYLINE"?this.convertLWPolyline(e):e.type=="MLINE"?this.convertMLine(e):e.type=="MTEXT"?this.convertMText(e):e.type=="MULTILEADER"||e.type=="MLEADER"?this.convertMLeader(e):e.type=="POINT"?this.convertPoint(e):e.type=="POLYLINE2D"?this.convertPolyline2d(e):e.type=="POLYLINE3D"?this.convertPolyline3d(e):e.type=="RAY"?this.convertRay(e):e.type=="SPLINE"?this.convertSpline(e):e.type=="ACAD_TABLE"?this.convertTable(e):e.type=="TEXT"?this.convertText(e):e.type=="TOLERANCE"?this.convertTolerance(e):e.type=="SHAPE"?this.convertShape(e):e.type=="SOLID"?this.convertSolid(e):e.type=="TRACE"?this.convertTrace(e):e.type=="VIEWPORT"?this.convertViewport(e):e.type=="WIPEOUT"?this.convertWipeout(e):e.type=="XLINE"?this.convertXline(e):e.type=="INSERT"?this.convertBlockReference(e):e.type=="ACAD_PROXY_ENTITY"?this.convertProxyEntity(e):e.type=="OLE2FRAME"?this.convertOle2Frame(e):e.type=="OLEFRAME"?this.convertOleFrame(e):e.type=="ARCALIGNEDTEXT"?this.convertArcAlignedText(e):null}convertProxyEntity(e){const t=new r.AcDbProxyEntity;if(t.proxyEntityClassId=e.proxyEntityClassId,e.originalDxfName&&(t.originalDxfName=e.originalDxfName),e.applicationEntityClassId!=null&&(t.applicationEntityClassId=e.applicationEntityClassId),e.objectDrawingFormat!=null&&(t.objectDrawingFormat=e.objectDrawingFormat),e.originalDataFormat!=null&&(t.originalDataFormat=e.originalDataFormat),e.graphicsData){const o=r.acdbHexStringsToBytes([e.graphicsData]),n=e.graphicsDataSize??o.length;t.setProxyGraphic(o.subarray(0,n))}return t}convertFace(e){const t=new r.AcDbFace;return e.corner1&&t.setVertexAt(0,e.corner1),e.corner2&&t.setVertexAt(1,e.corner2),e.corner3&&t.setVertexAt(2,e.corner3),e.corner4&&t.setVertexAt(3,e.corner4),t.setEdgeInvisibilities(e.flag),t}convertArc(e){const t=e.extrusionDirection??r.AcGeVector3d.Z_AXIS;return new r.AcDbArc(r.acgeTransformOcsPointToWcs(e.center,t),e.radius,e.startAngle,e.endAngle,t)}convertCirle(e){const t=e.extrusionDirection??r.AcGeVector3d.Z_AXIS;return new r.AcDbCircle(r.acgeTransformOcsPointToWcs(e.center,t),e.radius,t)}convertEllipse(e){const t=new r.AcGeVector3d(e.majorAxisEndPoint),o=t.length();return new r.AcDbEllipse(e.center,e.extrusionDirection??r.AcGeVector3d.Z_AXIS,t,o,o*e.axisRatio,e.startAngle,e.endAngle)}convertLine(e){const t=e.startPoint,o=e.endPoint;return new r.AcDbLine(new r.AcGePoint3d(t.x,t.y,t.z),new r.AcGePoint3d(o.x,o.y,o.z))}convertSpline(e){return r.AcDbSpline.fromDwgSpline(e)}convertPoint(e){const t=new r.AcDbPoint;return t.position=e.position,t}convertShape(e){const t=e.extrusionDirection??r.AcGeVector3d.Z_AXIS,o=new r.AcDbShape;return o.position=r.acgeTransformOcsPointToWcs(e.insertionPoint,t),o.size=e.size,o.shapeNumber=e.shapeNumber,e.styleName&&(o.styleName=e.styleName),o.rotation=e.rotation??0,o.widthFactor=e.xScale??1,o.oblique=e.obliqueAngle??0,o.thickness=e.thickness??0,o.normal.copy(t),o}convertSolid(e){return this.convertTraceLike(new r.AcDbSolid,e)}convertTrace(e){return this.convertTraceLike(new r.AcDbTrace,e)}convertTraceLike(e,t){const o=t.extrusionDirection??r.AcGeVector3d.Z_AXIS,n=s=>r.acgeTransformOcsPointToWcs({x:s.x,y:s.y,z:s.z??0},o),i=t.corner4??t.corner3;return e.setPointAt(0,n(t.corner1)),e.setPointAt(1,n(t.corner2)),e.setPointAt(2,n(t.corner3)),e.setPointAt(3,n(i)),e.thickness=t.thickness??0,e.normal.copy(o),e.elevation=e.getPointAt(0).z,e}convertLWPolyline(e){const t=new r.AcDbPolyline;t.closed=!!(e.flag&512);const o=e.constantWidth??-1;return e.vertices.forEach((n,i)=>{t.addVertexAt(i,new r.AcGePoint2d(n.x,n.y),n.bulge,n.startWidth??o,n.endWidth??o)}),t}convertPolyline2d(e){var f;const t=!!(e.flag&1),o=!!(e.flag&16),n=!!(e.flag&64),i=!!(e.flag&32),s=[],c=[],a=[];if(e.vertices.map(l=>{if(!(l.flag&16))if(n&&l.flag&128)if(l.flag&64)s.push({x:l.x,y:l.y,z:l.z}),c.push(l.bulge??0);else{const u=[];l.polyfaceIndex0!=null&&l.polyfaceIndex0!=0&&u.push(Math.abs(l.polyfaceIndex0)-1),l.polyfaceIndex1!=null&&l.polyfaceIndex1!=0&&u.push(Math.abs(l.polyfaceIndex1)-1),l.polyfaceIndex2!=null&&l.polyfaceIndex2!=0&&u.push(Math.abs(l.polyfaceIndex2)-1),l.polyfaceIndex3!=null&&l.polyfaceIndex3!=0&&u.push(Math.abs(l.polyfaceIndex3)-1),u.length>=3&&a.push(u)}else s.push({x:l.x,y:l.y,z:l.z}),c.push(l.bulge??0)}),o){const l=e.meshMVertexCount??2,u=e.meshNVertexCount??2;return new r.AcDbPolygonMesh(l,u,s,t,i)}else{if(n)return new r.AcDbPolyFaceMesh(s,a);{let l=r.AcDbPoly2dType.SimplePoly;e.flag&2?l=r.AcDbPoly2dType.FitCurvePoly:e.flag&4&&(e.smoothType==6?l=r.AcDbPoly2dType.CubicSplinePoly:e.smoothType==5&&(l=r.AcDbPoly2dType.QuadSplinePoly));const u=new r.AcDb2dPolyline(l,s,((f=s[0])==null?void 0:f.z)??0,t,e.startWidth,e.endWidth,c);return e.extrusionDirection&&(u.normal=e.extrusionDirection),u}}}convertPolyline3d(e){const t=!!(e.flag&1),o=[];e.vertices.map(i=>{i.flag&16||o.push({x:i.x,y:i.y,z:i.z})});let n=r.AcDbPoly3dType.SimplePoly;return e.flag&4&&(e.smoothType==6?n=r.AcDbPoly3dType.CubicSplinePoly:e.smoothType==5&&(n=r.AcDbPoly3dType.QuadSplinePoly)),new r.AcDb3dPolyline(n,o,t)}convertHatch(e){var n;const t=new r.AcDbHatch;if((n=e.definitionLines)==null||n.forEach(i=>{t.definitionLines.push({angle:i.angle,base:i.base,offset:i.offset,dashLengths:i.numberOfDashLengths>0?i.dashLengths:[]})}),t.hatchStyle=e.hatchStyle,t.patternName=e.patternName,e.solidFill==1&&(t.isSolidFill=!0),t.patternType=e.patternType,t.patternAngle=e.patternAngle==null?0:e.patternAngle,t.patternScale=e.patternScale==null?0:e.patternScale,e.boundaryPaths.forEach(i=>{if(i.boundaryPathTypeFlag&2){const c=i,a=new r.AcGePolyline2d;a.closed=c.isClosed,c.vertices.forEach((f,l)=>{a.addVertexAt(l,{x:f.x,y:f.y,bulge:f.bulge})}),t.add(a)}else{const c=i,a=[];c.edges.forEach(l=>{if(l!=null){if(l.type==1){const u=l;a.push(new r.AcGeLine2d(u.start,u.end))}else if(l.type==2){const u=l;a.push(new r.AcGeCircArc2d(u.center,u.radius,u.startAngle,u.endAngle,!u.isCCW))}else if(l.type==3){const u=l;new r.AcGeVector2d().subVectors(u.end,u.center);const g=Math.sqrt(Math.pow(u.end.x,2)+Math.pow(u.end.y,2)),A=g*u.lengthOfMinorAxis;let d=u.startAngle,b=u.endAngle;const T=Math.atan2(u.end.y,u.end.x);u.isCCW||(d=Math.PI*2-d,b=Math.PI*2-b),a.push(new r.AcGeEllipseArc2d({...u.center,z:0},g,A,d,b,!u.isCCW,T))}else if(l.type==4){const u=r.AcGeSpline3d.fromDwgSplineEdge(l);u&&a.push(u)}}});const f=r.AcGeLoop2d.buildFromEdges(a);f.length===1?t.add(f[0]):a.length>0&&t.add(new r.AcGeLoop2d(a))}}),e.gradientFlag){const i=e;if(t.hatchObjectType=r.AcDbHatchObjectType.GradientObject,t.gradientName=i.gradientName,t.gradientAngle=i.gradientRotation??0,t.gradientShift=i.gradientDefinition??0,t.gradientOneColorMode=i.gradientColorFlag==1,t.shadeTintValue=i.colorTint??0,i.gradientColors){const s=i.gradientColors.length;s>1?(t.gradientStartColor=i.gradientColors[0].rgb,t.gradientEndColor=i.gradientColors[1].rgb):s>0&&(t.gradientStartColor=i.gradientColors[0].rgb)}}return e.extrusionDirection&&(t.normal=e.extrusionDirection),t}convertTable(e){const t=new r.AcDbTable(e.name??"",e.rowCount,e.columnCount);return t.tableStyleId=e.tableStyleId,t.owningBlockRecordId=e.blockRecordHandle,e.directionVector&&(t.horizontalDirection=new r.AcGeVector3d(e.directionVector)),t.attachmentPoint=e.attachmentPoint,t.position.copy(e.startPoint),t.tableValueFlag=e.tableValue,t.tableOverrideFlag=e.overrideFlag,t.borderColorOverrideFlag=e.borderColorOverrideFlag,t.borderLineweightOverrideFlag=e.borderLineWeightOverrideFlag,t.borderVisibilityOverrideFlag=e.borderVisibilityOverrideFlag,e.columnWidthArr.forEach((o,n)=>t.setColumnWidth(n,o)),e.rowHeightArr.forEach((o,n)=>t.setRowHeight(n,o)),e.cells.forEach((o,n)=>{t.setCell(n,o)}),t}convertText(e){const t=new r.AcDbText;t.textString=e.text,t.styleName=e.styleName,t.height=e.textHeight,t.position.copy(e.startPoint);const o=!e.endPoint||e.endPoint.x===0&&e.endPoint.y===0&&(e.endPoint.z??0)===0;return e.endPoint&&!o?(t.alignmentPoint.copy(e.endPoint),t.hasAlignmentPoint=!0):(t.alignmentPoint.copy(e.startPoint),t.hasAlignmentPoint=!1),t.rotation=e.rotation,t.oblique=e.obliqueAngle??0,t.thickness=e.thickness,t.horizontalMode=e.halign,t.verticalMode=e.valign,t.widthFactor=e.xScale??1,t}convertArcAlignedText(e){const t=new r.AcDbArcAlignedText;return t.textString=e.text,t.textSize=e.textSize,t.xScale=e.xScale>0?e.xScale:1,t.characterSpacing=e.characterSpacing,e.styleName&&(t.styleName=e.styleName),t.fontName=e.fontName,t.bigFontName=e.bigFontName,t.offsetFromArc=e.offsetFromArc,t.rightOffset=e.rightOffset,t.leftOffset=e.leftOffset,t.center=new r.AcGePoint3d(e.center.x,e.center.y,e.center.z),t.radius=e.radius,t.startAngle=e.startAngle,t.endAngle=e.endAngle,t.normal=new r.AcGeVector3d(e.extrusionDirection.x,e.extrusionDirection.y,e.extrusionDirection.z||1),t.characterSet=e.characterSet,t.pitchAndFamily=e.pitchAndFamily,t.isShx=e.isShx,t.isBold=e.isBold,t.isItalic=e.isItalic,t.isUnderlined=e.isUnderlined,t.alignment=e.alignment,t.isReverse=e.isReverse,t.wizardFlag=e.wizardFlag,t.textPosition=e.textPosition,t.textDirection=e.textDirection,e.arcHandle&&(t.arcId=e.arcHandle),t}convertTolerance(e){const t=new r.AcDbFcf;return t.location.copy(e.insertionPoint),t.text=e.text,t.dimensionStyle=e.styleName??"",e.extrusionDirection&&t.normal.copy(e.extrusionDirection),e.xAxisDirection&&t.direction.copy(e.xAxisDirection),t}convertMText(e){const t=new r.AcDbMText;return t.contents=e.text,e.styleName!=null&&(t.styleName=e.styleName),t.height=e.textHeight,t.width=e.rectWidth,t.rotation=e.rotation||0,t.location=e.insertionPoint,t.attachmentPoint=e.attachmentPoint,e.direction&&(t.direction=new r.AcGeVector3d(e.direction)),t.drawingDirection=e.drawingDirection,e.lineSpacing!=null&&e.lineSpacing>0&&(t.lineSpacingFactor=e.lineSpacing),e.lineSpacingStyle!=null&&(t.lineSpacingStyle=e.lineSpacingStyle),e.extentsWidth!=null&&e.extentsWidth>0&&(t.extentsWidth=e.extentsWidth),t}convertLeader(e){const t=new r.AcDbLeader;return e.vertices.forEach(o=>{t.appendVertex(o)}),t.hasArrowHead=e.isArrowheadEnabled,t.hasHookLine=e.isHooklineExists,t.isHookLineSameDirection=e.isHooklineSameDirection,t.isSplined=e.isSpline,t.dimensionStyle=e.styleName??"",t.annoType=e.leaderCreationFlag,e.textHeight!=null&&(t.textHeight=e.textHeight),e.textWidth!=null&&(t.textWidth=e.textWidth),e.byBlockColor!=null&&(t.byBlockColor=e.byBlockColor),e.associatedAnnotation&&(t.associatedAnnotation=e.associatedAnnotation),e.normal&&(t.normal=e.normal),e.horizontalDirection&&(t.horizontalDirection=e.horizontalDirection),e.offsetFromBlock&&(t.offsetFromBlock=e.offsetFromBlock),e.offsetFromAnnotation&&(t.offsetFromAnnotation=e.offsetFromAnnotation),t}convertMLine(e){const t=new r.AcDbMLine;return t.styleName=e.mlineStyle||"STANDARD",t.scale=e.scale,t.flags=e.flags,t.justification=e.justification,t.startPosition=e.startPoint,t.normal=e.extrusionDirection??r.AcGeVector3d.Z_AXIS,t.styleCount=e.numberOfLines??0,t.segments=(e.vertices??[]).map(o=>({position:o.vertex,direction:o.vertexDirection,miterDirection:o.miterDirection,elements:(o.lines??[]).map(n=>({parameterCount:n.numberOfSegmentParams,parameters:n.segmentParams??[],fillCount:n.numberOfAreaFillParams,fillParameters:n.areaFillParams??[]}))})),t}convertMLeader(e){var I,E;const t=new r.AcDbMLeader,o=e;t.version=e.version,t.leaderStyleId=e.leaderStyleId,e.leaderStyleId&&(t.mleaderStyleId=e.leaderStyleId),t.propertyOverrideFlag=e.propertyOverrideFlag,t.leaderLineType=e.leaderLineType??r.AcDbMLeaderLineType.StraightLeader,e.leaderLineColor!=null&&(t.leaderLineColor=this.convertMLeaderEntityColor(e.leaderLineColor)),t.leaderLineTypeId=e.leaderLineTypeId,t.leaderLineWeight=e.leaderLineWeight,t.landingEnabled=e.landingEnabled,t.doglegEnabled=e.doglegEnabled??!1,t.doglegLength=e.doglegLength??0,t.arrowheadId=e.arrowheadId,t.arrowheadSize=e.arrowheadSize,t.textStyleId=e.textStyleId,t.textLeftAttachmentType=e.textLeftAttachmentType,t.textRightAttachmentType=e.textRightAttachmentType,t.textAngleType=e.textAngleType,t.textAlignmentType=e.textAlignmentType,e.textColor!=null&&(t.textColor=this.convertMLeaderEntityColor(e.textColor)),t.textFrameEnabled=e.textFrameEnabled,t.landingGap=e.landingGap,t.textAttachment=e.textAttachment,t.textFlowDirection=e.textFlowDirection,this.isValidHandleId(e.blockContentId)&&(t.blockContentId=e.blockContentId),e.blockContentColor!=null&&(t.blockContentColor=this.convertMLeaderEntityColor(e.blockContentColor)),t.blockContentRotation=e.blockContentRotation,t.blockContentConnectionType=e.blockContentConnectionType,t.annotativeScaleEnabled=e.annotativeScaleEnabled,t.arrowheadOverrides=e.arrowheadOverrides?e.arrowheadOverrides.map(p=>({...p})):[],t.blockAttributes=e.blockAttributes?e.blockAttributes.map(p=>({...p})):[],t.textDirectionNegative=e.textDirectionNegative,t.textAlignInIPE=e.textAlignInIPE,t.bottomTextAttachmentDirection=e.bottomTextAttachmentDirection,t.topTextAttachmentDirection=e.topTextAttachmentDirection,t.contentScale=e.contentScale,t.textLineSpacingStyle=e.textLineSpacingStyle,e.textBackgroundColor!=null&&(t.textBackgroundColor=this.convertMLeaderEntityColor(e.textBackgroundColor)),t.textBackgroundScaleFactor=e.textBackgroundScaleFactor,t.textBackgroundTransparency=e.textBackgroundTransparency,t.textBackgroundColorOn=e.textBackgroundColorOn,t.textFillOn=e.textFillOn,t.textColumnType=e.textColumnType,t.textUseAutoHeight=e.textUseAutoHeight,t.textColumnWidth=e.textColumnWidth,t.textColumnGutterWidth=e.textColumnGutterWidth,t.textColumnFlowReversed=e.textColumnFlowReversed,t.textColumnHeight=e.textColumnHeight,t.textUseWordBreak=e.textUseWordBreak,t.hasMText=e.hasMText,t.hasBlock=e.hasBlock,t.planeNormalReversed=e.planeNormalReversed,e.blockContentScale&&(t.blockContentScale=new r.AcGeVector3d(e.blockContentScale)),e.contentBasePosition&&(t.contentBasePosition=new r.AcGePoint3d().copy(e.contentBasePosition)),e.textAnchor&&(t.textAnchor=new r.AcGePoint3d().copy(e.textAnchor)),e.planeOrigin&&(t.planeOrigin=new r.AcGePoint3d().copy(e.planeOrigin)),e.planeXAxisDirection&&(t.planeXAxisDirection=new r.AcGeVector3d(e.planeXAxisDirection)),e.planeYAxisDirection&&(t.planeYAxisDirection=new r.AcGeVector3d(e.planeYAxisDirection));const n=o.textContent,i=n&&typeof n=="object"?n:void 0,s=typeof n=="string"&&n.length>0||this.readString(i??{},["text","contents"])!=null||this.readString(o,["text","contents","mtext"])!=null,c=e.contentType??(s?r.AcDbMLeaderContentType.MTextContent:e.blockContent?r.AcDbMLeaderContentType.BlockContent:r.AcDbMLeaderContentType.NoneContent);t.contentType=c;const a=this.readPoint(o,["normal","extrusionDirection"]);a&&(t.normal=a);const f=this.readString(i??{},["styleName","textStyleName","textStyle"])??this.readString(o,["textStyleName","textStyle","styleName"]);f&&(t.textStyleName=f);const l=this.readPositiveNumber(i??{},["textHeight","height"])??this.readPositiveNumber(o,["textHeight","mtextHeight","textContentHeight"])??this.readPositiveNumber(o,["arrowheadSize","contentScale"]);l!=null&&(t.textHeight=l);const u=this.readPositiveNumber(i??{},["textWidth","width"])??this.readPositiveNumber(o,["textWidth","mtextWidth","textContentWidth"]);u!=null&&(t.textWidth=u),t.textLineSpacingFactor=this.readNumber(i??{},["lineSpacingFactor","textLineSpacingFactor"])??this.readNumber(o,["textLineSpacingFactor"])??t.textLineSpacingFactor;const D=this.readNumber(i??{},["lineSpacingStyle","textLineSpacingStyle"])??this.readNumber(o,["textLineSpacingStyle"]);D!=null&&(t.textLineSpacingStyle=D);const g=this.readNumber(i??{},["textRotation","rotation"])??this.readNumber(o,["textRotation","mtextRotation","textContentRotation"]);g!=null&&(t.textRotation=g);const A=this.readPoint(o,["textDirection","mtextDirection","textDirectionVector"]);A&&(t.textDirection=A);const d=this.readNumber(o,["textAttachmentPoint","attachmentPoint"]);d!=null&&d!==0&&(t.textAttachmentPoint=d);const b=e.textAttachmentDirection;b!=null&&(t.textAttachmentDirection=b);const T=this.readNumber(o,["textDrawingDirection","drawingDirection"]);T!=null&&(t.textDrawingDirection=T);const x=typeof n=="string"?n:this.readString(i??{},["text","contents"])??this.readString(o,["text","contents","mtext"]),S=this.readPoint(i??{},["anchorPoint","textAnchor","textLocation","textPosition","textAnchorPoint"])??this.readPoint(o,["textAnchor","textLocation","textPosition","textAnchorPoint","contentBasePosition"]);if(x!=null&&S&&(t.mtextContent={text:x,anchorPoint:S}),e.blockContent){const p=e.blockContent,m=e.blockContent.blockContentId;if(this.isValidHandleId(m)){const O=this.readMLeaderEntityColor(p,["color"]);t.blockContent={blockContentId:m,normal:this.readPoint(p,["normal"]),position:e.blockContent.position,scale:this.readPoint(p,["scale"]),rotation:this.readNumber(p,["rotation"]),color:O,transformationMatrix:Array.isArray(e.blockContent.transformationMatrix)?e.blockContent.transformationMatrix:[]}}}else this.isValidHandleId(e.blockContentId)&&(t.blockContent={blockContentId:e.blockContentId,scale:e.blockContentScale,rotation:e.blockContentRotation,color:t.blockContentColor,transformationMatrix:[]});return(I=this.readMLeaderLeaders(o))==null||I.forEach(p=>{t.addLeader({lastLeaderLinePoint:p.lastLeaderLinePoint,lastLeaderLinePointSet:p.lastLeaderLinePointSet,doglegVector:p.doglegVector,doglegVectorSet:p.doglegVectorSet,doglegLength:p.doglegLength??e.doglegLength,breaks:p.breaks,leaderBranchIndex:p.leaderBranchIndex,leaderLines:p.leaderLines})}),t.numberOfLeaders===0&&((E=this.readLeaderLineArray(o))==null||E.forEach(p=>{t.addLeader({doglegLength:e.doglegLength}),t.addLeaderLine(t.numberOfLeaders-1,p)})),t.numberOfLeaders===0&&e.contentBasePosition&&t.addLeader({lastLeaderLinePoint:e.contentBasePosition,lastLeaderLinePointSet:!0,doglegLength:e.doglegLength}),t}convertDimension(e){if(e.subclassMarker=="AcDbAlignedDimension"){const t=e,o=new r.AcDbAlignedDimension(t.subDefinitionPoint1,t.subDefinitionPoint2,t.definitionPoint);return t.insertionPoint&&(o.dimBlockPosition={x:t.insertionPoint.x,y:t.insertionPoint.y,z:0}),o.rotation=t.rotationAngle,this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDbRotatedDimension"){const t=e,o=new r.AcDbRotatedDimension(t.subDefinitionPoint1,t.subDefinitionPoint2,t.definitionPoint);return t.insertionPoint&&(o.dimBlockPosition={x:t.insertionPoint.x,y:t.insertionPoint.y,z:0}),o.rotation=t.rotationAngle,this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDb3PointAngularDimension"){const t=e,o=new r.AcDb3PointAngularDimension(t.centerPoint,t.subDefinitionPoint1,t.subDefinitionPoint2,t.definitionPoint);return this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDb2LineAngularDimension"){const t=e,o=t.definitionPoint??t.arcPoint??t.subDefinitionPoint2,n=t.centerPoint??t.subDefinitionPoint2??t.subDefinitionPoint1,i=n??o,s=t.subDefinitionPoint1??n??o,c=t.subDefinitionPoint2??n??o;if(!o||!t.name)return null;const a=new r.AcDb3PointAngularDimension(i,s,c,o);return this.processDimensionCommonAttrs(e,a),a}else if(e.subclassMarker=="AcDbOrdinateDimension"){const t=e,o=new r.AcDbOrdinateDimension(t.subDefinitionPoint1,t.subDefinitionPoint2);return t.definitionPoint&&(o.origin=new r.AcGePoint3d(t.definitionPoint.x,t.definitionPoint.y,t.definitionPoint.z)),this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDbRadialDimension"){const t=e,o=new r.AcDbRadialDimension(t.definitionPoint,t.centerPoint,t.leaderLength);return this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDbDiametricDimension"){const t=e,o=new r.AcDbDiametricDimension(t.definitionPoint,t.centerPoint,t.leaderLength);return this.processDimensionCommonAttrs(e,o),o}return null}processImage(e,t){t.position.copy(e.position),t.brightness=e.brightness,t.contrast=e.contrast,t.fade=e.fade,t.imageSize.copy(e.imageSize),t.imageDefId=e.imageDefHandle,t.isClipped=e.clipping>0,t.isShownClipped=(e.flags&4)!==0,t.isImageShown=(e.flags&3)!==0,t.isImageTransparent=(e.flags&8)!==0,e.clippingBoundaryPath.forEach(o=>{t.clipBoundary.push(new r.AcGePoint2d(o))}),t.clipBoundaryType=e.clippingBoundaryType,t.width=Math.sqrt(e.uPixel.x**2+e.uPixel.y**2+e.uPixel.z**2)*e.imageSize.x,t.height=Math.sqrt(e.vPixel.x**2+e.vPixel.y**2+e.vPixel.z**2)*e.imageSize.y,t.rotation=Math.atan2(e.uPixel.y,e.uPixel.x)}convertImage(e){const t=new r.AcDbRasterImage;return this.processImage(e,t),t}convertWipeout(e){const t=new r.AcDbWipeout;return this.processImage(e,t),t}convertOleFrame(e){const t=new r.AcDbOleFrame;if(t.oleVersion=e.flag??0,e.binaryData){const o=r.acdbHexStringsToBytes([e.binaryData]);t.loadOleObjectFromDxf(e.dataSize,o)}return t}convertOle2Frame(e){const t=new r.AcDbOle2Frame;if(t.oleVersion=e.oleVersion??0,t.userType=e.oleClient??"",e.leftUpPoint&&t.upperLeftCorner.copy(e.leftUpPoint),e.rightDownPoint&&t.lowerRightCorner.copy(e.rightDownPoint),t.setLockAspect(e.lockAspect??0),t.oleObjectType=e.oleObjectType??r.AcDbOleObjectType.Embedded,t.tileMode=e.tileModeDescriptor??r.AcDbOleTileMode.ModelSpace,e.binaryData){const o=r.acdbHexStringsToBytes([e.binaryData]);t.loadOleObjectFromDxf(e.dataSize,o)}return t}convertViewport(e){const t=new r.AcDbViewport;t.number=e.viewportId,t.centerPoint.copy(e.viewportCenter),t.height=e.height,t.width=e.width,t.viewCenter.copy(e.displayCenter),t.viewHeight=e.viewHeight,e.targetPoint&&t.viewTarget.copy(e.targetPoint),e.viewTwistAngle!=null&&(t.viewTwistAngle=e.viewTwistAngle);const o=1e-6,n=Math.abs(t.centerPoint.x)<o&&Math.abs(t.centerPoint.y)<o,i=t.viewTarget,s=Math.abs(i.x)<o&&Math.abs(i.y)<o,c=Number.isFinite(t.height)&&Number.isFinite(t.viewHeight)&&Math.abs(t.viewHeight-t.height)<o;return n&&s&&c&&t.centerPoint.copy(t.viewCenter),t}convertRay(e){const t=new r.AcDbRay;return t.basePoint.copy(e.firstPoint),t.unitDir.copy(e.unitDirection),t}convertXline(e){const t=new r.AcDbXline;return t.basePoint.copy(e.firstPoint),t.unitDir.copy(e.unitDirection),t}convertAttributeCommon(e,t){const o=e.text;t.textString=o.text,t.styleName=o.styleName,t.height=o.textHeight,t.position.copy(o.startPoint);const n=e.alignmentPoint??o.endPoint,i=!n||n.x===0&&n.y===0&&(n.z??0)===0;n&&!i?(t.alignmentPoint.copy(n),t.hasAlignmentPoint=!0):(t.alignmentPoint.copy(o.startPoint),t.hasAlignmentPoint=!1),t.rotation=o.rotation,t.oblique=o.obliqueAngle??0,t.thickness=o.thickness,t.horizontalMode=o.halign,t.verticalMode=o.valign,t.widthFactor=o.xScale??1,t.tag=e.tag,t.fieldLength=e.fieldLength,t.isInvisible=(e.flags&r.AcDbAttributeFlags.Invisible)!==0,t.isConst=(e.flags&r.AcDbAttributeFlags.Const)!==0,t.isVerifiable=(e.flags&r.AcDbAttributeFlags.Verifiable)!==0,t.isPreset=(e.flags&r.AcDbAttributeFlags.Preset)!==0,t.lockPositionInBlock=e.lockPositionFlag,t.isReallyLocked=e.isReallyLocked,t.isMTextAttribute=(e.mtextFlag&r.AcDbAttributeMTextFlag.MultiLine)!==0,t.isConstMTextAttribute=(e.mtextFlag&r.AcDbAttributeMTextFlag.ConstMultiLine)!==0}convertAttribute(e){const t=new r.AcDbAttribute;return this.convertAttributeCommon(e,t),t}convertAttributeDefinition(e){const t=new r.AcDbAttributeDefinition;return this.convertAttributeCommon(e,t),t.prompt=e.prompt,t}convertBlockReference(e){const t=new r.AcDbBlockReference(e.name);return e.insertionPoint&&t.position.copy(e.insertionPoint),t.scaleFactors.x=e.xScale,t.scaleFactors.y=e.yScale,t.scaleFactors.z=e.zScale,t.rotation=e.rotation,t.normal.copy(e.extrusionDirection),e.columnCount!=null&&(t.columnCount=e.columnCount),e.rowCount!=null&&(t.rowCount=e.rowCount),e.columnSpacing!=null&&(t.columnSpacing=e.columnSpacing),e.rowSpacing!=null&&(t.rowSpacing=e.rowSpacing),e.handle!=null&&(t.objectId=e.handle),e.attribs&&e.attribs.forEach(o=>{const n=this.convert(o);n instanceof r.AcDbAttribute&&t.appendAttributes(n)}),t}processDimensionCommonAttrs(e,t){t.dimBlockId=e.name,t.textPosition.copy(e.textPoint),t.textRotation=e.textRotation||0,e.textLineSpacingFactor&&(t.textLineSpacingFactor=e.textLineSpacingFactor),e.textLineSpacingStyle&&(t.textLineSpacingStyle=e.textLineSpacingStyle),t.dimensionStyleName=e.styleName,t.dimensionText=e.text||"",t.measurement=e.measurement,e.dimensionType!=null&&(t.dimensionType=e.dimensionType)}processCommonAttrs(e,t){t.layer=e.layer||"0",t.objectId=e.handle,e.ownerBlockRecordSoftId!=null&&(t.ownerId=e.ownerBlockRecordSoftId);const o=r.acdbNormalizeExtensionDictionaryId(e.extensionDictionary??e.ownerDictionaryHardId??e.ownerDictionarySoftId);if(o&&(t.extensionDictionary=o),this.applyExtendedData(e,t),e.lineType!=null&&(t.lineType=e.lineType),e.lineweight!=null&&(t.lineWeight=e.lineweight),e.lineTypeScale!=null&&(t.linetypeScale=e.lineTypeScale),e.color!=null||e.colorIndex!=null||e.colorName){const n=new r.AcCmColor;e.color!=null&&n.setRGBValue(e.color),e.colorIndex!=null&&(e.color==null||e.colorIndex===7)&&(n.colorIndex=e.colorIndex),e.colorName&&(n.colorName=e.colorName),t.color=n}if(e.isVisible!=null&&(t.visibility=e.isVisible),e.transparency!=null){const n=new r.AcCmTransparency;n.method=e.transparencyType,(n.isByBlock||n.isByBlock)&&(n.alpha=e.transparency),t.transparency=n}}applyExtendedData(e,t){const o=e.xdata;if(!o)return;const n=Array.isArray(o)?o:[o];for(const i of n){if(!(i!=null&&i.appName))continue;const s=[{code:r.AcDbDxfCode.ExtendedDataRegAppName,value:i.appName}];for(const c of i.value??[])if(c!=null&&typeof c=="object"&&"code"in c&&"value"in c){const a=Number(c.code),f=c.value;if(a===r.AcDbDxfCode.ExtendedDataHandle||a>=1e3&&a<=1071){const l=this.normalizeXDataValue(a,f);l!==void 0&&s.push({code:a,value:l})}}t.setImportedXData(s)}}normalizeXDataValue(e,t){if(e>=1010&&e<=1013){if(this.isPointLike(t))return{x:t.x,y:t.y,z:typeof t.z=="number"?t.z:0};if(Array.isArray(t)&&typeof t[0]=="number"&&typeof t[1]=="number")return{x:t[0],y:t[1],z:typeof t[2]=="number"?t[2]:0};if(typeof t=="number"&&Number.isFinite(t))return t}if(e===r.AcDbDxfCode.ExtendedDataBinaryChunk)return t instanceof Uint8Array?t:t instanceof ArrayBuffer?new Uint8Array(t):typeof t=="string"?t:Array.isArray(t)&&t.every(o=>typeof o=="number"&&Number.isFinite(o)&&o>=0&&o<=255)?Uint8Array.from(t):void 0;if(typeof t=="string"||typeof t=="number"||typeof t=="boolean"||t instanceof Uint8Array)return t;if(this.isPointLike(t))return{x:t.x,y:t.y,z:typeof t.z=="number"?t.z:0}}convertMLeaderEntityColor(e){return r.acdbDecodeMLeaderStyleRawColor(e)}readMLeaderEntityColor(e,t){for(const o of t){const n=e[o];if(typeof n=="number"&&Number.isFinite(n))return r.acdbDecodeMLeaderStyleRawColor(n)}}isValidHandleId(e){return e!=null&&e!==""&&e!=="0"}readNumber(e,t){for(const o of t){const n=e[o];if(typeof n=="number"&&Number.isFinite(n))return n}}readPositiveNumber(e,t){const o=this.readNumber(e,t);return o!=null&&o>0?o:void 0}readString(e,t){for(const o of t){const n=e[o];if(typeof n=="string")return n}}readBoolean(e,t){for(const o of t){const n=e[o];if(typeof n=="boolean")return n;if(typeof n=="number")return n!==0}}readPoint(e,t){for(const o of t){const n=e[o];if(this.isPointLike(n))return n;if(Array.isArray(n)&&typeof n[0]=="number"&&typeof n[1]=="number")return{x:n[0],y:n[1],z:n[2]??0}}}readLeaderLineArray(e){const t=e.leaderLines;if(Array.isArray(t))return t.map(n=>{if(!n||typeof n!="object")return;const i=n.vertices;return Array.isArray(i)?i.filter(s=>this.isPointLike(s)):void 0}).filter(n=>!!n&&n.length>0);const o=e.vertices;if(Array.isArray(o)){const n=o.filter(i=>this.isPointLike(i));return n.length>0?[n]:void 0}}readMLeaderLeaders(e){const t=e.leaderSections;if(!Array.isArray(t))return;const o=[];return t.forEach(n=>{if(!n||typeof n!="object")return;const i=n,s=i.leaderLines,c=Array.isArray(s)?s.reduce((A,d)=>{const b=this.readMLeaderLine(d);return b&&A.push(b),A},[]):void 0,a={},f=this.readPoint(i,["lastLeaderLinePoint"]),l=this.readPoint(i,["doglegVector"]),u=this.readNumber(i,["doglegLength"]),D=this.readMLeaderBreaks(i.breaks),g=this.readNumber(i,["leaderBranchIndex"]);f&&(a.lastLeaderLinePoint=f),i.lastLeaderLinePointSet!=null&&(a.lastLeaderLinePointSet=this.readBoolean(i,["lastLeaderLinePointSet"])),l&&(a.doglegVector=l),i.doglegVectorSet!=null&&(a.doglegVectorSet=this.readBoolean(i,["doglegVectorSet"])),u!=null&&(a.doglegLength=u),D&&(a.breaks=D),g!=null&&(a.leaderBranchIndex=g),c&&(a.leaderLines=c),o.push(a)}),o}readMLeaderLine(e){if(!e||typeof e!="object")return;const t=e,o=t.vertices,n=Array.isArray(o)?o.filter(a=>this.isPointLike(a)):[],i=this.readMLeaderBreaks(t.breaks),s=Array.isArray(t.breakPointIndexes)?t.breakPointIndexes.filter(a=>typeof a=="number"):void 0,c=this.readNumber(t,["leaderLineIndex"]);return n.length>0||i&&i.length>0?{vertices:n,breakPointIndexes:s,leaderLineIndex:c,breaks:i}:void 0}readMLeaderBreaks(e){if(!Array.isArray(e))return;const t=e.map(o=>{if(!o||typeof o!="object")return;const n=o,i=this.readPoint(n,["start"]),s=this.readPoint(n,["end"]),c=this.readNumber(n,["index"]);if(!i||!s)return;const a={start:i,end:s};return c!=null&&(a.index=c),a}).filter(o=>!!o);return t.length>0?t:void 0}isPointLike(e){return!!e&&typeof e=="object"&&typeof e.x=="number"&&typeof e.y=="number"}}class h{convertMLeaderStyle(e){const t=new r.AcDbMLeaderStyle;return t.unknown1=e.unknown1,e.contentType!=null&&(t.contentType=e.contentType),e.drawMLeaderOrderType!=null&&(t.drawMLeaderOrderType=e.drawMLeaderOrderType),e.drawLeaderOrderType!=null&&(t.drawLeaderOrderType=e.drawLeaderOrderType),e.maxLeaderSegmentPoints!=null&&(t.maxLeaderSegmentPoints=e.maxLeaderSegmentPoints),e.firstSegmentAngleConstraint!=null&&(t.firstSegmentAngleConstraint=e.firstSegmentAngleConstraint),e.secondSegmentAngleConstraint!=null&&(t.secondSegmentAngleConstraint=e.secondSegmentAngleConstraint),e.leaderLineType!=null&&(t.leaderLineType=e.leaderLineType),e.leaderLineColor!=null&&(t.leaderLineColor=r.acdbDecodeMLeaderStyleRawColor(e.leaderLineColor)),t.leaderLineTypeId=e.leaderLineTypeId,e.leaderLineWeight!=null&&(t.leaderLineWeight=e.leaderLineWeight),e.landingEnabled!=null&&(t.landingEnabled=e.landingEnabled),e.landingGap!=null&&(t.landingGap=e.landingGap),e.doglegEnabled!=null&&(t.doglegEnabled=e.doglegEnabled),e.doglegLength!=null&&(t.doglegLength=e.doglegLength),e.description!=null&&(t.description=e.description),t.arrowheadId=e.arrowheadId,e.arrowheadSize!=null&&(t.arrowheadSize=e.arrowheadSize),e.defaultMTextContents!=null&&(t.defaultMTextContents=e.defaultMTextContents),t.textStyleId=e.textStyleId,e.textLeftAttachmentType!=null&&(t.textLeftAttachmentType=e.textLeftAttachmentType),e.textAngleType!=null&&(t.textAngleType=e.textAngleType),e.textAlignmentType!=null&&(t.textAlignmentType=e.textAlignmentType),e.textRightAttachmentType!=null&&(t.textRightAttachmentType=e.textRightAttachmentType),e.textColor!=null&&(t.textColor=r.acdbDecodeMLeaderStyleRawColor(e.textColor)),e.textHeight!=null&&(t.textHeight=e.textHeight),e.textFrameEnabled!=null&&(t.textFrameEnabled=e.textFrameEnabled),e.textAlignAlwaysLeft!=null&&(t.textAlignAlwaysLeft=e.textAlignAlwaysLeft),e.alignSpace!=null&&(t.alignSpace=e.alignSpace),t.blockContentId=e.blockContentId,e.blockContentColor!=null&&(t.blockContentColor=r.acdbDecodeMLeaderStyleRawColor(e.blockContentColor)),e.blockContentScale&&(t.blockContentScale={x:e.blockContentScale.x,y:e.blockContentScale.y,z:e.blockContentScale.z??1}),e.blockContentScaleEnabled!=null&&(t.blockContentScaleEnabled=e.blockContentScaleEnabled),e.blockContentRotation!=null&&(t.blockContentRotation=e.blockContentRotation),e.blockContentRotationEnabled!=null&&(t.blockContentRotationEnabled=e.blockContentRotationEnabled),e.blockContentConnectionType!=null&&(t.blockContentConnectionType=e.blockContentConnectionType),e.scale!=null&&(t.scale=e.scale),e.overwritePropertyValue!=null&&(t.overwritePropertyValue=e.overwritePropertyValue),e.annotative!=null&&(t.annotative=e.annotative),e.breakGapSize!=null&&(t.breakGapSize=e.breakGapSize),e.textAttachmentDirection!=null&&(t.textAttachmentDirection=e.textAttachmentDirection),e.bottomTextAttachmentDirection!=null&&(t.bottomTextAttachmentDirection=e.bottomTextAttachmentDirection),e.topTextAttachmentDirection!=null&&(t.topTextAttachmentDirection=e.topTextAttachmentDirection),t.unknown2=e.unknown2,this.processCommonAttrs(e,t),t}convertLayerFilter(e){var o;const t=new r.AcDbLayerFilter;return(o=e.layerNames)!=null&&o.length&&(t.layerNames=e.layerNames),this.processCommonAttrs(e,t),t}convertLayerIndex(e){var o,n,i;const t=new r.AcDbLayerIndex;return e.timeStamp!=null&&(t.lastUpdatedAt=e.timeStamp,t.lastUpdatedAtU=e.timeStamp),(o=e.layerNames)!=null&&o.length&&(t.layerNames=e.layerNames),(n=e.idBufferIds)!=null&&n.length&&(t.idBufferIds=e.idBufferIds),(i=e.idBufferEntryCounts)!=null&&i.length&&(t.idBufferEntryCounts=e.idBufferEntryCounts),t.isUptoDate=!0,this.processCommonAttrs(e,t),t}convertScale(e){const t=new r.AcDbScale;return e.flag!=null&&(t.classVersion=e.flag),t.scaleName=e.name??"",t.paperUnits=e.paperUnits??1,t.drawingUnits=e.drawingUnits??1,t.isUnitScale=!!e.isUnitScale,this.processCommonAttrs(e,t),t}convertDictionaryVar(e){const t=new r.AcDbDictionaryVar;return e.schema!=null&&(t.schema=e.schema),t.value=e.value??e.strvalue??"",this.processCommonAttrs(e,t),t}convertMTextObjectContextData(e){const t=new r.AcDbMTextObjectContextData;return e.classVersion!=null&&(t.classVersion=e.classVersion),t.isDefault=!!e.isDefault,t.scaleId=e.scaleId??e.scaleHandle??"",e.attachment!=null&&(t.attachmentPoint=e.attachment),e.xAxisDir&&(t.direction=new r.AcGeVector3d(e.xAxisDir.x,e.xAxisDir.y,e.xAxisDir.z??0)),e.insertionPoint&&(t.insertionPoint=new r.AcGePoint3d(e.insertionPoint.x,e.insertionPoint.y,e.insertionPoint.z??0)),e.definedWidth!=null&&(t.definedWidth=e.definedWidth),e.definedHeight!=null&&(t.definedHeight=e.definedHeight),e.extentsWidth!=null&&(t.extentsWidth=e.extentsWidth),e.extentsHeight!=null&&(t.extentsHeight=e.extentsHeight),e.columnType!=null&&(t.columnType=e.columnType),this.processCommonAttrs(e,t),t}convertDimensionObjectContextData(e){const t=new r.AcDbDimensionObjectContextData;e.classVersion!=null&&(t.classVersion=e.classVersion),t.isDefault=!!e.isDefault,t.scaleId=e.scaleId??e.scaleHandle??"",t.blockName=e.blockName??e.name??"";const o=e.definitionPoint??e.defPt;o&&(t.definitionPoint=new r.AcGePoint3d(o.x,o.y,o.z??0));const n=e.dimLinePoint??e._11pt;return n&&(t.dimLinePoint=new r.AcGePoint3d(n.x,n.y,n.z??0)),this.processCommonAttrs(e,t),t}convertTextObjectContextData(e){const t=new r.AcDbTextObjectContextData;return this.applyAnnotScaleContextBase(e,t),e.horizontalMode!=null&&(t.horizontalMode=e.horizontalMode),e.rotation!=null&&(t.rotation=e.rotation),e.alignmentPoint&&(t.alignmentPoint=new r.AcGePoint3d(e.alignmentPoint.x,e.alignmentPoint.y,e.alignmentPoint.z??0)),e.position&&(t.position=new r.AcGePoint3d(e.position.x,e.position.y,e.position.z??0)),this.processCommonAttrs(e,t),t}convertHatchScaleContextData(e){const t=new r.AcDbHatchScaleContextData;this.applyAnnotScaleContextBase(e,t);const o=e.patternScale??e.scale;return o!=null&&o>0&&(t.patternScale=o),this.processCommonAttrs(e,t),t}convertBlkRefObjectContextData(e){const t=new r.AcDbBlkRefObjectContextData;this.applyAnnotScaleContextBase(e,t);const o=e.position??e.insertionPoint;o&&(t.position=new r.AcGePoint3d(o.x,o.y,o.z??0)),e.rotation!=null&&(t.rotation=e.rotation);const n=e.scaleX??e.xScale,i=e.scaleY??e.yScale,s=e.scaleZ??e.zScale;return n!=null&&(t.scaleX=n),i!=null&&(t.scaleY=i),s!=null&&(t.scaleZ=s),this.processCommonAttrs(e,t),t}convertLeaderObjectContextData(e){const t=new r.AcDbLeaderObjectContextData;return this.applyAnnotScaleContextBase(e,t),this.processCommonAttrs(e,t),t}convertMLeaderObjectContextData(e){const t=new r.AcDbMLeaderObjectContextData;this.applyAnnotScaleContextBase(e,t),e.contentScale!=null&&e.contentScale>0&&(t.contentScale=e.contentScale),e.textHeight!=null&&e.textHeight>0&&(t.textHeight=e.textHeight);const o=e.arrowheadSize??e.arrowSize;o!=null&&o>0&&(t.arrowheadSize=o);const n=e.textAnchor??e.landingPoint;return n&&(t.textAnchor=new r.AcGePoint3d(n.x,n.y,n.z??0)),this.processCommonAttrs(e,t),t}convertMTextAttributeObjectContextData(e){const t=new r.AcDbMTextAttributeObjectContextData;return e.classVersion!=null&&(t.classVersion=e.classVersion),t.isDefault=!!e.isDefault,t.scaleId=e.scaleId??e.scaleHandle??"",e.attachment!=null&&(t.attachmentPoint=e.attachment),e.xAxisDir&&(t.direction=new r.AcGeVector3d(e.xAxisDir.x,e.xAxisDir.y,e.xAxisDir.z??0)),e.insertionPoint&&(t.insertionPoint=new r.AcGePoint3d(e.insertionPoint.x,e.insertionPoint.y,e.insertionPoint.z??0)),e.definedWidth!=null&&(t.definedWidth=e.definedWidth),e.definedHeight!=null&&(t.definedHeight=e.definedHeight),e.extentsWidth!=null&&(t.extentsWidth=e.extentsWidth),e.extentsHeight!=null&&(t.extentsHeight=e.extentsHeight),e.columnType!=null&&(t.columnType=e.columnType),this.processCommonAttrs(e,t),t}convertXRecord(e){const t=new r.AcDbXrecord;return this.processCommonAttrs(e,t),e.extensionDictionary&&(t.extensionDictionary=e.extensionDictionary),t.data=new r.AcDbResultBuffer((e.data??[]).map(o=>({code:Number(o.code),value:o.value}))),t}applyAnnotScaleContextBase(e,t){e.classVersion!=null&&(t.classVersion=e.classVersion),t.isDefault=!!e.isDefault,t.scaleId=e.scaleId??e.scaleHandle??""}processCommonAttrs(e,t){t.objectId=e.handle,e.ownerHandle!=null&&(t.ownerId=e.ownerHandle)}}const P="*MODEL_SPACE";class w extends r.AcDbDatabaseConverter{constructor(e={}){super(e),this.config.useWorker=!0,this.config.parserWorkerUrl||(this.config.parserWorkerUrl="/assets/libredwg-parser-worker.js")}async parse(e,t){const o=this.config,n=this.getParserWorkerTimeout(e,t);if(o.useWorker&&o.parserWorkerUrl){const i=r.acdbCreateWorkerApi({workerUrl:o.parserWorkerUrl,timeout:n,maxConcurrentWorkers:1}),s=await i.execute(e);return i.destroy(),r.AcDbOpenDatabaseError.throwOnWorkerParseFailure(s),s.data}else throw new Error("dwg converter can run in web worker only!")}processLineTypes(e,t){e.tables.LTYPE.entries.forEach(n=>{const i={name:n.name,description:n.description,standardFlag:n.standardFlag,totalPatternLength:n.totalPatternLength,pattern:n.pattern},s=new r.AcDbLinetypeTableRecord(i);this.processCommonTableEntryAttrs(n,s),t.tables.linetypeTable.add(s)})}processTextStyles(e,t){e.tables.STYLE.entries.forEach(n=>{const i={name:n.name,standardFlag:n.standardFlag,fixedTextHeight:n.fixedTextHeight,widthFactor:n.widthFactor,obliqueAngle:n.obliqueAngle,textGenerationFlag:n.textGenerationFlag,lastHeight:n.lastHeight,font:n.font,bigFont:n.bigFont,extendedFont:n.extendedFont},s=new r.AcDbTextStyleTableRecord(i);this.processCommonTableEntryAttrs(n,s),t.tables.textStyleTable.add(s)}),t.ensureTextStyleDefaults()}processDimStyles(e,t){e.tables.DIMSTYLE.entries.forEach(i=>{const s={name:i.name,ownerId:i.ownerHandle,dimpost:i.DIMPOST||"",dimapost:i.DIMAPOST||"",dimscale:i.DIMSCALE,dimasz:i.DIMASZ,dimexo:i.DIMEXO,dimdli:i.DIMDLI,dimexe:i.DIMEXE,dimrnd:i.DIMRND,dimdle:i.DIMDLE,dimtp:i.DIMTP,dimtm:i.DIMTM,dimtxt:i.DIMTXT,dimcen:i.DIMCEN,dimtsz:i.DIMTSZ,dimaltf:i.DIMALTF,dimlfac:i.DIMLFAC,dimtvp:i.DIMTVP,dimtfac:i.DIMTFAC,dimgap:i.DIMGAP,dimtfill:i.DIMTFILL===1||i.DIMTFILL===2?i.DIMTFILL:0,dimtfillclr:r.acdbNormalizeDimStyleColorNumber(i.DIMTFILLCLR),dimtxtdirection:i.DIMTXTDIRECTION===1?1:0,dimaltrnd:i.DIMALTRND,dimtol:i.DIMTOL==null||i.DIMTOL==0?0:1,dimlim:i.DIMLIM==null||i.DIMLIM==0?0:1,dimtih:i.DIMTIH==null||i.DIMTIH==0?0:1,dimtoh:i.DIMTOH==null||i.DIMTOH==0?0:1,dimse1:i.DIMSE1==null||i.DIMSE1==0?0:1,dimse2:i.DIMSE2==null||i.DIMSE2==0?0:1,dimtad:i.DIMTAD,dimzin:i.DIMZIN,dimazin:i.DIMAZIN,dimalt:i.DIMALT,dimaltd:i.DIMALTD,dimtofl:i.DIMTOFL,dimsah:i.DIMSAH,dimtix:i.DIMTIX,dimsoxd:i.DIMSOXD,dimclrd:r.acdbNormalizeDimStyleColorNumber(i.DIMCLRD),dimclre:r.acdbNormalizeDimStyleColorNumber(i.DIMCLRE),dimclrt:r.acdbNormalizeDimStyleColorNumber(i.DIMCLRT),dimadec:i.DIMADEC||0,dimunit:i.DIMUNIT||2,dimdec:i.DIMDEC,dimtdec:i.DIMTDEC,dimaltu:i.DIMALTU,dimalttd:i.DIMALTTD,dimaunit:i.DIMAUNIT,dimfrac:i.DIMFRAC,dimlunit:i.DIMLUNIT,dimdsep:i.DIMDSEP||".",dimtmove:i.DIMTMOVE||0,dimjust:i.DIMJUST,dimsd1:i.DIMSD1,dimsd2:i.DIMSD2,dimtolj:i.DIMTOLJ,dimtzin:i.DIMTZIN,dimaltz:i.DIMALTZ,dimalttz:i.DIMALTTZ,dimfit:i.DIMFIT||0,dimupt:i.DIMUPT,dimatfit:i.DIMATFIT,dimtxsty:this.resolveDimTextStyleName(e,i.DIMTXSTY),dimldrblk:"",dimblk:i.DIMBLK||"",dimblk1:i.DIMBLK1||"",dimblk2:i.DIMBLK2||"",dimlwd:i.DIMLWD,dimlwe:i.DIMLWE},c=new r.AcDbDimStyleTableRecord(s);this.processCommonTableEntryAttrs(i,c),t.tables.dimStyleTable.add(c)});const n=e.dimStyleAnnotationScales;if(n)for(const[i,s]of Object.entries(n))t.setDimStyleAnnotationScale(i,s)}resolveDimTextStyleName(e,t){if(typeof t=="string"){const n=t.trim();if(n&&!/^[0-9]+$/.test(n)&&!/^[0-9A-F]+$/i.test(n))return n;if(n&&/[A-Z]/i.test(n)){const i=e.tables.STYLE.entries.find(s=>String(s.handle).toUpperCase()===n.toUpperCase());if(i!=null&&i.name)return i.name}}const o=typeof t=="number"?t:Number(t);if(Number.isFinite(o)&&o>0){const n=Math.trunc(o).toString(16).toUpperCase(),i=e.tables.STYLE.entries.find(s=>String(s.handle).toUpperCase()===n);if(i!=null&&i.name)return i.name}return r.DEFAULT_TEXT_STYLE}processLayers(e,t){e.tables.LAYER.entries.forEach(n=>{const i=new r.AcCmColor;this.applyLibreLayerColor(i,n);const s=new r.AcDbLayerTableRecord({name:n.name,standardFlags:n.standardFlag,linetype:n.lineType,lineWeight:n.lineweight,isOff:n.off,color:i,isPlottable:n.plotFlag!=0});this.processCommonTableEntryAttrs(n,s),t.tables.layerTable.add(s)})}applyLibreLayerColor(e,t){const o=t.colorIndex,n=t.color;o!=null&&o>=1&&o<=255?e.colorIndex=o:o===0?e.colorIndex=0:n!=null&&Number.isFinite(n)?e.setRGBValue(n&16777215):e.colorIndex=256,t.colorName&&(e.colorName=t.colorName)}processViewports(e,t){e.tables.VPORT.entries.forEach(n=>{const i=new r.AcDbViewportTableRecord;n.circleSides&&(i.circleSides=n.circleSides),i.standardFlag=n.standardFlag,i.center.copy(n.center??r.VPORT_FALLBACK_CENTER_2D),i.lowerLeftCorner.copy(n.lowerLeftCorner??r.VPORT_FALLBACK_LLC),i.upperRightCorner.copy(n.upperRightCorner??r.VPORT_FALLBACK_URC),n.snapBasePoint&&i.snapBase.copy(n.snapBasePoint),n.snapRotationAngle&&(i.snapAngle=n.snapRotationAngle),n.snapSpacing&&i.snapIncrements.copy(n.snapSpacing),n.majorGridLines&&(i.gridMajor=n.majorGridLines),n.gridSpacing&&i.gridIncrements.copy(n.gridSpacing),n.backgroundObjectId&&(i.backgroundObjectId=n.backgroundObjectId),i.gsView.center.copy(n.center??r.VPORT_FALLBACK_CENTER_2D),i.gsView.viewDirectionFromTarget.copy(n.viewDirectionFromTarget??r.VPORT_FALLBACK_VIEW_DIR),i.gsView.viewTarget.copy(n.viewTarget??r.VPORT_FALLBACK_VIEW_TARGET),n.lensLength&&(i.gsView.lensLength=n.lensLength),n.frontClippingPlane&&(i.gsView.frontClippingPlane=n.frontClippingPlane),n.backClippingPlane&&(i.gsView.backClippingPlane=n.backClippingPlane),n.viewHeight&&(i.gsView.viewHeight=n.viewHeight);const s=n.aspectRatio;s!=null&&Number.isFinite(s)&&s>0&&(i.gsView.aspectRatio=s),n.viewTwistAngle&&(i.gsView.viewTwistAngle=n.viewTwistAngle),n.frozenLayers&&(i.gsView.frozenLayers=n.frozenLayers),n.styleSheet&&(i.gsView.styleSheet=n.styleSheet),n.renderMode&&(i.gsView.renderMode=n.renderMode),n.viewMode&&(i.gsView.viewMode=n.viewMode),n.ucsIconSetting&&(i.gsView.ucsIconSetting=n.ucsIconSetting),n.ucsOrigin&&i.gsView.ucsOrigin.copy(n.ucsOrigin),n.ucsXAxis&&i.gsView.ucsXAxis.copy(n.ucsXAxis),n.ucsYAxis&&i.gsView.ucsYAxis.copy(n.ucsYAxis),n.orthographicType&&(i.gsView.orthographicType=n.orthographicType),n.shadePlotSetting&&(i.gsView.shadePlotSetting=n.shadePlotSetting),n.shadePlotObjectId&&(i.gsView.shadePlotObjectId=n.shadePlotObjectId),n.visualStyleObjectId&&(i.gsView.visualStyleObjectId=n.visualStyleObjectId),n.isDefaultLightingOn&&(i.gsView.isDefaultLightingOn=n.isDefaultLightingOn),n.defaultLightingType&&(i.gsView.defaultLightingType=n.defaultLightingType),n.brightness&&(i.gsView.brightness=n.brightness),n.contrast&&(i.gsView.contrast=n.contrast),n.ambientColor&&(i.gsView.ambientColor=n.ambientColor),this.processCommonTableEntryAttrs(n,i),t.tables.viewportTable.add(i)})}processBlockTables(e,t){e.tables.BLOCK_RECORD.entries.forEach(n=>{let i=t.tables.blockTable.getAt(n.name);i||(i=new r.AcDbBlockTableRecord,i.name=n.name,i.ownerId=n.ownerHandle,i.layoutId=n.layout,i.flags=r.AcDbBlockTableRecord.sanitizeImportedFlags(n.flags??0),i.blockInsertUnits=n.insertionUnits,i.explodability=n.explodability,i.blockScaling=n.scalability,i.objectId=n.handle,t.tables.blockTable.add(i)),n.bmpPreview&&(i.previewIcon=r.acdbHexStringsToBytes([n.bmpPreview])),i.origin.copy(n.basePoint),!i.isModelSapce&&n.entities&&n.entities.length>0&&this.processEntitiesInBlock(n.entities,i)})}processBlocks(e,t){}async processEntitiesInBlock(e,t){const o=new y,n=e.length,i=[];for(let s=0;s<n;s++){const c=e[s],a=o.convert(c);a&&i.push(a)}t.appendEntity(i)}async processEntities(e,t,o,n,i){const s=new y;let c=[];e.tables.BLOCK_RECORD.entries.forEach(u=>{this.isModelSpace(u.name)&&(c=u.entities)});const a=c.length,f=new r.AcDbBatchProcessing(a,100-n.value,o);this.config.convertByEntityType&&(c=this.groupAndFlattenByType(c));const l=t.tables.blockTable.modelSpace;await f.processChunk(async(u,D)=>{const g=[];for(let A=u;A<D;A++){const d=c[A],b=s.convert(d);b&&g.push(b)}if(l.appendEntity(g),i){let A=n.value+D/a*(100-n.value);A>100&&(A=100),await i(A,"ENTITY","IN-PROGRESS")}})}processClasses(e,t){var o;(o=e.classes)!=null&&o.length&&(t.classes=e.classes.map(n=>({name:n.dxfName,cppClassName:n.cppName,appName:n.appName,proxyFlag:n.capabilitiesFlag,instanceCount:n.instanceCount,wasProxy:n.wasAProxyFlag,isEntity:n.isAnEntityFlag})))}processHeader(e,t){const o=e.thumbnailImage;o!=null&&o.length&&(t.thumbnailImage=o);const n=e.header;n.CECOLOR&&(n.CECOLOR.index>=0&&n.CECOLOR.index<=256?t.cecolor.colorIndex=n.CECOLOR.index:t.cecolor.setRGBValue(n.CECOLOR.rgb)),t.angbase=n.ANGBASE??0,t.angdir=n.ANGDIR??0,t.aunits=n.AUNITS??0,n.AUPREC!=null&&(t.auprec=n.AUPREC),n.LUNITS!=null&&(t.lunits=n.LUNITS),n.LUPREC!=null&&(t.luprec=n.LUPREC),n.UNITMODE!=null&&(t.unitmode=n.UNITMODE),n.MEASUREMENT!=null&&(t.measurement=n.MEASUREMENT),t.celtype=n.CELTYPE??r.ByLayer,t.celtscale=n.CELTSCALE??1,t.ltscale=n.LTSCALE??1,t.tilemode=n.TILEMODE??1,n.EXTMAX&&(t.extmax=n.EXTMAX),n.EXTMIN&&(t.extmin=n.EXTMIN),t.insunits=n.INSUNITS??1,t.pdmode=n.PDMODE??0,t.pdsize=n.PDSIZE??0,t.textstyle=n.TEXTSTYLE??r.DEFAULT_TEXT_STYLE,t.dimstyle=this.normalizeHeaderStringValue(n.DIMSTYLE)??r.DEFAULT_TEXT_STYLE;const i=this.normalizeHeaderStringValue(n.CMLEADERSTYLE)??r.DEFAULT_MLEADER_STYLE;t.cmleaderstyle=i}processCommonTableEntryAttrs(e,t){t.name=e.name,t.objectId=e.handle,e.ownerHandle!=null&&(t.ownerId=e.ownerHandle)}processObjects(e,t){this.processScales(e,t),this.processDictionaryVars(e,t),this.processMTextObjectContextData(e,t),this.processTextObjectContextData(e,t),this.processDimensionObjectContextData(e,t),this.processHatchScaleContextData(e,t),this.processBlkRefObjectContextData(e,t),this.processLeaderObjectContextData(e,t),this.processMLeaderObjectContextData(e,t),this.processMTextAttributeObjectContextData(e,t),this.processXRecords(e,t),this.processLayouts(e,t),this.processImageDefs(e,t),this.processLayerFilters(e,t),this.processLayerIndexes(e,t),this.processLayerFilterTree(e,t),this.processMLeaderStyles(e,t),this.processDynBlockMetadata(e,t),this.finishCannoscale(e,t),this.finishAnnoallvisible(e,t)}processDynBlockMetadata(e,t){const o=s=>s==null||s===""||s===0?"":String(s).trim().toUpperCase();for(const s of e.tables.BLOCK_RECORD.entries){const c=t.tables.blockTable.getAt(s.name);if(!c)continue;const a=s,f=r.acdbNormalizeExtensionDictionaryId(a.extensionDictionary??a.ownerDictionaryHardId??a.ownerDictionarySoftId);f&&(c.extensionDictionary=f)}const n=e.objects.DICTIONARY;if(!(n!=null&&n.length))return;const i=n.map(s=>{const c=[],a=s.entries??{};for(const f in a){const l=a[f];f&&l&&c.push({name:f,handle:o(String(l))})}return{handle:o(s.handle),ownerHandle:o(s.ownerHandle)||void 0,entries:c}});r.acdbImportDynBlockMetadata(t,{dictionaries:i,representationData:[]})}processLayerFilterTree(e,t){const o=e.objects.DICTIONARY,n=e.objects.XRECORD;if(!(o!=null&&o.length)||!(n!=null&&n.length))return;const i=f=>f?String(f).trim().toUpperCase():"",s=new Map;o.forEach(f=>{const l={},u=f.entries??{};for(const D in u){const g=u[D];D&&g&&(l[D]=i(String(g)))}s.set(i(f.handle),{handle:i(f.handle),ownerObjectId:i(f.ownerHandle),entries:l})});const c=new Map;n.forEach(f=>{c.set(i(f.handle),{handle:i(f.handle),ownerObjectId:i(f.ownerHandle),extensionDictionaryId:i(f.extensionDictionary),data:(f.data??[]).map(l=>({code:Number(l.code),value:l.value}))})});const a=r.acdbReadLayerFilterTree({dictionaries:s,xrecords:c});a.root.getNestedFilters().length>0&&(t.layerFilters=a)}processLayouts(e,t){const o=t.objects.layout;e.objects.LAYOUT.forEach(i=>{const s=new r.AcDbLayout;s.layoutName=i.layoutName,s.tabOrder=i.tabOrder;const c=t.tables.blockTable.newIterator();s.objectId=i.handle;for(const a of c)if(a.layoutId===s.objectId){s.blockTableRecordId=a.objectId;break}s.blockTableRecordId||i.layoutName==="Model"&&(s.blockTableRecordId=t.tables.blockTable.modelSpace.objectId),s.limits.min.copy(i.minLimit),s.limits.max.copy(i.maxLimit),s.extents.min.copy(i.minExtent),s.extents.max.copy(i.maxExtent),i.viewportId&&s.viewportArray.push(i.viewportId),this.processCommonObjectAttrs(i,s),o.setAt(s.layoutName,s)})}processImageDefs(e,t){const o=t.objects.imageDefinition;e.objects.IMAGEDEF.forEach(i=>{const s=new r.AcDbRasterImageDef;s.sourceFileName=i.fileName,this.processCommonObjectAttrs(i,s),o.setAt(s.objectId,s)})}processLayerFilters(e,t){const o=e.objects.LAYER_FILTER;if(!(o!=null&&o.length))return;const n=t.objects.layerFilter,i=new h;o.forEach(s=>{const c=i.convertLayerFilter(s);n.setAt(c.objectId,c)})}processLayerIndexes(e,t){const o=e.objects.LAYER_INDEX;if(!(o!=null&&o.length))return;const n=t.objects.layerIndex,i=new h;o.forEach(s=>{const c=i.convertLayerIndex(s);n.setAt(c.objectId,c)})}processMLeaderStyles(e,t){const o=e.objects.MLEADERSTYLE;if(!(o!=null&&o.length))return;const n=t.objects.mleaderStyle,i=new h;o.forEach(s=>{const c=i.convertMLeaderStyle(s);n.setAt(c.objectId,c)})}processScales(e,t){const o=this.optionalObjectArray(e,"SCALE");if(!(o!=null&&o.length))return;const n=t.objects.scale,i=new h;for(const s of o){const c=i.convertScale(s),a=c.scaleName||c.objectId;a&&n.setAt(a,c)}}processDictionaryVars(e,t){const o=this.optionalObjectArray(e,"DICTIONARYVAR");if(!(o!=null&&o.length))return;const n=t.objects.dictionaryVar,i=new h;for(const s of o){const c=i.convertDictionaryVar(s);c.objectId&&n.setAt(c.objectId,c)}}processMTextObjectContextData(e,t){const o=this.optionalObjectArray(e,"MTEXTOBJECTCONTEXTDATA")??this.optionalObjectArray(e,"ACDB_MTEXTOBJECTCONTEXTDATA_CLASS");if(!(o!=null&&o.length))return;const n=t.objects.objectContextData,i=new h;for(const s of o){const c=i.convertMTextObjectContextData(s);c.objectId&&n.setAt(c.objectId,c)}}processDimensionObjectContextData(e,t){const o=["ALDIMOBJECTCONTEXTDATA","ACDB_ALDIMOBJECTCONTEXTDATA_CLASS","ANGDIMOBJECTCONTEXTDATA","ACDB_ANGDIMOBJECTCONTEXTDATA_CLASS","ARCDIMOBJECTCONTEXTDATA","ACDB_ARCDIMOBJECTCONTEXTDATA_CLASS","DMDIMOBJECTCONTEXTDATA","ACDB_DMDIMOBJECTCONTEXTDATA_CLASS","ORDDIMOBJECTCONTEXTDATA","ACDB_ORDDIMOBJECTCONTEXTDATA_CLASS","RADDIMOBJECTCONTEXTDATA","ACDB_RADDIMOBJECTCONTEXTDATA_CLASS","RADIMOBJECTCONTEXTDATA","ACDB_RADIMOBJECTCONTEXTDATA_CLASS","RADDIMLGCOBJECTCONTEXTDATA","ACDB_RADDIMLGCOBJECTCONTEXTDATA_CLASS"],n=new h,i=t.objects.objectContextData;for(const s of o){const c=this.optionalObjectArray(e,s);if(c!=null&&c.length)for(const a of c){const f=n.convertDimensionObjectContextData(a);f.objectId&&i.setAt(f.objectId,f)}}}processTextObjectContextData(e,t){const o=this.optionalObjectArray(e,"TEXTOBJECTCONTEXTDATA")??this.optionalObjectArray(e,"ACDB_TEXTOBJECTCONTEXTDATA_CLASS");if(!(o!=null&&o.length))return;const n=t.objects.objectContextData,i=new h;for(const s of o){const c=i.convertTextObjectContextData(s);c.objectId&&n.setAt(c.objectId,c)}}processHatchScaleContextData(e,t){const o=this.optionalObjectArray(e,"HATCHSCALECONTEXTDATA")??this.optionalObjectArray(e,"ACDB_HATCHSCALECONTEXTDATA_CLASS");if(!(o!=null&&o.length))return;const n=t.objects.objectContextData,i=new h;for(const s of o){const c=i.convertHatchScaleContextData(s);c.objectId&&n.setAt(c.objectId,c)}}processBlkRefObjectContextData(e,t){const o=this.optionalObjectArray(e,"BLKREFOBJECTCONTEXTDATA")??this.optionalObjectArray(e,"ACDB_BLKREFOBJECTCONTEXTDATA_CLASS");if(!(o!=null&&o.length))return;const n=t.objects.objectContextData,i=new h;for(const s of o){const c=i.convertBlkRefObjectContextData(s);c.objectId&&n.setAt(c.objectId,c)}}processLeaderObjectContextData(e,t){const o=this.optionalObjectArray(e,"LEADEROBJECTCONTEXTDATA")??this.optionalObjectArray(e,"ACDB_LEADEROBJECTCONTEXTDATA_CLASS");if(!(o!=null&&o.length))return;const n=t.objects.objectContextData,i=new h;for(const s of o){const c=i.convertLeaderObjectContextData(s);c.objectId&&n.setAt(c.objectId,c)}}processMLeaderObjectContextData(e,t){const o=this.optionalObjectArray(e,"MLEADEROBJECTCONTEXTDATA")??this.optionalObjectArray(e,"ACDB_MLEADEROBJECTCONTEXTDATA_CLASS");if(!(o!=null&&o.length))return;const n=t.objects.objectContextData,i=new h;for(const s of o){const c=i.convertMLeaderObjectContextData(s);c.objectId&&n.setAt(c.objectId,c)}}processMTextAttributeObjectContextData(e,t){const o=this.optionalObjectArray(e,"MTEXTATTRIBUTEOBJECTCONTEXTDATA")??this.optionalObjectArray(e,"ACDB_MTEXTATTRIBUTEOBJECTCONTEXTDATA_CLASS");if(!(o!=null&&o.length))return;const n=t.objects.objectContextData,i=new h;for(const s of o){const c=i.convertMTextAttributeObjectContextData(s);c.objectId&&n.setAt(c.objectId,c)}}processXRecords(e,t){const o=e.objects.XRECORD;if(!(o!=null&&o.length))return;const n=t.objects.xrecord,i=new h;for(const s of o){const c=i.convertXRecord(s);c.objectId&&n.setAt(c.objectId,c)}}finishCannoscale(e,t){const o=s=>{const c=s.getAt("CANNOSCALE");return c instanceof r.AcDbDictionaryVar&&c.value?(t.cannoscale=c.value,!0):!1},n=t.objects.dictionary.getAt("AcDbVariableDictionary");if(n instanceof r.AcDbDictionary&&o(n))return;const i=s=>s==null||s===""||s===0?"":String(s).trim().toUpperCase();for(const s of e.objects.DICTIONARY??[]){const a=(s.entries??{}).AcDbVariableDictionary;if(!a)continue;const f=t.getObjectById(i(a));if(f instanceof r.AcDbDictionary&&o(f)){try{t.objects.dictionary.getAt("AcDbVariableDictionary")||t.objects.dictionary.setAt("AcDbVariableDictionary",f)}catch{}return}}}finishAnnoallvisible(e,t){const o=s=>{const c=s.getAt("ANNOALLVISIBLE");if(!(c instanceof r.AcDbDictionaryVar)||c.value==null)return!1;const a=String(c.value).trim();return t.annoallvisible=a!=="0"&&a.toLowerCase()!=="false",!0},n=t.objects.dictionary.getAt("AcDbVariableDictionary");if(n instanceof r.AcDbDictionary&&o(n))return;const i=s=>s==null||s===""||s===0?"":String(s).trim().toUpperCase();for(const s of e.objects.DICTIONARY??[]){const a=(s.entries??{}).AcDbVariableDictionary;if(!a)continue;const f=t.getObjectById(i(a));if(f instanceof r.AcDbDictionary&&o(f))return}}optionalObjectArray(e,t){const n=e.objects[t];return Array.isArray(n)?n:void 0}processCommonObjectAttrs(e,t){t.objectId=e.handle,e.ownerHandle!=null&&(t.ownerId=e.ownerHandle)}groupAndFlattenByType(e){const t={},o=[];for(const i of e)t[i.type]||(t[i.type]=[],o.push(i.type)),t[i.type].push(i);const n=[];for(const i of o){const s=t[i];for(let c=0;c<s.length;c++)n.push(s[c])}return n}isModelSpace(e){return e&&e.toUpperCase()==P}normalizeHeaderStringValue(e){if(typeof e!="string")return;const t=e.trim();return t.length>0?t:void 0}}C.AcDbLibreDwgConverter=w,Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})}));
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbLibreDwgConverter.d.ts","sourceRoot":"","sources":["../src/AcDbLibreDwgConverter.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,8BAA8B,EAE9B,YAAY,EACZ,qBAAqB,EACrB,2BAA2B,EAsB3B,qBAAqB,EAkBtB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAGL,WAAW,EAEZ,MAAM,yBAAyB,CAAA;AAkBhC;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,qBAAqB,CAAC,WAAW,CAAC;gBAC/D,MAAM,GAAE,2BAAgC;cAQpC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM;IAwBzD,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY;IAgB/D,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY;IAsBhE,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY;IA4F/D;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IA4B/B,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY;IAmB5D;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;IA8B5B,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY;IAyH/D,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY;IAoCjE,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY;YAIhD,sBAAsB;IAkBpC;;;;OAIG;cACa,eAAe,CAC7B,KAAK,EAAE,WAAW,EAClB,EAAE,EAAE,YAAY,EAChB,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAClC,QAAQ,CAAC,EAAE,8BAA8B;IAgD3C,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY;IAe7D,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY;IAgD5D,OAAO,CAAC,4BAA4B;IAWpC,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY;IAyB7D;;;;;;;;;OASG;IACH,OAAO,CAAC,uBAAuB;IAkD/B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,sBAAsB;IA8C9B,OAAO,CAAC,cAAc;IAwCtB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,6BAA6B;IAoBrC,OAAO,CAAC,iCAAiC;IAyCzC,OAAO,CAAC,4BAA4B;IAmBpC,OAAO,CAAC,4BAA4B;IAmBpC,OAAO,CAAC,8BAA8B;IAmBtC,OAAO,CAAC,8BAA8B;IAmBtC,OAAO,CAAC,+BAA+B;IAsBvC,OAAO,CAAC,sCAAsC;IAuB9C,OAAO,CAAC,eAAe;IAYvB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAoCxB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA6B5B,8EAA8E;IAC9E,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,wBAAwB;IAUhC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,qBAAqB;IAuB7B,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,0BAA0B;CAKnC"}
1
+ {"version":3,"file":"AcDbLibreDwgConverter.d.ts","sourceRoot":"","sources":["../src/AcDbLibreDwgConverter.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,8BAA8B,EAE9B,YAAY,EACZ,qBAAqB,EACrB,2BAA2B,EAsB3B,qBAAqB,EAkBtB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAGL,WAAW,EAEZ,MAAM,yBAAyB,CAAA;AAkBhC;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,qBAAqB,CAAC,WAAW,CAAC;gBAC/D,MAAM,GAAE,2BAAgC;cAQpC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM;IAwBzD,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY;IAgB/D,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY;IAsBhE,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY;IA+F/D;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IA4B/B,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY;IAmB5D;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;IA8B5B,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY;IAyH/D,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY;IAoCjE,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY;YAIhD,sBAAsB;IAkBpC;;;;OAIG;cACa,eAAe,CAC7B,KAAK,EAAE,WAAW,EAClB,EAAE,EAAE,YAAY,EAChB,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAClC,QAAQ,CAAC,EAAE,8BAA8B;IAgD3C,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY;IAe7D,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY;IAgD5D,OAAO,CAAC,4BAA4B;IAWpC,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY;IAyB7D;;;;;;;;;OASG;IACH,OAAO,CAAC,uBAAuB;IAkD/B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,sBAAsB;IA8C9B,OAAO,CAAC,cAAc;IAwCtB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,6BAA6B;IAoBrC,OAAO,CAAC,iCAAiC;IAyCzC,OAAO,CAAC,4BAA4B;IAmBpC,OAAO,CAAC,4BAA4B;IAmBpC,OAAO,CAAC,8BAA8B;IAmBtC,OAAO,CAAC,8BAA8B;IAmBtC,OAAO,CAAC,+BAA+B;IAsBvC,OAAO,CAAC,sCAAsC;IAuB9C,OAAO,CAAC,eAAe;IAYvB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAoCxB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA6B5B,8EAA8E;IAC9E,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,wBAAwB;IAUhC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,qBAAqB;IAuB7B,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,0BAA0B;CAKnC"}
@@ -188,6 +188,9 @@ var AcDbLibreDwgConverter = /** @class */ (function (_super) {
188
188
  dimtvp: item.DIMTVP,
189
189
  dimtfac: item.DIMTFAC,
190
190
  dimgap: item.DIMGAP,
191
+ dimtfill: item.DIMTFILL === 1 || item.DIMTFILL === 2 ? item.DIMTFILL : 0,
192
+ dimtfillclr: acdbNormalizeDimStyleColorNumber(item.DIMTFILLCLR),
193
+ dimtxtdirection: item.DIMTXTDIRECTION === 1 ? 1 : 0,
191
194
  dimaltrnd: item.DIMALTRND,
192
195
  dimtol: item.DIMTOL == null || item.DIMTOL == 0 ? 0 : 1,
193
196
  dimlim: item.DIMLIM == null || item.DIMLIM == 0 ? 0 : 1,
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbLibreDwgConverter.js","sourceRoot":"","sources":["../src/AcDbLibreDwgConverter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcDbLibreDwgConverter.js","sourceRoot":"","sources":["../src/AcDbLibreDwgConverter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mlightcad/libredwg-converter",
3
- "version": "3.15.15",
3
+ "version": "3.15.17",
4
4
  "license": "GPL-3.0",
5
5
  "type": "module",
6
6
  "repository": {
@@ -46,10 +46,10 @@
46
46
  },
47
47
  "devDependencies": {
48
48
  "vite": "^6.4.3",
49
- "@mlightcad/data-model": "1.15.15"
49
+ "@mlightcad/data-model": "1.15.17"
50
50
  },
51
51
  "peerDependencies": {
52
- "@mlightcad/data-model": "1.15.15"
52
+ "@mlightcad/data-model": "1.15.17"
53
53
  },
54
54
  "scripts": {
55
55
  "analyze": "pnpm run analyze:lib && pnpm run analyze:worker",