|
- %&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}
- % Compliant PDF
- \usepackage[a-3u]{pdfx}
-
- \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={}}]
- \coordinate (a) at ($(#1.north west)+(\rectoffset)+(\rectoffsetleft)$){};
- \coordinate (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}
|