Example #1
0
 public static Color EntColor(DXFEntity E, DXFInsert Ins)
 {
     DXFInsert vIns = Ins;
     DXFEntity Ent = E;
     Color Result = DXFConst.clNone;
     if (Ent is DXFVisibleEntity) Result = E.FColor;
     /*if(Ent is Polyline)
         Result = ((Polyline)Ent).Pen.Pen.Color;*/
     if (E.layer == null) return Result;
     if ((Result == clByLayer) || (Result == clByBlock))
     {
         if ((vIns == null) || ((Result == clByLayer) && (Ent.layer.name != "0")))
         {
             if (Result == clByLayer)
             {
                 if (Ent.layer.color != clNone)
                     Result = Ent.layer.color;
                 else Result = Color.Black;
             }
         }
         else
         {
             while (vIns != null)
             {
                 Result = vIns.color;
                 if ((Result != clByBlock) && !((Result == clByLayer) &&
                     (vIns.layer.name == "0")))
                 {
                     if (Result == clByLayer)
                         Result = vIns.layer.color;
                     break;
                 }
                 if ((vIns.owner == null) && (Result == clByLayer))
                     Result = vIns.layer.color;
                 vIns = vIns.owner;
             }
         }
     }
     if ((Result == clByLayer) || (Result == clByBlock))
         Result = clNone;
     return Result;
 }
Example #2
0
 public override void Invoke(CADEntityProc Proc, CADIterate Params)
 {
     if (Params.matrix == null) Params.matrix = new DXFMatrix();
     if (FBlock == null) return;
     CADIterate Iter;
     Iter = Params;
     Params.matrix = matrix;
     Params.Scale = Scale;
     Params.Insert = this;
     Converter.FParams = Params;
     FBlock.Iterate(Proc, Params);
     Converter.FParams = Iter;
     Params = Iter;
     owner = Params.Insert;
 }
Example #3
0
 public DXFEntity CreateEntity()
 {
     DXFEntity E;
     switch (FValue)
     {
         case "ENDSEC":
             return null;
         case "ENDBLK":
             return null;
         case "ENDTAB":
             return null;
         case "LINE":
             E = new DXFLine();
             break;
         case "SECTION":
             E = new DXFSection();
             break;
         case "BLOCK":
             E = new DXFBlock();
             break;
         case "INSERT":
             E = new DXFInsert();
             break;
         case "TABLE":
             E = new DXFTable();
             break;
         case "CIRCLE":
             E = new DXFCircle();
             break;
         case "LAYER":
             E = new DXFLayer();
             break;
         case "TEXT":
             E = new DXFText();
             break;
         case "MTEXT":
             E = new DXFMText();
             break;
         case "ARC":
             E = new DXFArc();
             break;
         case "ELLIPSE":
             E = new DXFEllipse();
             break;
         default:
             E = new DXFEntity();
             break;
     }
     E.Converter = this;
     return E;
 }