I don't know about any library which allows dimensions to be easily added to technical drawings in TikZ. You can however add some manually. Simple rectangle and circles could be done using nodes which simplifies the drawing of additional material because the node anchors can be used. Differently shaped objects must be drawn using polygons.
Here an example of how to might be done. I can image some macros which take two points/coordiantes and some options like direction (left, right, above, below) and distance and then draw the dimension labels automatically. Wouldn't be that hard to code.
\usepackage{tikz}
\usetikzlibrary{patterns}
\usetikzlibrary{arrows}
% Adapted from the 'patterns' library: enlarged the distance between the lines from 4pt to 10pt
\pgfdeclarepatternformonly{north east lines wide}{\pgfqpoint{-1pt}{-1pt}}{\pgfqpoint{10pt}{10pt}}{\pgfqpoint{9pt}{9pt}}%
{
\pgfsetlinewidth{0.4pt}
\pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
\pgfpathlineto{\pgfqpoint{9.1pt}{9.1pt}}
\pgfusepath{stroke}
}
\tikzset{%
body/.style={inner sep=0pt,outer sep=0pt,shape=rectangle,draw,thick,pattern=north east lines wide},
dimen/.style={<->,>=latex,thin,every rectangle node/.style={fill=white,midway,font=\sffamily}},
symmetry/.style={dashed,thin},
}
\begin{document}
\begin{tikzpicture}
% A body
\node [body,minimum height=4cm,minimum width=1.5cm,anchor=south west] (body1) at (0,0) {};
% Dimensions
\draw (body1.south west) -- ++(-1,0) coordinate (D1) -- +(-5pt,0);
\draw (body1.north west) -- ++(-1,0) coordinate (D2) -- +(-5pt,0);
\draw [dimen] (D1) -- (D2) node {4.00};
% Helper nodes can be reused
\draw (body1.south west) -- ++(0,-1) coordinate (D1) -- +(0,-5pt);
\draw (body1.south east) -- ++(0,-1) coordinate (D2) -- +(0,-5pt);
\draw [dimen] (D1) -- (D2) node {1.50};
% Non-rectangle shapes must be drawn as polygone
\begin{scope}[shift={(3,0)}]
\draw [body] (0,0) -- (0,4) -- (.5,4) -- (.5,5) -- (1.,5) -- (1.,4) -- (1.5,4) -- (1.5,0) -- cycle;
% Draw symmetry lines
\draw [symmetry] (.75,-.25) -- (.75,5.25);
% Dimensions
\draw (1.5,0) -- ++(1,0) coordinate (D1) -- +(5pt,0);
\draw (1.5,4) -- ++(1,0) coordinate (D2) -- +(5pt,0);
\draw [dimen] (D1) -- (D2) node {4.00};
\draw (0.0,0) -- ++(0,-1) coordinate (D1) -- +(0,-5pt);
\draw (1.5,0) -- ++(0,-1) coordinate (D2) -- +(0,-5pt);
\draw [dimen] (D1) -- (D2) node {1.50};
\draw (0.5,5) -- ++(0,1) coordinate (D1) -- +(0,5pt);
\draw (1.0,5) -- ++(0,1) coordinate (D2) -- +(0,5pt);
\draw [dimen,-] (D1) -- (D2) node [above=5pt] {0.50};
\draw [dimen,<-] (D1) -- ++(-5pt,0);
\draw [dimen,<-] (D2) -- ++(+5pt,0);
\end{scope}
\end{tikzpicture}
\end{document}
Result:
dimen
registers, aka. LaTeX lengths. (Update: I edited the question to make it clear that it is about dimensions in technical drawings)tikz-timing
package to draw time differences, but never found time doing it. I was under the impression that this has to be done manually.