I don't really get the question so I hope this is what you wanted. If you include a full document (such that we copy paste and see the problem on our systems) things are much more easier.
Here, you can change the default setting within a scope but your block
style had a node distance
which was resetting every time it is issued. I've made it 2mm such that we can see the difference easier.
\documentclass[tikz]{standalone}
\usetikzlibrary{arrows,shapes.geometric,positioning}
\begin{document}
\begin{tikzpicture}[decision/.style={diamond, draw, text width=4.5em, text badly centered, node distance=3.5cm, inner sep=0pt},
block/.style ={rectangle, draw, text width=6em, text centered, rounded corners, minimum height=4em, minimum height=2em},
cloud/.style ={draw, ellipse, minimum height=2em},
line/.style ={draw,-latex'},
node distance = 1cm,
auto]
\node [block] (1st) {1st};
\node [block, right= of 1st] (2nd1) {2nd1};
\begin{scope}[node distance=2mm and 10mm]%Here we change it for everything inside this scope
\node [block, above= of 2nd1] (2nd2) {2nd2};
\node [block, below= of 2nd1] (2nd3) {2nd3};
\node [block, right= of 2nd1] (3rd1) {3rd1};
\node [block, above= of 3rd1] (3rd2) {3rd2};
\node [block, above= of 3rd2] (3rd3) {3rd3};
\end{scope}
\node [block, below= of 3rd1] (3rd4) {3rd4};
\node [block, below= of 3rd4] (3rd5) {3rd5};
\path [line] (1st) -- (2nd1);
\path [line] (2nd1) -- (2nd2);
\path [line] (2nd1) -- (2nd3);
\path [line] (2nd2) -- (3rd3);
\path [line] (2nd1) -- (3rd1);
\path [line] (1st) -- (2nd1);
\end{tikzpicture}
\end{document}
![enter image description here](https://i.stack.imgur.com/SWssd.png)
You can set an option that only applies to the children, if you use the every child
style.
The no edge from this parent
style is setup in a way that the children of the child it is used on doesn’t draw the edge.
Instead of draw one
you can set any other option an edge can have. This does not include a \draw
command!
For edges in a tree there is a special key that sets the path: edge from parent path
.
The default path is
(\tikzparentnode\tikzparentanchor) -- (\tikzchildnode\tikzchildanchor)
Code
\documentclass[tikz,convert=false]{standalone}
\begin{document}
\begin{tikzpicture}[
no edge from this parent/.style={
every child/.append style={
edge from parent/.style={draw=none}}},
a/.style={circle, draw=black},
b/.style={rectangle, draw=red},
]
\node[a] {}
child {node[a] {}}
child[no edge from this parent] {node[b] {no}
child {node[a] {no}}
child {node[b] {no}}
}
child {node[a] {}}
;
\end{tikzpicture}
\end{document}
Output
![enter image description here](https://i.stack.imgur.com/BChqs.png)
Best Answer
Found the solution. Instead of
I put
and it worked!