new matching network option: defined shunt
This commit is contained in:
parent
32a5fac5ef
commit
8db7f003ee
@ -65,3 +65,18 @@ void Parameters::fromJSON(nlohmann::json j)
|
||||
m21 = complex<double>(j.value("m21_real", 0.0), j.value("m21_imag", 0.0));
|
||||
m22 = complex<double>(j.value("m22_real", 0.0), j.value("m22_imag", 0.0));
|
||||
}
|
||||
|
||||
Yparam::Yparam(const Sparam &s, Type Z01, Type Z02)
|
||||
{
|
||||
// from https://www.rfcafe.com/references/electrical/s-h-y-z.htm
|
||||
auto denom = (conj(Z01)+s.m11*Z01)*(conj(Z02)+s.m22*Z02)-s.m12*s.m21*Z01*Z02;
|
||||
m11 = ((1.0-s.m11)*(conj(Z02)+s.m22*Z02)+s.m12*s.m21*Z02) / denom;
|
||||
m12 = -2.0*s.m12*sqrt(real(Z01)*real(Z02));
|
||||
m21 = -2.0*s.m21*sqrt(real(Z01)*real(Z02));
|
||||
m22 = ((conj(Z01)+s.m11*Z01)*(1.0-s.m22)+s.m12*s.m21*Z01) / denom;
|
||||
}
|
||||
|
||||
Yparam::Yparam(const Sparam &s, Type Z0)
|
||||
: Yparam(s, Z0, Z0)
|
||||
{
|
||||
}
|
||||
|
@ -131,4 +131,11 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class Yparam : public Parameters {
|
||||
public:
|
||||
using Parameters::Parameters;
|
||||
Yparam(const Sparam &s, Type Z01, Type Z02);
|
||||
Yparam(const Sparam &s, Type Z0);
|
||||
};
|
||||
|
||||
#endif // TPARAM_H
|
||||
|
@ -109,6 +109,7 @@ void MatchingNetwork::edit()
|
||||
ui->lParallelL->installEventFilter(this);
|
||||
ui->lParallelR->installEventFilter(this);
|
||||
ui->lDefinedThrough->installEventFilter(this);
|
||||
ui->lDefinedShunt->installEventFilter(this);
|
||||
|
||||
ui->port->setValue(port);
|
||||
ui->port->setMaximum(VirtualDevice::getInfo(VirtualDevice::getConnected()).ports);
|
||||
@ -361,6 +362,8 @@ bool MatchingNetwork::eventFilter(QObject *object, QEvent *event)
|
||||
dragComponent = new MatchingComponent(MatchingComponent::Type::ParallelR);
|
||||
} else if(object->objectName() == "lDefinedThrough") {
|
||||
dragComponent = new MatchingComponent(MatchingComponent::Type::DefinedThrough);
|
||||
} else if(object->objectName() == "lDefinedShunt") {
|
||||
dragComponent = new MatchingComponent(MatchingComponent::Type::DefinedShunt);
|
||||
} else {
|
||||
dragComponent = nullptr;
|
||||
}
|
||||
@ -470,6 +473,19 @@ MatchingComponent::MatchingComponent(Type type)
|
||||
updateTouchstoneLabel();
|
||||
}
|
||||
break;
|
||||
case Type::DefinedShunt: {
|
||||
touchstone = new Touchstone(2);
|
||||
touchstoneLabel = new QLabel();
|
||||
touchstoneLabel->setWordWrap(true);
|
||||
touchstoneLabel->setAlignment(Qt::AlignCenter);
|
||||
auto layout = new QVBoxLayout();
|
||||
layout->addWidget(touchstoneLabel);
|
||||
layout->setContentsMargins(0, 0, 0, 0);
|
||||
setLayout(layout);
|
||||
setStyleSheet("image: url(:/icons/definedShunt.png);");
|
||||
updateTouchstoneLabel();
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -504,7 +520,16 @@ ABCDparam MatchingComponent::parameters(double freq)
|
||||
} else {
|
||||
auto d = touchstone->interpolate(freq);
|
||||
auto S = Sparam(d.S[0], d.S[1], d.S[2], d.S[3]);
|
||||
return ABCDparam(S, 50.0);
|
||||
return ABCDparam(S, touchstone->getReferenceImpedance());
|
||||
}
|
||||
case Type::DefinedShunt:
|
||||
if(touchstone->points() == 0 || freq < touchstone->minFreq() || freq > touchstone->maxFreq()) {
|
||||
// outside of provided frequency range, pass through unchanged
|
||||
return ABCDparam(1.0, 0.0, 0.0, 1.0);
|
||||
} else {
|
||||
auto d = touchstone->interpolate(freq);
|
||||
auto Y = Yparam(Sparam(d.S[0], d.S[1], d.S[2], d.S[3]), touchstone->getReferenceImpedance());
|
||||
return ABCDparam(1.0, 0.0, Y.m11, 1.0);
|
||||
}
|
||||
default:
|
||||
return ABCDparam(1.0, 0.0, 0.0, 1.0);
|
||||
@ -547,6 +572,7 @@ nlohmann::json MatchingComponent::toJSON()
|
||||
j["value"] = eValue->value();
|
||||
break;
|
||||
case Type::DefinedThrough:
|
||||
case Type::DefinedShunt:
|
||||
j["touchstone"] = touchstone->toJSON();
|
||||
break;
|
||||
case Type::Last:
|
||||
@ -567,6 +593,7 @@ void MatchingComponent::fromJSON(nlohmann::json j)
|
||||
eValue->setValue(j.value("value", 1e-12));
|
||||
break;
|
||||
case Type::DefinedThrough:
|
||||
case Type::DefinedShunt:
|
||||
touchstone->fromJSON(j["touchstone"]);
|
||||
updateTouchstoneLabel();
|
||||
break;
|
||||
@ -578,7 +605,7 @@ void MatchingComponent::fromJSON(nlohmann::json j)
|
||||
void MatchingComponent::mouseDoubleClickEvent(QMouseEvent *e)
|
||||
{
|
||||
Q_UNUSED(e);
|
||||
if(type == Type::DefinedThrough) {
|
||||
if(type == Type::DefinedThrough || type == Type::DefinedShunt) {
|
||||
// select new touchstone file
|
||||
auto filename = QFileDialog::getOpenFileName(nullptr, "Open measurement file", "", "Touchstone files (*.s2p)", nullptr, QFileDialog::DontUseNativeDialog);
|
||||
if (!filename.isEmpty()) {
|
||||
@ -588,6 +615,7 @@ void MatchingComponent::mouseDoubleClickEvent(QMouseEvent *e)
|
||||
InformationBox::ShowError("Failed to load file", QString("Attempt to load file ended with error: \"") + e.what()+"\"");
|
||||
}
|
||||
updateTouchstoneLabel();
|
||||
emit valueChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -597,6 +625,9 @@ void MatchingComponent::updateTouchstoneLabel()
|
||||
if(!touchstone || !touchstoneLabel) {
|
||||
return;
|
||||
}
|
||||
QFont font = touchstoneLabel->font();
|
||||
font.setPointSize(10);
|
||||
touchstoneLabel->setFont(font);
|
||||
if(touchstone->points() == 0) {
|
||||
touchstoneLabel->setText("No data. Double-click to select touchstone file");
|
||||
} else {
|
||||
@ -604,6 +635,11 @@ void MatchingComponent::updateTouchstoneLabel()
|
||||
+ " to "+Unit::ToString(touchstone->maxFreq(), "Hz", " kMG", 4);
|
||||
touchstoneLabel->setText(text);
|
||||
}
|
||||
if(type == Type::DefinedThrough) {
|
||||
touchstoneLabel->setAlignment(Qt::AlignCenter);
|
||||
} else if(type == Type::DefinedShunt) {
|
||||
touchstoneLabel->setAlignment(Qt::AlignTop | Qt::AlignHCenter);
|
||||
}
|
||||
}
|
||||
|
||||
QString MatchingComponent::typeToName(MatchingComponent::Type type)
|
||||
@ -616,6 +652,7 @@ QString MatchingComponent::typeToName(MatchingComponent::Type type)
|
||||
case Type::ParallelL: return "ParallelL";
|
||||
case Type::ParallelC: return "ParallelC";
|
||||
case Type::DefinedThrough: return "Touchstone Through";
|
||||
case Type::DefinedShunt: return "Touchstone Shunt";
|
||||
default: return "";
|
||||
}
|
||||
}
|
||||
|
@ -24,6 +24,7 @@ public:
|
||||
ParallelL,
|
||||
ParallelC,
|
||||
DefinedThrough,
|
||||
DefinedShunt,
|
||||
// Add new matching components here, do not explicitly assign values and keep the Last entry at the last position
|
||||
Last,
|
||||
};
|
||||
|
@ -596,6 +596,49 @@
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="3">
|
||||
<widget class="QFrame" name="frame_8">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_11">
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="lDefinedShunt">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">border-image: url(:/icons/definedShunt.svg);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Def. Shunt</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignHCenter|Qt::AlignTop</set>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
|
@ -50,14 +50,12 @@
|
||||
<file>icons/down.png</file>
|
||||
<file>icons/up.png</file>
|
||||
<file>icons/chainlink.png</file>
|
||||
<file>icons/definedThrough.svg</file>
|
||||
<file>icons/seriesR.png</file>
|
||||
<file>icons/seriesL.png</file>
|
||||
<file>icons/seriesC.png</file>
|
||||
<file>icons/parallelR.png</file>
|
||||
<file>icons/parallelL.png</file>
|
||||
<file>icons/parallelC.png</file>
|
||||
<file>icons/definedThrough.png</file>
|
||||
<file>icons/LibreVNAV1.svg</file>
|
||||
<file>icons/compound_V1_Ref_Left.svg</file>
|
||||
<file>icons/compound_V1_Ref_Middle.svg</file>
|
||||
@ -69,5 +67,9 @@
|
||||
<file>icons/compound_V1_USB.png</file>
|
||||
<file>icons/DUT_onePort.png</file>
|
||||
<file>icons/port.png</file>
|
||||
<file>icons/definedShunt.png</file>
|
||||
<file>icons/definedShunt.svg</file>
|
||||
<file>icons/definedThrough.png</file>
|
||||
<file>icons/definedThrough.svg</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
BIN
Software/PC_Application/LibreVNA-GUI/icons/definedShunt.png
Normal file
BIN
Software/PC_Application/LibreVNA-GUI/icons/definedShunt.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.5 KiB |
68
Software/PC_Application/LibreVNA-GUI/icons/definedShunt.svg
Normal file
68
Software/PC_Application/LibreVNA-GUI/icons/definedShunt.svg
Normal file
@ -0,0 +1,68 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="113.386pt" height="113.386pt" viewBox="0 0 113.386 113.386" version="1.1">
|
||||
<defs>
|
||||
<g>
|
||||
<symbol overflow="visible" id="glyph0-0">
|
||||
<path style="stroke:none;" d=""/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph0-1">
|
||||
<path style="stroke:none;" d="M 0.53125 1.90625 C 0.8125 1.90625 1.0625 1.671875 1.0625 1.390625 C 1.0625 1.09375 0.8125 0.859375 0.53125 0.859375 C 0.234375 0.859375 0 1.09375 0 1.390625 C 0 1.671875 0.234375 1.90625 0.53125 1.90625 Z M 0.53125 1.90625 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph0-2">
|
||||
<path style="stroke:none;" d="M 3.734375 3.890625 C 3.71875 3.625 3.5 3.421875 3.28125 3.421875 C 3.140625 3.421875 2.984375 3.515625 2.984375 3.734375 C 2.984375 3.953125 3.15625 4.1875 3.546875 4.1875 C 4 4.1875 4.40625 3.765625 4.40625 3 C 4.40625 1.6875 3.390625 1.3125 2.953125 1.3125 C 2.171875 1.3125 2.03125 2.046875 1.96875 2.34375 C 1.859375 2.859375 1.75 3.375 1.203125 3.375 C 0.953125 3.375 0.109375 3.15625 0.109375 1.953125 C 0.109375 1.8125 0.109375 1.046875 0.640625 0.8125 C 0.59375 1.203125 0.890625 1.453125 1.171875 1.453125 C 1.390625 1.453125 1.515625 1.28125 1.515625 1.078125 C 1.515625 0.8125 1.3125 0.515625 0.859375 0.515625 C 0.296875 0.515625 -0.109375 1.09375 -0.109375 1.9375 C -0.109375 3.5625 1.09375 3.953125 1.546875 3.953125 C 1.90625 3.953125 2.15625 3.765625 2.265625 3.640625 C 2.546875 3.375 2.609375 3.078125 2.6875 2.640625 C 2.765625 2.28125 2.84375 1.890625 3.296875 1.890625 C 3.578125 1.890625 4.1875 2.125 4.1875 3 C 4.1875 3.25 4.109375 3.75 3.734375 3.890625 Z M 3.734375 3.890625 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph0-3">
|
||||
<path style="stroke:none;" d="M -1.21875 0.453125 C -1.5625 0.375 -1.625 0.34375 -1.625 -0.09375 C -1.625 -0.203125 -1.625 -0.3125 -1.8125 -0.3125 C -1.890625 -0.3125 -1.9375 -0.265625 -1.9375 -0.1875 C -1.9375 0.078125 -1.90625 0.375 -1.90625 0.640625 C -1.90625 0.984375 -1.9375 1.3125 -1.9375 1.640625 C -1.9375 1.6875 -1.9375 1.8125 -1.734375 1.8125 C -1.625 1.8125 -1.625 1.71875 -1.625 1.578125 C -1.625 1.078125 -1.5625 1.078125 -1.46875 1.078125 C -1.34375 1.078125 0.28125 1.5 0.53125 1.5625 C 0.234375 1.6875 -0.109375 1.96875 -0.109375 2.484375 C -0.109375 3.640625 1.34375 4.890625 2.8125 4.890625 C 3.75 4.890625 4.40625 4.3125 4.40625 3.5625 C 4.40625 3.0625 4.046875 2.578125 3.65625 2.25 C 4.203125 2.15625 4.40625 1.71875 4.40625 1.359375 C 4.40625 0.890625 4.015625 0.703125 3.84375 0.625 C 3.5 0.4375 2.90625 0.3125 2.875 0.3125 C 2.765625 0.3125 2.765625 0.40625 2.765625 0.421875 C 2.765625 0.53125 2.78125 0.53125 3 0.59375 C 3.703125 0.765625 4.1875 0.96875 4.1875 1.328125 C 4.1875 1.5 4.109375 1.640625 3.734375 1.640625 C 3.5 1.640625 3.390625 1.609375 3.21875 1.5625 Z M 3.109375 2.203125 C 3.375 2.265625 3.65625 2.546875 3.8125 2.71875 C 4.109375 3.078125 4.1875 3.359375 4.1875 3.53125 C 4.1875 3.921875 3.84375 4.171875 3.25 4.171875 C 2.65625 4.171875 1.515625 3.84375 1.140625 3.65625 C 0.4375 3.3125 0.109375 2.84375 0.109375 2.46875 C 0.109375 1.8125 0.9375 1.6875 1 1.6875 C 1.015625 1.6875 1.03125 1.6875 1.15625 1.71875 Z M 3.109375 2.203125 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-0">
|
||||
<path style="stroke:none;" d=""/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-1">
|
||||
<path style="stroke:none;" d="M 0.765625 1.265625 L 1.796875 2.328125 C 3.171875 3.875 3.703125 4.46875 4.703125 4.46875 C 5.84375 4.46875 6.640625 3.578125 6.640625 2.359375 C 6.640625 1.234375 5.71875 0.5 4.828125 0.5 C 4.28125 0.5 4.28125 1 4.28125 1.03125 C 4.28125 1.203125 4.390625 1.546875 4.8125 1.546875 C 5.0625 1.546875 5.328125 1.359375 5.328125 1.015625 C 5.328125 0.9375 5.328125 0.921875 5.3125 0.890625 C 5.96875 1.109375 6.328125 1.65625 6.328125 2.234375 C 6.328125 3.140625 5.515625 3.5625 4.703125 3.5625 C 3.90625 3.5625 3.125 3.078125 2.5 2.515625 L 0.375 0.609375 C 0.265625 0.5 0.234375 0.5 0 0.5 L 0 4.203125 L 1.734375 4.46875 L 1.734375 4.234375 C 1.4375 4.171875 1 4.109375 0.84375 4 C 0.765625 3.9375 0.765625 3.28125 0.765625 3.0625 Z M 0.765625 1.265625 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-0">
|
||||
<path style="stroke:none;" d=""/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-1">
|
||||
<path style="stroke:none;" d="M 2.265625 -3.15625 L 3.953125 -3.15625 C 5.140625 -3.15625 6.21875 -3.953125 6.21875 -4.953125 C 6.21875 -5.9375 5.234375 -6.8125 3.875 -6.8125 L 0.34375 -6.8125 L 0.34375 -6.5 L 0.59375 -6.5 C 1.359375 -6.5 1.375 -6.390625 1.375 -6.03125 L 1.375 -0.78125 C 1.375 -0.421875 1.359375 -0.3125 0.59375 -0.3125 L 0.34375 -0.3125 L 0.34375 0 C 0.703125 -0.03125 1.4375 -0.03125 1.8125 -0.03125 C 2.1875 -0.03125 2.9375 -0.03125 3.296875 0 L 3.296875 -0.3125 L 3.046875 -0.3125 C 2.28125 -0.3125 2.265625 -0.421875 2.265625 -0.78125 Z M 2.234375 -3.40625 L 2.234375 -6.09375 C 2.234375 -6.4375 2.25 -6.5 2.71875 -6.5 L 3.609375 -6.5 C 5.1875 -6.5 5.1875 -5.4375 5.1875 -4.953125 C 5.1875 -4.484375 5.1875 -3.40625 3.609375 -3.40625 Z M 2.234375 -3.40625 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-2">
|
||||
<path style="stroke:none;" d="M 2.9375 -6.375 C 2.9375 -6.625 2.9375 -6.640625 2.703125 -6.640625 C 2.078125 -6 1.203125 -6 0.890625 -6 L 0.890625 -5.6875 C 1.09375 -5.6875 1.671875 -5.6875 2.1875 -5.953125 L 2.1875 -0.78125 C 2.1875 -0.421875 2.15625 -0.3125 1.265625 -0.3125 L 0.953125 -0.3125 L 0.953125 0 C 1.296875 -0.03125 2.15625 -0.03125 2.5625 -0.03125 C 2.953125 -0.03125 3.828125 -0.03125 4.171875 0 L 4.171875 -0.3125 L 3.859375 -0.3125 C 2.953125 -0.3125 2.9375 -0.421875 2.9375 -0.78125 Z M 2.9375 -6.375 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-3">
|
||||
<path style="stroke:none;" d="M 1.265625 -0.765625 L 2.328125 -1.796875 C 3.875 -3.171875 4.46875 -3.703125 4.46875 -4.703125 C 4.46875 -5.84375 3.578125 -6.640625 2.359375 -6.640625 C 1.234375 -6.640625 0.5 -5.71875 0.5 -4.828125 C 0.5 -4.28125 1 -4.28125 1.03125 -4.28125 C 1.203125 -4.28125 1.546875 -4.390625 1.546875 -4.8125 C 1.546875 -5.0625 1.359375 -5.328125 1.015625 -5.328125 C 0.9375 -5.328125 0.921875 -5.328125 0.890625 -5.3125 C 1.109375 -5.96875 1.65625 -6.328125 2.234375 -6.328125 C 3.140625 -6.328125 3.5625 -5.515625 3.5625 -4.703125 C 3.5625 -3.90625 3.078125 -3.125 2.515625 -2.5 L 0.609375 -0.375 C 0.5 -0.265625 0.5 -0.234375 0.5 0 L 4.203125 0 L 4.46875 -1.734375 L 4.234375 -1.734375 C 4.171875 -1.4375 4.109375 -1 4 -0.84375 C 3.9375 -0.765625 3.28125 -0.765625 3.0625 -0.765625 Z M 1.265625 -0.765625 "/>
|
||||
</symbol>
|
||||
</g>
|
||||
<clipPath id="clip1">
|
||||
<path d="M 0 28 L 113.386719 28 L 113.386719 29 L 0 29 Z M 0 28 "/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g id="surface1">
|
||||
<g clip-path="url(#clip1)" clip-rule="nonzero">
|
||||
<path style="fill:none;stroke-width:0.3985;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 0 85.04225 L 0.398438 85.04225 M 0 85.04225 L 28.347656 85.04225 M 28.347656 85.04225 L 56.695312 85.04225 M 56.296875 85.04225 L 57.09375 85.04225 M 56.695312 85.04225 L 85.039062 85.04225 M 85.039062 85.04225 L 113.386719 85.04225 M 112.988281 85.04225 L 113.386719 85.04225 " transform="matrix(1,0,0,-1,0,113.386)"/>
|
||||
</g>
|
||||
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.3985;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 58.28125 85.04225 C 58.28125 85.91725 57.570312 86.628187 56.695312 86.628187 C 55.816406 86.628187 55.105469 85.91725 55.105469 85.04225 C 55.105469 84.163344 55.816406 83.452406 56.695312 83.452406 C 57.570312 83.452406 58.28125 84.163344 58.28125 85.04225 Z M 58.28125 85.04225 " transform="matrix(1,0,0,-1,0,113.386)"/>
|
||||
<path style="fill:none;stroke-width:0.3985;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 56.695312 85.04225 L 56.695312 84.643812 M 56.695312 85.04225 L 56.695312 72.569594 M 56.695312 40.819594 L 56.695312 28.346937 M 56.695312 28.745375 L 56.695312 28.346937 " transform="matrix(1,0,0,-1,0,113.386)"/>
|
||||
<path style="fill:none;stroke-width:0.797;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 50.742188 40.819594 L 50.742188 72.569594 L 62.644531 72.569594 L 62.644531 40.819594 Z M 50.742188 40.819594 " transform="matrix(1,0,0,-1,0,113.386)"/>
|
||||
<path style="fill:none;stroke-width:0.3985;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 56.695312 28.346937 L 56.695312 16.440687 " transform="matrix(1,0,0,-1,0,113.386)"/>
|
||||
<path style="fill:none;stroke-width:0.797;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 50.742188 16.440687 L 62.644531 16.440687 M 52.726562 14.456312 L 60.660156 14.456312 M 54.214844 12.471937 L 59.175781 12.471937 " transform="matrix(1,0,0,-1,0,113.386)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph0-1" x="54.451" y="47.978"/>
|
||||
<use xlink:href="#glyph0-2" x="54.451" y="50.74561"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph1-1" x="54.451" y="55.416"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph0-3" x="54.451" y="60.397"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-1" x="60.213" y="37.299"/>
|
||||
<use xlink:href="#glyph2-2" x="66.993546" y="37.299"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-1" x="60.213" y="82.895"/>
|
||||
<use xlink:href="#glyph2-3" x="66.993546" y="82.895"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 9.4 KiB |
Binary file not shown.
Before Width: | Height: | Size: 884 B After Width: | Height: | Size: 1.4 KiB |
@ -20,6 +20,12 @@
|
||||
<symbol overflow="visible" id="glyph1-1">
|
||||
<path style="stroke:none;" d="M 1.265625 -0.765625 L 2.328125 -1.796875 C 3.875 -3.171875 4.46875 -3.703125 4.46875 -4.703125 C 4.46875 -5.84375 3.578125 -6.640625 2.359375 -6.640625 C 1.234375 -6.640625 0.5 -5.71875 0.5 -4.828125 C 0.5 -4.28125 1 -4.28125 1.03125 -4.28125 C 1.203125 -4.28125 1.546875 -4.390625 1.546875 -4.8125 C 1.546875 -5.0625 1.359375 -5.328125 1.015625 -5.328125 C 0.9375 -5.328125 0.921875 -5.328125 0.890625 -5.3125 C 1.109375 -5.96875 1.65625 -6.328125 2.234375 -6.328125 C 3.140625 -6.328125 3.5625 -5.515625 3.5625 -4.703125 C 3.5625 -3.90625 3.078125 -3.125 2.515625 -2.5 L 0.609375 -0.375 C 0.5 -0.265625 0.5 -0.234375 0.5 0 L 4.203125 0 L 4.46875 -1.734375 L 4.234375 -1.734375 C 4.171875 -1.4375 4.109375 -1 4 -0.84375 C 3.9375 -0.765625 3.28125 -0.765625 3.0625 -0.765625 Z M 1.265625 -0.765625 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-2">
|
||||
<path style="stroke:none;" d="M 2.265625 -3.15625 L 3.953125 -3.15625 C 5.140625 -3.15625 6.21875 -3.953125 6.21875 -4.953125 C 6.21875 -5.9375 5.234375 -6.8125 3.875 -6.8125 L 0.34375 -6.8125 L 0.34375 -6.5 L 0.59375 -6.5 C 1.359375 -6.5 1.375 -6.390625 1.375 -6.03125 L 1.375 -0.78125 C 1.375 -0.421875 1.359375 -0.3125 0.59375 -0.3125 L 0.34375 -0.3125 L 0.34375 0 C 0.703125 -0.03125 1.4375 -0.03125 1.8125 -0.03125 C 2.1875 -0.03125 2.9375 -0.03125 3.296875 0 L 3.296875 -0.3125 L 3.046875 -0.3125 C 2.28125 -0.3125 2.265625 -0.421875 2.265625 -0.78125 Z M 2.234375 -3.40625 L 2.234375 -6.09375 C 2.234375 -6.4375 2.25 -6.5 2.71875 -6.5 L 3.609375 -6.5 C 5.1875 -6.5 5.1875 -5.4375 5.1875 -4.953125 C 5.1875 -4.484375 5.1875 -3.40625 3.609375 -3.40625 Z M 2.234375 -3.40625 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-3">
|
||||
<path style="stroke:none;" d="M 2.9375 -6.375 C 2.9375 -6.625 2.9375 -6.640625 2.703125 -6.640625 C 2.078125 -6 1.203125 -6 0.890625 -6 L 0.890625 -5.6875 C 1.09375 -5.6875 1.671875 -5.6875 2.1875 -5.953125 L 2.1875 -0.78125 C 2.1875 -0.421875 2.15625 -0.3125 1.265625 -0.3125 L 0.953125 -0.3125 L 0.953125 0 C 1.296875 -0.03125 2.15625 -0.03125 2.5625 -0.03125 C 2.953125 -0.03125 3.828125 -0.03125 4.171875 0 L 4.171875 -0.3125 L 3.859375 -0.3125 C 2.953125 -0.3125 2.9375 -0.421875 2.9375 -0.78125 Z M 2.9375 -6.375 "/>
|
||||
</symbol>
|
||||
</g>
|
||||
<clipPath id="clip1">
|
||||
<path d="M 0 28 L 113.386719 28 L 113.386719 29 L 0 29 Z M 0 28 "/>
|
||||
@ -27,7 +33,7 @@
|
||||
</defs>
|
||||
<g id="surface1">
|
||||
<g clip-path="url(#clip1)" clip-rule="nonzero">
|
||||
<path style="fill:none;stroke-width:0.3985;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 0 85.04225 L 40.820312 85.04225 M 72.566406 85.04225 L 113.386719 85.04225 " transform="matrix(1,0,0,-1,0,113.386)"/>
|
||||
<path style="fill:none;stroke-width:0.3985;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 0 85.04225 L 0.398438 85.04225 M 0 85.04225 L 40.820312 85.04225 M 72.566406 85.04225 L 113.386719 85.04225 M 112.988281 85.04225 L 113.386719 85.04225 " transform="matrix(1,0,0,-1,0,113.386)"/>
|
||||
</g>
|
||||
<path style="fill:none;stroke-width:0.797;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 40.820312 90.991469 L 72.566406 90.991469 L 72.566406 79.089125 L 40.820312 79.089125 Z M 40.820312 90.991469 " transform="matrix(1,0,0,-1,0,113.386)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
@ -40,5 +46,13 @@
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph0-3" x="60.396" y="30.588"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph1-2" x="25.538" y="24.827"/>
|
||||
<use xlink:href="#glyph1-3" x="32.318546" y="24.827"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph1-2" x="76.087" y="24.827"/>
|
||||
<use xlink:href="#glyph1-1" x="82.867546" y="24.827"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 7.1 KiB |
Loading…
Reference in New Issue
Block a user