コード例 #1
0
        public static void Draw(ref RegionMassProperties regMassProps, string dimstyle)
        {
            using (var tr = Db.TransactionManager.StartTransaction())
            {
                var color = System.Drawing.Color.Red;
                DrawingHelper.LayerManipulator.CreateLayer("DIM", color);
                var acLine1 = new Line(
                    new Point3d(regMassProps.MRegCentroid.X, regMassProps.MRegCentroid.Y + 15.0, 0),
                    new Point3d(regMassProps.MRegCentroid.X, regMassProps.MRegCentroid.Y - 15.0, 0));
                var acLine2 = new Line(
                    new Point3d(regMassProps.MRegCentroid.X - 15.0, regMassProps.MRegCentroid.Y, 0),
                    new Point3d(regMassProps.MRegCentroid.X + 15.0, regMassProps.MRegCentroid.Y, 0));
                acLine1.Layer = "DIM";
                acLine2.Layer = "DIM";

                DrawingHelper.AddEntityDefinitionToCurrentSpace(acLine1, tr);
                DrawingHelper.AddEntityDefinitionToCurrentSpace(acLine2, tr);

                var acCirc = new Circle();
                acCirc.SetDatabaseDefaults();
                acCirc.Center = regMassProps.MRegCentroid;
                acCirc.Radius = 10.0;
                acCirc.Layer  = "DIM";
                DrawingHelper.AddEntityDefinitionToCurrentSpace(acCirc, tr);

                var c1 = new Complex(regMassProps.MRegCentroid.X, regMassProps.MMaxPoint.Y);
                var c2 = new Complex(regMassProps.MMaxPoint.X, regMassProps.MMaxPoint.Y);
                AddRegDescrDimLine(c1, c2, 50.0, dimstyle);

                c1 = new Complex(regMassProps.MRegCentroid.X, regMassProps.MMaxPoint.Y);
                c2 = new Complex(regMassProps.MMinPoint.X, regMassProps.MMaxPoint.Y);
                AddRegDescrDimLine(c2, c1, 50.0, dimstyle);

                c1 = new Complex(regMassProps.MMaxPoint.X, regMassProps.MRegCentroid.Y);
                c2 = new Complex(regMassProps.MMaxPoint.X, regMassProps.MMaxPoint.Y);
                AddRegDescrDimLine(c2, c1, 50.0, dimstyle);

                c1 = new Complex(regMassProps.MMaxPoint.X, regMassProps.MRegCentroid.Y);
                c2 = new Complex(regMassProps.MMaxPoint.X, regMassProps.MMinPoint.Y);
                AddRegDescrDimLine(c1, c2, 50.0, dimstyle);

                tr.Commit();
            }
            Ed.Regen();
        }