For the following code,
\documentclass[border=2pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{matrix,positioning,calc}
\usetikzlibrary{decorations.pathmorphing,arrows.meta,backgrounds,hobby}
\tikzset{>={Latex[width=2mm,length=2mm]},
Nozzle/.pic={
\draw[fill=yellow]
(0,0)
-- ++(0.4,0) coordinate(-a)
-- ++(1,-2) coordinate(-b)
-- ++(0,-0.2) coordinate(-c)
-- ++(-0.2,0) coordinate(-d)
-- ++(0,-0.2) coordinate(-e)
-- ++(-0.2,0)
-- ++(0,0.4)
-- cycle ;
\draw[fill=brown] (#1-c)
-- (#1-d)
-- (#1-e)
-- ++(0.4,-0.1)
-- ++(0,0.1)
-- cycle;
}}
\begin{document}
\begin{tikzpicture}
\pic (left) at (0,0) {Nozzle};
\pic[xscale=-1] (right) at (4,0) {Nozzle};
\end{tikzpicture}
\end{document}
the output is
while the desired output should be



#1in the second draw statement. After that, the code still does not work which is due, I think, to a bug in the implementation of\pic. I remember to have read this argument (\picbeing buggy) also as an answer to other complaints about\picbehaving strangely. I recommend to use a macro definition as I have proposed in my answer to your previous question. – gernot Apr 05 '17 at 17:49#1since I thought it should be after checking this answer. I tried to follow Ignasi's answer, but probably, I will stick to the macro approach. – Diaa Apr 05 '17 at 17:58