@skillpet/circuit 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +131 -0
- package/dist/circuit.bundle.js +31103 -0
- package/dist/circuit.bundle.js.map +7 -0
- package/dist/circuit.bundle.min.js +273 -0
- package/dist/circuit.bundle.min.js.map +7 -0
- package/dist/circuit.esm.js +31069 -0
- package/dist/circuit.esm.js.map +7 -0
- package/dist/config.d.ts +26 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +23 -0
- package/dist/config.js.map +1 -0
- package/dist/container.d.ts +32 -0
- package/dist/container.d.ts.map +1 -0
- package/dist/container.js +101 -0
- package/dist/container.js.map +1 -0
- package/dist/drawing-gradient.d.ts +13 -0
- package/dist/drawing-gradient.d.ts.map +1 -0
- package/dist/drawing-gradient.js +39 -0
- package/dist/drawing-gradient.js.map +1 -0
- package/dist/drawing-stack.d.ts +16 -0
- package/dist/drawing-stack.d.ts.map +1 -0
- package/dist/drawing-stack.js +32 -0
- package/dist/drawing-stack.js.map +1 -0
- package/dist/drawing-transition.d.ts +34 -0
- package/dist/drawing-transition.d.ts.map +1 -0
- package/dist/drawing-transition.js +181 -0
- package/dist/drawing-transition.js.map +1 -0
- package/dist/drawing.d.ts +117 -0
- package/dist/drawing.d.ts.map +1 -0
- package/dist/drawing.js +337 -0
- package/dist/drawing.js.map +1 -0
- package/dist/element-label.d.ts +54 -0
- package/dist/element-label.d.ts.map +1 -0
- package/dist/element-label.js +377 -0
- package/dist/element-label.js.map +1 -0
- package/dist/element-style.d.ts +34 -0
- package/dist/element-style.d.ts.map +1 -0
- package/dist/element-style.js +51 -0
- package/dist/element-style.js.map +1 -0
- package/dist/element.d.ts +114 -0
- package/dist/element.d.ts.map +1 -0
- package/dist/element.js +514 -0
- package/dist/element.js.map +1 -0
- package/dist/element2term.d.ts +25 -0
- package/dist/element2term.d.ts.map +1 -0
- package/dist/element2term.js +245 -0
- package/dist/element2term.js.map +1 -0
- package/dist/elements/cables.d.ts +22 -0
- package/dist/elements/cables.d.ts.map +1 -0
- package/dist/elements/cables.js +100 -0
- package/dist/elements/cables.js.map +1 -0
- package/dist/elements/capacitor.d.ts +23 -0
- package/dist/elements/capacitor.d.ts.map +1 -0
- package/dist/elements/capacitor.js +93 -0
- package/dist/elements/capacitor.js.map +1 -0
- package/dist/elements/compound.d.ts +41 -0
- package/dist/elements/compound.d.ts.map +1 -0
- package/dist/elements/compound.js +266 -0
- package/dist/elements/compound.js.map +1 -0
- package/dist/elements/connectors.d.ts +81 -0
- package/dist/elements/connectors.d.ts.map +1 -0
- package/dist/elements/connectors.js +578 -0
- package/dist/elements/connectors.js.map +1 -0
- package/dist/elements/crystal.d.ts +8 -0
- package/dist/elements/crystal.d.ts.map +1 -0
- package/dist/elements/crystal.js +31 -0
- package/dist/elements/crystal.js.map +1 -0
- package/dist/elements/diode-more.d.ts +36 -0
- package/dist/elements/diode-more.d.ts.map +1 -0
- package/dist/elements/diode-more.js +233 -0
- package/dist/elements/diode-more.js.map +1 -0
- package/dist/elements/diode.d.ts +14 -0
- package/dist/elements/diode.d.ts.map +1 -0
- package/dist/elements/diode.js +58 -0
- package/dist/elements/diode.js.map +1 -0
- package/dist/elements/element-compound.d.ts +16 -0
- package/dist/elements/element-compound.d.ts.map +1 -0
- package/dist/elements/element-compound.js +68 -0
- package/dist/elements/element-compound.js.map +1 -0
- package/dist/elements/element-drawing.d.ts +10 -0
- package/dist/elements/element-drawing.d.ts.map +1 -0
- package/dist/elements/element-drawing.js +16 -0
- package/dist/elements/element-drawing.js.map +1 -0
- package/dist/elements/ground.d.ts +6 -0
- package/dist/elements/ground.d.ts.map +1 -0
- package/dist/elements/ground.js +30 -0
- package/dist/elements/ground.js.map +1 -0
- package/dist/elements/ic.d.ts +169 -0
- package/dist/elements/ic.d.ts.map +1 -0
- package/dist/elements/ic.js +816 -0
- package/dist/elements/ic.js.map +1 -0
- package/dist/elements/image.d.ts +9 -0
- package/dist/elements/image.d.ts.map +1 -0
- package/dist/elements/image.js +27 -0
- package/dist/elements/image.js.map +1 -0
- package/dist/elements/inductor.d.ts +15 -0
- package/dist/elements/inductor.d.ts.map +1 -0
- package/dist/elements/inductor.js +111 -0
- package/dist/elements/inductor.js.map +1 -0
- package/dist/elements/line.d.ts +8 -0
- package/dist/elements/line.d.ts.map +1 -0
- package/dist/elements/line.js +14 -0
- package/dist/elements/line.js.map +1 -0
- package/dist/elements/lines-arc-labels.d.ts +223 -0
- package/dist/elements/lines-arc-labels.d.ts.map +1 -0
- package/dist/elements/lines-arc-labels.js +822 -0
- package/dist/elements/lines-arc-labels.js.map +1 -0
- package/dist/elements/lines-elements.d.ts +89 -0
- package/dist/elements/lines-elements.d.ts.map +1 -0
- package/dist/elements/lines-elements.js +271 -0
- package/dist/elements/lines-elements.js.map +1 -0
- package/dist/elements/misc-elements.d.ts +25 -0
- package/dist/elements/misc-elements.d.ts.map +1 -0
- package/dist/elements/misc-elements.js +160 -0
- package/dist/elements/misc-elements.js.map +1 -0
- package/dist/elements/oneterm.d.ts +29 -0
- package/dist/elements/oneterm.d.ts.map +1 -0
- package/dist/elements/oneterm.js +163 -0
- package/dist/elements/oneterm.js.map +1 -0
- package/dist/elements/opamp.d.ts +11 -0
- package/dist/elements/opamp.d.ts.map +1 -0
- package/dist/elements/opamp.js +72 -0
- package/dist/elements/opamp.js.map +1 -0
- package/dist/elements/outlets.d.ts +39 -0
- package/dist/elements/outlets.d.ts.map +1 -0
- package/dist/elements/outlets.js +285 -0
- package/dist/elements/outlets.js.map +1 -0
- package/dist/elements/resistor-more.d.ts +42 -0
- package/dist/elements/resistor-more.d.ts.map +1 -0
- package/dist/elements/resistor-more.js +171 -0
- package/dist/elements/resistor-more.js.map +1 -0
- package/dist/elements/resistor.d.ts +6 -0
- package/dist/elements/resistor.d.ts.map +1 -0
- package/dist/elements/resistor.js +22 -0
- package/dist/elements/resistor.js.map +1 -0
- package/dist/elements/source-v.d.ts +3 -0
- package/dist/elements/source-v.d.ts.map +1 -0
- package/dist/elements/source-v.js +3 -0
- package/dist/elements/source-v.js.map +1 -0
- package/dist/elements/sources.d.ts +111 -0
- package/dist/elements/sources.d.ts.map +1 -0
- package/dist/elements/sources.js +519 -0
- package/dist/elements/sources.js.map +1 -0
- package/dist/elements/switches.d.ts +66 -0
- package/dist/elements/switches.d.ts.map +1 -0
- package/dist/elements/switches.js +328 -0
- package/dist/elements/switches.js.map +1 -0
- package/dist/elements/transformer.d.ts +17 -0
- package/dist/elements/transformer.d.ts.map +1 -0
- package/dist/elements/transformer.js +184 -0
- package/dist/elements/transformer.js.map +1 -0
- package/dist/elements/transistors.d.ts +197 -0
- package/dist/elements/transistors.d.ts.map +1 -0
- package/dist/elements/transistors.js +1009 -0
- package/dist/elements/transistors.js.map +1 -0
- package/dist/elements/tubes.d.ts +70 -0
- package/dist/elements/tubes.d.ts.map +1 -0
- package/dist/elements/tubes.js +386 -0
- package/dist/elements/tubes.js.map +1 -0
- package/dist/elements/twoports.d.ts +47 -0
- package/dist/elements/twoports.d.ts.map +1 -0
- package/dist/elements/twoports.js +231 -0
- package/dist/elements/twoports.js.map +1 -0
- package/dist/elements/twoterm-extras.d.ts +50 -0
- package/dist/elements/twoterm-extras.d.ts.map +1 -0
- package/dist/elements/twoterm-extras.js +243 -0
- package/dist/elements/twoterm-extras.js.map +1 -0
- package/dist/elements/twoterm.d.ts +4 -0
- package/dist/elements/twoterm.d.ts.map +1 -0
- package/dist/elements/twoterm.js +4 -0
- package/dist/elements/twoterm.js.map +1 -0
- package/dist/geometry/point.d.ts +28 -0
- package/dist/geometry/point.d.ts.map +1 -0
- package/dist/geometry/point.js +99 -0
- package/dist/geometry/point.js.map +1 -0
- package/dist/geometry/roundcorners.d.ts +7 -0
- package/dist/geometry/roundcorners.d.ts.map +1 -0
- package/dist/geometry/roundcorners.js +64 -0
- package/dist/geometry/roundcorners.js.map +1 -0
- package/dist/geometry/transform.d.ts +14 -0
- package/dist/geometry/transform.d.ts.map +1 -0
- package/dist/geometry/transform.js +33 -0
- package/dist/geometry/transform.js.map +1 -0
- package/dist/geometry/util.d.ts +12 -0
- package/dist/geometry/util.d.ts.map +1 -0
- package/dist/geometry/util.js +36 -0
- package/dist/geometry/util.js.map +1 -0
- package/dist/index.cjs +31456 -0
- package/dist/index.cjs.map +7 -0
- package/dist/index.d.ts +77 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +68 -0
- package/dist/index.js.map +1 -0
- package/dist/json/anchor-ref.d.ts +5 -0
- package/dist/json/anchor-ref.d.ts.map +1 -0
- package/dist/json/anchor-ref.js +35 -0
- package/dist/json/anchor-ref.js.map +1 -0
- package/dist/json/mount.d.ts +60 -0
- package/dist/json/mount.d.ts.map +1 -0
- package/dist/json/mount.js +369 -0
- package/dist/json/mount.js.map +1 -0
- package/dist/json/registry.d.ts +7 -0
- package/dist/json/registry.d.ts.map +1 -0
- package/dist/json/registry.js +323 -0
- package/dist/json/registry.js.map +1 -0
- package/dist/json/render.d.ts +59 -0
- package/dist/json/render.d.ts.map +1 -0
- package/dist/json/render.js +113 -0
- package/dist/json/render.js.map +1 -0
- package/dist/json/theme.d.ts +18 -0
- package/dist/json/theme.d.ts.map +1 -0
- package/dist/json/theme.js +57 -0
- package/dist/json/theme.js.map +1 -0
- package/dist/json/types.d.ts +42 -0
- package/dist/json/types.d.ts.map +1 -0
- package/dist/json/types.js +2 -0
- package/dist/json/types.js.map +1 -0
- package/dist/json/validate.d.ts +11 -0
- package/dist/json/validate.d.ts.map +1 -0
- package/dist/json/validate.js +77 -0
- package/dist/json/validate.js.map +1 -0
- package/dist/label-hint.d.ts +11 -0
- package/dist/label-hint.d.ts.map +1 -0
- package/dist/label-hint.js +2 -0
- package/dist/label-hint.js.map +1 -0
- package/dist/logic/and.d.ts +13 -0
- package/dist/logic/and.d.ts.map +1 -0
- package/dist/logic/and.js +63 -0
- package/dist/logic/and.js.map +1 -0
- package/dist/logic/bitfield.d.ts +32 -0
- package/dist/logic/bitfield.d.ts.map +1 -0
- package/dist/logic/bitfield.js +271 -0
- package/dist/logic/bitfield.js.map +1 -0
- package/dist/logic/buffer.d.ts +11 -0
- package/dist/logic/buffer.d.ts.map +1 -0
- package/dist/logic/buffer.js +46 -0
- package/dist/logic/buffer.js.map +1 -0
- package/dist/logic/extras.d.ts +36 -0
- package/dist/logic/extras.d.ts.map +1 -0
- package/dist/logic/extras.js +211 -0
- package/dist/logic/extras.js.map +1 -0
- package/dist/logic/kmap.d.ts +16 -0
- package/dist/logic/kmap.d.ts.map +1 -0
- package/dist/logic/kmap.js +163 -0
- package/dist/logic/kmap.js.map +1 -0
- package/dist/logic/or.d.ts +18 -0
- package/dist/logic/or.d.ts.map +1 -0
- package/dist/logic/or.js +117 -0
- package/dist/logic/or.js.map +1 -0
- package/dist/logic/timing.d.ts +44 -0
- package/dist/logic/timing.d.ts.map +1 -0
- package/dist/logic/timing.js +791 -0
- package/dist/logic/timing.js.map +1 -0
- package/dist/logic/tristate.d.ts +11 -0
- package/dist/logic/tristate.d.ts.map +1 -0
- package/dist/logic/tristate.js +48 -0
- package/dist/logic/tristate.js.map +1 -0
- package/dist/math-render.d.ts +9 -0
- package/dist/math-render.d.ts.map +1 -0
- package/dist/math-render.js +53 -0
- package/dist/math-render.js.map +1 -0
- package/dist/package-api.d.ts +20 -0
- package/dist/package-api.d.ts.map +1 -0
- package/dist/package-api.js +75 -0
- package/dist/package-api.js.map +1 -0
- package/dist/params.d.ts +6 -0
- package/dist/params.d.ts.map +1 -0
- package/dist/params.js +35 -0
- package/dist/params.js.map +1 -0
- package/dist/react/index.d.ts +22 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +52 -0
- package/dist/react/index.js.map +1 -0
- package/dist/schemdraw-ts.bundle.js +30448 -0
- package/dist/schemdraw-ts.bundle.js.map +7 -0
- package/dist/segment.d.ts +267 -0
- package/dist/segment.d.ts.map +1 -0
- package/dist/segment.js +844 -0
- package/dist/segment.js.map +1 -0
- package/dist/style.d.ts +18 -0
- package/dist/style.d.ts.map +1 -0
- package/dist/style.js +230 -0
- package/dist/style.js.map +1 -0
- package/dist/subsystems/dsp.d.ts +65 -0
- package/dist/subsystems/dsp.d.ts.map +1 -0
- package/dist/subsystems/dsp.js +267 -0
- package/dist/subsystems/dsp.js.map +1 -0
- package/dist/subsystems/flow.d.ts +92 -0
- package/dist/subsystems/flow.d.ts.map +1 -0
- package/dist/subsystems/flow.js +315 -0
- package/dist/subsystems/flow.js.map +1 -0
- package/dist/subsystems/index.d.ts +22 -0
- package/dist/subsystems/index.d.ts.map +1 -0
- package/dist/subsystems/index.js +22 -0
- package/dist/subsystems/index.js.map +1 -0
- package/dist/subsystems/parsing.d.ts +41 -0
- package/dist/subsystems/parsing.d.ts.map +1 -0
- package/dist/subsystems/parsing.js +456 -0
- package/dist/subsystems/parsing.js.map +1 -0
- package/dist/subsystems/pictorial.d.ts +73 -0
- package/dist/subsystems/pictorial.d.ts.map +1 -0
- package/dist/subsystems/pictorial.js +469 -0
- package/dist/subsystems/pictorial.js.map +1 -0
- package/dist/svg/constants.d.ts +5 -0
- package/dist/svg/constants.d.ts.map +1 -0
- package/dist/svg/constants.js +5 -0
- package/dist/svg/constants.js.map +1 -0
- package/dist/svg/figure.d.ts +157 -0
- package/dist/svg/figure.d.ts.map +1 -0
- package/dist/svg/figure.js +634 -0
- package/dist/svg/figure.js.map +1 -0
- package/dist/svg/fmt.d.ts +2 -0
- package/dist/svg/fmt.d.ts.map +1 -0
- package/dist/svg/fmt.js +7 -0
- package/dist/svg/fmt.js.map +1 -0
- package/dist/svg/svg-style.d.ts +15 -0
- package/dist/svg/svg-style.d.ts.map +1 -0
- package/dist/svg/svg-style.js +46 -0
- package/dist/svg/svg-style.js.map +1 -0
- package/dist/types.d.ts +39 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +21 -0
- package/dist/types.js.map +1 -0
- package/dist/version.d.ts +3 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +3 -0
- package/dist/version.js.map +1 -0
- package/dist/vue/index.d.ts +43 -0
- package/dist/vue/index.d.ts.map +1 -0
- package/dist/vue/index.js +55 -0
- package/dist/vue/index.js.map +1 -0
- package/package.json +71 -0
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
import { ElementCompound } from "./element-compound.js";
|
|
2
|
+
import { Diode } from "./diode.js";
|
|
3
|
+
import { Arrow, Rect, Dot } from "./lines-elements.js";
|
|
4
|
+
import { Line } from "./line.js";
|
|
5
|
+
import { ResistorIEEE } from "./resistor.js";
|
|
6
|
+
import { BjtNpn } from "./transistors.js";
|
|
7
|
+
import { Inductor, Inductor2 } from "./inductor.js";
|
|
8
|
+
import { Switch, SwitchSpdt2, SwitchDpst, SwitchDpdt } from "./switches.js";
|
|
9
|
+
export { ElementCompound } from "./element-compound.js";
|
|
10
|
+
function absXY(el, name) {
|
|
11
|
+
const p = el.absanchors[name];
|
|
12
|
+
return [p.x, p.y];
|
|
13
|
+
}
|
|
14
|
+
export class Optocoupler extends ElementCompound {
|
|
15
|
+
constructor(userParams = {}) {
|
|
16
|
+
super({
|
|
17
|
+
...userParams,
|
|
18
|
+
unit: 1.5,
|
|
19
|
+
_box: userParams.box !== false,
|
|
20
|
+
_boxfill: userParams.boxfill ?? "none",
|
|
21
|
+
_boxpad: userParams.boxpad ?? 0.2,
|
|
22
|
+
_base: userParams.base === true,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
setup() {
|
|
26
|
+
const unit = 1.5;
|
|
27
|
+
const box = this.userParams._box !== false;
|
|
28
|
+
const boxfill = this.userParams._boxfill ?? "none";
|
|
29
|
+
const boxpad = this.userParams._boxpad ?? 0.2;
|
|
30
|
+
const base = this.userParams._base === true;
|
|
31
|
+
const D = this.add(new Diode({ d: "d" }));
|
|
32
|
+
const bjt = new BjtNpn({ d: "r", at: [1, -unit / 2] });
|
|
33
|
+
bjt.segments.splice(0, 1);
|
|
34
|
+
const B = this.add(bjt);
|
|
35
|
+
this.add(new Arrow({
|
|
36
|
+
d: "r",
|
|
37
|
+
at: [0.5, -unit / 2 + 0.2],
|
|
38
|
+
l: 0.6,
|
|
39
|
+
arrowwidth: 0.15,
|
|
40
|
+
arrowlength: 0.2,
|
|
41
|
+
}));
|
|
42
|
+
this.add(new Arrow({
|
|
43
|
+
d: "r",
|
|
44
|
+
at: [0.5, -unit / 2 - 0.2],
|
|
45
|
+
l: 0.6,
|
|
46
|
+
arrowwidth: 0.15,
|
|
47
|
+
arrowlength: 0.2,
|
|
48
|
+
}));
|
|
49
|
+
const bb = this.getBBox(false);
|
|
50
|
+
if (box) {
|
|
51
|
+
this.add(new Rect({
|
|
52
|
+
d: "r",
|
|
53
|
+
at: [0, 0],
|
|
54
|
+
corner1: [bb.xmin - boxpad, bb.ymin - boxpad],
|
|
55
|
+
corner2: [bb.xmax + boxpad, bb.ymax + boxpad],
|
|
56
|
+
fill: boxfill,
|
|
57
|
+
zorder: 0,
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
60
|
+
if (base) {
|
|
61
|
+
const bjtBB = B.getBBox(true);
|
|
62
|
+
const dCenter = D.absanchors["center"];
|
|
63
|
+
this.add(new Line({ d: "l", at: [bjtBB.xmin, dCenter.y], l: 0.15 }));
|
|
64
|
+
const E = this.add(new Line({ d: "d", toy: bb.ymax + boxpad }));
|
|
65
|
+
this.anchors["base"] = absXY(E, "end");
|
|
66
|
+
}
|
|
67
|
+
const colLine = this.add(new Line({ d: "r", at: absXY(bjt, "collector"), l: boxpad }));
|
|
68
|
+
const emLine = this.add(new Line({ d: "r", at: absXY(bjt, "emitter"), l: boxpad }));
|
|
69
|
+
const anLine = this.add(new Line({ d: "l", at: absXY(D, "start"), tox: bb.xmin - boxpad }));
|
|
70
|
+
const caLine = this.add(new Line({ d: "l", at: absXY(D, "end"), tox: bb.xmin - boxpad }));
|
|
71
|
+
this.anchors["anode"] = absXY(anLine, "end");
|
|
72
|
+
this.anchors["cathode"] = absXY(caLine, "end");
|
|
73
|
+
this.anchors["emitter"] = absXY(emLine, "end");
|
|
74
|
+
this.anchors["collector"] = absXY(colLine, "end");
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
export class Rectifier extends ElementCompound {
|
|
78
|
+
constructor(userParams = {}) {
|
|
79
|
+
super(userParams);
|
|
80
|
+
}
|
|
81
|
+
setup() {
|
|
82
|
+
const diodeFill = this.userParams.fill ?? false;
|
|
83
|
+
const labels = this.userParams.labels;
|
|
84
|
+
const A = new Diode({ fill: diodeFill }).theta(45);
|
|
85
|
+
const B = new Diode({ fill: diodeFill }).theta(-45);
|
|
86
|
+
const C = new Diode({ fill: diodeFill }).theta(-135).reverse();
|
|
87
|
+
const D = new Diode({ fill: diodeFill }).theta(135).reverse();
|
|
88
|
+
const locs = ["top", "top", "bottom", "bottom"];
|
|
89
|
+
if (labels) {
|
|
90
|
+
[A, B, C, D].forEach((d, i) => {
|
|
91
|
+
if (labels[i])
|
|
92
|
+
d.label(labels[i], { loc: locs[i] });
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
this.add(A);
|
|
96
|
+
this.add(B);
|
|
97
|
+
this.add(C);
|
|
98
|
+
this.add(D);
|
|
99
|
+
this.anchors["W"] = absXY(A, "start");
|
|
100
|
+
this.anchors["N"] = absXY(B, "start");
|
|
101
|
+
this.anchors["E"] = absXY(C, "start");
|
|
102
|
+
this.anchors["S"] = absXY(D, "start");
|
|
103
|
+
this.elmParams.theta = 0;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
export class Wheatstone extends ElementCompound {
|
|
107
|
+
constructor(userParams = {}) {
|
|
108
|
+
super(userParams);
|
|
109
|
+
}
|
|
110
|
+
setup() {
|
|
111
|
+
const vout = this.userParams.vout === true;
|
|
112
|
+
const labels = this.userParams.labels;
|
|
113
|
+
const A = new ResistorIEEE().theta(45);
|
|
114
|
+
const B = new ResistorIEEE().theta(-45);
|
|
115
|
+
const C = new ResistorIEEE().theta(-135);
|
|
116
|
+
const D = new ResistorIEEE().theta(135);
|
|
117
|
+
const locs = ["top", "top", "bottom", "bottom"];
|
|
118
|
+
if (labels) {
|
|
119
|
+
[A, B, C, D].forEach((r, i) => {
|
|
120
|
+
if (labels[i])
|
|
121
|
+
r.label(labels[i], { loc: locs[i] });
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
this.add(A);
|
|
125
|
+
this.add(B);
|
|
126
|
+
this.add(C);
|
|
127
|
+
this.add(D);
|
|
128
|
+
if (vout) {
|
|
129
|
+
const aStart = A.absanchors["start"];
|
|
130
|
+
this.add(new Line({}).right().at([aStart.x, aStart.y]).length(1));
|
|
131
|
+
const vo1 = this.add(new Dot({ open: true }));
|
|
132
|
+
const cStart = C.absanchors["start"];
|
|
133
|
+
this.add(new Line({}).left().at([cStart.x, cStart.y]).length(1));
|
|
134
|
+
const vo2 = this.add(new Dot({ open: true }));
|
|
135
|
+
this.anchors["vo1"] = absXY(vo1, "center");
|
|
136
|
+
this.anchors["vo2"] = absXY(vo2, "center");
|
|
137
|
+
this._labelhints["vo1"] = { ofst: [0, 0.1], halign: "center", valign: "bottom" };
|
|
138
|
+
this._labelhints["vo2"] = { ofst: [0, 0.1], halign: "center", valign: "bottom" };
|
|
139
|
+
}
|
|
140
|
+
this.anchors["W"] = absXY(A, "start");
|
|
141
|
+
this.anchors["N"] = absXY(B, "start");
|
|
142
|
+
this.anchors["E"] = absXY(C, "start");
|
|
143
|
+
this.anchors["S"] = absXY(D, "start");
|
|
144
|
+
this.elmParams.theta = 0;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
export class Relay extends ElementCompound {
|
|
148
|
+
constructor(userParams = {}) {
|
|
149
|
+
const unit = userParams.unit ?? 2;
|
|
150
|
+
super({ ...userParams, unit });
|
|
151
|
+
}
|
|
152
|
+
setup() {
|
|
153
|
+
const unit = this.userParams.unit ?? 2;
|
|
154
|
+
const cycl = this.userParams.cycl === true;
|
|
155
|
+
const switchType = this.userParams.switch ?? "spst";
|
|
156
|
+
const core = this.userParams.core !== false;
|
|
157
|
+
const box = this.userParams.box !== false;
|
|
158
|
+
const boxfill = this.userParams.boxfill ?? "none";
|
|
159
|
+
const boxpad = this.userParams.boxpad ?? 0.25;
|
|
160
|
+
const swreverse = this.userParams.swreverse === true;
|
|
161
|
+
const swflip = this.userParams.swflip === true;
|
|
162
|
+
const link = this.userParams.link !== false;
|
|
163
|
+
const L = cycl
|
|
164
|
+
? this.add(new Inductor2({ d: "d" }))
|
|
165
|
+
: this.add(new Inductor({ d: "d" }));
|
|
166
|
+
this.anchors["in1"] = absXY(L, "start");
|
|
167
|
+
this.anchors["in2"] = absXY(L, "end");
|
|
168
|
+
let Lleft = L.getBBox(true).xmax;
|
|
169
|
+
let swleft = Lleft + 0.6;
|
|
170
|
+
if (core) {
|
|
171
|
+
this.add(new Line({
|
|
172
|
+
d: "d",
|
|
173
|
+
at: [Lleft + 0.15, -unit / 2],
|
|
174
|
+
anchor: "center",
|
|
175
|
+
l: 1,
|
|
176
|
+
}));
|
|
177
|
+
swleft += 0.1;
|
|
178
|
+
}
|
|
179
|
+
let SW;
|
|
180
|
+
if (switchType === "spst") {
|
|
181
|
+
const sw = new Switch({ d: "d", reverse: swreverse, flip: swflip });
|
|
182
|
+
const swBB = sw.getBBox(false);
|
|
183
|
+
sw.userParams.at = [swleft - (swflip ? -swBB.ymax : swBB.ymin), 0];
|
|
184
|
+
this.add(sw);
|
|
185
|
+
this.anchors["a"] = absXY(sw, "start");
|
|
186
|
+
this.anchors["b"] = absXY(sw, "end");
|
|
187
|
+
SW = sw;
|
|
188
|
+
}
|
|
189
|
+
else if (switchType === "spdt") {
|
|
190
|
+
const sw = new SwitchSpdt2({ d: "d", reverse: swreverse, flip: swflip });
|
|
191
|
+
const swBB = sw.getBBox(false);
|
|
192
|
+
sw.userParams.at = [swleft - (swflip ? -swBB.ymax : swBB.ymin), -0.5];
|
|
193
|
+
this.add(sw);
|
|
194
|
+
const toyA = swreverse ? -unit : 0;
|
|
195
|
+
const toyBC = swreverse ? 0 : -unit;
|
|
196
|
+
const aLine = this.add(new Line({ d: swreverse ? "d" : "u", at: absXY(sw, "a"), toy: toyA }));
|
|
197
|
+
const bLine = this.add(new Line({ d: swreverse ? "u" : "d", at: absXY(sw, "b"), toy: toyBC }));
|
|
198
|
+
const cLine = this.add(new Line({ d: swreverse ? "u" : "d", at: absXY(sw, "c"), toy: toyBC }));
|
|
199
|
+
this.anchors["a"] = absXY(aLine, "end");
|
|
200
|
+
this.anchors["b"] = absXY(bLine, "end");
|
|
201
|
+
this.anchors["c"] = absXY(cLine, "end");
|
|
202
|
+
SW = sw;
|
|
203
|
+
}
|
|
204
|
+
else if (switchType === "dpst") {
|
|
205
|
+
const sw = new SwitchDpst({ d: "d", link: false, reverse: swreverse, flip: swflip });
|
|
206
|
+
const swBB = sw.getBBox(false);
|
|
207
|
+
sw.userParams.at = [swleft - (swflip ? -swBB.ymax : swBB.ymin), -0.5];
|
|
208
|
+
this.add(sw);
|
|
209
|
+
const toyT = swreverse ? 0 : -unit;
|
|
210
|
+
const toyP = swreverse ? -unit : 0;
|
|
211
|
+
const t1Line = this.add(new Line({ d: swreverse ? "u" : "d", at: absXY(sw, "t1"), toy: toyT }));
|
|
212
|
+
const t2Line = this.add(new Line({ d: swreverse ? "u" : "d", at: absXY(sw, "t2"), toy: toyT }));
|
|
213
|
+
const p1Line = this.add(new Line({ d: swreverse ? "d" : "u", at: absXY(sw, "p1"), toy: toyP }));
|
|
214
|
+
const p2Line = this.add(new Line({ d: swreverse ? "d" : "u", at: absXY(sw, "p2"), toy: toyP }));
|
|
215
|
+
this.anchors["t1"] = absXY(t1Line, "end");
|
|
216
|
+
this.anchors["t2"] = absXY(t2Line, "end");
|
|
217
|
+
this.anchors["p1"] = absXY(p1Line, "end");
|
|
218
|
+
this.anchors["p2"] = absXY(p2Line, "end");
|
|
219
|
+
SW = sw;
|
|
220
|
+
}
|
|
221
|
+
else if (switchType === "dpdt") {
|
|
222
|
+
const sw = new SwitchDpdt({ d: "d", link: false, reverse: swreverse, flip: swflip });
|
|
223
|
+
const swBB = sw.getBBox(false);
|
|
224
|
+
sw.userParams.at = [swleft - (swflip ? -swBB.ymax : swBB.ymin), -0.5];
|
|
225
|
+
this.add(sw);
|
|
226
|
+
const toyT = swreverse ? 0 : -unit;
|
|
227
|
+
const toyP = swreverse ? -unit : 0;
|
|
228
|
+
const t1Line = this.add(new Line({ d: swreverse ? "u" : "d", at: absXY(sw, "t1"), toy: toyT }));
|
|
229
|
+
const t2Line = this.add(new Line({ d: swreverse ? "u" : "d", at: absXY(sw, "t2"), toy: toyT }));
|
|
230
|
+
const t3Line = this.add(new Line({ d: swreverse ? "u" : "d", at: absXY(sw, "t3"), toy: toyT }));
|
|
231
|
+
const t4Line = this.add(new Line({ d: swreverse ? "u" : "d", at: absXY(sw, "t4"), toy: toyT }));
|
|
232
|
+
const p1Line = this.add(new Line({ d: swreverse ? "d" : "u", at: absXY(sw, "p1"), toy: toyP }));
|
|
233
|
+
const p2Line = this.add(new Line({ d: swreverse ? "d" : "u", at: absXY(sw, "p2"), toy: toyP }));
|
|
234
|
+
this.anchors["t1"] = absXY(t1Line, "end");
|
|
235
|
+
this.anchors["t2"] = absXY(t2Line, "end");
|
|
236
|
+
this.anchors["t3"] = absXY(t3Line, "end");
|
|
237
|
+
this.anchors["t4"] = absXY(t4Line, "end");
|
|
238
|
+
this.anchors["p1"] = absXY(p1Line, "end");
|
|
239
|
+
this.anchors["p2"] = absXY(p2Line, "end");
|
|
240
|
+
SW = sw;
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
const sw = new Switch({ d: "d" });
|
|
244
|
+
sw.userParams.at = [swleft, 0];
|
|
245
|
+
this.add(sw);
|
|
246
|
+
SW = sw;
|
|
247
|
+
}
|
|
248
|
+
if (link) {
|
|
249
|
+
const swBB = SW.getBBox(false);
|
|
250
|
+
const tox = swflip ? swBB.ymax : swBB.ymin;
|
|
251
|
+
this.add(new Line({ d: "r", at: [Lleft + 0.2, -unit / 2], ls: ":", tox }));
|
|
252
|
+
}
|
|
253
|
+
if (box) {
|
|
254
|
+
const bb = this.getBBox(false);
|
|
255
|
+
this.add(new Rect({
|
|
256
|
+
d: "r",
|
|
257
|
+
at: [0, 0],
|
|
258
|
+
corner1: [bb.xmin - boxpad, bb.ymin + 0.2],
|
|
259
|
+
corner2: [bb.xmax + boxpad, bb.ymax - 0.2],
|
|
260
|
+
fill: boxfill,
|
|
261
|
+
zorder: 0,
|
|
262
|
+
}));
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
//# sourceMappingURL=compound.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compound.js","sourceRoot":"","sources":["../../src/elements/compound.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { Element } from "../element.js";
|
|
2
|
+
import { Point, type XY } from "../geometry/point.js";
|
|
3
|
+
import { Line } from "./line.js";
|
|
4
|
+
export declare class OrthoLines extends Element {
|
|
5
|
+
constructor(userParams?: Record<string, unknown>);
|
|
6
|
+
toXY(xy: XY): this;
|
|
7
|
+
delta(dx?: number, dy?: number): this;
|
|
8
|
+
_place(dwgxy: XY, dwgtheta: number, dwgparams: Record<string, unknown>): {
|
|
9
|
+
point: Point;
|
|
10
|
+
theta: number;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export declare class RightLines extends Element {
|
|
14
|
+
constructor(userParams?: Record<string, unknown>);
|
|
15
|
+
toXY(xy: XY): this;
|
|
16
|
+
delta(dx?: number, dy?: number): this;
|
|
17
|
+
_place(dwgxy: XY, dwgtheta: number, dwgparams: Record<string, unknown>): {
|
|
18
|
+
point: Point;
|
|
19
|
+
theta: number;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export declare class Header extends Element {
|
|
23
|
+
constructor(userParams?: Record<string, unknown> & {
|
|
24
|
+
rows?: number;
|
|
25
|
+
cols?: number;
|
|
26
|
+
pinsleft?: string[];
|
|
27
|
+
pinsright?: string[];
|
|
28
|
+
style?: string;
|
|
29
|
+
numbering?: string | boolean;
|
|
30
|
+
shownumber?: boolean;
|
|
31
|
+
pinalignleft?: string;
|
|
32
|
+
pinalignright?: string;
|
|
33
|
+
pinfontsizeleft?: number;
|
|
34
|
+
pinfontsizeright?: number;
|
|
35
|
+
pinspacing?: number;
|
|
36
|
+
edge?: number;
|
|
37
|
+
pinfill?: string;
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
export declare class Jumper extends Element {
|
|
41
|
+
constructor(userParams?: Record<string, unknown>);
|
|
42
|
+
}
|
|
43
|
+
export declare class BusConnect extends Element {
|
|
44
|
+
constructor(userParams?: Record<string, unknown> & {
|
|
45
|
+
n?: number;
|
|
46
|
+
up?: boolean;
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
export declare class BusLine extends Line {
|
|
50
|
+
constructor(userParams?: Record<string, unknown>);
|
|
51
|
+
}
|
|
52
|
+
export declare class DE9 extends Element {
|
|
53
|
+
constructor(userParams?: Record<string, unknown>);
|
|
54
|
+
}
|
|
55
|
+
export declare class DB9 extends DE9 {
|
|
56
|
+
}
|
|
57
|
+
export declare class DB25 extends Element {
|
|
58
|
+
constructor(userParams?: Record<string, unknown>);
|
|
59
|
+
}
|
|
60
|
+
export declare class DA15 extends Element {
|
|
61
|
+
constructor(userParams?: Record<string, unknown>);
|
|
62
|
+
}
|
|
63
|
+
export declare class DC37 extends Element {
|
|
64
|
+
constructor(userParams?: Record<string, unknown>);
|
|
65
|
+
}
|
|
66
|
+
export declare class DD50 extends Element {
|
|
67
|
+
constructor(userParams?: Record<string, unknown>);
|
|
68
|
+
}
|
|
69
|
+
export declare class CoaxConnect extends Element {
|
|
70
|
+
constructor(userParams?: Record<string, unknown>);
|
|
71
|
+
}
|
|
72
|
+
export declare class Plug extends Element {
|
|
73
|
+
constructor(userParams?: Record<string, unknown>);
|
|
74
|
+
}
|
|
75
|
+
export declare class Jack extends Element {
|
|
76
|
+
constructor(userParams?: Record<string, unknown>);
|
|
77
|
+
}
|
|
78
|
+
export declare class ConnectorTerminal extends Element {
|
|
79
|
+
constructor(userParams?: Record<string, unknown>);
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=connectors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connectors.d.ts","sourceRoot":"","sources":["../../src/elements/connectors.ts"],"names":[],"mappings":"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"}
|