private LJJSPoint GetDuiShuPointZB(KeDuChiItem duiShuKDC, LJJSPoint convertPt, JDStruc jdstruc, LJJSPoint lrptstart) { double Xpt = DuiShuOper.XGetDSZuoBiaoValue(lrptstart.XValue, duiShuKDC.KDir, duiShuKDC.KParm, convertPt.XValue, duiShuKDC.KMin); double Ypt = ZuoBiaoOper.GetJSZongZBValue(jdstruc.JDPtStart.YValue, convertPt.YValue, jdstruc.JDtop, FrameDesign.ValueCoordinate); return(new LJJSPoint(Xpt, Ypt)); }
//understand private LJJSPoint GetPtZBByKDC(KeDuChiItem drawkdc, LJJSPoint jdptstart, double xval, double yval, double jdtop) { ZuoBiaoOper zbopp = new ZuoBiaoOper(FrameDesign.ValueCoordinate); LJJSPoint lrptstart = ZuoBiaoOper.UpdateLRStartPt(drawkdc.KDir, jdptstart, LineRoadEnvironment.LineRoadWidth); return(zbopp.GetDrawingZuoBiaoPt(lrptstart, drawkdc, xval, yval, jdtop, LineRoadEnvironment.LineRoadWidth)); }
/// <summary> /// 添加普通类型的棒线,是与对数类型相区别; /// </summary> /// <param name="jdstruc">绘制棒线的井段范围</param> /// <param name="drawht">绘制棒线的数据,hashtable的key为y值也就是井深,X为棒线的横向取值</param> private void AddNormalStickLineToFigure(JDStruc jdstruc, Hashtable drawht) { bool ifinkdc = false; double jdtop = jdstruc.JDtop; double jdbottom = jdstruc.JDBottom; KeDuChiItem drawkdc; LJJSPoint lrptstart; int kdccount = m_KDCList.Count; foreach (DictionaryEntry de in drawht) { ifinkdc = false; double xval = (double)de.Value; for (int i = 0; i < m_KDCList.Count; i++) { drawkdc = m_KDCList[i]; if (ZuoBiaoOper.IfInKeDuChi(xval, drawkdc))//假如棒线横向坐标值在刻度尺范围内则绘制棒线; { Layer.Layer_SetToCurrent(drawkdc.KName); lrptstart = ZuoBiaoOper.UpdateLRStartPt(drawkdc.KDir, jdstruc.JDPtStart, lineRoadEnvironment.LineRoadWidth); DrawStickLine(lrptstart, drawkdc, xval, (double)de.Key, jdtop); ifinkdc = true; break; } } if (ifinkdc == false)//棒线横向坐标不再刻度吃范围内,添加超界标注; { lrptstart = ZuoBiaoOper.UpdateLRStartPt(m_KDCList[kdccount - 1].KDir, jdstruc.JDPtStart, lineRoadEnvironment.LineRoadWidth); if (lineItemStruct.LineItemChaoJie == CJQXChaoJie.BiaoZhu)//添加标注信息; { AddChaoJieBZ(xval, jdstruc.JDPtStart, (double)de.Key, jdstruc.JDtop, FrameDesign.ValueCoordinate, m_KDCList[kdccount - 1], lineRoadEnvironment.LineRoadWidth); } } } }
private void AddPerYYWZHatch(string yYWZ, double gWJS, double T2jzz, double jdTop) { double gwjsZuoBiaoY = ZuoBiaoOper.GetJSZongZBValue(ptStart.YValue, gWJS, jdTop, FrameDesign.ValueCoordinate); string subsql = this.hcgzItemDesignStruc.ClosedArea_Field_YYWZ + @"='" + yYWZ + @"'"; if (null != kdcItem) { double sfsStartX = kdcItem.KMin; double sfsEndX = T2jzz; double kdsStartX = T2jzz; double kdsEndX = kdcItem.KMax; List <LJJSPoint> sfslst = GetClosedAreaDRS(sfsStartX, sfsEndX, kdcItem, subsql, gwjsZuoBiaoY); double xt2 = DuiShuOper.XGetDSZuoBiaoValue(ptStart.XValue, 1, kdcItem.KParm, T2jzz, kdcItem.KMin); double ytmp = endy; List <LJJSPoint> kdslst = GetClosedAreaDRS(kdsStartX, kdsEndX, kdcItem, subsql, gwjsZuoBiaoY); kdslst.Add(new LJJSPoint(xt2, gwjsZuoBiaoY)); double ytmpkd = starty; sfslst.Add(new LJJSPoint(xt2, (ytmp + ytmpkd) * 0.5 * HCGZLTXiShu + gwjsZuoBiaoY)); sfslst.Add(new LJJSPoint(xt2, gwjsZuoBiaoY)); kdslst.Add(new LJJSPoint(xt2, (ytmp + ytmpkd) * 0.5 * HCGZLTXiShu + gwjsZuoBiaoY)); AreaHatch.AddStandardAreaHatch(DrawCommonData.activeDocument, sfslst, this.hcgzItemDesignStruc.SFLTColor, this.hcgzItemDesignStruc.SFLTColor); AreaHatch.AddStandardAreaHatch(DrawCommonData.activeDocument, kdslst, hcgzItemDesignStruc.KDLTColor, hcgzItemDesignStruc.KDLTColor); } }
public CurveHatch(JDStruc jdstruc, KeDuChiItem keDuChiItem, double lineRoadWidth) { this._jdstruc = jdstruc; this._keDuChiItem = keDuChiItem; this._jdptstart = ZuoBiaoOper.UpdateLRStartPt(keDuChiItem.KDir, jdstruc.JDPtStart, lineRoadWidth);//根据刻度尺方向获得起点; this._lineRoadWidth = lineRoadWidth; }
/// <summary> /// 绘制棒线 /// </summary> /// <param name="kdc">棒线所属刻度尺</param> /// <param name="xVal">棒线终点对应的横向值(数据库中)</param> /// <param name="yVal">棒线终点对应的井深(数据库中)</param> private void DrawStickLine(LJJSPoint jdStartPt, KeDuChiItem kdc, double xVal, double yVal, double jdStartJS) { Layer.Layer_SetToCurrent(kdc.KName); ZuoBiaoOper zbopp = new ZuoBiaoOper(FrameDesign.ValueCoordinate); LJJSPoint ptend = zbopp.GetDrawingZuoBiaoPt(jdStartPt, kdc, xVal, yVal, jdStartJS, lineRoadEnvironment.LineRoadWidth); LJJSPoint ptstart = new LJJSPoint(jdStartPt.XValue, ptend.YValue); ulong objid = Line.BuildCommonLineByLayer(ptstart, ptend, kdc.kLineWidth); }
private LJJSPoint GetDuiShuPointZB(KeDuChiItem duiShuKDC, double yvalue, Hashtable drawht, JDStruc jdstruc, LJJSPoint lrptstart) { double xvalue = (double)drawht[yvalue]; double Xpt = DuiShuOper.XGetDSZuoBiaoValue(lrptstart.XValue, duiShuKDC.KDir, duiShuKDC.KParm, xvalue, duiShuKDC.KMin); double Ypt = ZuoBiaoOper.GetJSZongZBValue(jdstruc.JDPtStart.YValue, yvalue, jdstruc.JDtop, FrameDesign.ValueCoordinate); return(new LJJSPoint(Xpt, Ypt)); }
private void AddJBQXItemToFigure(JDStruc jdstruc, List <SymbolItemStruc> syDrawingCol) { double adjacentVerZbdifference = 10; double lastVerZBHor = 0; double lastverZBVerHeigh = 0; double lastadjacentVerZbdifference = 0; for (int i = 0; i < syDrawingCol.Count; i++) { SymbolItemStruc symbldrawing = syDrawingCol[i]; LJJSPoint sybltopZuoBiaoPt = ZuoBiaoOper.GetJSZuoBiaoPt(jdstruc.JDPtStart, symbldrawing.depthtop, jdstruc.JDtop, FrameDesign.ValueCoordinate); adjacentVerZbdifference = lastadjacentVerZbdifference + Math.Abs(lastverZBVerHeigh - sybltopZuoBiaoPt.YValue); if (adjacentVerZbdifference < 4) { lastVerZBHor = lastVerZBHor + jbqx_SymbolWidth; lastadjacentVerZbdifference = lastadjacentVerZbdifference + Math.Abs(lastverZBVerHeigh - sybltopZuoBiaoPt.YValue); } else { lastVerZBHor = 0; lastadjacentVerZbdifference = 0; } LJJSPoint syblpos = new LJJSPoint(sybltopZuoBiaoPt.XValue + lastVerZBHor, sybltopZuoBiaoPt.YValue); SymbolAdd.InsertBlock("JBQX", 1, 1, syblpos); int sybolcodecount = symbldrawing.sybolcodelist.Count; if (sybolcodecount == 3) { string yxcode = symbldrawing.sybolcodelist[0].Trim(); if (yxcode != "n" && yxcode != "N" && yxcode != "") { SymbolCodeClass sybloper = (SymbolCodeClass)HashUtil.FindObjByKey(yxcode, FillSymbolCode.SymbolCodeClassHt); if (null != sybloper) { // SymbolCodeClass sybloper = (SymbolCodeClass)FillSymbolCode.SymbolCodeClassHt[yxcode]; AddJBQXYXSymbolToFigure(syblpos, sybloper); } } string czcode = symbldrawing.sybolcodelist[1].Trim(); if (czcode != "n" && czcode != "N" && czcode != "") { SymbolCodeClass sybloper = (SymbolCodeClass)HashUtil.FindObjByKey(czcode, FillSymbolCode.SymbolCodeClassHt); // SymbolCodeClass sybloper = (SymbolCodeClass)FillSymbolCode.SymbolCodeClassHt[czcode]; if (null != sybloper) { AddJBQXCZSymbolToFigure(syblpos, sybloper); } } string yscode = symbldrawing.sybolcodelist[2].Trim(); LJJSCAD.Drawing.Text.LJJSText.AddHorCommonTextByLayer(yscode, new LJJSPoint(syblpos.XValue + jbqx_yshoroffset, syblpos.YValue), AttachmentPoint.MiddleLeft, jbqx_ysCodeTxt_Height, jbqx_bzFont); // ArxCSHelper.AddMText(yscode, 1.2, new LJJSPoint(syblpos.XValue + jbqx_yshoroffset, syblpos.YValue), AttachmentPoint.MiddleLeft, bztxtstyleid); } lastverZBVerHeigh = syblpos.YValue; } }
private void AddChaoJieBZ(double xval, LJJSPoint jdStartPt, double BzJS, double jdStartJS, double blcvalue, KeDuChiItem drawkdc, double lRWidth) { Layer.Layer_SetToCurrent(drawkdc.KName); double chaojiepty = ZuoBiaoOper.GetJSZongZBValue(jdStartPt.YValue, BzJS, jdStartJS, blcvalue); LJJSPoint chaojiept = new LJJSPoint(jdStartPt.XValue + drawkdc.KDir * lRWidth, chaojiepty); ChaoJieBZ cjbz = new ChaoJieBZ(xval, chaojiept); cjbz.DrawChaoJieBiaoZhu(drawkdc.KDir); }
private void AddStandardImageItemToFigure(JDStruc jdStruc, List <ImageItemStruc> imageStrucList) { for (int i = 0; i < imageStrucList.Count(); i++) { ImageItemStruc tmpImageItemStruc = imageStrucList[i]; LJJSPoint imageBottomZuoBiaoPt = ZuoBiaoOper.GetJSZuoBiaoPt(jdStruc.JDPtStart, tmpImageItemStruc.BottomJS, jdStruc.JDtop, FrameDesign.ValueCoordinate); double imageDrawingHeigh = tmpImageItemStruc.JsHeight * 1000 * FrameDesign.ValueCoordinate; ImageHatch.AddRectImageHatch(imageBottomZuoBiaoPt, imageDrawingHeigh, this.lineRoadEnvironment.LineRoadWidth, tmpImageItemStruc.ImagePath, DrawCommonData.HatchScale, tmpImageItemStruc.AdditionImeLst); } }
private void DrawDuiShuStickLine(LJJSPoint jdStartPt, KeDuChiItem kdc, double xVal, double yVal, double jdStartJS) { ZuoBiaoOper zbopp = new ZuoBiaoOper(FrameDesign.ValueCoordinate); double duishuX = DuiShuOper.XGetDSZuoBiaoValue(jdStartPt.XValue, kdc.KDir, kdc.KParm, xVal, kdc.KMin); double duishuY = ZuoBiaoOper.GetJSZongZBValue(jdStartPt.YValue, yVal, jdStartJS, FrameDesign.ValueCoordinate); LJJSPoint ptend = new LJJSPoint(duishuX, duishuY); LJJSPoint ptstart = new LJJSPoint(jdStartPt.XValue, ptend.YValue); ulong objid = Line.BuildCommonSoldLine(ptstart, ptend, Color.Black.ToArgb(), kdc.kLineWidth); // }
private void AddDuiShuStickLineToFigure(KeDuChiItem duiShuKDC, JDStruc jdstruc, Hashtable drawht) { LJJSPoint lrptstart = ZuoBiaoOper.UpdateLRStartPt(duiShuKDC.KDir, jdstruc.JDPtStart, LineRoadEnvironment.LineRoadWidth); foreach (DictionaryEntry de in drawht) { double xval = (double)de.Value; DrawDuiShuStickLine(lrptstart, duiShuKDC, xval, (double)de.Key, jdstruc.JDtop); } }
private void AddDuiShuContinuousToFigure(KeDuChiItem duiShuKDC, ArrayList al, JDStruc jdstruc, Hashtable drawht, Color penColor) { List <LJJSPoint> drawptcol = new List <LJJSPoint>(); double yval = 0; LJJSPoint lrptstart = ZuoBiaoOper.UpdateLRStartPt(duiShuKDC.KDir, jdstruc.JDPtStart, LineRoadEnvironment.LineRoadWidth);//根据刻度尺方向获得起点; for (int i = 0; i < al.Count; i++) { yval = (double)al[i]; drawptcol.Add(GetDuiShuPointZB(duiShuKDC, yval, drawht, jdstruc, lrptstart)); } DrawContinuousLine(drawptcol, duiShuKDC.KName, duiShuKDC.kLineWidth, penColor);//绘制上一段曲线; }
private void AddPerYYWZHatch(string yYWZ, double gWJS, LJJSPoint ptStart, double jdTop) { double gwjsZuoBiaoY = ZuoBiaoOper.GetJSZongZBValue(ptStart.YValue, gWJS, jdTop, FrameDesign.ValueCoordinate); string subsql = this.itemDesignStruc.ClosedArea_Field_YYWZ + @"='" + yYWZ + @"'"; if (null != kdcItem) { List <LJJSPoint> sfslst = GetClosedAreaDRS(kdcItem, subsql, gwjsZuoBiaoY, ptStart); List <LJJSPoint> HorBoundaryLineLst = new List <LJJSPoint>(); HorBoundaryLineLst.Add(new LJJSPoint(ptStart.XValue, gwjsZuoBiaoY)); HorBoundaryLineLst.Add(new LJJSPoint(ptStart.XValue + this.lineRoadEnvironment.LineRoadWidth, gwjsZuoBiaoY)); CurveHatch curveHatch = new CurveHatch(kdcItem, this.lineRoadEnvironment.LineRoadWidth); curveHatch.CurvesBuildExec(sfslst, itemDesignStruc.HatchDic[0], HorBoundaryLineLst); } }
private List <LJJSPoint> GetFillAreaPtLst(LJJSPoint lrptstart, double jdTop, double depthtop, double depthbottom, double xvalue) { List <LJJSPoint> ptlist = new List <LJJSPoint>(); ZuoBiaoOper zbopp = new ZuoBiaoOper(FrameDesign.ValueCoordinate); LJJSPoint ptTopend = zbopp.GetDrawingZuoBiaoPt(lrptstart, drawkdc, xvalue, depthtop, jdTop, lineRoadEnvironment.LineRoadWidth); LJJSPoint ptTopstart = new LJJSPoint(lrptstart.XValue, ptTopend.YValue); LJJSPoint ptBottomEnd = zbopp.GetDrawingZuoBiaoPt(lrptstart, drawkdc, xvalue, depthbottom, jdTop, lineRoadEnvironment.LineRoadWidth); LJJSPoint ptBottomStart = new LJJSPoint(lrptstart.XValue, ptBottomEnd.YValue); ptlist.Add(ptTopstart); ptlist.Add(ptTopend); ptlist.Add(ptBottomEnd); ptlist.Add(ptBottomStart); return(ptlist); }
private LJJSPoint GetVerBoundaryStartPt(double xstart, double fenjieValue) { double xvalue = xstart; if (kdcItem.KStyle.Equals(KDCStyle.DuiShu)) { xvalue = DuiShuOper.XGetDSZuoBiaoValue(xstart, kdcItem.KDir, kdcItem.KParm, fenjieValue, kdcItem.KMin); } else { xvalue = ZuoBiaoOper.XGetZuoBiaoValue(xstart, kdcItem, fenjieValue, this.lineRoadEnvironment.LineRoadWidth); } LJJSPoint startPt = new LJJSPoint(xvalue, this.LineRoadStartPt.YValue); return(startPt); }
public override void DrawPerJDZMLine(DrawingElement.LJJSPoint ptstart, JDStruc jdStruc) { LJJSPoint tmpptstart = ptstart; double tmplineroadwidth = _lineroadwidth; if (_lineRoadModel.ZmLineSpace < Math.Abs(jdStruc.JDBottom - jdStruc.JDtop)) { int minZhengMiPtJs = ModeUtil.GetMinBeiShu(jdStruc.JDtop, _lineRoadModel.ZmLineSpace); LJJSPoint minZhengMiPt = ZuoBiaoOper.GetJSZuoBiaoPt(tmpptstart, minZhengMiPtJs, jdStruc.JDtop, FrameDesign.ValueCoordinate); List <LJJSPoint> dengfenptarr = ZuoBiaoOper.GetZongXiangDengFenPtArr(minZhengMiPt, -1, jdStruc.JDHeight - Math.Abs(minZhengMiPt.YValue - tmpptstart.YValue), _ZMLdengfenspace); dengfenptarr.Add(minZhengMiPt); foreach (LJJSPoint pt in dengfenptarr) { Line.BuildHorToRightBlackSolidLine(pt, _lineRoadModel.LineRoadWidth, _lineRoadModel.ZhengMiLineWidth, ""); } } }
//single paint private KeDuChiItem PointIfChaoJie(double yval, Hashtable drawht) { KeDuChiItem drawkdc = null; double xval = (double)drawht[yval]; for (int j = 0; j < m_KDCList.Count; j++) { KeDuChiItem tmpdrawkdc = m_KDCList[j]; if (ZuoBiaoOper.IfInKeDuChi(xval, tmpdrawkdc)) { drawkdc = tmpdrawkdc; break; } } return(drawkdc); }
private List <HatchRectDrawStrut> GetPerJDDrawStructLst(JDStruc jdStruc) { LJJSPoint lrptstart = ZuoBiaoOper.UpdateLRStartPt(drawkdc.KDir, jdStruc.JDPtStart, lineRoadEnvironment.LineRoadWidth); double jdTop = jdStruc.JDtop; double jdBottom = jdStruc.JDBottom; List <HatchRectDrawStrut> hrdsLst = new List <HatchRectDrawStrut>(); if (null == itemDataTable || itemDataTable.Rows.Count < 1) { return(hrdsLst); } string sql = GetItemSqlTxt(jdTop.ToString(), jdBottom.ToString()); DataRow[] drs = itemDataTable.Select(sql, itemDesignStruc.Y_TopField + " ASC"); if (itemDesignStruc.hrItemSubStyle.Equals(HatchRectItemSubStyle.ColorField)) { foreach (DataRow dr in drs) { List <LJJSPoint> areaLst = GetFillAreaPtLst(lrptstart, jdTop, jdBottom, dr); string color = dr[itemDesignStruc.Color_FromFiled].ToString(); if (colorDic.ContainsKey(color)) { string colorvalue = colorDic[color]; LJJSHatch ljjsHatch = new LJJSHatch(colorvalue, bool.FalseString); HatchRectDrawStrut hrds = new HatchRectDrawStrut(areaLst, ljjsHatch); hrdsLst.Add(hrds); } } } else { foreach (DataRow dr in drs) { List <LJJSPoint> areaLst = GetFillAreaPtLst(lrptstart, jdTop, jdBottom, dr); LJJSHatch ljjsHatch = itemDesignStruc.ItemHatch; HatchRectDrawStrut hrds = new HatchRectDrawStrut(areaLst, ljjsHatch); hrdsLst.Add(hrds); } } return(hrdsLst); }
public List <LJJSPoint> GetDrawZuoPtCol(Hashtable drawht, double addPtXvalue) { List <LJJSPoint> drawptcol = new List <LJJSPoint>(); ArrayList al;//完成排序的绘图点; if (null == drawht) { return(drawptcol); } if (_keDuChiItem.KStyle == KDCStyle.DuiShu) //对数项; { drawht = HashUtil.MoveHashTableZeroValue(drawht); //去掉数据中的0值; } al = HashUtil.GetHastablePaiXuList(drawht);//完成排序的绘图点; if (null != al && al.Count > 1) { int last = al.Count - 1; double firstptJS = (double)al[0]; double lastptJS = (double)al[last]; double firstPtY = ZuoBiaoOper.GetJSZongZBValue(_jdptstart.YValue, firstptJS, _jdstruc.JDtop, FrameDesign.ValueCoordinate); double lastPtY = ZuoBiaoOper.GetJSZongZBValue(_jdptstart.YValue, lastptJS, _jdstruc.JDtop, FrameDesign.ValueCoordinate); drawptcol.Add(new LJJSPoint(addPtXvalue, firstPtY + 0.0001)); for (int i = 0; i < al.Count; i++) { double jsvalue = (double)al[i]; double xvalue = (double)drawht[jsvalue]; if (_keDuChiItem.KStyle == KDCStyle.DuiShu)//对数项; { drawptcol.Add(GetDuiShuPointZB(_keDuChiItem, new LJJSPoint(xvalue, jsvalue), _jdstruc, _jdptstart)); } else { drawptcol.Add(GetPtZBByKDC(_keDuChiItem, _jdptstart, new LJJSPoint(xvalue, jsvalue), _jdstruc.JDtop)); } } drawptcol.Add(new LJJSPoint(addPtXvalue, lastPtY - 0.0001)); } return(drawptcol); }
private void AddStandardSymbolItemToFigure(JDStruc jdstruc, List <SymbolItemStruc> syDrawingCol) { for (int i = 0; i < syDrawingCol.Count; i++) { SymbolItemStruc symbldrawing = syDrawingCol[i]; LJJSPoint sybltopZuoBiaoPt = ZuoBiaoOper.GetJSZuoBiaoPt(jdstruc.JDPtStart, symbldrawing.depthtop, jdstruc.JDtop, FrameDesign.ValueCoordinate); LJJSPoint syblbottomZuoBiaoPt = ZuoBiaoOper.GetJSZuoBiaoPt(jdstruc.JDPtStart, symbldrawing.depthbottom, jdstruc.JDtop, FrameDesign.ValueCoordinate); LJJSPoint syblpos = ZuoBiaoOper.GetMidPtBetweenTwoPt(sybltopZuoBiaoPt, syblbottomZuoBiaoPt); for (int j = 0; j < symbldrawing.sybolcodelist.Count; j++) { double xscale = 1; double yscale = 1; string syblcode = symbldrawing.sybolcodelist[j].Trim(); if (syblcode != "n" && syblcode != "") { SymbolCodeClass sybloper = (SymbolCodeClass)HashUtil.FindObjByKey(syblcode, FillSymbolCode.SymbolCodeClassHt); if (null == sybloper) { continue; } if (Math.Abs(sybloper.symbolHeigh) > 0.01 && sybloper.ifZXEnlarge) { yscale = Math.Abs(sybltopZuoBiaoPt.YValue - syblbottomZuoBiaoPt.YValue) / sybloper.symbolHeigh; } if ((Math.Abs(sybloper.symbolWidth) > 0.01) && symItemDesignStruc.SyblIfHorFill) { xscale = this.lineRoadEnvironment.LineRoadWidth / sybloper.symbolWidth; } if (symItemDesignStruc.SymbolFramePro == SymbolFrame.DoubleParallel) { Line.BuildCommonHorLineByLayer(sybltopZuoBiaoPt, lineRoadEnvironment.LineRoadWidth, 0, DrawCommonData.DirectionRight); //.AddContinusHorLine(sybltopZuoBiaoPt, lineRoadEnvironment.LineRoadWidth, 0); Line.BuildCommonHorLineByLayer(syblbottomZuoBiaoPt, lineRoadEnvironment.LineRoadWidth, 0, DrawCommonData.DirectionRight); } // AddJoinAdjustItemObjId(CommonDrawing.InsertSymbolItem(sybloper.symbolcode, xscale, yscale, syblpos)); SymbolAdd.InsertBlock(sybloper.symbolcode, xscale, yscale, syblpos); } } } }
public SymbolItemDesignStruct(SymbolItemModel symbolItemModel) { ItemField = symbolItemModel.ItemField.Trim(); ItemName = symbolItemModel.ItemName.Trim(); ItemTable = symbolItemModel.ItemTable.Trim(); this.SyblIfHorFill = BoolUtil.GetBoolByBindID(symbolItemModel.SyblIfHorFill.Trim(), false); this.SyBolOffset = StrUtil.StrToDouble(symbolItemModel.SyBolOffset.Trim(), 0, "符号项设置有误"); this.SyHeaderStartheigh = StrUtil.StrToDouble(symbolItemModel.SyHeaderStartheigh.Trim(), 0, "符号项设置有误"); this.SyItemTxtVerSpace = StrUtil.StrToDouble(symbolItemModel.SyItemTxtVerSpace.Trim(), 0, "符号项设置有误"); this.SyJDBottom = symbolItemModel.SyJDBottom.Trim(); this.SyJDHeigh = symbolItemModel.SyJDHeigh.Trim(); this.SyJDTop = symbolItemModel.SyJDTop.Trim(); this.SymbolFramePro = EnumUtil.GetEnumByStr(symbolItemModel.SymbolFrame, SymbolFrame.NoFrame); //SymbolItemClass.GetSymbolFrameStyle(symbolItemModel.SymbolFrame.Trim()); this.SymbolItemColor = StrUtil.StrToInt(symbolItemModel.SymbolItemColor.Trim(), DrawCommonData.BlackColorRGB, "符号项颜色设置有误"); this.SymbolItemTitleHorPos = EnumUtil.GetEnumByStr(symbolItemModel.SymbolItemTitleHorPos, ItemTitlePos.Mid); //ItemOper.GetDrawingItemTitlePos(symbolItemModel.SymbolItemTitleHorPos.Trim()); this.SymbolOrder = StrUtil.StrToInt(symbolItemModel.SymbolOrder, 0, "符号项设置有误"); this.SymDISubStyle = SymbolItemClass.GetSymDISubStyleByStr(symbolItemModel.SymDISubStyle.Trim()); this.SymDepthFieldStyle = ZuoBiaoOper.GetDepthFieldStyle(symbolItemModel.SyJDTop, symbolItemModel.SyJDBottom, symbolItemModel.SyJDHeigh); }
private void AddYXPouMianToFigure(JDStruc jdstruc, List <SymbolItemStruc> yxpmStrucLst) { for (int i = 0; i < yxpmStrucLst.Count; i++) { SymbolItemStruc symbldrawing = yxpmStrucLst[i]; LJJSPoint sybltopZuoBiaoPt = ZuoBiaoOper.GetJSZuoBiaoPt(jdstruc.JDPtStart, symbldrawing.depthtop, jdstruc.JDtop, FrameDesign.ValueCoordinate); LJJSPoint syblbottomZuoBiaoPt = ZuoBiaoOper.GetJSZuoBiaoPt(jdstruc.JDPtStart, symbldrawing.depthbottom, jdstruc.JDtop, FrameDesign.ValueCoordinate); LJJSPoint syblpos = ZuoBiaoOper.GetMidPtBetweenTwoPt(sybltopZuoBiaoPt, syblbottomZuoBiaoPt); for (int j = 0; j < symbldrawing.sybolcodelist.Count; j++) { double xscale = 1; double yscale = 1; string syblcode = symbldrawing.sybolcodelist[j].Trim(); if (syblcode != "n" && syblcode != "") { SymbolCodeClass sybloper = (SymbolCodeClass)FillSymbolCode.SymbolCodeClassHt[syblcode]; if (null == sybloper) { continue; } if (sybloper.ifZXEnlarge) { yscale = Math.Abs(sybltopZuoBiaoPt.YValue - syblbottomZuoBiaoPt.YValue); } else if (sybloper.ifFill) { xscale = sybloper.symbolWidth; yscale = Math.Abs(sybltopZuoBiaoPt.YValue - syblbottomZuoBiaoPt.YValue); } if (sybloper.symbolWidth > 0) { Rect.AddBlackRect(syblbottomZuoBiaoPt, Math.Abs(syblbottomZuoBiaoPt.YValue - sybltopZuoBiaoPt.YValue), sybloper.symbolWidth, 0, new DrawDirection(1, 1)); } SymbolAdd.InsertBlock(sybloper.symbolcode, xscale, yscale, syblpos); } } } }
public TxtItemClass(TextItemModel txtItemModel) { if (null != txtItemModel) { _iD = txtItemModel.ID.Trim(); _txtItemName = txtItemModel.TxtItemName.Trim(); _FromFieldName = txtItemModel.TxtItemField.Trim(); _TxtItemTitleSpace = StrUtil.StrToDouble(txtItemModel.TxtItemTitleSpace, 0, "文本项标题的纵向距离为非数值型"); //MyNormalOper.GetDoubleValue(ht["TxtItemTitleSpace"].ToString().Trim(), 0, "文本项标题的纵向具体为非数值型"); _TxtPaiLie = EnumUtil.GetEnumByStr(txtItemModel.TxtPaiLie, TxtArrangeStyle.TxtHorArrange); _TxtPosition = EnumUtil.GetEnumByStr(txtItemModel.TxtPosition, AttachmentPoint.BottomCenter); // PositionUtil.GetTxtPositionForCAD(txtItemModel.TxtPosition); _TxtDistribution = EnumUtil.GetEnumByStr(txtItemModel.TxtLayOut.Trim(), Txtdistribution.Txtfocus); // ht["TxtLayOut"].ToString());//分散或集中; _TxtJDTop = txtItemModel.TxtJDTop.Trim(); // ht["TxtJDTop"].ToString().Trim(); _TxtJDHeigh = txtItemModel.TxtJDHeigh.Trim(); // ht["TxtJDHeigh"].ToString().Trim(); _TxtJDBottom = txtItemModel.TxtJDBottom.Trim(); // ht["TxtJDBottom"].ToString().Trim(); _TxtColor = StrUtil.StrToInt(txtItemModel.TxtColor, Color.Black.ToArgb(), "文本项颜色为非数值型"); // AutoCADColor.FromColor(SysColor.FromArgb(MyNormalOper.GetIntValue(ht["TxtColor"].ToString(), 0, "文本项颜色为非数值型"))); _TxtItemFromTableName = txtItemModel.TxtItemFromTbName.Trim(); // ht["TxtItemFromTbName"].ToString().Trim(); _TxtHeaderStartheigh = StrUtil.StrToDouble(txtItemModel.TxtHeaderStartheigh.Trim(), 8, "文本项的起始位置为非数值型"); _TxtSize = StrUtil.StrToDouble(txtItemModel.TxtSize.Trim(), 1.5, "文本项的字高为非数值型"); _TextOutFrame = EnumUtil.GetEnumByStr(txtItemModel.TextOutFrame, TxtItemOutFrame.NoFrame); //PositionUtil.GetTxtItemOutFrameStyle(txtItemModel.TextOutFrame.Trim()); _TxtOutFrameWidth = StrUtil.StrToDouble(txtItemModel.TxtOutFrameWidth, -1, "文本项平行纵向外框的宽度为非数值型"); _TxtOutFrameVerDivPos = EnumUtil.GetEnumByStr(txtItemModel.TxtOutFrameVerDivPos, VerDivPos.LeftPos); //PositionUtil.GetTxtItemOutFrameVerDivPos(txtItemModel.TxtOutFrameVerDivPos); _TIOffset = StrUtil.StrToDouble(txtItemModel.TIOffset, 0, "文本项的相对平移距离为非数值型"); _TiStyle = EnumUtil.GetEnumByStr(txtItemModel.TxtItemStyle, TxtItemStyle.TxtStyle); //GetTxtStyle(txtItemModel.TxtItemStyle); _ThinBZPosStyle = EnumUtil.GetEnumByStr(txtItemModel.ThinBZpos, ThinBZPosStyle.TopPos); //PositionUtil.GetThinBZPosStyle(txtItemModel.ThinBZpos); _txtItemTitlePos = EnumUtil.GetEnumByStr(txtItemModel.TxtItemTitleHorPos, ItemTitlePos.Mid); //ItemOper.GetDrawingItemTitlePos(txtItemModel.TxtItemTitleHorPos); _depthstyle = ZuoBiaoOper.GetDepthFieldStyle(_TxtJDTop, _TxtJDBottom, _TxtJDHeigh); _TxtDiSubStyle = txtItemModel.TxtDiSubStyle.Trim(); // ht["TxtDiSubStyle"].ToString().Trim(); if (string.IsNullOrEmpty(txtItemModel.TxtFont.Trim())) { _TxtStrFont = txtItemModel.TxtFont.Trim();// ht["TxtFont"].ToString().Trim(); } else { _TxtStrFont = "宋体"; } } }
public override List <ulong> AddTextItemToFigure(JDStruc jdstruc, List <TextItemDrawStruc> textItemDrawStrucCol) { for (int i = 0; i < textItemDrawStrucCol.Count; i++) { TextItemDrawStruc currtidrawstruc = textItemDrawStrucCol[i]; LJJSPoint titopZuoBiaoPt = ZuoBiaoOper.GetJSZuoBiaoPt(jdstruc.JDPtStart , currtidrawstruc.depthtop, jdstruc.JDtop, FrameDesign.ValueCoordinate);//获取小段顶坐标 LJJSPoint tibottomZuoBiaoPt = ZuoBiaoOper.GetJSZuoBiaoPt(jdstruc.JDPtStart , currtidrawstruc.depthbottom, jdstruc.JDtop, FrameDesign.ValueCoordinate);//获取小段底坐标 //如果是横向排列则用线道宽度,如果是纵向排列需要分析小井段厚度 AddTxtItemDrawStrucToFigure(titopZuoBiaoPt, tibottomZuoBiaoPt , currtidrawstruc, lineRoadWidth, Math.Abs(titopZuoBiaoPt.YValue - tibottomZuoBiaoPt.YValue), textItemStruct, lineRoadWidth); if (textItemStruct.TextOutFrame == TxtItemOutFrame.DoubleParallel)//如果类型为双平行线类型则绘制双平行线 { TextItemOper.AddTiOutFrameParelLine(titopZuoBiaoPt, tibottomZuoBiaoPt, textItemStruct.TIOffset, textItemStruct.TxtOutFrameWidth); } } return(new List <ulong>()); }
} //附加图片的类型; public ImageItemDesignClass(ImageItemModel imageItemModel) { // TODO: Complete member initialization this.ID = imageItemModel.ID.Trim(); this.ImageFromField = imageItemModel.ImageFromField.Trim(); this.ImageItemOrder = StrUtil.StrToInt(imageItemModel.ImageItemOrder, 0, "图片项序号为非整数型"); this.ImageItemSubStyle = imageItemModel.ImageItemSubStyle.Trim(); this.ImageJDBottomField = imageItemModel.ImageJDBottomField.Trim(); this.ImageJDHeighField = imageItemModel.ImageJDHeighField.Trim(); this.ImageJDTopField = imageItemModel.ImageJDTopField.Trim(); this.ItemFromTable = imageItemModel.ItemFromTable.Trim(); this.ItemName = imageItemModel.ItemName.Trim(); this.ImageJDStyle = ZuoBiaoOper.GetDepthFieldStyle(imageItemModel.ImageJDStyle.Trim()); this.TitleHorPostion = EnumUtil.GetEnumByStr(imageItemModel.TitleHorPostion, ItemTitlePos.Mid); //ItemOper.GetDrawingItemTitlePos(imageItemModel.TitleHorPostion.Trim()); this.TitleTxtStartHeigh = StrUtil.StrToDouble(imageItemModel.TitleTxtStartHeigh.Trim(), 4, "绘图项标题高度为非数值型"); this.ImageAdditionOne = imageItemModel.ImageAdditionOne; this.ImageAdditionTwo = imageItemModel.ImageAdditionTwo; this.ImageAdditionThree = imageItemModel.ImageAdditionThree; this.ImageAdditionFour = imageItemModel.ImageAdditionFour; this.ImageAdditionFive = imageItemModel.ImageAdditionFive; this.ImageAdditionSix = imageItemModel.ImageAdditionSix; this.FormStyle = imageItemModel.FormStyle; }
private double AddJSMainKDLine(JDStruc jdStruc, LJJSPoint tmpptstart, JingShenDesignClass jingShenDesignStruc, int jstop, double mainKDSpace, double minusVal) { double minMainKDPtJs; double biaoZhuJS; if (minusVal < mainKDSpace) { minMainKDPtJs = jstop + mainKDSpace; } else { minMainKDPtJs = jstop + 1; } biaoZhuJS = minMainKDPtJs; List <LJJSPoint> dengfenptarr = new List <LJJSPoint>(); LJJSPoint minMainKDPt = ZuoBiaoOper.GetJSZuoBiaoPt(tmpptstart, minMainKDPtJs, jdStruc.JDtop, FrameDesign.ValueCoordinate); dengfenptarr.Add(minMainKDPt); dengfenptarr.AddRange(ZuoBiaoOper.GetZongXiangDengFenPtArr(minMainKDPt, -1, jdStruc.JDHeight - Math.Abs(minMainKDPt.YValue - tmpptstart.YValue), jingShenDesignStruc.MainKDSpace)); for (int i = 0; i < dengfenptarr.Count(); i++) { //1,绘制主刻度线; Line.BuildHorToRightBlackSolidLine(dengfenptarr[i], jingShenDesignStruc.MainKDLength, _lineRoadModel.ZhengMiLineWidth, ""); //2,添加井深标注; int tmp = i % jingShenDesignStruc.BiaoZhuSpace; if (tmp.Equals(0)) { DrawPerJDJSZMLineBiaoZhu(dengfenptarr[i], biaoZhuJS); //画右侧刻度的井深depth标注 } biaoZhuJS = biaoZhuJS + mainKDSpace; } ifAddBiaoZhu = true; return(minMainKDPtJs); }
private void AddNormalContinuousToFigure(ArrayList al, JDStruc jdstruc, Hashtable drawht, Color penColor, int index) { double jdtop = jdstruc.JDtop; string prekdcname = "No"; double preyval = 0; double prexvalue = 0; string currkdcname = ""; LJJSPoint lrptstart; LJJSPoint currpt = new LJJSPoint(0, 0); List <LJJSPoint> drawptcol = new List <LJJSPoint>(); List <LJJSPoint> outdrawcol = new List <LJJSPoint>(); List <List <LJJSPoint> > outdrawcollist = new List <List <LJJSPoint> >(); double jdbottom = jdstruc.JDBottom; ZuoBiaoOper zbopp = new ZuoBiaoOper(FrameDesign.ValueCoordinate); LJJSPoint prept = new LJJSPoint(0, 0); KeDuChiItem drawkdc = null; LJJSPoint chajieinterpt;//超界交点 KeDuChiItem outdrawkdc = m_KDCList[m_KDCList.Count - 1]; double lastxvalue = 0; #region for (int i = 0; i < al.Count; i++) { double yval = (double)al[i]; double xvalue = (double)drawht[yval]; //获取 每个点x,y的值 drawkdc = PointIfChaoJie(yval, drawht); if (drawkdc != null)//该点未超界; { outdrawkdc = drawkdc; lrptstart = ZuoBiaoOper.UpdateLRStartPt(drawkdc.KDir, jdstruc.JDPtStart, LineRoadEnvironment.LineRoadWidth); this.lrptstart = lrptstart; this.lrptstartName = lineItemStruct.LiSubClass; //MessageBox.Show(string.Format("lrptstart:({0},{1})", lrptstart.XValue.ToString(), lrptstart.YValue.ToString())); currkdcname = drawkdc.KName; currpt = GetPtZBByKDC(drawkdc, jdstruc.JDPtStart, (double)drawht[yval], yval, jdstruc.JDtop); prept = currpt; if (StrUtil.IfTwoStrEqul(prekdcname, currkdcname)) { drawptcol.Add(currpt);//和上一点为同一刻度尺;则加入绘图集合; } else//开始下一段曲线的操作;分为从超界曲线向非超界的跳变,也有可能是非超界之间的跳变; { if (prekdcname.Equals(""))//从超界曲线向非超界的跳变 { if (lastxvalue < drawkdc.KMin) { chajieinterpt = ZuoBiaoOper.GetTiaoBianIntersectionPoint(currpt, prept, lrptstart.XValue); } else { chajieinterpt = ZuoBiaoOper.GetTiaoBianIntersectionPoint(currpt, prept, lrptstart.XValue + outdrawkdc.KDir * LineRoadEnvironment.LineRoadWidth); } outdrawcol.Add(chajieinterpt); drawptcol.Clear(); drawptcol.Add(chajieinterpt); if (outdrawcol.Count > 0) { outdrawcollist.Add(outdrawcol); } } else//非超界之间的跳变; { if (drawptcol.Count > 1) { this.DrawContinuousLine(drawptcol, prekdcname, drawkdc.kLineWidth, penColor);//绘制上一段曲线; } drawptcol.Clear(); } drawptcol.Add(currpt); } prekdcname = currkdcname; prexvalue = (double)drawht[yval]; preyval = yval; } else//该点已超界 drawkdc == null { if (m_KDCList.Count > 0) { currpt = GetPtZBByKDC(outdrawkdc, jdstruc.JDPtStart, (double)drawht[yval], yval, jdstruc.JDtop); currkdcname = ""; if (lineItemStruct.LineItemChaoJie == CJQXChaoJie.BiaoZhu) //添加标注信息; { if (!StrUtil.IfTwoStrEqul(prekdcname, currkdcname)) //跳变点 { lrptstart = ZuoBiaoOper.UpdateLRStartPt(outdrawkdc.KDir, jdstruc.JDPtStart, lineRoadEnvironment.LineRoadWidth); this.lrptstart = lrptstart; this.lrptstartName = lineItemStruct.LiSubClass; if (xvalue < outdrawkdc.KMin) { chajieinterpt = ZuoBiaoOper.GetTiaoBianIntersectionPoint(currpt, prept, lrptstart.XValue); } else { chajieinterpt = ZuoBiaoOper.GetTiaoBianIntersectionPoint(currpt, prept, lrptstart.XValue + outdrawkdc.KDir * lineRoadEnvironment.LineRoadWidth); } drawptcol.Add(chajieinterpt); if (drawptcol.Count > 0) { this.DrawContinuousLine(drawptcol, prekdcname, outdrawkdc.kLineWidth, penColor);//绘制上一段非超界曲线; drawptcol.Clear(); } } prept = currpt; prekdcname = currkdcname; prexvalue = (double)drawht[yval]; preyval = yval; continue; } if (StrUtil.IfTwoStrEqul(prekdcname, currkdcname)) { outdrawcol.Add(currpt);//和上一点为同一刻度尺;则加入绘图集合; } else//此时为从非超界向超界跳变;上一段非超界曲线结束; { outdrawcol = new List <LJJSPoint>(); lrptstart = ZuoBiaoOper.UpdateLRStartPt(outdrawkdc.KDir, jdstruc.JDPtStart, lineRoadEnvironment.LineRoadWidth); this.lrptstart = lrptstart; this.lrptstartName = lineItemStruct.LiSubClass; if (xvalue < outdrawkdc.KMin) { chajieinterpt = ZuoBiaoOper.GetTiaoBianIntersectionPoint(currpt, prept, lrptstart.XValue); } else { chajieinterpt = ZuoBiaoOper.GetTiaoBianIntersectionPoint(currpt, prept, lrptstart.XValue + outdrawkdc.KDir * lineRoadEnvironment.LineRoadWidth); } drawptcol.Add(chajieinterpt); if (drawptcol.Count > 1) { this.DrawContinuousLine(drawptcol, prekdcname, outdrawkdc.kLineWidth, penColor);//绘制上一段非超界曲线; drawptcol.Clear(); } if (outdrawcol.Count > 0) { outdrawcollist.Add(outdrawcol); } outdrawcol.Clear(); if (i != 0) { outdrawcol.Add(chajieinterpt); } outdrawcol.Add(currpt); prekdcname = currkdcname; prexvalue = (double)drawht[yval]; preyval = yval; } } } prept = currpt; lastxvalue = xvalue; }//遍历完所有的点; #endregion lrptstart = ZuoBiaoOper.UpdateLRStartPt(outdrawkdc.KDir, jdstruc.JDPtStart, lineRoadEnvironment.LineRoadWidth); this.set_start_point_dele = SuiZuanForm.set_startpoint; //这两行代码用于随钻界面画图后界面的放大,如果是绘图可无视 this.set_start_point_dele(lrptstart); //这两行代码用于随钻界面画图后界面的放大,如果是绘图可无视 this.lrptstart = lrptstart; this.lrptstartName = lineItemStruct.LiSubClass; if ((currkdcname == "") && (outdrawcol.Count > 1)) { outdrawcollist.Add(outdrawcol); //add here? } if (drawptcol.Count > 1 && drawkdc != null) { //在循环进行完毕,将drawptcol ,即画的线上的所有点的集合保存在一个静态类中 if (lineItemStruct.LiSubClass == "msev" && DrawPointContainer.list[index].msevList == null) { DrawPointContainer.list[index].msevList = drawptcol; //MsehAndMsevContainer.msevList = drawptcol; } if (lineItemStruct.LiSubClass == "mseh" && DrawPointContainer.list[index].msehList == null) { DrawPointContainer.list[index].msehList = drawptcol; } if (lineItemStruct.LiSubClass == "wxcs" && DrawPointContainer.list[index].wxcsList == null) { DrawPointContainer.list[index].wxcsList = drawptcol; } if (lineItemStruct.LiSubClass == "wxcs2" && DrawPointContainer.list[index].WXCSJiaoHuiList == null) { DrawPointContainer.list[index].WXCSJiaoHuiList = drawptcol; } if (lineItemStruct.LiSubClass == "jgl" && DrawPointContainer.list[index].JinGeiLiangList == null) { DrawPointContainer.list[index].JinGeiLiangList = drawptcol; } this.DrawContinuousLine(drawptcol, currkdcname, drawkdc.kLineWidth, penColor);//绘制上一段非超界曲线;在此画线 } if (outdrawcollist.Count > 0) { AddChaoJieLine(outdrawcollist, lrptstart.XValue + outdrawkdc.KDir * lineRoadEnvironment.LineRoadWidth, outdrawkdc.KDir, outdrawkdc.KName, outdrawkdc.kLineWidth, penColor); } }
private LJJSPoint GetPtZBByKDC(KeDuChiItem drawkdc, LJJSPoint lrptstart, LJJSPoint converPt, double jdtop) { ZuoBiaoOper zbopp = new ZuoBiaoOper(FrameDesign.ValueCoordinate); return(zbopp.GetDrawingZuoBiaoPt(lrptstart, drawkdc, converPt.XValue, converPt.YValue, jdtop, LineRoadEnvironment.LineRoadWidth)); }
public override List <ulong> AddTextItemToFigure(JDStruc jdstruc, List <TextItemDrawStruc> textItemDrawStrucCol) { List <TextItemDrawStruc> yshebinglist = GetHeBingTiYSList(textItemDrawStrucCol);//获取新的泛型 double lasthd = 10; LJJSPoint lastbottomzbpt = jdstruc.JDPtStart; //井段内的井段起始点 AttachmentPoint bzpos = AttachmentPoint.MiddleCenter; //定义文本项位置 LJJSPoint inserttxtpos; //插入文本项位置 double txtoffset = 2; double txtwidth = lineRoadWidth - 2 * txtoffset; for (int i = 0; i < yshebinglist.Count; i++) { TextItemDrawStruc currtidrawstruc = yshebinglist[i]; LJJSPoint titopZuoBiaoPt = ZuoBiaoOper.GetJSZuoBiaoPt(jdstruc.JDPtStart, currtidrawstruc.depthtop, jdstruc.JDtop, FrameDesign.ValueCoordinate); LJJSPoint tibottomZuoBiaoPt = ZuoBiaoOper.GetJSZuoBiaoPt(jdstruc.JDPtStart, currtidrawstruc.depthbottom, jdstruc.JDtop, FrameDesign.ValueCoordinate); if (Math.Abs(titopZuoBiaoPt.YValue - tibottomZuoBiaoPt.YValue) > textItemStruct.TxtSize * 1.2) { bzpos = AttachmentPoint.MiddleCenter; inserttxtpos = new LJJSPoint(titopZuoBiaoPt.XValue + lineRoadWidth * 0.5, (tibottomZuoBiaoPt.YValue + titopZuoBiaoPt.YValue) * 0.5); } else { if (bzpos == AttachmentPoint.MiddleLeft) { bzpos = AttachmentPoint.MiddleRight; inserttxtpos = PointUtil.GetRightInsertTxtPt(titopZuoBiaoPt, tibottomZuoBiaoPt, 3, lineRoadWidth); } else { bzpos = AttachmentPoint.MiddleLeft; inserttxtpos = PointUtil.GetLeftInsertTxtPt(titopZuoBiaoPt, tibottomZuoBiaoPt, 3); } } MText.AddMText(currtidrawstruc.textcontent.Trim(), "", inserttxtpos, bzpos, textItemStruct.TxtFont, txtwidth + 0.5, 0.6); // MText.AddMText(currtidrawstruc.textcontent.Trim(), textItemStruct.TxtSize, inserttxtpos, bzpos, textItemStruct.TxtFont, txtwidth + 0.5, 0.6); if (Math.Abs(lastbottomzbpt.YValue - titopZuoBiaoPt.YValue) > 0.001)//是起头 { lasthd = 10; if (lasthd < textItemStruct.TxtSize * 1.2) { BiaoZhuLineUtil.AddHorBZLine(lastbottomzbpt, txtoffset, lineRoadWidth, 0);//画上段剖面的终点的标注线; } else { Line.BuildCommonHorSolidLineByLayer(lastbottomzbpt, lineRoadWidth, 0, DrawCommonData.DirectionRight); } } if (Math.Abs(titopZuoBiaoPt.YValue - tibottomZuoBiaoPt.YValue) < textItemStruct.TxtSize * 1.2 || lasthd < textItemStruct.TxtSize * 1.2) { BiaoZhuLineUtil.AddHorBZLine(titopZuoBiaoPt, txtoffset, lineRoadWidth, 0); } else { Line.BuildCommonHorSolidLineByLayer(titopZuoBiaoPt, lineRoadWidth, 0, DrawCommonData.DirectionRight); } lastbottomzbpt = tibottomZuoBiaoPt; lasthd = Math.Abs(titopZuoBiaoPt.YValue - tibottomZuoBiaoPt.YValue); } Line.BuildCommonHorSolidLineByLayer(lastbottomzbpt, lineRoadWidth, 0, DrawCommonData.DirectionRight); return(new List <ulong>()); }