Compilateur LaTeX en ligne
www.cpierquet.fr
fichiers/patronpave.tex
↓ télécharger
%!TEX pdflatex

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage{pgf,pgffor}
\usepackage{siunitx}
\usepackage{simplekv}
\sisetup{locale=FR}

\begin{document}

\begin{center}
	\begin{tikzpicture}
		\def\L{4}
		\def\l{3}
		\def\h{1.5}
		\def\lang{0.5}
		%FACES
		\draw[thick] (0,0) rectangle (\L,\l) ;
		\draw[thick] (\L,0) rectangle ++(\h,\l) ;
		\draw[thick] ({\L+\h},0) rectangle ++(\L,\l) ;
		\draw[thick] (0,0) rectangle (-\h,\l) ;
		\draw[thick] (0,0) rectangle (\L,-\h) ;
		\draw[thick] (0,\l) rectangle ++(\L,\h) ;
		%LANGUETTES
		\draw[thick] (0,-\h) --++ ({0.5*\lang},-\lang) --++ ({\L-\lang},0) --++ (0.5*\lang,\lang) ;
		\draw[thick] (0,{\l+\h}) --++ ({0.5*\lang},\lang) --++ ({\L-\lang},0) --++ ({0.5*\lang},-\lang) ;
		\draw[thick] ({-\h},0) --++ (-\lang,{0.5*\lang}) --++ (0,{\l-\lang}) --++ (\lang,{0.5*\lang}) ;
		\draw[thick] (0,0) --++ (-\lang,{-0.5*\lang}) --++ (0,{-(\h-\lang)}) --++ (\lang,{-0.5*\lang}) ;
		\draw[thick] (0,\l) --++ (-\lang,{0.5*\lang}) --++ (0,{(\h-\lang)}) --++ (\lang,{0.5*\lang}) ;
		\draw[thick] (\L,0) --++ (\lang,{-0.5*\lang}) --++ (0,{-(\h-\lang)}) --++ (-\lang,{-0.5*\lang}) ;
		\draw[thick] (\L,\l) --++ (\lang,{0.5*\lang}) --++ (0,{(\h-\lang)}) --++ (-\lang,{0.5*\lang}) ;
	\end{tikzpicture}
\end{center}

\defKV[patronpave]{%
	L=\def\PPL{#1},%
	l=\def\PPl{#1},%
	h=\def\PPh{#1},%
	lang=\def\PPlang{#1}
}

\setKVdefault[patronpave]{%
	L=4,%
	l=3,%
	h=1.5,%
	lang=0.5
}

\newcommand\PatronPave[1][]{%
	\useKVdefault[patronpave]
	\setKV[patronpave]{#1}
	%FACES
	\draw[] (0,0) rectangle (\PPL,\PPl) ;
	\draw[] (\PPL,0) rectangle ++(\PPh,\PPl) ;
	\draw[] ({\PPL+\PPh},0) rectangle ++(\PPL,\PPl) ;
	\draw[] (0,0) rectangle (-\PPh,\PPl) ;
	\draw[] (0,0) rectangle (\PPL,-\PPh) ;
	\draw[] (0,\PPl) rectangle ++(\PPL,\PPh) ;
	%LANGUETTES
	\draw[] (0,-\PPh) --++ ({0.5*\PPlang},-\PPlang) --++ ({\PPL-\PPlang},0) --++ (0.5*\PPlang,\PPlang) ;
	\draw[] (0,{\PPl+\PPh}) --++ ({0.5*\PPlang},\PPlang) --++ ({\PPL-\PPlang},0) --++ ({0.5*\PPlang},-\PPlang) ;
	\draw[] ({-\PPh},0) --++ (-\PPlang,{0.5*\PPlang}) --++ (0,{\PPl-\PPlang}) --++ (\PPlang,{0.5*\PPlang}) ;
	\draw[] (0,0) --++ (-\PPlang,{-0.5*\PPlang}) --++ (0,{-(\PPh-\PPlang)}) --++ (\PPlang,{-0.5*\PPlang}) ;
	\draw[] (0,\PPl) --++ (-\PPlang,{0.5*\PPlang}) --++ (0,{(\PPh-\PPlang)}) --++ (\PPlang,{0.5*\PPlang}) ;
	\draw[] (\PPL,0) --++ (\PPlang,{-0.5*\PPlang}) --++ (0,{-(\PPh-\PPlang)}) --++ (-\PPlang,{-0.5*\PPlang}) ;
	\draw[] (\PPL,\PPl) --++ (\PPlang,{0.5*\PPlang}) --++ (0,{(\PPh-\PPlang)}) --++ (-\PPlang,{0.5*\PPlang}) ;
}

\begin{center}
	\begin{tikzpicture}[thick]
		\PatronPave[L=6,l=3,h=1.25,lang=0.25]
	\end{tikzpicture}
\end{center}

\end{document}