예제 #1
0
 public void SetLineColor(int leaderId, CadColor color)
 {
     if (!this.Set(leaderId, "寸法線の色設定", color.Code))
     {
         throw new AutoCadException("Failed to set color to leader.");
     }
 }
예제 #2
0
        //立体的に見て交差している座標を取得する。しかし、ポリラインのカーブ部分との交差判定がされなかったり、ブロックの属性にあたり判定があったりして使い物にならない。
        //public List<PointD> GetIntersect3D(int objectIdA, int objectIdB)
        //{
        //    var args = new List<object>();
        //    args.Add(objectIdB);
        //    args.Add((short)0);

        //    var result = this.Get<object[], object[]>(objectIdA, "交点取得", args.ToArray());

        //    if (!result.Success)
        //        throw new AutoCadException("Failed to get intersect.");

        //    if (result.Value == null)
        //        return new List<PointD>();

        //    List<PointD> list = new List<PointD>();
        //    foreach (object point in result.Value)
        //    {
        //        double[] dPoint = (double[])point;
        //        list.Add(new PointD(dPoint[0], dPoint[1]));
        //    }

        //    return list;
        //}

        public void SetColor(int objectId, CadColor color)
        {
            if (!this.Set <int>(objectId, "色設定", color.Code))
            {
                throw new AutoCadException("Failed to set color.");
            }
        }
예제 #3
0
        public int Make(List <PointD> points, string text, double textSize, CadColor leaderColor, CadColor textColor)
        {
            int textId;
            var leaderId = this.Make(points, text, textSize, out textId);

            AutoCad.Db.Leader.SetLineColor(leaderId, leaderColor);
            AutoCad.Db.MText.SetColor(textId, textColor);

            return(leaderId);
        }
예제 #4
0
        public void SetColorInsideBlock(int blockId, CadColor color)
        {
            //入れ子ブロックはとりあえずケアしない

            var ids = this.GetInsideObjects(blockId);

            foreach (var id in ids)
            {
                AutoCad.Db.Entity.SetColor(id, color);
            }
        }
예제 #5
0
 public static void SetColorAll(CadColor color)
 {
     AutoCad.Command.SendLineEsc("CHPROP\nALL\n\nCOLOR\n" + color.CodeForCommand + "\n");
 }
예제 #6
0
 public static void SetColor(CadColor color)
 {
     AutoCad.Command.SendLineEsc("chprop\nall\n\nc\n" + color.Code + "\n");
 }