Conexión horizontal de dos anclajes de diferentes formas

Conexión horizontal de dos anclajes de diferentes formas

He definido dos formas: myComponent1, que incluye dos anclas ( PinAy PinB), y myComponent2, que incluye un ancla ( PinA). Estoy buscando orientación sobre cómo conectar directamente PinAde myComponent1a a PinAusando myComponent2un cable horizontal. A continuación, encontrará mi código LaTeX junto con el resultado correspondiente. Por último, he incluido el resultado deseado.

CÓDIGO:

\documentclass{article}

\usepackage{circuitikz}

%% defining My Component 1
\pgfdeclareshape{myComponent1}{
    
    \anchor{center}{\pgfpointorigin}
    
    \savedanchor\PinA{\pgfpoint{60}{50}}
    \anchor{PinA}{\PinA}
    \savedanchor\PinB{\pgfpoint{60}{-50}}
    \anchor{PinB}{\PinB}
    
    \foregroundpath{
        
        \pgfpathrectanglecorners{\pgfpoint{-60}{-100}}{\pgfpoint{60}{100}}
        \pgfusepath{draw}
        
        \pgftext[right, at={\PinA}]{PIN A}
        \pgftext[right, at={\PinB}]{PIN B}
    }
}

%% defining My Component 2
\pgfdeclareshape{myComponent2}{
    
    \anchor{center}{\pgfpointorigin}
    
    \savedanchor\PinA{\pgfpoint{-60}{0}}
    \anchor{PinA}{\PinA}
    
    \foregroundpath{
        
        \pgfpathrectanglecorners{\pgfpoint{-60}{-100}}{\pgfpoint{60}{100}}
        \pgfusepath{draw}
        
        \pgftext[left, at={\PinA}]{PIN A}
    }
}

\begin{document}
    
    \begin{circuitikz}

        \draw (0,0) node[myComponent1, blue] (C1) {};
        \draw (8,5) node[myComponent2, red]  (C2) {};
        
        \draw (C1.PinA) -- (C2.PinA);
    
    \end{circuitikz}
    
\end{document}

PRODUCCIÓN:

ingrese la descripción de la imagen aquí

RESULTADO DESEADO:

ingrese la descripción de la imagen aquí

Respuesta1

Si las dos formas tienen los anclajes en diferentes posiciones verticales, no puedes (obviamente) conectarlas con una línea horizontal.

Lo que puedes hacer es dibujar la primera forma, dibujar una línea horizontal y luego agregar la segunda forma usando el ancla:

 \draw (0,0) node[myComponent1, blue] (C1) {};
 \draw (C1.PinA) -- ++(3,0) node[myComponent2, red, anchor=PinA] (C2) {};

ingrese la descripción de la imagen aquí

De todos modos, eso no tiene nada específico circuitikz, es simple Ti.kZ... MWE completo:

\documentclass{article}
\usepackage{tikz}

%% defining My Component 1
\pgfdeclareshape{myComponent1}{
    \anchor{center}{\pgfpointorigin}
    \savedanchor\PinA{\pgfpoint{60}{50}}
    \anchor{PinA}{\PinA}
    \savedanchor\PinB{\pgfpoint{60}{-50}}
    \anchor{PinB}{\PinB}
    \foregroundpath{
        \pgfpathrectanglecorners{\pgfpoint{-60}{-100}}{\pgfpoint{60}{100}}
        \pgfusepath{draw}
        \pgftext[right, at={\PinA}]{PIN A}
        \pgftext[right, at={\PinB}]{PIN B}
    }
}
%% defining My Component 2
\pgfdeclareshape{myComponent2}{
    \anchor{center}{\pgfpointorigin}
    \savedanchor\PinA{\pgfpoint{-60}{0}}
    \anchor{PinA}{\PinA}
    \foregroundpath{
        \pgfpathrectanglecorners{\pgfpoint{-60}{-100}}{\pgfpoint{60}{100}}
        \pgfusepath{draw}
        \pgftext[left, at={\PinA}]{PIN A}
    }
}

\begin{document}
\begin{tikzpicture}
    \draw (0,0) node[myComponent1, blue] (C1) {};
    \draw (C1.PinA) -- ++(3,0) node[myComponent2, red, anchor=PinA] (C2) {};
\end{tikzpicture}
\end{document}

información relacionada