关于使用节点形状实现无功电阻器 IEC 图形电阻器

关于使用节点形状实现无功电阻器 IEC 图形电阻器
  1. 假设我们想在 (0,0) 和 (2,0) 之间放置一个电阻。
  2. 此任务使用起来很简单\usetikzlibrary {circuits.ee.IEC}
    \draw (0,0) to [resistor={info={ $R=1\Omega$}}] (2cm,0);
  1. 如我们所见,电阻的宽度和高度由 IEC 库自动选择。

  2. 现在假设我们想使用节点形状在同一位置绘制相同尺寸的电阻。挑战在于猜测内部 xsep 和 ysep。但我们可以通过反复试验来获得相同尺寸的电阻:

    \draw [red](0,0) to node[draw,name=res,shape=var resistor IEC,inner xsep = 0.6cm,inner ysep=0.1cm] {}  (2,0);

5)主要问题是电阻跨接线,如下所示: 在此处输入图片描述

您知道如何使用节点形状命令避免这种线交叉吗?以下是我的代码:

\documentclass[border=0.5cm]{standalone}
\usepackage{tikz}
\usetikzlibrary {circuits.ee.IEC}

\begin{document}

\begin{tikzpicture}
\draw [help lines,xstep=.1cm,ystep=.1cm] (0,0.4) grid (2,-.8);
\begin{scope}[circuit ee IEC,set resistor graphic=var resistor IEC graphic,line width=1]
\draw (0,0) to [resistor={info={ $R=1\Omega$}}] (2cm,0);
\end{scope}

 \begin{scope}[yshift=-.7cm,line width=1]
\draw [red](0,0) to node[draw,name=res,shape=var resistor IEC,inner xsep = 0.6cm,inner 
ysep=0.1cm] {}  (2,0);
\node[anchor=south,text=red]at(res.north){$R=1\Omega$};
\end{scope}


\end{tikzpicture}

\end{document}

答案1

请注意,说出来(A) to node[]{} (B)和使用有很大不同to[ to_path_style ]:你所做的是从(A)到(B)画一条线,然后然后绘制路径后将会添加节点。

如果你看看 TiZ 手册中,当他们描述如何添加新形状时(在我的版本中大约第 604 页,当他们描述时/tikz/circuit handle symbol,解释了将to path节点作为标记安装在路径中的操作。这可能是一种比circuitikz(*) 更先进的方法 --- 我认为它会有更好的连接。

如果您尝试单独定位节点,然后连接它,则会遇到连接问题。

\begin{scope}[yshift=-1.4cm,line width=1]
    \draw (1,0) node [blue,draw,name=res,shape=var resistor IEC,inner xsep = 0.6cm,inner ysep=0.1cm, name=R]{};
    \draw [blue] (0,0) -- (R.west) (R.east) -- (2,0);
\node[anchor=south,text=blue]at(R.north){$R=1\Omega$};
\end{scope}

在此处输入图片描述


(*) 这只是一条评论,因为我circuitikz在这里维护...我现在将删除我的评论,因为我对库内部结构的猜测是错误的circuit

相关内容