Exemplo n.º 1
0
        Stream(ArrayList data, LinetypeTableRecord rec)
        {
            data.Add(new Snoop.Data.ClassSeparator(typeof(LinetypeTableRecord)));

            data.Add(new Snoop.Data.String("Ascii Description", rec.AsciiDescription));
            data.Add(new Snoop.Data.String("Comments", rec.Comments));
            data.Add(new Snoop.Data.Bool("Is scaled to fit", rec.IsScaledToFit));
            data.Add(new Snoop.Data.Distance("Pattern length", rec.PatternLength));
            data.Add(new Snoop.Data.Int("Number of dashes", rec.NumDashes));

            int i, len;

            len = rec.NumDashes;
            for (i = 0; i < len; i++)
            {
                data.Add(new Snoop.Data.CategorySeparator(string.Format("--- DASH [{0}] ---", i)));
                data.Add(new Snoop.Data.Distance("Length", rec.DashLengthAt(i)));
                data.Add(new Snoop.Data.ObjectId("Shape style", rec.ShapeStyleAt(i)));
                data.Add(new Snoop.Data.Int("Shape number at", rec.ShapeNumberAt(i)));
                data.Add(new Snoop.Data.Vector2d("Shape offset at", rec.ShapeOffsetAt(i)));
                data.Add(new Snoop.Data.Double("Shape scale at", rec.ShapeScaleAt(i)));
                data.Add(new Snoop.Data.Bool("Shape is UCS oriented at", rec.ShapeIsUcsOrientedAt(i)));
                data.Add(new Snoop.Data.Angle("Shape rotation at", rec.ShapeRotationAt(i)));

                try {
                    data.Add(new Snoop.Data.String("Text at", rec.TextAt(i)));
                }
                catch (Autodesk.AutoCAD.Runtime.Exception e) {
                    if (e.ErrorStatus == Autodesk.AutoCAD.Runtime.ErrorStatus.NotApplicable)
                    {
                        data.Add(new Snoop.Data.Exception("Text at", e));
                    }
                    else
                    {
                        throw e;
                    }
                }
            }
        }