public override void LayoutSymbol(SymbolLayout Sym) { base.LayoutSymbol(Sym); int w = 10; Sym.AddLine(EdgeType.Black, new Coord(-w, 20), new Coord(w, 20)); Sym.DrawPositive(EdgeType.Black, new Coord(0, 15)); Sym.AddLine(EdgeType.Black, new Coord(-w, -20), new Coord(w, -20)); Sym.DrawNegative(EdgeType.Black, new Coord(0, -15)); Sym.DrawText(() => Name, new Point(0, 0), Alignment.Center, 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); Sym.InBounds(new Coord(-20, 10), new Coord(20, 0)); Sym.AddLine(EdgeType.Black, new Coord(-15, 0), new Coord(15, 0)); Sym.DrawText(() => Voltage.ToString(), new Point(0, 2), Alignment.Center, Alignment.Near); }
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) { 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 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); }