/// <summary> /// insert new arc /// </summary> /// <param name="arc"></param> public void AddArc(DES_Arc arc) { float angle0 = arc._dir , angle1 = arc._dir + arc._angle; if (arc._angle > 0.0f) { } else { angle0 += arc._angle; angle1 -= arc._angle; while (angle0 < 0) { angle0 += 360.0f; angle1 += 360.0f; } } PicArc picArc = _factory.AddArc( DesPenToLineType(arc._pen), arc._grp, arc._layer, new Vector2D(arc._x, arc._y), (double)arc._dim, (double)angle0, (double)angle1 ); }
public void WriteArc(DES_Arc arc) { // save in table _table.Add(new Pair <uint, uint>(5 /*arc*/, (uint)_br.BaseStream.Position)); // entity code WriteCode(1); _br.Write(5); // arc // x WriteCode(2); _br.Write(arc._x); // y WriteCode(3); _br.Write(arc._y); // direction WriteCode(4); _br.Write(arc._dir); // dim WriteCode(5); _br.Write(arc._dim); // pen WriteCode(150); _br.Write(arc._pen); // level WriteCode(151); _br.Write(arc._layer); // group WriteCode(152); _br.Write(arc._grp); // lock WriteCode(153); _br.Write(arc._lock); // opening angle WriteCode(11); _br.Write(arc._angle); }