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>
У файлі є кілька розділів. Усі вони пояснюються нижче. Кожна лінія складається лише з одного інформаційного блоку, який починається знаком “менше” (<
) і який закінчується знаком “більше” (>
).
Властивості¶
Перший розділ починається з <Properties>
і закінчується </Properties>
. Він містить властивості документа, що знаходиться у файлі. Кожний рядок необов’язковий. Підтримуються такі властивості:
<View=x1,y1,x2,y2,scale,xpos,ypos>
містить становище у пікселях вікна схеми (перші чотири числа), його поточний масштаб і поточний стан верхнього лівого кута (останні два числа).<Grid=x,y,on>
містить крок сітки в пікселях (перші два числа) і включена сітка (останнє число = 1) чи виключена (останнє число = 0).<DataSet=name.dat>
містить ім’я файлу набору даних, зв’язаного з цією схемою.<DataDisplay=name.dpl>
містить ім’я файлу з сторінкою перегляду даних, зв’язаного з цією схемою (чи ім’я схемного файла, чи цей документ є переглядом даних).<OpenDisplay=yes>
містить 1, якщо сторінка показу даних відкривається автоматично після моделювання, інакше - 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¶
Цей поділ починається з <Symbol>
і закінчується </Symbol>
. Він містить елементи малювання, складові схемне позначення для файла. Це зазвичай використовується лише у схемних файлів, які вважають підсхемою.
Refers to “Symbol definition” in the “Shared file format” section at the end of this document.
Компоненти¶
Цей розділ починається з <Components>
і закінчується </Components>
. Він містить компоненти ланцюгів схеми. Формат рядки:
<type name active x y xtext ytext mirrorX rotate "Value1" visible "Value2" visible ...>
type
(“тип”) означає компонент, наприклад,R
для резистора,З
для конденсатора.name
(“ім’я”) - унікальне позначення компонента на схемою, наприклад,R1
на першому резистора.1
на поліactive
(“активний”) показує, що це компонент активний, тобто використовують у моделюванні.0
показує, що він неактивний.- Наступні два числа є x і y координатами центру компонента.
- Наступні два числа є x і y координатами верхнього лівого кута тексту компонента. Вони відраховуються від центру компонента.
- Наступні два числа свідчить про дзеркальне відображення щодо осі x (
1
- дзеркальне відображення,0
- немає дзеркального відображення) і обертання проти годинниковий стрілки (кратно 90 градусів, тобто 0...3). - Наступні параметри є значеннями властивостей компонента (у лапках), що їх слід 1, якщо це властивість певне на схемою (інакше 0).
Wires¶
Цей розділ починається з <Wires>
і закінчується </Wires>
. Він містить провідники (електричне з’єднання між компонентами електричного кола), їх мітки і вузли. Формат рядку:
<x1 y1 x2 y2 "label" xlabel ylabel dlabel "node set">
- Цей розділ починається з
<Wires>
і закінчується</Wires>
. Він містить провідники (електричне з’єднання між компонентами електричного кола), їх мітки і вузли. Формат рядку: <code><x1 y1 x2 y2 “label” xlabel ylabel dlabel “node set”></code> - Перший рядок у лапках - ім’я мітки. Вона порожня, якщо користувач не встановив мітку на цей провідник.
- Наступні два числа - x- і y-координати мітки чи нуль, якщо мітки немає.
- The next number is the distance between the wire starting point and the point where the label is set on the wire.
- Останній рядок у лапках - параметри кола провідника, тобто початкова напруга вузла, що використовується ядром симулятора для пошуку рішення. Цей рядок порожній, якщо користувач не встановив параметри вузла електричного кола для цього провідника.
Diagrams¶
Цей розділ починається з <Diagrams>
і закінчується </Diagrams>
. Він містить діаграми з своїми графіками і маркерами.
<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
diatype
token specifies the type of diagram. - The
x
andy
numbers are the coordinate of lower left corner. - The
width
andheight
numbers of diagram boundings. - The
grid
flags with 1 if grid is on and 0 if grid is off. - The
gridColor
in 24 bit hexadecimal RGB value, e.g. #FF0000 is red. - The
gridstyle
is the line style sued of the grid. - The
log
has two field to flag which axes have logarithmical scale. - The
xAutoscale
,xmin
,xstep
,xmax
configure the x-axis scaling, limits. - The
yAutoscale
,ymin
,ystep
,ymax
configure the y-axis scaling, limits. - The
zAutoscale
,zmin
,zstep
,zmax
configure the z-axis scaling, limits. - The
xrotate
,yrotate
,zrotate
numbers set the 3D rotation. - The
xlabel
,ylabel
,zlabel
hold the labels used on each axis. - The list of frequencies
"[freq Hz;]*"
is used byPhasor
andWaveac
.
Here is a list of known diagram types:
Curve
for a locus curve diagram.Smith
for an impedance Smith diagram.ySmith
for an admittance Smith diagram.PS
for a mixed polar/smith diagram.SP
for a upper-half mixed polar/smith diagram.Polar
for a polar diagram.Rect
for a 2D-cartesian diagram.Rect3D
for a 3D-cartesain diagram.Tab
for a tabular diagram.Time
for a timing diagram.Truth
for a truth-table diagram.Phasor
for a complex phasor diagram.Waveac
for a wave as temporal diagram.
Graph line format:
- The
graphvar
specify the variable this graph is plotting for. - The
color
,thickness
andstyle
refers to the pen used to draw the curve. - The
precision
specify the number of digits used when displaying data values. - The
numberformat
is an integer that specify how the number are formated (0 for real/imag, 1 for polar/deg and 2 for polar/rad). - The
axisside
is an integer indicating on which side the Y axis should be placed ().
Marker line format:
- The
x
andy
are the location of the marker. - The
precision
... - The
numberformat
... - The
transparent
Paintings¶
Цей розділ починається з <Paintings>
і закінчується </Paintings>
. Він містить елементи малювання, які є в схемі.
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.