Qucs File Formats¶
This document describes the schematic and library file formats of Qucs.
Schematic file format¶
This format is used for schematics (usually with suffix .sch) and for data
displays (usually with suffix .dpl). The following text shows a short
example of a schematic file.
<Qucs Schematic 0.0.6>
<Properties>
<View=0,0,800,800,1,0,0>
</Properties>
<Symbol>
<.ID -20 14 SUB>
</Symbol>
<Components>
<R R1 1 180 150 15 -26 0 1 "50 Ohm" 1 "26.85" 0 "european" 0>
<GND * 1 180 180 0 0 0 0>
</Components>
<Wires>
<180 100 180 120 "" 0 0 0 "">
<120 100 180 100 "Input" 170 70 21 "">
</Wires>
<Diagrams>
<Polar 300 250 200 200 1 #c0c0c0 1 00 1 0 1 1 1 0 5 15 1 0 1 1 315 0 225 "" "" "">
<"acnoise2:S[2,1]" #0000ff 0 3 0 0 0>
<Mkr 6e+09 118 -195 3 0 0>
</Polar>
</Diagrams>
<Paintings>
<Arrow 210 320 50 -100 20 8 #000000 0 1>
</Paintings>
Každý řádek obsahuje mnoho sekcí. Každá je vysvětlena níže. Každá řádka neobsahuje více jak jeden blok informací které začínají znakem < a končí znakem >.
Vlastnosti (Properties)¶
První část začíná s <Properties> a končí </Properties>. Tento blok obsahuje vlastnosti souboru dokumentu. Každá řádka je volitelná (neí třeba vše definovat). Následující vlastnosti jsou podoprovány:
<View=x1,y1,x2,y2,scale,xpos,ypos>první čtyři čísla udávají pozici okna se shématem. Je to současná velikost tohoto okna a pozice levého horního rohu (poslední dvě čísla).<Grid=x,y,on>udává rozestup v mřížce v pixelech (první dvě čísla) a jestli je zapnut (poslední číslo je 1), nebo vypnut (poslední číslo je 0).<DataSet=name.dat>Do tohoto souboru se ukládají výsledky ze simulace.<DataDisplay=name.dpl>Do tohoto souboru se ukládají další informace o simulaci.<OpenDisplay=yes>obsahuje 1 pokud se stránkaDataDisplaymá automaticky otevří po simulaci. V opačném případě obsahuje 0.<Script=name.m>contains the file name of the octave script associated with this schematic.<RunScript=0>contains 1 if the octave script is executed after the simulation.<showFrame=0>specify if a frame is drawn and if so which size it is. valid values are 0 (do not show a frame), 1 (A5 landscape), 2 (A5 portrait), 3 (A4 landscape), 4 (A4 portrait), 5 (A3 landscape), 6 (A3 portrait), 7 (letter landscape) and 8 (letter portrait).<FrameText0=NE555 sub-circuit model>,FrameText1=Draw by: anonymous,FrameText2=Date: 1984, and<FrameText3=Revision: 42>specifiy the texts to be placed into the frame text boxes.
Symbol¶
Začíná znaky <Symbol> a končí </Symbol>. Obsahuje grafické součásti, které tvoří schématický symbor pro soubor. Toto je často používáno pro soubory schémat, které bývají později použity jako vnořené obvody.
Refers to “Symbol definition” in the “Shared file format” section at the end of this document.
Components (Komponenty)¶
Začíná znaky <Components> a končí </Components>. Obsahuje komponenty obvodů ve schématech. Formát je následující:
<type name active x y xtext ytext mirrorX rotate "Value1" visible "Value2" visible ...>
type- identifikuje komponenty. Např.:Rjako rezistor,Cjako kapacitu.name- toto je zcela jedinečný identifikátor ve schématu. Např.:R1pro první rezistor.active- pokud je zde1, znamená to, že komponenta je aktivní. Například je použita v simulaci. Pokud je zde0, je neaktivní.- “x y” - Tyto dvě čísla určují, polohu komponenty (resp. kde se bude nacházet její střed).
- “xtext ytext” - Tato čísla určují polohu textu, který slouží jako popisek pro určitou komponentu (resp. určuje, kde se bude nacházet horní levý roh popisku). Tyto údaje udávají vzdálenost od středu komponenty.
mirrorX rotate- Následující dvě čísla definují zrcadlení podle osy x (1pro zrcadlení,0nezrcadlí se) a rotaci ve stupních (proti směru hodinových ručiček).Value1 visible- Zde se udává hodnota komponenty (v uvozovkách) . Pokud je za ní1, pak bude ve schématu zobrazena. Pokud bude hodnota0, pak nebude ve schématu zobrazena.
Vedení¶
Začíná <Wires> a končí </Wires>. Obsahuje informace o vedení, které spojuje jednotlivé komponenty (co spojuje, název, atd.). Formát je následující:
<x1 y1 x2 y2 "label" xlabel ylabel dlabel "node set">
- “x1 y1 x2 y2” - Tyto čtyři čísla určují počátek (x1, y1) a konec (x2, x2) vodiče. Veškeré vodiče musí být ve vodorovné, nebo horizontální poloze (tzn. že budou obě xové, nebo obě ypsylonové souřadnice stejné).
- “”label”” - Tato proměnná nastavuje popisek. Pokud je prázdná, znamená to, že vodiči nedal uživatel žádný název.
- “xlabel ylabel” - Další dvě čísla jsou xové a ypsylonové souřadnice popisku. Pokud jsou zde nuly, znamená to, že popisek neexistuje.
- The next number is the distance between the wire starting point and the point where the label is set on the wire.
- “”node set”” - Text v uvozovkách udává jméno uzlu vodiče. Např.: počáteční napětí na tomto uzlu je právě jméno uzlu tohoto vodiče, pak se engine pokusí najít řešení. Pokud je tato položka prázdná, znamená to, že uživatel nenastavil jméno uzlu pro daný vodič.
Diagramy¶
Začíná <Diagrams> a končí </Diagrams>. Obsahuje diagramy s jejich grafy a značkami. The line format is as follows (line break not allowed):
<diatype x y width height grid gridcolor gridstyle log xAutoscale xmin
xstep xmax yAutoscale ymin ystep ymax zAutoscale zmin zstep zmax
xrotate yrotate zrotate "xlabel" "ylabel" "zlabel" "[freq Hz;]*">
<"graphvar" color thickness precision numberformat style axisside>
<Mkr x y precision numberformat transparent>
</diatype>
Diagram line format:
- The
diatypetoken specifies the type of diagram. - The
xandynumbers are the coordinate of lower left corner. - The
widthandheightnumbers of diagram boundings. - The
gridflags with 1 if grid is on and 0 if grid is off. - The
gridColorin 24 bit hexadecimal RGB value, e.g. #FF0000 is red. - The
gridstyleis the line style sued of the grid. - The
loghas two field to flag which axes have logarithmical scale. - The
xAutoscale,xmin,xstep,xmaxconfigure the x-axis scaling, limits. - The
yAutoscale,ymin,ystep,ymaxconfigure the y-axis scaling, limits. - The
zAutoscale,zmin,zstep,zmaxconfigure the z-axis scaling, limits. - The
xrotate,yrotate,zrotatenumbers set the 3D rotation. - The
xlabel,ylabel,zlabelhold the labels used on each axis. - The list of frequencies
"[freq Hz;]*"is used byPhasorandWaveac.
Here is a list of known diagram types:
Curvefor a locus curve diagram.Smithfor an impedance Smith diagram.ySmithfor an admittance Smith diagram.PSfor a mixed polar/smith diagram.SPfor a upper-half mixed polar/smith diagram.Polarfor a polar diagram.Rectfor a 2D-cartesian diagram.Rect3Dfor a 3D-cartesain diagram.Tabfor a tabular diagram.Timefor a timing diagram.Truthfor a truth-table diagram.Phasorfor a complex phasor diagram.Waveacfor a wave as temporal diagram.
Graph line format:
- The
graphvarspecify the variable this graph is plotting for. - The
color,thicknessandstylerefers to the pen used to draw the curve. - The
precisionspecify the number of digits used when displaying data values. - The
numberformatis an integer that specify how the number are formated (0 for real/imag, 1 for polar/deg and 2 for polar/rad). - The
axissideis an integer indicating on which side the Y axis should be placed ().
Marker line format:
- The
xandyare the location of the marker. - The
precision... - The
numberformat... - The
transparent
Obrazce¶
Začíná znaky <Paintings> a končí </Paintings>. Obsahuje obrazce, které jsou ve schématu.
Refers to “Shared file format” section below.
Library file format¶
This format is used for libraries (usually with suffix .lib). The
following text shows a short example of a library file.
<Qucs Library 0.0.14 "Ideal">
<DefaultSymbol>
<.ID -26 13 D>
<Line -30 0 60 0 #000080 2 1>
<Line -6 -9 0 18 #000080 2 1>
<Line 6 -9 0 18 #000080 2 1>
<Line -6 0 12 -9 #000080 2 1>
<Line -6 0 12 9 #000080 2 1>
<Line -6 9 4 0 #000080 2 1>
<.PortSym -30 0 1 0>
<.PortSym 30 0 2 180>
</DefaultSymbol>
<Component VSum>
<Description>
Voltage adder
</Description>
<Model>
.Def:Ideal_AP1 _net3 _net2 fc="1E3"
Sub:VSUB1 _net0 _net1 _net2 Type="VSub"
Sub:LP1F1 _net3 _net0 Type="LP1" fc="fc2" V0="0"
Sub:HP1F1 _net3 _net1 Type="HP1" fc="fc2"
Eqn:Eqn1 fc2="fc/0.6436" Export="yes"
.Def:End
</Model>
<ModelIncludes "HP1.sch.lst" "LP1.sch.lst" "VSub.sch.lst">
<Symbol>
<Ellipse -20 -20 40 40 #000080 2 1 #c0c0c0 1 0>
<Line -10 0 20 0 #000080 1 1>
<Line 0 -10 0 20 #000080 1 1>
<Line 0 30 0 -10 #000080 2 1>
<.PortSym 0 30 2 0>
<.PortSym 30 0 3 180>
<Line 20 0 10 0 #000080 2 1>
<.ID 10 14 VADD>
<Line 0 -20 0 -10 #000080 2 1>
<.PortSym 0 -30 1 0>
</Symbol>
</Component>
The first line specify that this file is a Qucs library file generated by Qucs 0.0.14 and that the library is named “Ideal”.
The file contains on optional DefaultSymbol section, followed by
Component sections. Each section is explained below.
Default symbol¶
This section starts with <DefaultSymbol> and ends with </DefaultSymbol>.
It contains painting elements creating a default schematic symbol for any
subsequent component declaration that doesn’t define its own.
Refers to “Shared file format” section below.
Component¶
This section starts with <Component> and ends with </Component>. It
contains the component definition for use with schematic documents.
The component section is an aggregation of the following sub-sections:
<Description>and</Description>contain lines of free text describing the component function.<Model>and</Model>contain the Qucsator netlist lines for this component.<ModelIncludes "value0" "value1" ...>...<Spice>and</Spice>`are optional and contain the Spice netlist lines for this component.<Symbol>and</Symbol>are optional and contain painting elements defining the schematic symbol to be used with this component. Refers to “Symbol definition” section below.