Su ejemplo se parece mucho a modelica un lenguaje orientado a objetos para la simulación basado en la creación de bloques y la conexión de puertos entre los bloques.
Un ejemplo que utiliza la biblioteca de componentes eléctricos (de maplesoft.com ),
encapsulated model ChuaCircuit "Chua's circuit, ns, V, A"
import Modelica.Electrical.Analog.Basic;
import Modelica.Electrical.Analog.Examples.Utilities;
import Modelica.Icons;
extends Icons.Example;
Basic.Inductor L(L=18);
Basic.Resistor Ro(R=12.5e-3);
Basic.Conductor G(G=0.565);
Basic.Capacitor C1(C=10, v(start=4));
Basic.Capacitor C2(C=100);
Utilities.NonlinearResistor Nr(
Ga(min=-1) = -0.757576,
Gb(min=-1) = -0.409091,
Ve=1);
Basic.Ground Gnd;
equation
connect(L.p, G.p);
connect(G.n, Nr.p);
connect(Nr.n, Gnd.p);
connect(C1.p, G.n);
connect(L.n, Ro.p);
connect(G.p, C2.p);
connect(C1.n, Gnd.p);
connect(C2.n, Gnd.p);
connect(Ro.n, Gnd.p);
end ChuaCircuit;
Aunque se puede generar un esquema a partir del modelo, normalmente se hace en una GUI que anota los componentes con información de posición y orientación.
5 votos
Por cierto, tu código de ejemplo me parece un netlist. Sólo define un par de partes (con presumiblemente una biblioteca que le dice a la herramienta cuántos terminales tiene cada una) y luego dice qué terminales están conectados entre sí. Si lo utilizas un poco, puede que incluso encuentres que es más fácil poder nombrar los nodos y conectar los terminales a los nodos en lugar de a otros terminales.
0 votos
¿Puedes editar tu pregunta para aclarar si te refieres a esquemas legibles por humanos? Si es así, sospecho que la respuesta es "no". Parte de la alegría de los buenos esquemas es que el dibujante ha presentado el dibujo en un formato lógico y legible.
3 votos
Hay un gran abismo entre "es posible" y "es útil", para muchos temas.
0 votos
@whatsisname Es más fácil escribir el código que dibujar los esquemas a mano, ya que perderá tiempo pensando en la mejor manera de dibujarlos. Codificarlo es simplemente sencillo.
0 votos
También puedes considerar Spice, que es esencialmente una lista de redes codificadas y se conecta directamente a un simulador como LTSpice (gratuito).
3 votos
Creo que podría estar mirando el HDL. Aunque en su mayoría describen circuitos digitales, técnicamente no se limitan a ellos (creo que Verilog tiene algún soporte para ellos). Como señaló @ThePhoton lo que has mostrado parece una lista de red, que es lo que normalmente compilar.
2 votos
La razón por la que se necesita tiempo para pensar en la mejor manera de dibujarlo es que hay que entender bien el circuito y cómo hacer que su función sea clara para la gente que mira el dibujo. Nada de esto es algo que los ordenadores saben hacer, así que pedirle a un ordenador que lo haga por ti es buscarse problemas.
1 votos
Si estás pensando que sólo usarás esta descripción como entrada a la herramienta de diseño de PCB, de modo que no tiene que ser utilizada por un lector humano, entonces qué usarás como documentación para que alguien (tú) resuelva los problemas del circuito después de construirlo, o para modificar el diseño más tarde. Si utilizas la entrada de esquemas, básicamente estás escribiendo la documentación y utilizándola como entrada para la herramienta de diseño. Ahora usted sabe que su diseño coincidirá con la documentación.
0 votos
Escribe el tuyo propio. Lo hice hace 43 años en Fortran.
0 votos
Muchos programas de esquemas/capturas ofrecen un lenguaje de macros que permite hacer lo que se quiera. EAGLE es fuerte en esta área.