You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Circuitikz绘制电路时电阻R₁与周边线路连接不顺畅问题求助

电路效果图

问题原因

你自定义的\myDRL命令中,在同一段\draw路径里同时进行了连续线路绘制和坐标跳转操作:绘制完R₁和后续短线后,直接跳转至运放反相输入端绘制反馈回路,导致R₁右端与运放同相输入端的连接点不属于连续路径的一部分,Circuitikz无法自动处理该点的线径衔接,就会出现连接不平滑、有小凸起或缺口的问题。

解决方法
  • 拆分\myDRL命令内的单段\draw为多段独立路径:先完成输入到运放同相端的连续路径绘制,再单独绘制反馈回路和输出路径,避免路径跳转打断衔接点的平滑处理。
  • 调整绘制逻辑,先定位运放位置,再从运放输入端向左绘制R₁到输入节点,进一步降低坐标错位概率。
修改后完整代码
\documentclass[border=1mm]{standalone}

\usepackage{amsmath, amssymb, mathtools}
\usepackage{siunitx}

\usepackage[]{circuitikz}
\usetikzlibrary{positioning, calc}
\newcommand\myVoltageBuffer[2]{%
    %1: ID amplifier, %2 start coordinate
    \draw #2 coordinate(opamp#1-in)
        to[short]
            ++(1,0) node[op amp, noinv input up, anchor=+](opamp#1){$A_#1$}
            (opamp#1.-) -- ++(0,-1) coordinate(opamp#1-feedback)
            (opamp#1-feedback) -| (opamp#1.out)
        to [short, *-]
            ++(1,0) coordinate(opamp#1-out);
}

\newcommand\myDRL[6]{%
    %1: ID amplifier, %2 start coordinate, %3 R gain %4 R series, %5 C series, %6 R parallel
    % 先定位运放位置,避免路径跳转
    \node[op amp, anchor=+](opamp#1) at ($#2 + (2,0)$) {$A_#1$};
    % 连续绘制输入到运放同相端的路径,保证衔接平滑
    \draw #2 coordinate(opamp#1-in)
        to[R=#3] ++(1,0)
        to [short] (opamp#1.+);
    % 单独绘制反馈回路
    \draw (opamp#1.-) -- ++(0, 1) coordinate(opamp#1-feedback)
        to [short, -*] ++(0, 0)
        to [R=#4] ++(1.5, 0)
        to [C=#5] ++(1.5, 0)
        to [short, -*] ++(0, 0) coordinate(opamp#1-feedback-C-point);
    \draw (opamp#1-feedback) -- ++(0, 1.5)
        to [R=#6] ++(3, 0) -| (opamp#1-feedback-C-point)
        to [short, -*] ++(0, -1.5) coordinate(opamp#1-last-bullet);
    % 单独绘制输出路径
    \draw (opamp#1.out) -- (opamp#1-last-bullet) -- ++(1, 0) coordinate(opamp#1-out);
}
\begin{document}
\begin{circuitikz}[american, transform shape, use fpu reciprocal,]
    \myVoltageBuffer{1}{ (0, 0) }{}{}
    \node [ocirc] at (opamp1-in) {};

    \myDRL{2}{ (opamp1-out) }{ $R_1$ }{ $R_s$ }{ $C_s$ }{ $R_{\parallel}$ }
    \node [ocirc] at (opamp2-out) {};
\end{circuitikz}
\end{document}

内容的提问来源于stack exchange,提问作者aheuchamps

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 18:36:02