Usando uma linha como nó no tikz

Usando uma linha como nó no tikz

existe uma sintaxe que permite usar uma linha como nó no tikz? No exemplo a seguir:

\documentclass{standalone}  
\usepackage{tikz}

\begin{document}
    \begin{tikzpicture}
    %dummy nodes
    \node (A) at (0,0) {};
    \node (B) at (5,0) {};
    \node (C) at (2,-5) {};
        \draw (A)--(B);
        \draw (C)--(2,0);
    \end{tikzpicture}
\end{document}

insira a descrição da imagem aqui

Eu gostaria de escrever algo como \draw (C)--[(A)--(B)]em vez de \draw (C)--(2,0). É claro que neste exemplo eu conheço explicitamente as coordenadas dos nós, mas no meu diagrama real não, e sempre que adiciono algo que altera o tamanho dele, tenho que ajustar por tentativa e erro a coordenada do nó explícito .

Obrigado

Responder1

Opção local bounding box=<node name>é o que você precisa aqui.

\documentclass{standalone}  
\usepackage{tikz}

\begin{document}
    \begin{tikzpicture}
    %dummy nodes
    \node (A) at (0,0) {};
    \node (B) at (5,0) {};
    \node (C) at (2,-5) {};
        % this creates a rectangle node named AB
        \draw[local bounding box=AB] (A)--(B);
        \draw (C) |- (AB);
    \end{tikzpicture}
\end{document}

Atualizar:E uma versão modificadora de projeção:

\documentclass{standalone}  
\usepackage{tikz}
\usetikzlibrary{calc}

\begin{document}
    \begin{tikzpicture}
    %dummy nodes
    \node (A) at (0,0) {};
    \node (B) at (5,0) {};
    \node (C) at (2,-5) {};
        \draw (A)--(B);
        % draw a line from node C to the projection of C on line A to B
        % see pgfmanual, sec. 13.5.5 _The Syntax of Projection Modifiers_
        \draw (C) |- ($(A)!(C)!(B)$);
    \end{tikzpicture}
\end{document}

informação relacionada