Beispiel #1
0
        public void AddGradientHatch()
        {
            Database db = HostApplicationServices.WorkingDatabase;
            //创建一个三角形
            Polyline triangle = new Polyline();

            triangle.CreatePolygon(new Point2d(550, 200), 3, 30);
            using (Transaction trans = db.TransactionManager.StartTransaction())
            {
                //将三角形添加到模型空间中
                ObjectId triangleId = db.AddToModelSpace(triangle);
                //创建一个ObjectId集合类对象,用于存储填充边界的ObjectId
                ObjectIdCollection ids = new ObjectIdCollection
                {
                    triangleId             //将三角形的ObjectId添加到边界集合中
                };
                Hatch hatch = new Hatch(); //创建填充对象
                //创建两个Color类变量,分别表示填充的起始颜色(红)和结束颜色(蓝)
                Color color1 = Color.FromColorIndex(ColorMethod.ByLayer, 1);
                Color color2 = Color.FromColor(System.Drawing.Color.Blue);
                //创建渐变填充,与边界无关联
                hatch.CreateGradientHatch(HatchGradientName.Cylinder, color1, color2, false);
                //为填充添加边界(三角形)
                hatch.AppendLoop(HatchLoopTypes.Default, ids);
                hatch.EvaluateHatch(true); //计算并显示填充对象
                trans.Commit();            //提交更改
            }
        }