void write_text() { Eldtype eld = new Eldtype(); TEXTtype text = new TEXTtype(); text.text = textstring; text.Length = (short)textstring.Length; text.scatt = 1; text.Layer = "$$$$_15"; text.laatt = 1; text.x1 = xta; text.y1 = yta; text.Size = textsize; text.rotn = textrotn; text.Color = 15; text.style = 1; text.Label = modstr + ":" + stgstr; eld.Code = 9; fp2.Write(eld.Code); text.ToStream(fp2); }
void write_text() { Eldtype eld = new Eldtype(); TEXTtype text = new TEXTtype(); text.text = textstring; text.Length = (short)textstring.Length; text.scatt = 1; text.Layer = "$$$$_14"; text.laatt = 1; text.x1 = x2; text.y1 = y2; text.Size = textsize; text.rotn = textrotn; text.Color = 14; text.style = 1; text.Label = modnam + ":" + stglbl; eld.Code = 9; fp1.Write(eld.Code); text.ToStream(fp1); }
public static void ExportToDRG(IHeadsApplication app, string strPath) { CCfgtype cfg = app.ActiveDocument.ConfigParam; CBox box = app.ActiveDocument.BoundingBox; double[] Arr = new double[] { box.BottomRight.X, box.BottomRight.Y, box.TopLeft.X, box.TopLeft.Y }; cfg.XLate_X = Arr[0]; cfg.XLate_Y = Arr[1]; cfg.hs = (297 / (Arr[2] - cfg.XLate_X)); BinaryWriter bw = new BinaryWriter(new FileStream(strPath, FileMode.Create), Encoding.Default); Eldtype eld = new Eldtype(); eld.Code = 99; bw.Write(eld.Code); cfg.ToStream(bw); IHdEntity[] allEntities = app.ActiveDocument.Entities; foreach (IHdEntity entity in allEntities) { if (entity.EntityName == "LINE") { IHdLine hdline = (IHdLine)entity; eld.Code = (short)((Constants.BuildType == eHEADS_RELEASE_TYPE.DEMO) ? 91 : 1); bw.Write(eld.Code); Linetype line = new Linetype(); line.elatt = 0; line.scatt = 1; line.layer = hdline.Layer; line.laatt = 1; line.x1 = hdline.StartPoint.X; line.y1 = hdline.StartPoint.Y; line.z1 = hdline.StartPoint.Z; line.x1 = line.x1 / cfg.XMetric; line.y1 = line.y1 / cfg.YMetric; line.x2 = hdline.EndPoint.X; line.y2 = hdline.EndPoint.Y; line.z2 = hdline.EndPoint.Z; line.x2 = line.x2 / cfg.XMetric; line.y2 = line.y2 / cfg.YMetric; line.color = entity.ColorIndex; if (hdline.Label == "") { line.label = "$$$$$$$$:****"; } else { line.label = hdline.Label; } line.ToStream(bw); } else if (entity.EntityName == "ELLIPSE") { IHdEllipse hdEllipse = (IHdEllipse)entity; eld.Code = (short)((Constants.BuildType == eHEADS_RELEASE_TYPE.DEMO) ? 93 : 3); bw.Write(eld.Code); Circletype circle1 = new Circletype(); circle1.elatt = 0; circle1.scatt = 1; circle1.Layer = hdEllipse.Layer; circle1.laatt = 1; circle1.xc = hdEllipse.CenterPoint.X; circle1.yc = hdEllipse.CenterPoint.Y; circle1.xc = circle1.xc / cfg.XMetric; circle1.yc = circle1.yc / cfg.YMetric; circle1.Radius = hdEllipse.Radius; circle1.color = entity.ColorIndex; if (hdEllipse.Label == "") { circle1.Label = "$$$$$$$$:****"; } else { circle1.Label = hdEllipse.Label; } circle1.ToStream(bw); } else if (entity.EntityName == "ARC") { IHdArc hdArc = (IHdArc)entity; eld.Code = (short)((Constants.BuildType == eHEADS_RELEASE_TYPE.DEMO) ? 94 : 4); bw.Write(eld.Code); Arctype arc = new Arctype(); arc.elatt = 0; arc.scatt = 1; arc.Layer = hdArc.Layer; arc.laatt = 1; arc.xc = hdArc.CenterPoint.X; arc.yc = hdArc.CenterPoint.Y; arc.xc = arc.xc / cfg.XMetric; arc.yc = arc.yc / cfg.YMetric; arc.xs = (arc.xc + hdArc.Radius * Math.Cos(hdArc.StartAngle)) / cfg.XMetric; arc.ys = (arc.yc + hdArc.Radius * Math.Sin(hdArc.StartAngle)) / cfg.YMetric; arc.xe = (arc.xc + hdArc.Radius * Math.Cos(hdArc.EndAngle)) / cfg.XMetric; arc.ye = (arc.yc + hdArc.Radius * Math.Sin(hdArc.EndAngle)) / cfg.YMetric; arc.Radius = hdArc.Radius; arc.Color = entity.ColorIndex; if (hdArc.Label == "") { arc.Label = "$$$$$$$$:****"; } else { arc.Label = hdArc.Label; } arc.ToStream(bw); } else if (entity.EntityName == "POLYLINE3D") { IHdPolyline3D hdPline = (IHdPolyline3D)entity; CPoint3D[] Coord = hdPline.Coordinates; int NumVerticies = Coord.Length - 2; for (int j = 0; j <= NumVerticies; j++) { eld.Code = (short)((Constants.BuildType == eHEADS_RELEASE_TYPE.DEMO) ? 91 : 1); bw.Write(eld.Code); Linetype line = new Linetype(); if (j == 0) { line.elatt = 0; } else { line.elatt = 1; } //line.elatt = X; line.scatt = 1; line.layer = hdPline.Layer; line.laatt = 1; line.x1 = Coord[j].X; line.y1 = Coord[j].Y; line.z1 = Coord[j].Z; line.x1 = line.x1 / cfg.XMetric; line.y1 = line.y1 / cfg.YMetric; line.x2 = Coord[j + 1].X; line.y2 = Coord[j + 1].Y; line.z2 = Coord[j + 1].Z; line.x2 = line.x2 / cfg.XMetric; line.y2 = line.y2 / cfg.YMetric; line.color = entity.ColorIndex; if (hdPline.Label == "") { line.label = "$$$$$$$$:****"; } else { line.label = hdPline.Label; } line.ToStream(bw); } } else if (entity.EntityName == "TEXT") { IHdText hdTxt = (IHdText)entity; eld.Code = (short)((Constants.BuildType == eHEADS_RELEASE_TYPE.DEMO) ? 90 : 9); bw.Write(eld.Code); TEXTtype text = new TEXTtype(); text.Length = 1; text.scatt = 1; text.Layer = hdTxt.Layer; text.laatt = 1; text.x1 = hdTxt.InsertionPoint.X; text.y1 = hdTxt.InsertionPoint.Y; text.x1 = text.x1 / cfg.XMetric; text.y1 = text.y1 / cfg.YMetric; text.Size = hdTxt.Height; text.rotn = hdTxt.Rotation * 180 / Math.PI; text.text = hdTxt.Text; text.Color = entity.ColorIndex; if (hdTxt.Label == "") { text.Label = "$$$$$$$$:****"; } else { text.Label = hdTxt.Label; } text.ToStream(bw); } } bw.Close(); }