\tikzset{block/.default={0.8cm}{0.6cm}} \tikzset{addb/.append style={scale=0.7}} \tikzset{node distance=0.6} \def\cdist{0.7} \definecolor{T}{rgb}{0.230, 0.299, 0.754}% \definecolor{S}{rgb}{0.706, 0.016, 0.150}% \begin{tikzpicture} % ==================== % Parameters % ==================== \def\massw{2.2} % Width of the masses \def\massh{0.8} % Height of the masses \def\spaceh{1.2} % Height of the springs/dampers \def\dispw{0.3} % Width of the dashed line for the displacement \def\disph{0.5} % Height of the arrow for the displacements \def\bracs{0.05} % Brace spacing vertically \def\brach{-10pt} % Brace shift horizontaly % ==================== % ==================== % Ground % ==================== \draw (-0.5*\massw, 0) -- (0.5*\massw, 0); \draw[dashed] (0.5*\massw, 0) -- ++(\dispw, 0); \draw[->] (0.5*\massw+0.5*\dispw, 0) -- ++(0, \disph) node[below right]{$w$}; % ==================== \begin{scope}[shift={(0, 0)}] % Mass \draw[fill=white] (-0.5*\massw, \spaceh) rectangle (0.5*\massw, \spaceh+\massh) node[pos=0.5]{$m$}; % Spring, Damper, and Actuator \draw[spring] (-0.4*\massw, 0) -- (-0.4*\massw, \spaceh) node[midway, left=0.1]{$k$}; \draw[damper] (0, 0) -- ( 0, \spaceh) node[midway, left=0.2]{$c$}; \draw[actuator] ( 0.4*\massw, 0) -- ( 0.4*\massw, \spaceh) coordinate[midway, right=0.15](F); % Displacements \draw[dashed] (0.5*\massw, \spaceh) -- ++(\dispw, 0); \draw[->] (0.5*\massw+0.5*\dispw, \spaceh) -- ++(0, \disph) node[right](x){$x$}; \end{scope} \node[block, right=1 of F] (Kfb) {$K$}; \node[addb={+}{}{-}{}{}, right=2*\cdist of Kfb] (add) {}; \node[addb] (addn) at (x-|Kfb) {}; \node[block, right=of addn] (Hl) {$H_L$}; \draw[->] (x) -- (addn.west); \draw[->] (addn.east) -- (Hl.west); \draw[->] (Hl.east) -| (add.north); \draw[->] (add.west) -- (Kfb.east); \draw[->] (Kfb.west) -- (F) node[above right]{$F$}; \draw[<-] (addn.north) -- ++(0,\cdist) node[below right]{$n$}; \draw[<-] (add.east) -- ++(\cdist,0) node[above left]{$r$}; \end{tikzpicture}