void write_line() { Eldtype eld = new Eldtype(); Linetype line = new Linetype(); line.elatt = elatt; line.scatt = 1; line.layer = "$$$$_14"; line.laatt = 1; line.x1 = x1; line.y1 = y1; line.z1 = 0; line.x2 = x2; line.y2 = y2; line.z2 = 0; line.color = 14; line.style = 1; line.width = 1; line.label = modnam + ":" + stglbl; eld.Code = 1; fp1.Write(eld.Code); line.ToStream(fp1); }
void write_drg() { Eldtype eld = new Eldtype(); Linetype line = new Linetype(); if (pnts != 0) { if (index == 0) { line.elatt = 0; } else { line.elatt = 1; } line.scatt = 1; line.layer = "$$$$_2"; line.laatt = 1; line.x1 = last_sx; line.y1 = last_sy; line.z1 = last_sz; line.x2 = x2; line.y2 = y2; line.z2 = z2; line.color = 2; line.style = 1; line.width = (short)0.35; line.label = offmod + ":" + offstg; eld.Code = 1; fp3.Write(eld.Code); line.ToStream(fp3); index = 1; } last_sx = x2; last_sy = y2; last_sz = z2; pnts++; }
private void write_drg() { short i = 0; short ELD_code = 0; Linetype line = new Linetype(); for (i = 1; i < ptsc; i++) { line.elatt = 0; if (i == 1) { line.elatt = 0; } else if (i > 1) { line.elatt = 1; } line.scatt = 1; line.layer = "$$_4"; line.laatt = 1; line.x1 = x[i - 1]; line.y1 = y[i - 1]; line.z1 = 0.0; line.x2 = x[i]; line.y2 = y[i]; line.z2 = 0.0; line.color = 4; line.style = 1; line.width = 1; line.label = modnam; line.label = ":"; line.label = stglbl; ELD_code = 1; fp3.Write(ELD_code); line.ToStream(fp3); } }
void write_drg() { Eldtype eld = new Eldtype(); Linetype line = new Linetype(); if (pts != 0) { if (index == 0) { line.elatt = 0; } else { line.elatt = 1; } line.scatt = 1; line.layer = "$$$$_4"; line.laatt = 1; line.x1 = last_sx; line.y1 = last_sy; line.z1 = 0.0; line.x2 = sx; line.y2 = sy; line.z2 = 0.0; line.color = 4; line.style = 1; line.width = 1; line.label = modnam + ":" + stglbl; eld.Code = 1; fp3.Write(eld.Code); line.ToStream(fp3); index = 1; } }
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(); }