Beispiel #1
0
        public override void LayoutSymbol(SymbolLayout Sym)
        {
            base.LayoutSymbol(Sym);

            Sym.AddLoop(EdgeType.Black,
                        new Coord(-10, 0),
                        new Coord(10, 0),
                        new Coord(0, -10));
        }
Beispiel #2
0
        public override void LayoutSymbol(SymbolLayout Sym)
        {
            Sym.AddTerminal(Terminal, new Coord(0, 0));

            Sym.AddLoop(EdgeType.Black,
                        new Coord(-10, 0),
                        new Coord(10, 0),
                        new Coord(0, -10));
        }
Beispiel #3
0
        public override void LayoutSymbol(SymbolLayout Sym)
        {
            base.LayoutSymbol(Sym);

            Sym.AddLoop(EdgeType.Black,
                new Coord(-10, 0),
                new Coord(10, 0),
                new Coord(0, -10));
        }
Beispiel #4
0
 public override void LayoutSymbol(SymbolLayout Sym)
 {
     Sym.InBounds(new Coord(-20, 20), new Coord(20, -20));
     Sym.AddLoop(EdgeType.Orange,
                 new Coord(-18, -20),
                 new Coord(-19, -19),
                 new Coord(-1, 19),
                 new Coord(1, 19),
                 new Coord(19, -19),
                 new Coord(18, -20));
     Sym.AddRectangle(EdgeType.Orange, new Coord(-2, 10), new Coord(2, -8));
     Sym.AddRectangle(EdgeType.Orange, new Coord(-2, -12), new Coord(2, -16));
 }
Beispiel #5
0
 public override void LayoutSymbol(SymbolLayout Sym)
 {
     Sym.InBounds(new Coord(-20, 20), new Coord(20, -20));
     Sym.AddLoop(EdgeType.Red,
         new Coord(-18, -20),
         new Coord(-19, -19),
         new Coord(-1, 19),
         new Coord(1, 19),
         new Coord(19, -19),
         new Coord(18, -20));
     Sym.AddRectangle(EdgeType.Red, new Coord(-2, 10), new Coord(2, -8));
     Sym.AddRectangle(EdgeType.Red, new Coord(-2, -12), new Coord(2, -16));
 }
Beispiel #6
0
        public override void LayoutSymbol(SymbolLayout Sym)
        {
            base.LayoutSymbol(Sym);

            Sym.AddWire(Anode, new Coord(0, 10));
            Sym.AddWire(Cathode, new Coord(0, -10));

            Sym.AddLoop(EdgeType.Black,
                        new Coord(-10, 10),
                        new Coord(10, 10),
                        new Coord(0, -10));

            Sym.DrawText(() => Name, new Coord(10, 0), Alignment.Near, Alignment.Center);
        }
Beispiel #7
0
        public override void LayoutSymbol(SymbolLayout Sym)
        {
            base.LayoutSymbol(Sym);

            Sym.AddWire(Anode, new Coord(0, 10));
            Sym.AddWire(Cathode, new Coord(0, -10));

            Sym.AddLoop(EdgeType.Black,
                new Coord(-10, 10),
                new Coord(10, 10),
                new Coord(0, -10));

            Sym.DrawText(() => Name, new Coord(10, 0), Alignment.Near, Alignment.Center);
        }
Beispiel #8
0
        public static void LayoutSymbol(SymbolLayout Sym, Terminal p, Terminal n, Terminal o, Func <string> Name)
        {
            Sym.AddTerminal(p, new Coord(-20, -10));
            Sym.DrawPositive(EdgeType.Black, new Coord(-15, -10));

            Sym.AddTerminal(n, new Coord(-20, 10));
            Sym.DrawNegative(EdgeType.Black, new Coord(-15, 10));

            Sym.AddTerminal(o, new Coord(20, 0));
            Sym.AddWire(o, new Coord(20, 0));

            Sym.AddLoop(EdgeType.Black,
                        new Coord(-20, 20),
                        new Coord(-20, -20),
                        new Coord(20, 0));

            Sym.DrawText(Name, new Coord(12, -4), Alignment.Near, Alignment.Far);
        }
Beispiel #9
0
        public static void LayoutSymbol(SymbolLayout Sym, Terminal p, Terminal n, Terminal o, Func<string> Name)
        {
            Sym.AddTerminal(p, new Coord(-20, -10));
            Sym.DrawPositive(EdgeType.Black, new Coord(-15, -10));

            Sym.AddTerminal(n, new Coord(-20, 10));
            Sym.DrawNegative(EdgeType.Black, new Coord(-15, 10));

            Sym.AddTerminal(o, new Coord(20, 0));
            Sym.AddWire(o, new Coord(20, 0));

            Sym.AddLoop(EdgeType.Black,
                new Coord(-20, 20),
                new Coord(-20, -20),
                new Coord(20, 0));

            Sym.DrawText(Name, new Coord(12, -4), Alignment.Near, Alignment.Far);
        }
Beispiel #10
0
        public override void LayoutSymbol(SymbolLayout Sym)
        {
            Coord w = new Coord(0, 0);
            Sym.AddTerminal(Terminal, w);

            Coord dw = new Coord(1, 1);
            Coord pw = new Coord(dw.y, -dw.x);

            w += dw * 10;
            Sym.AddWire(Terminal, w);

            Sym.AddLine(color, w - pw * 4, w + pw * 4);
            Sym.AddLoop(color,
                w + pw * 2,
                w + pw * 2 + dw * 10,
                w + dw * 12,
                w - pw * 2 + dw * 10,
                w - pw * 2);

            if (ConnectedTo != null)
                Sym.DrawText(() => V.ToString(), new Point(0, 6), Alignment.Far, Alignment.Near);
        }
Beispiel #11
0
        public static void LayoutSymbol(SymbolLayout Sym, Terminal A, Terminal C, DiodeType Type, Func <string> Name, Func <string> Part)
        {
            Sym.AddTerminal(A, new Coord(0, 20));
            Sym.AddWire(A, new Coord(0, 10));

            Sym.AddTerminal(C, new Coord(0, -20));
            Sym.AddWire(C, new Coord(0, -10));

            Sym.AddLoop(EdgeType.Black,
                        new Coord(-10, 10),
                        new Coord(10, 10),
                        new Coord(0, -10));
            Sym.AddLine(EdgeType.Black, new Coord(-10, -10), new Coord(10, -10));

            switch (Type)
            {
            case DiodeType.LED:
                Sym.DrawArrow(EdgeType.Black, new Coord(-12, 5), new Coord(-20, -3), 0.2);
                Sym.DrawArrow(EdgeType.Black, new Coord(-8, -2), new Coord(-16, -10), 0.2);
                break;

            case DiodeType.Zener:
                Sym.AddLine(EdgeType.Black, new Coord(-10, -10), new Coord(-10, -5));
                Sym.AddLine(EdgeType.Black, new Coord(10, -10), new Coord(10, -15));
                break;

            default:
                break;
            }

            if (Part != null)
            {
                Sym.DrawText(Part, new Coord(12, 4), Alignment.Near, Alignment.Near);
            }
            Sym.DrawText(Name, new Coord(12, -4), Alignment.Near, Alignment.Far);
        }
Beispiel #12
0
        public static void LayoutSymbol(SymbolLayout Sym, Terminal A, Terminal C, DiodeType Type, Func<string> Name, Func<string> Part)
        {
            Sym.AddTerminal(A, new Coord(0, 20));
            Sym.AddWire(A, new Coord(0, 10));

            Sym.AddTerminal(C, new Coord(0, -20));
            Sym.AddWire(C, new Coord(0, -10));

            Sym.AddLoop(EdgeType.Black,
                new Coord(-10, 10),
                new Coord(10, 10),
                new Coord(0, -10));
            Sym.AddLine(EdgeType.Black, new Coord(-10, -10), new Coord(10, -10));

            switch (Type)
            {
                case DiodeType.LED:
                    Sym.DrawArrow(EdgeType.Black, new Coord(-12, 5), new Coord(-20, -3), 0.2);
                    Sym.DrawArrow(EdgeType.Black, new Coord(-8, -2), new Coord(-16, -10), 0.2);
                    break;
                case DiodeType.Zener:
                    Sym.AddLine(EdgeType.Black, new Coord(-10, -10), new Coord(-10, -5));
                    Sym.AddLine(EdgeType.Black, new Coord(10, -10), new Coord(10, -15));
                    break;
                default:
                    break;
            }

            if (Part != null)
                Sym.DrawText(Part, new Coord(12, 4), Alignment.Near, Alignment.Near);
            Sym.DrawText(Name, new Coord(12, -4), Alignment.Near, Alignment.Far);
        }