Tl;dr @Rmano's answer points out a major hint: Prependicular coordinates with predefined coordinate
s can significantly ease drawing electrical schematics.
Id like to draw something like the following. I just cannot figure out how to combine a text boxed, custom voltage buses, switches and (custom) converters more intuitively/clean so the wiring will fit and be straight. The MWE below apparently would work but has major flaws in close up listed below. Its a mockup of the objects I will be using, but its going to be a bit more complex in the end, which is why I would like to have versatile shapes and anchors.
Voltsage Buses
- currently a line instead of a shape with specific anchors to attach wiring to other objects
- currently position hard-coded whereas Id like to adjust in relation to any text-block's (or shapes) center
- horizontal width has to be adjustable
Converters
- DC/DC isnt used as a shape at all, no useful anchors
- DC/AC isnt properly attached with in- and out-wiring
Also the wiring thickness of switch and converters seem to mismatch. Its a lot to ask, but I am struggling to put this together more intuitively so any help or hint is appreciated.
\documentclass[border=10pt]{standalone}
\usepackage[siunitx, RPvoltages]{circuitikz}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usetikzlibrary{positioning, shapes, arrows, backgrounds, chains, fit, }
\begin{document}
\begin{circuitikz}[
block/.style = {rectangle, draw, text centered, inner sep=.2cm},
sdcdc/.style = {twoportsplit, t1={$=$}, t2={$=$}},
]
% block
\node [block] (pvgen) {PV-Generator};
% bus
\draw [ultra thick] (pvgen.south)++(-2,-1) node[anchor=south west](pvbus){PV} -- ++(4,0);
\draw [ultra thick] (pvgen.south)++(-2,-8) node[anchor=south west](acbus){AC} -- ++(8,0);
\draw [ultra thick] (pvgen.south)++(-2,-5) node[anchor=south west](dc1bus){DC1} -- ++(4,0);
% switch
\draw (pvbus.270)++(1.5,0) -- ++(0,-.5) node[spdt,anchor=in, rotate=270](spv) {};
% labels
\draw
(spv.in) node[right] {\texttt{S PV}}
(spv.out 1) node[right] {\texttt{1}}
(spv.out 2) node[left] {\texttt{0}};
% dcdc
\draw (spv.out 1) to [sdcdc] ++(0,-2) node[](pvdcdc){};
% dcac
\draw (dc1bus.270)++(1.5,0) -- ++(0,-1) node[sdcacshape, anchor=north](pvdcac){};
% lines
\draw (acbus.270)++(1.6,0) -- (pvdcac.south);
\draw (pvgen.south) -- ++(0,-1);
\draw (dc1bus.270)++(1.72,0) -- (pvdcdc.center);
\draw (dc1bus.270)++(1.1,0) -- (spv.out 2);
\end{circuitikz}
\end{document}
EDIT: This is one desired final schematics. The thick, grey marker line is not of much importance as of now. It is used to show different possible pathways later on if possible. But the actual schematic is more important.