private void saveDXFBtn_Click(object sender, RoutedEventArgs e) { DxfModel model = new DxfModel(DxfVersion.Dxf14); double thickness = Convert.ToDouble(ttxtBox.Text); ///////////// /////////// //Comulative spanVals double[] comSpanVals = new double[nSpans + 1]; comSpanVals[0] = 0; for (int i = 1; i < comSpanVals.Length; i++) { comSpanVals[i] = comSpanVals[i - 1] + spanValues[i]; } /*---------*/ //Points Point2D[] startPointsBot = DXFPoints.BottomStartPoints(nSpans, comSpanVals); Point2D[] endPointsBot = DXFPoints.BottomEndPoints(nSpans, comSpanVals); Point2D[] startPointsTop = DXFPoints.TopStartPoints(nSpans, thickness, comSpanVals); Point2D[] endPointsTop = DXFPoints.TopEndPoints(nSpans, thickness, comSpanVals); /*---------Lines---------*/ DXFLines.ConstructBottomLines(model, nSpans, startPointsBot, endPointsBot); DXFLines.ConstructTopLines(model, nSpans, startPointsTop, endPointsTop); DXFLines.ConstructColLines(model, nSpans, thickness, startPointsBot, endPointsBot, startPointsTop, endPointsTop); DXFLines.ConstructGrids(model, nSpans, thickness, comSpanVals); /*---------Rebar---------*/ DxfLine[] BottomRFT = DXFRebar.BotRFT(model, nSpans, startPointsBot, endPointsBot); double[] Ln = DXFRebar.Lnet(nSpans, startPointsTop, endPointsTop); DxfLine[] TopSpan = DXFRebar.TopSpanRFT(model, nSpans, thickness, Ln, startPointsTop, endPointsTop); DxfLine[] TopSupport = DXFRebar.TopSupportRFT(model, nSpans, thickness, Ln, startPointsTop, endPointsTop); DXFRebar.Legs(model, nSpans, thickness, BottomRFT, TopSpan); /*---------Stirrups-------*/ DxfLine[,] stirrupsLeft = DXFRebar.StirrupsLeftSec(model, nSpans, thickness, startPointsBot); DxfLine[,] stirrupsMidspan = DXFRebar.StirrupsMidSpanSec(model, nSpans, thickness, startPointsBot, endPointsBot); DxfLine[,] stirrupsRight = DXFRebar.StirrupsRightSec(model, nSpans, thickness, endPointsBot); /*------------------------------Annotation------------------------------*/ DXFAnnotation.AnnotationStirLeft(model, nSpans, thickness, stirrupsLeft); DXFAnnotation.AnnotationStirMidSpan(model, nSpans, thickness, stirrupsMidspan); DXFAnnotation.AnnotationStirRight(model, nSpans, thickness, stirrupsRight); /*------------------------------Dimensions------------------------------*/ DXFDimClass.DrawGridDims(model, nSpans, comSpanVals); DXFDimClass.DrawLnetDims(model, nSpans, startPointsBot, endPointsBot, comSpanVals); DXFDimClass.DrawTopRFTRightDims(model, nSpans, thickness, Ln, startPointsTop, comSpanVals); DXFDimClass.DrawTopRFTLeftDims(model, nSpans, thickness, Ln, endPointsTop, comSpanVals); /*------------------------------Text------------------------------*/ double fystr = Convert.ToDouble(fstirtxtBox.Text); //01. RFT bottom Text int[] nRebarBot = DXFTextClass.GetnRebarBotArr(xbeams); double[] chosenDiameterBot = DXFTextClass.GetChosenDiameterArr(xbeams); DXFTextClass.BottomRFTTxt(model, nSpans, nRebarBot, chosenDiameterBot, Ln, startPointsBot); //02. RFT Top Support Text int[] nRebarTopSupportArr = DXFTextClass.GetnRebarTopSupportArr(xbeams); double[] chosenDiameterTopSupport = DXFTextClass.GetChosenDiameterTopSupportArr(xbeams); DXFTextClass.TopRFTSupportTxt(model, nSpans, thickness, nRebarTopSupportArr, chosenDiameterTopSupport, TopSpan, TopSupport); //03. Stirrups Left Section { double[] spacingLeftArr = DXFTextClass.GetSpacingLeftArr(xbeams, stirDiaArr240, stirDiaArr360, stirDiaArr400); int[] spacingLeftIndexes = DXFTextClass.GetSpacingLeftArrIndexes(xbeams, stirDiaArr240, stirDiaArr360, stirDiaArr400); DXFTextClass.StirrupLeftTxt(model, nSpans, stirrupsLeft, spacingLeftArr, spacingLeftIndexes, stirDiaArr240, stirDiaArr360, stirDiaArr400); } //05. Stirrups Right Section { double[] spacingRightArr = DXFTextClass.GetSpacingRightArr(xbeams, stirDiaArr240, stirDiaArr360, stirDiaArr400); int[] spacingRightIndexes = DXFTextClass.GetSpacingLeftArrIndexes(xbeams, stirDiaArr240, stirDiaArr360, stirDiaArr400); DXFTextClass.StirrupRightTxt(model, nSpans, stirrupsRight, spacingRightArr, spacingRightIndexes, stirDiaArr240, stirDiaArr360, stirDiaArr400); } ////04. Stirrups MidSpan //DXFTextClass.StirrupMidSpanTxt(model, nSpans, stirrupsMidspan); ////05. Stirrups Right Section //double[] spacingRightSec = DXFTextClass.GetSpacingRightArr(xbeams); //DXFTextClass.StirrupRightTxt(model, nSpans, stirrupsRight, spacingRightSec); /*------------------------------Create DXF File------------------------------*/ //Create DXF File DxfWriter.Write("Test12.dxf", model, true); }