Может быть, у кого-нибудь есть IEC nc, no и co переключатели для Circuitikz?

Может быть, у кого-нибудь есть IEC nc, no и co переключатели для Circuitikz?

Я имею в виду E1218 - E1220 и мне нужны для них более качественные символы со следующими улучшениями:

  • подвижный ползунок должен быть такой же длины;
  • co должен быть симметричным, как E1224;
  • позже нам нужно будет добавить модификаторы контактов - особенно E1229-E1232;
  • нам также необходимо иметь возможность добавлять механические свойства к ползунку.

Обратите внимание, что при работе ползунок всегда должен двигаться по часовой стрелке.

Я также прилагаюСсылка на символ МЭКотметив, что это очень старая версия.

введите описание изображения здесь

введите описание изображения здесь

Вот взломанный код, проверяющий выравнивание текущих символов переключателя:

введите описание изображения здесь

    \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
}

введите описание изображения здесь

Связанный контент