public override void LayoutSymbol(SymbolLayout Sym) { int h = 20; Sym.AddTerminal(pa, new Coord(-10, h)); Sym.AddTerminal(pc, new Coord(-10, -h)); Sym.AddTerminal(sa, new Coord(10, h)); Sym.AddTerminal(st, new Coord(10, 0)); Sym.AddTerminal(sc, new Coord(10, -h)); Sym.DrawText(() => Name, new Coord(-16, -h / 2), Alignment.Far, Alignment.Center); Sym.DrawText(() => Turns.ToString(), new Coord(-16, h / 2), Alignment.Far, Alignment.Center); h -= 4; Sym.AddWire(pa, new Coord(-10, h)); Sym.AddWire(pc, new Coord(-10, -h)); Sym.AddWire(sa, new Coord(10, h)); Sym.AddWire(sc, new Coord(10, -h)); Sym.InBounds(new Coord(-20, 0), new Coord(20, 0)); Inductor.Draw(Sym, -10, -h, h, 4, 4.0); Sym.DrawLine(EdgeType.Black, new Coord(-2, h), new Coord(-2, -h)); Sym.DrawLine(EdgeType.Black, new Coord(2, h), new Coord(2, -h)); Inductor.Draw(Sym, 10, -h, 0.0, 2, -4.0); Inductor.Draw(Sym, 10, h, 0.0, 2, -4.0); }
public override void LayoutSymbol(SymbolLayout Sym) { base.LayoutSymbol(Sym); Sym.AddWire(Anode, new Coord(0, 7)); Sym.AddWire(Cathode, new Coord(0, -7)); Sym.DrawArrow(EdgeType.Black, new Coord(0, -7), new Coord(0, 7), 0.2f); Sym.DrawText(() => Name, new Point(5, 0), Alignment.Near, Alignment.Center); }
public override void LayoutSymbol(SymbolLayout Sym) { base.LayoutSymbol(Sym); Sym.InBounds(new Coord(-10, 0), new Coord(10, 0)); Sym.AddWire(Terminal, new Coord(0, -15)); Sym.AddWire(new Coord(0, -19), new Coord(0, -22)); Sym.AddWire(new Coord(0, -27), new Coord(0, -30)); Sym.DrawText(() => WireName, new Coord(2, -15), Alignment.Near, Alignment.Center); }
public override void LayoutSymbol(SymbolLayout Sym) { base.LayoutSymbol(Sym); Sym.AddWire(Anode, new Coord(0, 16)); Sym.AddWire(Cathode, new Coord(0, -16)); Sym.InBounds(new Coord(-10, 0), new Coord(10, 0)); Draw(Sym, 0.0, -16.0, 16.0, 4); Sym.DrawText(() => Name, new Coord(6, 0), Alignment.Near, Alignment.Center); Sym.DrawText(() => inductance.ToString(), new Coord(-6, 0), Alignment.Far, Alignment.Center); }
public override void LayoutSymbol(SymbolLayout Sym) { base.LayoutSymbol(Sym); Sym.AddWire(Anode, new Coord(0, 2)); Sym.AddWire(Cathode, new Coord(0, -2)); Sym.AddLine(EdgeType.Black, new Coord(-10, 2), new Coord(10, 2)); Sym.AddLine(EdgeType.Black, new Coord(-10, -2), new Coord(10, -2)); Sym.DrawText(() => Name, new Coord(12, 0), Alignment.Near, Alignment.Center); Sym.DrawText(() => capacitance.ToString(), new Coord(-12, 0), Alignment.Far, Alignment.Center); }
public override void LayoutSymbol(SymbolLayout Sym) { base.LayoutSymbol(Sym); int r = 10; Sym.AddWire(Anode, new Coord(0, r)); Sym.AddWire(Cathode, new Coord(0, -r)); Sym.AddCircle(EdgeType.Black, new Coord(0, 0), r); Sym.DrawArrow(EdgeType.Black, new Coord(0, -7), new Coord(0, 7), 0.2f); Sym.DrawText(() => Current.ToString(), new Point(r * 0.7, r * 0.7), Alignment.Near, Alignment.Near); Sym.DrawText(() => Name, new Point(r * 0.7, r * -0.7), Alignment.Near, Alignment.Far); }
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); }
public override void LayoutSymbol(SymbolLayout Sym) { base.LayoutSymbol(Sym); Sym.AddWire(Anode, new Coord(0, 16)); Sym.AddWire(Cathode, new Coord(0, -16)); Sym.InBounds(new Coord(-10, 0), new Coord(10, 0)); Resistor.Draw(Sym, 0, -16, 16, 7); Sym.DrawArrow(EdgeType.Black, new Coord(-6, -15), new Coord(6, 15), 0.1); Sym.DrawText(() => Resistance.ToString(), new Coord(-7, 0), Alignment.Far, Alignment.Center); Sym.DrawText(() => Wipe.ToString("G3"), new Coord(9, 3), Alignment.Near, Alignment.Near); Sym.DrawText(() => Name, new Coord(9, -3), Alignment.Near, Alignment.Far); }
public static void LayoutSymbol(SymbolLayout Sym, Terminal P, Terminal G, Terminal K, Func<string> Name, Func<string> Part) { Sym.AddTerminal(P, new Coord(0, 20), new Coord(0, 4)); Sym.AddWire(new Coord(-10, 4), new Coord(10, 4)); Sym.AddTerminal(G, new Coord(-20, 0), new Coord(-12, 0)); for (int i = -8; i < 16; i += 8) Sym.AddWire(new Coord(i, 0), new Coord(i + 4, 0)); Sym.AddTerminal(K, new Coord(-10, -20), new Coord(-10, -6), new Coord(-8, -4), new Coord(8, -4), new Coord(10, -6)); Sym.AddCircle(EdgeType.Black, new Coord(0, 0), 20); if (Part != null) Sym.DrawText(Part, new Coord(-2, 20), Alignment.Far, Alignment.Near); Sym.DrawText(Name, new Point(-8, -20), Alignment.Near, Alignment.Far); }
public override void LayoutSymbol(SymbolLayout Sym) { base.LayoutSymbol(Sym); Sym.AddWire(Anode, new Coord(0, 12)); Sym.AddWire(Cathode, new Coord(0, -12)); Sym.AddCircle(EdgeType.Black, new Coord(0, 12), 2); Sym.AddCircle(EdgeType.Black, new Coord(0, -12), 2); Sym.InBounds(new Coord(-10, 0), new Coord(10, 0)); if (closed) { Sym.AddWire(new Coord(0, -12), new Coord(0, 12)); } else { Sym.AddWire(new Coord(0, -12), new Coord(-8, 10)); } Sym.DrawText(() => Name, new Coord(2, 0), Alignment.Near, Alignment.Center); }
public override void LayoutSymbol(SymbolLayout Sym) { Sym.AddTerminal(pa, new Coord(-10, 20)); Sym.AddTerminal(pc, new Coord(-10, -20)); Sym.AddTerminal(sa, new Coord(10, 20)); Sym.AddTerminal(sc, new Coord(10, -20)); Sym.AddWire(pa, new Coord(-10, 16)); Sym.AddWire(pc, new Coord(-10, -16)); Sym.AddWire(sa, new Coord(10, 16)); Sym.AddWire(sc, new Coord(10, -16)); Sym.InBounds(new Coord(-20, 0), new Coord(20, 0)); Inductor.Draw(Sym, -10, -16.0, 16.0, 4, 4.0); Sym.DrawLine(EdgeType.Black, new Coord(-2, 16), new Coord(-2, -16)); Sym.DrawLine(EdgeType.Black, new Coord(2, 16), new Coord(2, -16)); Inductor.Draw(Sym, 10, -16.0, 16.0, 4, -4.0); Sym.DrawText(() => Name, new Coord(-16, 0), Alignment.Far, Alignment.Center); Sym.DrawText(() => Turns.ToString(), new Coord(16, 0), Alignment.Near, Alignment.Center); }
public static void LayoutSymbol(SymbolLayout Sym, Terminal P, Terminal G, Terminal K, Func <string> Name, Func <string> Part) { Sym.AddTerminal(P, new Coord(0, 20), new Coord(0, 4)); Sym.AddWire(new Coord(-10, 4), new Coord(10, 4)); Sym.AddTerminal(G, new Coord(-20, 0), new Coord(-12, 0)); for (int i = -8; i < 16; i += 8) { Sym.AddWire(new Coord(i, 0), new Coord(i + 4, 0)); } Sym.AddTerminal(K, new Coord(-10, -20), new Coord(-10, -6), new Coord(-8, -4), new Coord(8, -4), new Coord(10, -6)); Sym.AddCircle(EdgeType.Black, new Coord(0, 0), 20); if (Part != null) { Sym.DrawText(Part, new Coord(-2, 20), Alignment.Far, Alignment.Near); } Sym.DrawText(Name, new Point(-8, -20), Alignment.Near, Alignment.Far); }
public override void LayoutSymbol(SymbolLayout Sym) { base.LayoutSymbol(Sym); int r = 10; Sym.AddWire(Anode, new Coord(0, r)); Sym.AddWire(Cathode, new Coord(0, -r)); Sym.AddCircle(EdgeType.Black, new Coord(0, 0), r); Sym.DrawPositive(EdgeType.Black, new Coord(0, 7)); Sym.DrawNegative(EdgeType.Black, new Coord(0, -7)); if (!((Expression)Voltage is Constant)) { Sym.DrawFunction( EdgeType.Black, (t) => t * r * 0.75, (t) => Math.Sin(t * 3.1415) * r * 0.5, -1, 1); } Sym.DrawText(() => Voltage.ToString(), new Point(r * 0.7, r * 0.7), Alignment.Near, Alignment.Near); Sym.DrawText(() => Name, new Point(r * 0.7, r * -0.7), Alignment.Near, Alignment.Far); }
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); }
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); }
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); }
public override void LayoutSymbol(SymbolLayout Sym) { Sym.AddTerminal(common, new Coord(0, -20), new Coord(0, -12)); Sym.AddCircle(EdgeType.Black, new Coord(0, -12), 2); for (int i = 0; i < Throws.Length; ++i) { int x = (i - Throws.Length / 2) * 20 + (Throws.Length % 2 == 0 ? 10 : 0); Sym.AddTerminal(throws[i], new Coord(x, 20), new Coord(x, 12)); Sym.DrawEllipse(EdgeType.Black, new Coord(x - 2, 10), new Coord(x + 2, 14)); //Sym.DrawText(i.ToString(), new Coord(x, 12), Alignment.Near, Alignment.Near); if (i == Position) { Sym.AddWire(new Coord(0, -12), new Coord(x, 12)); } } Sym.DrawText(() => Group, new Coord(-2, -12), Alignment.Far, Alignment.Far); Sym.DrawText(() => Name, new Coord(2, -12), Alignment.Near, Alignment.Far); }
public override void LayoutSymbol(SymbolLayout Sym) { base.LayoutSymbol(Sym); int r = 10; Sym.AddWire(Anode, new Coord(0, r)); Sym.AddWire(Cathode, new Coord(0, -r)); Sym.AddCircle(EdgeType.Black, new Coord(0, 0), r); Sym.DrawPositive(EdgeType.Black, new Coord(0, 7)); Sym.DrawNegative(EdgeType.Black, new Coord(0, -7)); if (!((Expression)Voltage is Constant)) Sym.DrawFunction( EdgeType.Black, (t) => t * r * 0.75, (t) => Math.Sin(t * 3.1415) * r * 0.5, -1, 1); Sym.DrawText(() => Voltage.ToString(), new Point(r * 0.7, r * 0.7), Alignment.Near, Alignment.Near); Sym.DrawText(() => Name, new Point(r * 0.7, r * -0.7), Alignment.Near, Alignment.Far); }
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); }
public override void LayoutSymbol(SymbolLayout Sym) { base.LayoutSymbol(Sym); Sym.AddWire(Anode, new Coord(0, 16)); Sym.AddWire(Cathode, new Coord(0, -16)); Sym.InBounds(new Coord(-10, 0), new Coord(10, 0)); Draw(Sym, 0, -16, 16, 7); Sym.DrawText(() => Name, new Coord(6, 0), Alignment.Near, Alignment.Center); Sym.DrawText(() => resistance.ToString(), new Coord(-6, 0), Alignment.Far, Alignment.Center); }
public override void LayoutSymbol(SymbolLayout Sym) { base.LayoutSymbol(Sym); Sym.AddWire(Anode, Cathode); }
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); }
public override void LayoutSymbol(SymbolLayout Sym) { Sym.AddTerminal(common, new Coord(0, -20), new Coord(0, -12)); Sym.AddCircle(EdgeType.Black, new Coord(0, -12), 2); for (int i = 0; i < Throws.Length; ++i) { int x = (i - Throws.Length / 2) * 20 + (Throws.Length % 2 == 0 ? 10 : 0); Sym.AddTerminal(throws[i], new Coord(x, 20), new Coord(x, 12)); Sym.DrawEllipse(EdgeType.Black, new Coord(x - 2, 10), new Coord(x + 2, 14)); //Sym.DrawText(i.ToString(), new Coord(x, 12), Alignment.Near, Alignment.Near); if (i == Position) Sym.AddWire(new Coord(0, -12), new Coord(x, 12)); } Sym.DrawText(() => Group, new Coord(-2, -12), Alignment.Far, Alignment.Far); Sym.DrawText(() => Name, new Coord(2, -12), Alignment.Near, Alignment.Far); }
public override void LayoutSymbol(SymbolLayout Sym) { base.LayoutSymbol(Sym); Sym.AddWire(Anode, new Coord(0, 12)); Sym.AddWire(Cathode, new Coord(0, -12)); Sym.AddCircle(EdgeType.Black, new Coord(0, 12), 2); Sym.AddCircle(EdgeType.Black, new Coord(0, -12), 2); Sym.InBounds(new Coord(-10, 0), new Coord(10, 0)); if (closed) Sym.AddWire(new Coord(0, -12), new Coord(0, 12)); else Sym.AddWire(new Coord(0, -12), new Coord(-8, 10)); Sym.DrawText(() => Name, new Coord(2, 0), Alignment.Near, Alignment.Center); }