%&tex \documentclass{standalone} \usepackage{tikz} \usepackage{siltex} \usetikzlibrary {arrows.meta,positioning,calc,math} \tikzset{nodes={text height=.6em, text width=2.5cm, align=center, draw=black!50, thick, font=\footnotesize, fill=white}, >={Stealth[round,sep]}, rounded corners, semithick} \pgfdeclarelayer{bg} \pgfsetlayers{bg,main} \begin{document} \begin{tikzpicture}[y=3.5mm,x=3.2cm] \def\rectoffset{-1.2mm,1.2mm}; \def\rectoffsetleft{-1.9cm,0cm}; \def\textoffset{-2.5cm,0cm}; \def\modelgroup(#1,#2,#3){% \begin{scope}[nodes={draw=none, fill=none,text width={},text height={}}] \node (a) at ($(#1.north west)+(\rectoffset)+(\rectoffsetleft)$){}; \node (b) at ($(#2.south east)-(\rectoffset)$){}; \draw[fill=lightgray] (a) rectangle (b); \node[anchor=center] at ($(#1)!0.5!(#2)+(\textoffset)$) {#3}; \end{scope} }; \node (bm) {Basic Model}; \node (ip)[below=1 of bm] {Ideal Physics}; \node (dc)[below=1 of ip] {DC-motor behavior}; \node (cl)[below=1 of dc] {Control loop}; \node (sm)[below=1 of cl] {Stepper Motor\\ behavior}; \node (dd)[below=1 of sm] {3D Physics}; \node (ml)[below=1 of dd] {Marker Lifting}; \node (cd)[below=1 of ml] {Component design}; \path[->] (bm) edge (ip) (ip) edge (dc) (dc) edge (cl) (cl) edge (sm) (sm) edge (dd) (dd) edge (ml) (ml) edge (cd); \begin{pgfonlayer}{bg} \modelgroup(bm,bm,Kinematics); \modelgroup(ip,sm,2D Dynamics); \modelgroup(dd,ml,3D Dynamics); \modelgroup(cd,cd,CAD Drawing); \end{pgfonlayer} \end{tikzpicture} \end{document}