![有人有 Circuitikz 的 IEC nc、no 和 co 开关吗](https://linux22.com/image/412448/%E6%9C%89%E4%BA%BA%E6%9C%89%20Circuitikz%20%E7%9A%84%20IEC%20nc%E3%80%81no%20%E5%92%8C%20co%20%E5%BC%80%E5%85%B3%E5%90%97.png)
我参考了 E1218 至 E1220,需要更好的符号并进行以下改进:
- 移动滑块需长度一致;
- 该 co 需要像 E1224 一样对称;
- 我们稍后需要添加联系人修饰符 - 特别是 E1229-E1232;
- 我们还需要能够为滑块添加机械特性。
请注意,操作时滑块应始终顺时针移动。
我还附上了IEC 符号参考注意到这是一个非常旧的版本。
下面是一些检查当前开关符号对齐情况的被黑代码:
\begin{circuitikz}
{ %
\coordinate (a) at (-1,0);
\draw (a)
% node {X}%debug
++(-1,-0.25) node [anchor=east] {$U_n$}
to[short, o-]
++(1,0)
++(-1,1.25) node [anchor=east] {$U_c$}
to[short, o-]
++(1,0)
++(-1,1) node [anchor=east] {$U_b$}
to[short, o-]
++(1,0)
++(-1,1) node [anchor=east] {$U_a$}
to[short, o-]
++(1,0);
}
\draw (-1,1) -- (-1,0.25);
\draw (0.00,+0.25) to[nos,l=$\ $, ] ++(-1,0);
\draw (0.00,-0.0)node[ocirc]{} to[nos,l=$\ $, ] ++(-1,0);
\draw (-0.05,-0.25) to[ncs,l=$\ $,mirror, ] ++(-1,0);
\end{circuitikz}
我现在已经完成了一个粗略的设计,可以满足我目前的需求 - 但还未接近最终代码。
{% no nc co switch
\coordinate (a) at (-0,01);
\draw (a)
node {x}%debug
to[short, -o] ++(-0.25,0);%fixed contact
{%
\draw[thick]($(a)+(-0.25,0)$) -- ++(-0.5,-0.225);%nc wiper
\draw ($(a)+(-0.75,-0.225)$) -- ++(-0.045,0.11);%early
\draw ($(a)+(-0.75,-0.225)$) -- ++(+0.045,-0.11);%late
}
{%
\draw[thick]($(a)+(-0.25,0)$) -- ++(-0.55,+0.05);%centre nc wiper
\draw ($(a)+(-0.8,+0.05)$) -- ++(0.01,0.11);%early
\draw ($(a)+(-0.8,+0.05)$) -- ++(-0.01,-0.11);%late
}
{%
\draw[thick]($(a)+(-0.25,0)$) -- ++(-0.5,-0.25);%no wiper
\draw ($(a)+(-0.75,-0.25)$) -- ++(-0.045,0.11);%early
\draw ($(a)+(-0.75,-0.25)$) -- ++(+0.045,-0.11);%late
}
\draw (a) ++(-0.625,-0.125) |- ++(-0.375,-0.125);%nc contact
\draw (a) ++(-0.625,0.125) |- ++(-0.375,-0.125);%centre nc contact
\draw(a) ++(-1,+0.25) -- ++(0.275,0);%no contact
\draw(a) ++(-1,+0) -- ++(0.25,0);%centre no contact
}