summaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/python/utils/canvas.py2
-rw-r--r--src/main/python/utils/fileWindow.py2
-rw-r--r--src/main/python/utils/layout.py2
-rw-r--r--src/main/python/utils/toolbar.py2
-rw-r--r--src/main/resources/base/app.qss32
-rw-r--r--src/main/resources/base/config/items.json243
-rw-r--r--src/main/resources/base/svg/Furnaces and Boilers/Oil Gas or Pulverized Fuel Furnace.svg204
-rw-r--r--src/main/resources/base/svg/Furnaces and Boilers/Solid Fuel Furnace.svg107
-rw-r--r--src/main/resources/base/svg/Heating or Cooling Arrangements/905Exchanger.svg85
-rw-r--r--src/main/resources/base/svg/Heating or Cooling Arrangements/907Kettle Reboiler.svg93
-rw-r--r--src/main/resources/base/svg/Heating or Cooling Arrangements/Exchanger.svg101
-rw-r--r--src/main/resources/base/svg/Heating or Cooling Arrangements/Heat Exchanger.svg74
-rw-r--r--src/main/resources/base/svg/Heating or Cooling Arrangements/Immersion Coil.svg40
-rw-r--r--src/main/resources/base/svg/Heating or Cooling Arrangements/Kettle Reboiler.svg83
-rw-r--r--src/main/resources/base/svg/Process Vessels/Horizontal Vessel.svg145
-rw-r--r--src/main/resources/base/svg/Process Vessels/Packed Vessel.svg144
-rw-r--r--src/main/resources/base/svg/Process Vessels/Trays or plates.svg64
-rw-r--r--src/main/resources/base/svg/Process Vessels/Vertical Vessel.svg107
-rw-r--r--src/main/resources/base/svg/Pumps/Duplex Pump.svg156
-rw-r--r--src/main/resources/base/svg/Separators/Separators for Liquids, Decanter.svg75
-rw-r--r--src/main/resources/base/svg/Storage Vessels Tanks/Fixed Roof Tank.svg34
-rw-r--r--src/main/resources/base/svg/Storage Vessels Tanks/Floating Roof Tank.svg82
-rw-r--r--src/main/resources/base/svg/Valves/Gate Valve.svg62
-rw-r--r--src/main/resources/base/svg/Valves/Globe Valve.svg46
-rw-r--r--src/main/resources/base/toolbar/Compressors/Centrifugal Compressor.pngbin1413 -> 1413 bytes
-rw-r--r--src/main/resources/base/toolbar/Compressors/Ejector Compressor.pngbin1126 -> 1126 bytes
-rw-r--r--src/main/resources/base/toolbar/Compressors/Fan.pngbin1600 -> 1600 bytes
-rw-r--r--src/main/resources/base/toolbar/Compressors/Positive Displacement Compressor.pngbin1098 -> 1098 bytes
-rw-r--r--src/main/resources/base/toolbar/Compressors/Reciprocating Compressor.pngbin1091 -> 1091 bytes
-rw-r--r--src/main/resources/base/toolbar/Compressors/Turbine.pngbin1368 -> 1368 bytes
-rw-r--r--src/main/resources/base/toolbar/Furnaces and Boilers/Oil Gas or Pulverized Fuel Furnace.pngbin0 -> 1296 bytes
-rw-r--r--src/main/resources/base/toolbar/Furnaces and Boilers/Solid Fuel Furnace.pngbin0 -> 1332 bytes
-rw-r--r--src/main/resources/base/toolbar/Heating or Cooling Arrangements/905Exchanger.pngbin0 -> 1134 bytes
-rw-r--r--src/main/resources/base/toolbar/Heating or Cooling Arrangements/907Kettle Reboiler.pngbin0 -> 1224 bytes
-rw-r--r--src/main/resources/base/toolbar/Heating or Cooling Arrangements/Exchanger.pngbin0 -> 2145 bytes
-rw-r--r--src/main/resources/base/toolbar/Heating or Cooling Arrangements/Heat Exchanger.pngbin0 -> 2140 bytes
-rw-r--r--src/main/resources/base/toolbar/Heating or Cooling Arrangements/Immersion Coil.pngbin0 -> 1570 bytes
-rw-r--r--src/main/resources/base/toolbar/Heating or Cooling Arrangements/Kettle Reboiler.pngbin0 -> 2445 bytes
-rw-r--r--src/main/resources/base/toolbar/Piping/Inflow Line.pngbin1185 -> 1185 bytes
-rw-r--r--src/main/resources/base/toolbar/Piping/Outflow Line.pngbin1244 -> 1244 bytes
-rw-r--r--src/main/resources/base/toolbar/Process Vessels/Horizontal Vessel.pngbin0 -> 1053 bytes
-rw-r--r--src/main/resources/base/toolbar/Process Vessels/Packed Vessel.pngbin0 -> 1710 bytes
-rw-r--r--src/main/resources/base/toolbar/Process Vessels/Trays or plates.pngbin0 -> 992 bytes
-rw-r--r--src/main/resources/base/toolbar/Process Vessels/Vertical Vessel.pngbin0 -> 1048 bytes
-rw-r--r--src/main/resources/base/toolbar/Pumps/Blowing Egg.pngbin1556 -> 1556 bytes
-rw-r--r--src/main/resources/base/toolbar/Pumps/Duplex Pump.pngbin1387 -> 1368 bytes
-rw-r--r--src/main/resources/base/toolbar/Pumps/Ejector(Vapor Service).pngbin1106 -> 1106 bytes
-rw-r--r--src/main/resources/base/toolbar/Pumps/Hand Pump with Drum.pngbin2166 -> 2166 bytes
-rw-r--r--src/main/resources/base/toolbar/Pumps/Plunger Pump.pngbin1057 -> 1057 bytes
-rw-r--r--src/main/resources/base/toolbar/Pumps/Proportioning Pump.pngbin1272 -> 1272 bytes
-rw-r--r--src/main/resources/base/toolbar/Pumps/Reciprocating Pump.pngbin1258 -> 1258 bytes
-rw-r--r--src/main/resources/base/toolbar/Separators/Separators for Liquids, Decanter.pngbin0 -> 946 bytes
-rw-r--r--src/main/resources/base/toolbar/Storage Vessels Tanks/Fixed Roof Tank.pngbin0 -> 1167 bytes
-rw-r--r--src/main/resources/base/toolbar/Storage Vessels Tanks/Floating Roof Tank.pngbin0 -> 1485 bytes
-rw-r--r--src/main/resources/base/toolbar/Valves/Gate Valve.pngbin0 -> 980 bytes
-rw-r--r--src/main/resources/base/toolbar/Valves/Globe Valve.pngbin0 -> 978 bytes
56 files changed, 1829 insertions, 156 deletions
diff --git a/src/main/python/utils/canvas.py b/src/main/python/utils/canvas.py
index 66d38e8..c860bbb 100644
--- a/src/main/python/utils/canvas.py
+++ b/src/main/python/utils/canvas.py
@@ -16,7 +16,7 @@ class canvas(QWidget):
for context menu and dialogs.
"""
- def __init__(self, parent=None, size= 'A4', ppi= '72' , parentMdiArea = None, parentFileWindow = None, landscape=False):
+ def __init__(self, parent=None, size= 'A0', ppi= '72' , parentMdiArea = None, parentFileWindow = None, landscape=True):
super(canvas, self).__init__(parent)
#Store values for the canvas dimensions for ease of access, these are here just to be
diff --git a/src/main/python/utils/fileWindow.py b/src/main/python/utils/fileWindow.py
index ba0b6e9..a5ed535 100644
--- a/src/main/python/utils/fileWindow.py
+++ b/src/main/python/utils/fileWindow.py
@@ -20,7 +20,7 @@ class fileWindow(QMdiSubWindow):
fileCloseEvent = pyqtSignal(int)
tabChangeEvent = pyqtSignal()
- def __init__(self, parent = None, title = 'New Project', size = 'A4', ppi = '72'):
+ def __init__(self, parent = None, title = 'New Project', size = 'A0', ppi = '72'):
super(fileWindow, self).__init__(parent)
self._sideViewTab = None
self.index = None
diff --git a/src/main/python/utils/layout.py b/src/main/python/utils/layout.py
index 6781249..ac37358 100644
--- a/src/main/python/utils/layout.py
+++ b/src/main/python/utils/layout.py
@@ -2,7 +2,7 @@ from PyQt5.QtCore import Qt, QRect, QPoint, QSize
from PyQt5.QtWidgets import QLayout, QSizePolicy
class flowLayout(QLayout):
- def __init__(self, parent=None, margin=0, spacing=-1):
+ def __init__(self, parent=None, margin=0, spacing=12):
super(flowLayout, self).__init__(parent)
if parent is not None:
diff --git a/src/main/python/utils/toolbar.py b/src/main/python/utils/toolbar.py
index beac867..29adb83 100644
--- a/src/main/python/utils/toolbar.py
+++ b/src/main/python/utils/toolbar.py
@@ -161,7 +161,7 @@ class toolbarButton(QToolButton):
def minimumSizeHint(self):
#defines button size
- return QSize(40, 40)
+ return QSize(55, 55)
class sectionLabel(QLabel):
diff --git a/src/main/resources/base/app.qss b/src/main/resources/base/app.qss
index 0d6e912..723bfa3 100644
--- a/src/main/resources/base/app.qss
+++ b/src/main/resources/base/app.qss
@@ -16,6 +16,10 @@ QLineEdit:focus{
border-color: #7cabf9;
}
+QFrame{
+ background-color: white;
+}
+
QTabBar {
qproperty-drawBase: 0;
left: 5px;
@@ -89,7 +93,8 @@ QTabBar::tab:bottom:only-one {
}
QDockWidget {
- color: #828282;
+ color: white;
+ background-color: white;
border: 1px solid #e6e6e6;
}
@@ -113,19 +118,24 @@ QDockWidget::float-button:pressed {
background-color: #e0e0e0;
}
+QScrollArea{
+ border-style: none;
+ border-width: 0px;
+}
+
QToolButton {
color: #f2f2f2;
text-align: center;
background-color: rgba(213, 213, 213, 0);
- border: 1px solid #828282;
+ border: 0px solid #828282;
outline: none;
+ border-radius: 8px;
}
QToolButton:hover,
QToolButton:focus {
color: black;
- background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #3874f2, stop:1 #5e90fa);
- border-color: #3874f2;
+ border: 3px solid #3874f2;
}
QToolButton:disabled,
@@ -145,13 +155,18 @@ QToolButton:checked {
}
sectionLabel{
+ border-color: gray;
border-style: solid;
- border-color: grey;
+ border-width: 0px 0px 1px 0px;
padding-bottom: 3px;
margin-bottom: 3px;
- margin-top: 5px;
+ margin-top: 10px;
text-align: left;
- border-width: 0px 0px 2px 0px;
+ font-size: 20px;
+}
+
+sectionLabel:first-child{
+ margin-top: 0px;
}
customView QPushButton{
@@ -184,4 +199,5 @@ customTabWidget::pane {
border: 2px solid #E6E6E3;
border-radius: 7px;
padding: 1px;
- background-color: #E6E6E3;}
+ background-color: #E6E6E3;
+} \ No newline at end of file
diff --git a/src/main/resources/base/config/items.json b/src/main/resources/base/config/items.json
index 9a55a4d..bd453c5 100644
--- a/src/main/resources/base/config/items.json
+++ b/src/main/resources/base/config/items.json
@@ -1,4 +1,108 @@
{
+ "Compressors": {
+ "Centrifugal Compressor": {
+ "name": "Centrifugal Compressor",
+ "icon": ".\\Compressors\\Centrifugal Compressor.png",
+ "class": "Compressors",
+ "object": "CentrifugalCompressor",
+ "args": []
+ },
+ "Ejector Compressor": {
+ "name": "Ejector Compressor",
+ "icon": ".\\Compressors\\Ejector Compressor.png",
+ "class": "Compressors",
+ "object": "EjectorCompressor",
+ "args": []
+ },
+ "Fan": {
+ "name": "Fan",
+ "icon": ".\\Compressors\\Fan.png",
+ "class": "Compressors",
+ "object": "Fan",
+ "args": []
+ },
+ "Positive Displacement Compressor": {
+ "name": "Positive Displacement Compressor",
+ "icon": ".\\Compressors\\Positive Displacement Compressor.png",
+ "class": "Compressors",
+ "object": "PositiveDisplacementCompressor",
+ "args": []
+ },
+ "Reciprocating Compressor": {
+ "name": "Reciprocating Compressor",
+ "icon": ".\\Compressors\\Reciprocating Compressor.png",
+ "class": "Compressors",
+ "object": "ReciprocatingCompressor",
+ "args": []
+ },
+ "Turbine": {
+ "name": "Turbine",
+ "icon": ".\\Compressors\\Turbine.png",
+ "class": "Compressors",
+ "object": "Turbine",
+ "args": []
+ }
+ },
+ "Furnaces and Boilers": {
+ "Oil Gas or Pulverized Fuel Furnace": {
+ "name": "Oil Gas or Pulverized Fuel Furnace",
+ "icon": ".\\Furnaces and Boilers\\Oil Gas or Pulverized Fuel Furnace.png",
+ "class": "Furnaces and Boilers",
+ "object": "OilGasOrPulverizedFuelFurnace",
+ "args": []
+ },
+ "Solid Fuel Furnace": {
+ "name": "Solid Fuel Furnace",
+ "icon": ".\\Furnaces and Boilers\\Solid Fuel Furnace.png",
+ "class": "Furnaces and Boilers",
+ "object": "SolidFuelFurnace",
+ "args": []
+ }
+ },
+ "Heating or Cooling Arrangements": {
+ "905Exchanger": {
+ "name": "905Exchanger",
+ "icon": ".\\Heating or Cooling Arrangements\\905Exchanger.png",
+ "class": "Heating or Cooling Arrangements",
+ "object": "905Exchanger",
+ "args": []
+ },
+ "907Kettle Reboiler": {
+ "name": "907Kettle Reboiler",
+ "icon": ".\\Heating or Cooling Arrangements\\907Kettle Reboiler.png",
+ "class": "Heating or Cooling Arrangements",
+ "object": "907KettleReboiler",
+ "args": []
+ },
+ "Exchanger": {
+ "name": "Exchanger",
+ "icon": ".\\Heating or Cooling Arrangements\\Exchanger.png",
+ "class": "Heating or Cooling Arrangements",
+ "object": "Exchanger",
+ "args": []
+ },
+ "Heat Exchanger": {
+ "name": "Heat Exchanger",
+ "icon": ".\\Heating or Cooling Arrangements\\Heat Exchanger.png",
+ "class": "Heating or Cooling Arrangements",
+ "object": "HeatExchanger",
+ "args": []
+ },
+ "Immersion Coil": {
+ "name": "Immersion Coil",
+ "icon": ".\\Heating or Cooling Arrangements\\Immersion Coil.png",
+ "class": "Heating or Cooling Arrangements",
+ "object": "ImmersionCoil",
+ "args": []
+ },
+ "Kettle Reboiler": {
+ "name": "Kettle Reboiler",
+ "icon": ".\\Heating or Cooling Arrangements\\Kettle Reboiler.png",
+ "class": "Heating or Cooling Arrangements",
+ "object": "KettleReboiler",
+ "args": []
+ }
+ },
"Piping": {
"Inflow Line": {
"name": "Inflow Line",
@@ -15,7 +119,44 @@
"args": []
}
},
+ "Process Vessels": {
+ "Horizontal Vessel": {
+ "name": "Horizontal Vessel",
+ "icon": ".\\Process Vessels\\Horizontal Vessel.png",
+ "class": "Process Vessels",
+ "object": "HorizontalVessel",
+ "args": []
+ },
+ "Packed Vessel": {
+ "name": "Packed Vessel",
+ "icon": ".\\Process Vessels\\Packed Vessel.png",
+ "class": "Process Vessels",
+ "object": "PackedVessel",
+ "args": []
+ },
+ "Trays or plates": {
+ "name": "Trays or plates",
+ "icon": ".\\Process Vessels\\Trays or plates.png",
+ "class": "Process Vessels",
+ "object": "TraysOrPlates",
+ "args": []
+ },
+ "Vertical Vessel": {
+ "name": "Vertical Vessel",
+ "icon": ".\\Process Vessels\\Vertical Vessel.png",
+ "class": "Process Vessels",
+ "object": "VerticalVessel",
+ "args": []
+ }
+ },
"Pumps": {
+ "Blowing Egg": {
+ "name": "Blowing Egg",
+ "icon": ".\\Pumps\\Blowing Egg.png",
+ "class": "Pumps",
+ "object": "BlowingEgg",
+ "args": []
+ },
"Duplex Pump": {
"name": "Duplex Pump",
"icon": ".\\Pumps\\Duplex Pump.png",
@@ -23,6 +164,20 @@
"object": "DuplexPump",
"args": []
},
+ "Ejector(Vapor Service)": {
+ "name": "Ejector(Vapor Service)",
+ "icon": ".\\Pumps\\Ejector(Vapor Service).png",
+ "class": "Pumps",
+ "object": "EjectorVaporService",
+ "args": []
+ },
+ "Hand Pump with Drum": {
+ "name": "Hand Pump with Drum",
+ "icon": ".\\Pumps\\Hand Pump with Drum.png",
+ "class": "Pumps",
+ "object": "HandPumpWithDrum",
+ "args": []
+ },
"Plunger Pump": {
"name": "Plunger Pump",
"icon": ".\\Pumps\\Plunger Pump.png",
@@ -43,70 +198,46 @@
"class": "Pumps",
"object": "ReciprocatingPump",
"args": []
- },
- "Blowing Egg": {
- "name": "Blowing Egg",
- "icon": ".\\Pumps\\Blowing Egg.png",
- "class": "Pumps",
- "object": "BlowingEgg",
- "args": []
- },
- "Ejector(Vapor Service)": {
- "name": "Ejector(Vapor Service)",
- "icon": ".\\Pumps\\Ejector(Vapor Service).png",
- "class": "Pumps",
- "object": "Ejector(VaporService)",
- "args": []
- },
- "Hand Pump with Drum": {
- "name": "Hand Pump with Drum",
- "icon": ".\\Pumps\\Hand Pump with Drum.png",
- "class": "Pumps",
- "object": "HandPumpWithDrum",
- "args": []
}
},
- "Compressors": {
- "Centrifugal Compressor": {
- "name": "Centrifugal Compressor",
- "icon": ".\\Compressors\\Centrifugal Compressor.png",
- "class": "Compressors",
- "object": "CentrifugalCompressor",
+ "Separators": {
+ "Separators for Liquids, Decanter": {
+ "name": "Separators for Liquids, Decanter",
+ "icon": ".\\Separators\\Separators for Liquids, Decanter.png",
+ "class": "Separators",
+ "object": "SeparatorsForLiquids,Decanter",
"args": []
- },
- "Ejector Compressor": {
- "name": "Ejector Compressor",
- "icon": ".\\Compressors\\Ejector Compressor.png",
- "class": "Compressors",
- "object": "EjectorCompressor",
+ }
+ },
+ "Storage Vessels Tanks": {
+ "Fixed Roof Tank": {
+ "name": "Fixed Roof Tank",
+ "icon": ".\\Storage Vessels Tanks\\Fixed Roof Tank.png",
+ "class": "Storage Vessels Tanks",
+ "object": "FixedRoofTank",
"args": []
},
- "Fan": {
- "name": "Fan",
- "icon": ".\\Compressors\\Fan.png",
- "class": "Compressors",
- "object": "Fan",
+ "Floating Roof Tank": {
+ "name": "Floating Roof Tank",
+ "icon": ".\\Storage Vessels Tanks\\Floating Roof Tank.png",
+ "class": "Storage Vessels Tanks",
+ "object": "FloatingRoofTank",
"args": []
- },
- "Positive Displacement Compressor": {
- "name": "Positive Displacement Compressor",
- "icon": ".\\Compressors\\Positive Displacement Compressor.png",
- "class": "Compressors",
- "object": "PositiveDisplacementCompressor",
- "args": []
- },
- "Reciprocating Compressor": {
- "name": "Reciprocating Compressor",
- "icon": ".\\Compressors\\Reciprocating Compressor.png",
- "class": "Compressors",
- "object": "ReciprocatingCompressor",
+ }
+ },
+ "Valves": {
+ "Gate Valve": {
+ "name": "Gate Valve",
+ "icon": ".\\Valves\\Gate Valve.png",
+ "class": "Valves",
+ "object": "GateValve",
"args": []
},
- "Turbine": {
- "name": "Turbine",
- "icon": ".\\Compressors\\Turbine.png",
- "class": "Compressors",
- "object": "Turbine",
+ "Globe Valve": {
+ "name": "Globe Valve",
+ "icon": ".\\Valves\\Globe Valve.png",
+ "class": "Valves",
+ "object": "GlobeValve",
"args": []
}
}
diff --git a/src/main/resources/base/svg/Furnaces and Boilers/Oil Gas or Pulverized Fuel Furnace.svg b/src/main/resources/base/svg/Furnaces and Boilers/Oil Gas or Pulverized Fuel Furnace.svg
new file mode 100644
index 0000000..ce0906b
--- /dev/null
+++ b/src/main/resources/base/svg/Furnaces and Boilers/Oil Gas or Pulverized Fuel Furnace.svg
@@ -0,0 +1,204 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ sodipodi:docname="Oil Gas or Pulverized Fuel Furnace.svg"
+ inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
+ id="svg1687"
+ version="1.1"
+ viewBox="0 0 30.883684 19.98234"
+ height="19.98234mm"
+ width="30.883684mm">
+ <defs
+ id="defs1681">
+ <marker
+ inkscape:isstock="true"
+ style="overflow:visible"
+ id="marker2798"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="TriangleOutM">
+ <path
+ transform="scale(0.4)"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
+ d="M 5.77,0 -2.88,5 V -5 Z"
+ id="path2796" />
+ </marker>
+ <marker
+ inkscape:isstock="true"
+ style="overflow:visible"
+ id="TriangleOutM"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="TriangleOutM">
+ <path
+ transform="scale(0.4)"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
+ d="M 5.77,0 -2.88,5 V -5 Z"
+ id="path2493" />
+ </marker>
+ <marker
+ inkscape:isstock="true"
+ style="overflow:visible"
+ id="EmptyTriangleOutM"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="EmptyTriangleOutM">
+ <path
+ transform="matrix(0.4,0,0,0.4,-1.8,0)"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
+ d="M 5.77,0 -2.88,5 V -5 Z"
+ id="path2511" />
+ </marker>
+ <marker
+ inkscape:isstock="true"
+ id="ExperimentalArrow"
+ refX="5"
+ refY="3"
+ orient="auto-start-reverse"
+ inkscape:stockid="ExperimentalArrow">
+ <path
+ style="fill:context-stroke;stroke:#000000;stroke-opacity:1"
+ d="M 10,3 0,6 V 0 Z"
+ id="path2601" />
+ </marker>
+ <marker
+ inkscape:isstock="true"
+ style="overflow:visible"
+ id="TriangleOutS"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="TriangleOutS">
+ <path
+ transform="scale(0.2)"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
+ d="M 5.77,0 -2.88,5 V -5 Z"
+ id="path2496" />
+ </marker>
+ <marker
+ inkscape:isstock="true"
+ style="overflow:visible"
+ id="Arrow2Send"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow2Send">
+ <path
+ transform="matrix(-0.3,0,0,-0.3,0.69,0)"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ id="path2381" />
+ </marker>
+ <marker
+ inkscape:isstock="true"
+ style="overflow:visible"
+ id="Arrow1Send"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow1Send">
+ <path
+ transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
+ d="M 0,0 5,-5 -12.5,0 5,5 Z"
+ id="path2363" />
+ </marker>
+ <inkscape:path-effect
+ lpeversion="0"
+ effect="spiro"
+ id="path-effect3840"
+ is_visible="true" />
+ <inkscape:path-effect
+ lpeversion="0"
+ is_visible="true"
+ id="path-effect3844"
+ effect="spiro" />
+ </defs>
+ <sodipodi:namedview
+ inkscape:window-maximized="1"
+ inkscape:window-y="-11"
+ inkscape:window-x="-11"
+ inkscape:window-height="986"
+ inkscape:window-width="1920"
+ showgrid="false"
+ inkscape:document-rotation="0"
+ inkscape:current-layer="layer1"
+ inkscape:document-units="mm"
+ inkscape:cy="-58.158225"
+ inkscape:cx="84.543508"
+ inkscape:zoom="1.979899"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base" />
+ <metadata
+ id="metadata1684">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ transform="translate(-114.74084,-169.16954)"
+ id="layer1"
+ inkscape:groupmode="layer"
+ inkscape:label="Layer 1">
+ <g
+ id="g2884">
+ <g
+ style="fill:none;stroke-width:0.8;stroke-miterlimit:4;stroke-dasharray:none"
+ transform="translate(-413.46972,55.400034)"
+ id="g5243">
+ <g
+ style="fill:none;stroke-width:0.8;stroke-miterlimit:4;stroke-dasharray:none"
+ id="g3847"
+ transform="translate(1.0252604,-0.06614583)">
+ <path
+ inkscape:original-d="m 537.18635,129.92404 c -2.07126,-0.0549 0.88615,-0.74263 1.23236,-1.02585 0.34623,-0.28322 1.13422,-0.22075 1.7009,-0.33073 0.56671,-0.10998 2.20514,0.78718 3.30729,1.18118 1.10218,0.39398 0.11052,0.10997 0.16537,0.16536"
+ inkscape:path-effect="#path-effect3840"
+ inkscape:connector-curvature="0"
+ id="path3838"
+ d="m 537.18635,129.92404 c 0.31029,-0.44295 0.74048,-0.80105 1.23236,-1.02585 0.52931,-0.24191 1.11894,-0.32798 1.7009,-0.33073 1.19933,-0.006 2.43346,0.35969 3.30729,1.18118 0.0568,0.0534 0.11196,0.10856 0.16537,0.16536"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ sodipodi:nodetypes="ccccc" />
+ </g>
+ <path
+ inkscape:original-d="m 538.21161,129.85789 c -2.06843,0.0595 0.90206,0.59129 1.24779,0.89804 0.34576,0.30674 1.13267,0.23908 1.69857,0.35819 0.56594,0.11912 2.20213,-0.85255 3.30277,-1.27928 1.10067,-0.4267 0.11037,-0.1191 0.16514,-0.17909"
+ inkscape:path-effect="#path-effect3844"
+ inkscape:connector-curvature="0"
+ id="path3842"
+ d="m 538.21161,129.85789 c 0.34861,0.38053 0.77626,0.68831 1.24779,0.89804 0.53225,0.23674 1.11614,0.34751 1.69857,0.35819 1.21364,0.0222 2.45271,-0.41279 3.30277,-1.27928 0.0569,-0.058 0.11196,-0.11771 0.16514,-0.17909"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ sodipodi:nodetypes="ccccc" />
+ </g>
+ <path
+ inkscape:connector-curvature="0"
+ id="path3859"
+ d="m 114.74084,185.21659 h 7.77888"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2798)"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 130.66027,175.80615 v -6.23661 h 4.15774 v 6.23661 l 10.40615,0.0473 -0.0118,12.89843 H 120.07694 V 175.8062 l 10.71587,-0.003"
+ id="path4954"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccccc" />
+ </g>
+ </g>
+</svg>
diff --git a/src/main/resources/base/svg/Furnaces and Boilers/Solid Fuel Furnace.svg b/src/main/resources/base/svg/Furnaces and Boilers/Solid Fuel Furnace.svg
new file mode 100644
index 0000000..1274675
--- /dev/null
+++ b/src/main/resources/base/svg/Furnaces and Boilers/Solid Fuel Furnace.svg
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ id="svg994"
+ version="1.1"
+ viewBox="0 0 25.947584 19.98229"
+ height="19.98229mm"
+ width="25.947584mm">
+ <defs
+ id="defs988" />
+ <metadata
+ id="metadata991">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ transform="translate(47.74748,-1.34814)"
+ id="layer1">
+ <g
+ style="fill:none;stroke-width:0.8;stroke-miterlimit:4;stroke-dasharray:none"
+ id="g1635">
+ <path
+ id="path3798"
+ d="M -36.76415,7.984747 V 1.74814 h 4.15774 v 6.236607 l 10.40615,0.04725 -0.0118,12.898434 H -47.34748 V 7.984746 l 10.71587,-0.0031"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3800"
+ d="m -47.253,13.276411 h 24.94645"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3802"
+ d="m -47.36167,18.001111 h 25.24409"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3804"
+ d="m -45.88283,13.229161 v 4.67746"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3806"
+ d="M -43.89845,13.276411 V 18.0689"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3808"
+ d="M -42.48103,13.276411 V 18.02165"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3810"
+ d="m -40.96915,13.3363 v 4.697043"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3812"
+ d="m -39.3155,13.262817 v 4.757888"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3814"
+ d="m -37.75634,13.323661 v 4.7247"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3816"
+ d="m -36.43342,13.324607 v 4.71016"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3818"
+ d="m -34.68529,13.313869 v 4.640947"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3820"
+ d="M -33.31512,13.323661 V 18.02165"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3822"
+ d="m -31.56697,13.371857 v 4.546457"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3824"
+ d="m -30.02,13.348471 v 4.593707"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3826"
+ d="m -28.50761,13.337723 v 4.58296"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3828"
+ d="m -26.92554,13.349416 v 4.55815"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3830"
+ d="m -25.42488,13.290483 v 4.58296"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3832"
+ d="m -23.74738,13.301698 v 4.6302"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ </g>
+</svg>
diff --git a/src/main/resources/base/svg/Heating or Cooling Arrangements/905Exchanger.svg b/src/main/resources/base/svg/Heating or Cooling Arrangements/905Exchanger.svg
new file mode 100644
index 0000000..c558faf
--- /dev/null
+++ b/src/main/resources/base/svg/Heating or Cooling Arrangements/905Exchanger.svg
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ id="svg5210"
+ version="1.1"
+ viewBox="0 0 32.627335 12.826668"
+ height="12.826668mm"
+ width="32.627335mm">
+ <defs
+ id="defs5204">
+ <linearGradient
+ xlink:href="#linearGradient5159"
+ id="linearGradient5161"
+ x1="1212.0807"
+ y1="203.26044"
+ x2="1214.4861"
+ y2="203.26044"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-1169.2976,41.668137)" />
+ <linearGradient
+ id="linearGradient5159"
+ osb:paint="solid">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop5157" />
+ </linearGradient>
+ <linearGradient
+ xlink:href="#linearGradient5159"
+ id="linearGradient5169"
+ x1="1219.6979"
+ y1="203.39407"
+ x2="1221.5688"
+ y2="203.39407"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.80249453,0,0,0.9318074,-928.02404,55.384861)" />
+ </defs>
+ <metadata
+ id="metadata5207">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ transform="translate(-42.650618,-238.51523)"
+ id="layer1">
+ <g
+ id="g5807">
+ <rect
+ style="fill:#ffffff;stroke:url(#linearGradient5161);stroke-width:0.8;stroke-miterlimit:4;stroke-dasharray:none"
+ id="rect5155"
+ width="2.4054255"
+ height="12.561667"
+ x="42.783119"
+ y="238.64774" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 45.24957,248.84239 26.5265,0.13363 c 0.713548,-0.13257 1.390074,-0.45917 1.9377,-0.93544 0.776705,-0.6755 1.282157,-1.65047 1.4031,-2.67269 0.115398,-0.97535 -0.118866,-1.9921 -0.6681,-2.80633 -0.675854,-1.00194 -1.826455,-1.66796 -3.0319,-1.75498"
+ id="path5171" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 45.05409,240.80851 c 8.798,-3e-4 17.5955,-3e-4 26.3929,0"
+ id="path5175" />
+ <rect
+ style="fill:#ffffff;stroke:url(#linearGradient5169);stroke-width:0.8;stroke-miterlimit:4;stroke-dasharray:none"
+ id="rect5163"
+ width="1.5013764"
+ height="11.954099"
+ x="50.77689"
+ y="238.93192" />
+ </g>
+ </g>
+</svg>
diff --git a/src/main/resources/base/svg/Heating or Cooling Arrangements/907Kettle Reboiler.svg b/src/main/resources/base/svg/Heating or Cooling Arrangements/907Kettle Reboiler.svg
new file mode 100644
index 0000000..8de832d
--- /dev/null
+++ b/src/main/resources/base/svg/Heating or Cooling Arrangements/907Kettle Reboiler.svg
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ id="svg5871"
+ version="1.1"
+ viewBox="0 0 39.32729 14.216409"
+ height="14.216409mm"
+ width="39.32729mm">
+ <defs
+ id="defs5865">
+ <linearGradient
+ xlink:href="#linearGradient5159"
+ id="linearGradient5203"
+ gradientUnits="userSpaceOnUse"
+ x1="1212.0807"
+ y1="203.26044"
+ x2="1214.4861"
+ y2="203.26044"
+ gradientTransform="translate(-1158.2344,-126.40221)" />
+ <linearGradient
+ id="linearGradient5159"
+ osb:paint="solid">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop5157" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="translate(-1147.3421,-126.40222)"
+ y2="203.26044"
+ x2="1214.4861"
+ y1="203.26044"
+ x1="1212.0807"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient5203-6"
+ xlink:href="#linearGradient5159" />
+ </defs>
+ <metadata
+ id="metadata5868">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ transform="translate(-53.446363,-69.322652)"
+ id="layer1">
+ <g
+ id="g6507">
+ <rect
+ y="70.577393"
+ x="53.846363"
+ height="12.561667"
+ width="2.4054255"
+ id="rect5201"
+ style="fill:#ffffff;stroke:url(#linearGradient5203);stroke-width:0.8;stroke-miterlimit:4;stroke-dasharray:none" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 56.26713,80.015024 h 8.7879"
+ id="path5209" />
+ <path
+ id="path5211"
+ d="m 56.27,73.305944 h 8.7879"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 67.22843,80.015024 h 20.5997 c 1.092112,-0.151748 2.132574,-0.6552 2.9293,-1.41741 1.010418,-0.966644 1.612895,-2.35074 1.616209,-3.749073 0.0033,-1.398333 -0.596822,-2.790799 -1.626209,-3.737217 -0.821021,-0.754846 -1.90189,-1.221596 -3.0143,-1.30166"
+ id="path5213" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 67.21734,73.419354 3.31669,-3.69572 17.2467,0.0948"
+ id="path5217" />
+ <rect
+ style="fill:#ffffff;stroke:url(#linearGradient5203-6);stroke-width:0.799999;stroke-miterlimit:4;stroke-dasharray:none"
+ id="rect5201-7"
+ width="2.4054255"
+ height="12.561667"
+ x="64.738731"
+ y="70.577393" />
+ </g>
+ </g>
+</svg>
diff --git a/src/main/resources/base/svg/Heating or Cooling Arrangements/Exchanger.svg b/src/main/resources/base/svg/Heating or Cooling Arrangements/Exchanger.svg
new file mode 100644
index 0000000..ee9aa2e
--- /dev/null
+++ b/src/main/resources/base/svg/Heating or Cooling Arrangements/Exchanger.svg
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ id="svg3305"
+ version="1.1"
+ viewBox="0 0 18.572141 18.358872"
+ height="18.358871mm"
+ width="18.572142mm">
+ <defs
+ id="defs3299">
+ <linearGradient
+ id="linearGradient5135"
+ osb:paint="solid">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop5133" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="matrix(0.0745283,0,0,0.0745283,126.33199,56.55539)"
+ y2="894.49042"
+ x2="306.71027"
+ y1="894.49042"
+ x1="56.083565"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3920"
+ xlink:href="#linearGradient5135" />
+ <linearGradient
+ gradientTransform="matrix(0.0745283,0,0,0.0745283,126.33199,56.55539)"
+ y2="894.49042"
+ x2="306.71027"
+ y1="894.49042"
+ x1="56.083565"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3922"
+ xlink:href="#linearGradient5135" />
+ <linearGradient
+ gradientTransform="matrix(0.0745283,0,0,0.0745283,126.33199,56.55539)"
+ y2="894.49042"
+ x2="306.71027"
+ y1="894.49042"
+ x1="56.083565"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3928"
+ xlink:href="#linearGradient5135" />
+ <linearGradient
+ gradientTransform="matrix(0.0745283,0,0,0.0745283,126.33199,56.55539)"
+ y2="894.49042"
+ x2="306.71027"
+ y1="894.49042"
+ x1="56.083565"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3932"
+ xlink:href="#linearGradient5135" />
+ </defs>
+ <metadata
+ id="metadata3302">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ transform="translate(-130.5118,-114.03592)"
+ id="layer1">
+ <g
+ style="stroke-width:0.8;stroke-miterlimit:4;stroke-dasharray:none"
+ id="g3948">
+ <ellipse
+ ry="6.9867759"
+ rx="6.773838"
+ cy="123.2276"
+ cx="137.41814"
+ id="ellipse4170"
+ style="fill:none;fill-rule:evenodd;stroke:url(#linearGradient3920);stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:url(#linearGradient3922);stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 149.08394,120.88289 h -13.0243 l 3.53839,2.86083 -3.57603,2.89847 12.98665,-0.0753"
+ id="path4198" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:url(#linearGradient3928);stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 137.29069,130.21218 v 2.18261"
+ id="path4204" />
+ <path
+ id="path4214"
+ d="m 137.03183,116.21871 0.003,-2.18261"
+ style="fill:none;fill-rule:evenodd;stroke:url(#linearGradient3932);stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ </g>
+</svg>
diff --git a/src/main/resources/base/svg/Heating or Cooling Arrangements/Heat Exchanger.svg b/src/main/resources/base/svg/Heating or Cooling Arrangements/Heat Exchanger.svg
new file mode 100644
index 0000000..84bc22e
--- /dev/null
+++ b/src/main/resources/base/svg/Heating or Cooling Arrangements/Heat Exchanger.svg
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ id="svg2644"
+ version="1.1"
+ viewBox="0 0 18.33902 14.380303"
+ height="14.380302mm"
+ width="18.33902mm">
+ <defs
+ id="defs2638">
+ <linearGradient
+ id="linearGradient5099"
+ osb:paint="solid">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop5097" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="matrix(0.0724309,0,0,0.0724309,87.453124,65.125291)"
+ y2="520.27844"
+ x2="703.30212"
+ y1="520.27844"
+ x1="472.18188"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3229"
+ xlink:href="#linearGradient5099" />
+ <linearGradient
+ gradientTransform="matrix(0.0724309,0,0,0.0724309,87.453124,65.125291)"
+ y2="520.27844"
+ x2="703.30212"
+ y1="520.27844"
+ x1="472.18188"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3231"
+ xlink:href="#linearGradient5099" />
+ </defs>
+ <metadata
+ id="metadata2641">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ transform="translate(-120.31733,-95.619366)"
+ id="layer1">
+ <g
+ id="g3237">
+ <ellipse
+ style="fill:none;fill-rule:evenodd;stroke:url(#linearGradient3229);stroke-width:0.799999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path3336"
+ cx="129.66988"
+ cy="102.80952"
+ rx="6.5832062"
+ ry="6.7901516" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:url(#linearGradient3231);stroke-width:0.799999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 120.31733,103.22017 h 5.09661 v -2.65441 l 7.94748,4.9538 0.0268,-2.29939 4.86813,0.0215 v 0 -0.0215"
+ id="path4144" />
+ </g>
+ </g>
+</svg>
diff --git a/src/main/resources/base/svg/Heating or Cooling Arrangements/Immersion Coil.svg b/src/main/resources/base/svg/Heating or Cooling Arrangements/Immersion Coil.svg
new file mode 100644
index 0000000..8d1155c
--- /dev/null
+++ b/src/main/resources/base/svg/Heating or Cooling Arrangements/Immersion Coil.svg
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ id="svg977"
+ version="1.1"
+ viewBox="0 0 6.1029692 17.830296"
+ height="17.830296mm"
+ width="6.1029692mm">
+ <defs
+ id="defs971" />
+ <metadata
+ id="metadata974">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ transform="translate(-135.2878,-109.76937)"
+ id="layer1">
+ <g
+ style="stroke-width:0.8;stroke-miterlimit:4;stroke-dasharray:none"
+ transform="rotate(-90,402.14008,250.39883)"
+ id="g3809">
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ d="m 542.7694,-10.501008 -3.88721,0.0041 -3.27406,-5.67612 -2.73953,5.545843 -3.23859,-5.435832 -2.77496,5.435832 -1.67042,-2.53906 h 17.57296"
+ id="path3807" />
+ </g>
+ </g>
+</svg>
diff --git a/src/main/resources/base/svg/Heating or Cooling Arrangements/Kettle Reboiler.svg b/src/main/resources/base/svg/Heating or Cooling Arrangements/Kettle Reboiler.svg
new file mode 100644
index 0000000..94852e6
--- /dev/null
+++ b/src/main/resources/base/svg/Heating or Cooling Arrangements/Kettle Reboiler.svg
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ id="svg4599"
+ version="1.1"
+ viewBox="0 0 24.658455 19.919762"
+ height="19.919762mm"
+ width="24.658455mm">
+ <defs
+ id="defs4593">
+ <linearGradient
+ xlink:href="#linearGradient5181"
+ id="linearGradient5272"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88228018,0,0,0.96397279,-172.7006,-88.123175)"
+ x1="1221.2104"
+ y1="225.97749"
+ x2="1243.5111"
+ y2="225.97749" />
+ <linearGradient
+ id="linearGradient5181"
+ osb:paint="solid">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop5179" />
+ </linearGradient>
+ <linearGradient
+ xlink:href="#linearGradient5181"
+ id="linearGradient5191"
+ gradientUnits="userSpaceOnUse"
+ x1="472.18188"
+ y1="520.27844"
+ x2="703.30212"
+ y2="520.27844"
+ gradientTransform="matrix(0.05408603,0,0,0.05495334,883.06565,105.79199)" />
+ </defs>
+ <metadata
+ id="metadata4596">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ transform="translate(-52.68267,-110.23654)"
+ id="layer1">
+ <g
+ style="stroke-width:0.8;stroke-miterlimit:4;stroke-dasharray:none"
+ transform="translate(-849.69362,-9.5165576)"
+ id="g5246">
+ <ellipse
+ style="fill:#ffffff;stroke:url(#linearGradient5272);stroke-width:0.8;stroke-miterlimit:4;stroke-dasharray:none"
+ id="path5177"
+ cx="914.58691"
+ cy="129.71298"
+ rx="9.8376846"
+ ry="9.8376865" />
+ <ellipse
+ ry="5.1516895"
+ rx="4.9158506"
+ cy="134.38303"
+ cx="914.59003"
+ id="ellipse5185"
+ style="fill:none;fill-rule:evenodd;stroke:url(#linearGradient5191);stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ d="m 902.37629,134.39008 h 9.4213 v -2.60588 l 5.9467,5.34539 v -2.80633 l 9.2876,0.20045"
+ id="path5199" />
+ </g>
+ </g>
+</svg>
diff --git a/src/main/resources/base/svg/Process Vessels/Horizontal Vessel.svg b/src/main/resources/base/svg/Process Vessels/Horizontal Vessel.svg
new file mode 100644
index 0000000..7881b2e
--- /dev/null
+++ b/src/main/resources/base/svg/Process Vessels/Horizontal Vessel.svg
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ sodipodi:docname="Horizontal Vessel.svg"
+ inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
+ id="svg1042"
+ version="1.1"
+ viewBox="0 0 27.295231 12.060382"
+ height="12.060382mm"
+ width="27.295231mm">
+ <defs
+ id="defs1036">
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4146"
+ id="linearGradient4706"
+ gradientUnits="userSpaceOnUse"
+ x1="400.09921"
+ y1="899.66388"
+ x2="716.43781"
+ y2="899.66388" />
+ <linearGradient
+ id="linearGradient4146"
+ osb:paint="solid">
+ <stop
+ style="stop-color:#000000;stop-opacity:0.9308176;"
+ offset="0"
+ id="stop4148" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4146"
+ id="linearGradient4698"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-0.60633777,2.7409506)"
+ x1="400.09921"
+ y1="899.66388"
+ x2="716.43781"
+ y2="899.66388" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4146"
+ id="linearGradient4700"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-0.77207685,-0.36821112)"
+ x1="400.09921"
+ y1="899.66388"
+ x2="716.43781"
+ y2="899.66388" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4146"
+ id="linearGradient4702"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(0.51335771,1.1117382)"
+ x1="400.09921"
+ y1="899.66388"
+ x2="716.43781"
+ y2="899.66388" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4146"
+ id="linearGradient4704"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-1.9166526,0.17227193)"
+ x1="400.09921"
+ y1="899.66388"
+ x2="716.43781"
+ y2="899.66388" />
+ </defs>
+ <sodipodi:namedview
+ inkscape:window-maximized="0"
+ inkscape:window-y="0"
+ inkscape:window-x="114"
+ inkscape:window-height="1020"
+ inkscape:window-width="1741"
+ showgrid="false"
+ inkscape:document-rotation="0"
+ inkscape:current-layer="layer1"
+ inkscape:document-units="mm"
+ inkscape:cy="156.85541"
+ inkscape:cx="151.02569"
+ inkscape:zoom="1.979899"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base" />
+ <metadata
+ id="metadata1039">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ transform="translate(12.89166,61.971772)"
+ id="layer1"
+ inkscape:groupmode="layer"
+ inkscape:label="Layer 1">
+ <g
+ id="g4696"
+ style="fill:none;stroke:url(#linearGradient4706);stroke-width:8.15922;stroke-miterlimit:4;stroke-dasharray:none"
+ transform="matrix(-0.0916895,2.8234217e-4,-2.1508094e-4,-0.10484799,51.875059,38.239137)">
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:url(#linearGradient4698);stroke-width:8.15922;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 427.73761,845.97746 257.8191,0.71912"
+ id="path4688"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4690"
+ d="m 424.22945,952.83607 259.25207,0.66653"
+ style="fill:none;fill-rule:evenodd;stroke:url(#linearGradient4700);stroke-width:8.15922;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ sodipodi:nodetypes="cc" />
+ <path
+ sodipodi:nodetypes="csc"
+ style="fill:none;fill-rule:evenodd;stroke:url(#linearGradient4702);stroke-width:8.15922;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 428.84344,845.4037 c 0,0 -18.59975,25.38769 -18.19184,56.38884 0.40791,31.00116 14.73658,51.62189 14.73658,51.62189"
+ id="path4692"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:nodetypes="csc"
+ inkscape:connector-curvature="0"
+ id="path4694"
+ d="m 682.33695,954.04308 c 0,0 17.85367,-22.41911 17.84056,-53.42295 -0.0131,-31.00384 -15.76918,-54.50823 -15.76918,-54.50823"
+ style="fill:none;fill-rule:evenodd;stroke:url(#linearGradient4704);stroke-width:8.15922;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ </g>
+</svg>
diff --git a/src/main/resources/base/svg/Process Vessels/Packed Vessel.svg b/src/main/resources/base/svg/Process Vessels/Packed Vessel.svg
new file mode 100644
index 0000000..b7a488f
--- /dev/null
+++ b/src/main/resources/base/svg/Process Vessels/Packed Vessel.svg
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ id="svg2336"
+ version="1.1"
+ viewBox="0 0 12.060382 27.295231"
+ height="27.295231mm"
+ width="12.060382mm">
+ <defs
+ id="defs2330">
+ <linearGradient
+ xlink:href="#linearGradient4146"
+ id="linearGradient5702"
+ gradientUnits="userSpaceOnUse"
+ x1="400.09921"
+ y1="899.66388"
+ x2="716.43781"
+ y2="899.66388" />
+ <linearGradient
+ id="linearGradient4146"
+ osb:paint="solid">
+ <stop
+ style="stop-color:#000000;stop-opacity:0.9308176;"
+ offset="0"
+ id="stop4148" />
+ </linearGradient>
+ <linearGradient
+ xlink:href="#linearGradient4146"
+ id="linearGradient4839"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-0.60633777,2.7409506)"
+ x1="400.09921"
+ y1="899.66388"
+ x2="716.43781"
+ y2="899.66388" />
+ <linearGradient
+ xlink:href="#linearGradient4146"
+ id="linearGradient4841"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-0.77207685,-0.36821112)"
+ x1="400.09921"
+ y1="899.66388"
+ x2="716.43781"
+ y2="899.66388" />
+ <linearGradient
+ xlink:href="#linearGradient4146"
+ id="linearGradient4843"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(0.51335771,1.1117382)"
+ x1="400.09921"
+ y1="899.66388"
+ x2="716.43781"
+ y2="899.66388" />
+ <linearGradient
+ xlink:href="#linearGradient4146"
+ id="linearGradient4845"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-1.9166526,0.17227193)"
+ x1="400.09921"
+ y1="899.66388"
+ x2="716.43781"
+ y2="899.66388" />
+ <linearGradient
+ y2="899.66388"
+ x2="716.43781"
+ y1="899.66388"
+ x1="400.09921"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2952"
+ xlink:href="#linearGradient4146" />
+ </defs>
+ <metadata
+ id="metadata2333">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ transform="translate(60.459868,-120.15595)"
+ id="layer1">
+ <g
+ id="g5700"
+ style="fill:none;stroke:url(#linearGradient5702);stroke-width:8.15922217;stroke-miterlimit:4;stroke-dasharray:none"
+ transform="matrix(2.8234217e-4,0.0916895,-0.10484799,2.1508101e-4,-467.23851,8.4008609)">
+ <g
+ id="g4837"
+ style="fill:none;stroke:url(#linearGradient2952);stroke-width:8.15922217;stroke-miterlimit:4;stroke-dasharray:none"
+ transform="translate(821.50242,-4833.2601)">
+ <path
+ id="path4829"
+ d="m 427.73761,845.97746 257.8191,0.71912"
+ style="fill:none;fill-rule:evenodd;stroke:url(#linearGradient4839);stroke-width:8.15922217;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:url(#linearGradient4841);stroke-width:8.15922217;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 424.22945,952.83607 259.25207,0.66653"
+ id="path4831" />
+ <path
+ id="path4833"
+ d="m 428.84344,845.4037 c 0,0 -18.59975,25.38769 -18.19184,56.38884 0.40791,31.00116 14.73658,51.62189 14.73658,51.62189"
+ style="fill:none;fill-rule:evenodd;stroke:url(#linearGradient4843);stroke-width:8.15922217;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:url(#linearGradient4845);stroke-width:8.15922217;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 682.33695,954.04308 c 0,0 17.85367,-22.41911 17.84056,-53.42295 -0.0131,-31.00384 -15.76918,-54.50823 -15.76918,-54.50823"
+ id="path4835" />
+ </g>
+ <path
+ id="path4849"
+ d="m 1484.9756,-3880.9961 0.2472,-105.3555"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:8.15922217;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path4851"
+ d="m 1439.3441,-3880.015 0.2487,-105.9861"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:8.15922217;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path4853"
+ d="m 1314.5412,-3880.5088 0.4297,-106.3011"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:8.15922217;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path4855"
+ d="m 1261.8788,-3880.8084 0.2486,-105.9861"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:8.15922217;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path4857"
+ d="m 1314.5412,-3880.5088 125.0516,-105.4923"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:8.15922217;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path4859"
+ d="m 1314.9709,-3986.8099 124.3732,106.7949"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:8.15922217;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ </g>
+</svg>
diff --git a/src/main/resources/base/svg/Process Vessels/Trays or plates.svg b/src/main/resources/base/svg/Process Vessels/Trays or plates.svg
new file mode 100644
index 0000000..3824a10
--- /dev/null
+++ b/src/main/resources/base/svg/Process Vessels/Trays or plates.svg
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ id="svg1072"
+ version="1.1"
+ viewBox="0 0 16.30163 20.31666"
+ height="20.31666mm"
+ width="16.30163mm">
+ <defs
+ id="defs1066" />
+ <metadata
+ id="metadata1069">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ transform="translate(-154.37895,-18.56786)"
+ id="layer1">
+ <g
+ style="fill:none;stroke-width:0.8;stroke-miterlimit:4;stroke-dasharray:none"
+ id="g4313"
+ transform="translate(-154.69871,-122.61669)">
+ <path
+ id="path3931"
+ d="m 309.47766,141.18455 v 20.31249"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 324.97929,141.1929 v 20.30831"
+ id="path3933" />
+ <path
+ id="path3935"
+ d="m 309.47766,143.62338 h 15.46822"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3937"
+ d="m 309.54448,147.19812 h 15.42334"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3939"
+ d="m 309.4655,151.20716 h 15.38016"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3941"
+ d="m 309.43783,154.74848 h 15.52999"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3943"
+ d="m 309.54447,158.75752 h 15.49422"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ </g>
+</svg>
diff --git a/src/main/resources/base/svg/Process Vessels/Vertical Vessel.svg b/src/main/resources/base/svg/Process Vessels/Vertical Vessel.svg
new file mode 100644
index 0000000..9c195f8
--- /dev/null
+++ b/src/main/resources/base/svg/Process Vessels/Vertical Vessel.svg
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ id="svg1683"
+ version="1.1"
+ viewBox="0 0 12.060382 27.295231"
+ height="27.295231mm"
+ width="12.060382mm">
+ <defs
+ id="defs1677">
+ <linearGradient
+ xlink:href="#linearGradient4146"
+ id="linearGradient4716"
+ gradientUnits="userSpaceOnUse"
+ x1="400.09921"
+ y1="899.66388"
+ x2="716.43781"
+ y2="899.66388" />
+ <linearGradient
+ id="linearGradient4146"
+ osb:paint="solid">
+ <stop
+ style="stop-color:#000000;stop-opacity:0.9308176;"
+ offset="0"
+ id="stop4148" />
+ </linearGradient>
+ <linearGradient
+ xlink:href="#linearGradient4146"
+ id="linearGradient4708"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-0.60633777,2.7409506)"
+ x1="400.09921"
+ y1="899.66388"
+ x2="716.43781"
+ y2="899.66388" />
+ <linearGradient
+ xlink:href="#linearGradient4146"
+ id="linearGradient4710"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-0.77207685,-0.36821112)"
+ x1="400.09921"
+ y1="899.66388"
+ x2="716.43781"
+ y2="899.66388" />
+ <linearGradient
+ xlink:href="#linearGradient4146"
+ id="linearGradient4712"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(0.51335771,1.1117382)"
+ x1="400.09921"
+ y1="899.66388"
+ x2="716.43781"
+ y2="899.66388" />
+ <linearGradient
+ xlink:href="#linearGradient4146"
+ id="linearGradient4714"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-1.9166526,0.17227193)"
+ x1="400.09921"
+ y1="899.66388"
+ x2="716.43781"
+ y2="899.66388" />
+ </defs>
+ <metadata
+ id="metadata1680">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ transform="translate(46.096772,32.546427)"
+ id="layer1">
+ <g
+ id="g4686"
+ style="fill:none;stroke:url(#linearGradient4716);stroke-width:8.15922217;stroke-miterlimit:4;stroke-dasharray:none"
+ transform="matrix(2.8234217e-4,0.0916895,-0.10484799,2.1508101e-4,54.114137,-70.017916)">
+ <path
+ id="path4328"
+ d="m 427.73761,845.97746 257.8191,0.71912"
+ style="fill:none;fill-rule:evenodd;stroke:url(#linearGradient4708);stroke-width:8.15922217;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:url(#linearGradient4710);stroke-width:8.15922217;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 424.22945,952.83607 259.25207,0.66653"
+ id="path4330" />
+ <path
+ id="path4332"
+ d="m 428.84344,845.4037 c 0,0 -18.59975,25.38769 -18.19184,56.38884 0.40791,31.00116 14.73658,51.62189 14.73658,51.62189"
+ style="fill:none;fill-rule:evenodd;stroke:url(#linearGradient4712);stroke-width:8.15922217;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:url(#linearGradient4714);stroke-width:8.15922217;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 682.33695,954.04308 c 0,0 17.85367,-22.41911 17.84056,-53.42295 -0.0131,-31.00384 -15.76918,-54.50823 -15.76918,-54.50823"
+ id="path4334" />
+ </g>
+ </g>
+</svg>
diff --git a/src/main/resources/base/svg/Pumps/Duplex Pump.svg b/src/main/resources/base/svg/Pumps/Duplex Pump.svg
index d499cc7..7557711 100644
--- a/src/main/resources/base/svg/Pumps/Duplex Pump.svg
+++ b/src/main/resources/base/svg/Pumps/Duplex Pump.svg
@@ -7,63 +7,39 @@
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
- sodipodi:docname="Duplex Pump.svg"
- width="21.156015mm"
- height="22.703859mm"
- viewBox="0 0 21.156015 22.703859"
+ id="svg5576"
version="1.1"
- id="svg5576">
- <sodipodi:namedview
- inkscape:current-layer="svg5576"
- inkscape:window-maximized="1"
- inkscape:window-y="-9"
- inkscape:window-x="-9"
- inkscape:cy="42.904931"
- inkscape:cx="39.979872"
- inkscape:zoom="9.812392"
- showgrid="false"
- id="namedview20"
- inkscape:window-height="1013"
- inkscape:window-width="1920"
- inkscape:pageshadow="2"
- inkscape:pageopacity="0"
- guidetolerance="10"
- gridtolerance="10"
- objecttolerance="10"
- borderopacity="1"
- bordercolor="#666666"
- pagecolor="#ffffff" />
+ viewBox="0 0 21.156015 22.703859"
+ height="22.703859mm"
+ width="21.156015mm">
<defs
id="defs5570">
<linearGradient
- gradientTransform="matrix(0.26458333,0,0,0.26458333,-612.68758,-69.39463)"
- gradientUnits="userSpaceOnUse"
- y2="280.57645"
- x2="2365.7141"
- y1="280.57645"
- x1="2331.7856"
+ xlink:href="#linearGradient4926"
id="linearGradient5047"
- xlink:href="#linearGradient4926" />
+ x1="2331.7856"
+ y1="280.57645"
+ x2="2365.7141"
+ y2="280.57645"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.26458333,0,0,0.26458333,-547.69335,-4.3953684)" />
<linearGradient
- osb:paint="solid"
- id="linearGradient4926">
+ id="linearGradient4926"
+ osb:paint="solid">
<stop
- id="stop4924"
+ style="stop-color:#000000;stop-opacity:1;"
offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
+ id="stop4924" />
</linearGradient>
<linearGradient
- gradientTransform="matrix(0.73140497,0,0,0.73140497,-702.68351,233.03624)"
- y2="280.57645"
- x2="2365.7141"
- y1="280.57645"
- x1="2331.7856"
- gradientUnits="userSpaceOnUse"
+ xlink:href="#linearGradient4926"
id="linearGradient5051"
- xlink:href="#linearGradient4926" />
+ gradientUnits="userSpaceOnUse"
+ x1="2331.7856"
+ y1="280.57645"
+ x2="2365.7141"
+ y2="280.57645"
+ gradientTransform="matrix(0.73140497,0,0,0.73140497,-702.68351,233.03624)" />
</defs>
<metadata
id="metadata5573">
@@ -73,56 +49,60 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title />
+ <dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
- id="g873">
- <rect
- y="0.39999947"
- x="4.2640209"
- height="8.8824406"
- width="8.9769344"
- id="rect5041"
- style="fill:none;stroke:url(#linearGradient5047);stroke-width:0.799999;stroke-miterlimit:4;stroke-dasharray:none" />
+ transform="translate(-64.994234,-64.999262)"
+ id="layer1">
<g
- style="stroke-width:3.02362;stroke-miterlimit:4;stroke-dasharray:none"
- transform="matrix(0.26458333,0,0,0.26458333,-259.85352,-96.898438)"
- id="g5609">
+ id="g6206">
<rect
- y="425.97406"
- x="1002.7961"
- height="24.554312"
- width="24.815525"
- id="rect5049"
- style="fill:#ffffff;stroke:url(#linearGradient5051);stroke-width:3.02362;stroke-miterlimit:4;stroke-dasharray:none" />
- <text
- xml:space="preserve"
- style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3.02362;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- x="1005.492"
- y="446.45251"
- id="text5053"><tspan
- id="tspan5055"
+ y="65.399261"
+ x="69.258255"
+ height="8.8824406"
+ width="8.9769344"
+ id="rect5041"
+ style="fill:#ffffff;stroke:url(#linearGradient5047);stroke-width:0.799999;stroke-miterlimit:4;stroke-dasharray:none" />
+ <g
+ style="stroke-width:3.02362;stroke-miterlimit:4;stroke-dasharray:none"
+ transform="matrix(0.26458333,0,0,0.26458333,-194.85929,-31.899176)"
+ id="g5609">
+ <rect
+ y="425.97406"
+ x="1002.7961"
+ height="24.554312"
+ width="24.815525"
+ id="rect5049"
+ style="fill:#ffffff;stroke:url(#linearGradient5051);stroke-width:3.02362;stroke-miterlimit:4;stroke-dasharray:none" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3.02362;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
x="1005.492"
y="446.45251"
- style="font-size:22.5px;line-height:1.25;stroke-width:3.02362;stroke-miterlimit:4;stroke-dasharray:none">M</tspan></text>
+ id="text5053"><tspan
+ id="tspan5055"
+ x="1005.492"
+ y="446.45251"
+ style="font-size:22.5px;line-height:1.25;stroke-width:3.02362;stroke-miterlimit:4;stroke-dasharray:none">M</tspan></text>
+ </g>
+ <path
+ id="path5057"
+ d="m 73.735737,74.294235 0.02196,6.52009"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.799999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path5061"
+ d="m 69.163787,67.667124 -4.169553,3e-6"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.799999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path5069"
+ d="m 78.18796,72.037475 7.961101,0.02363"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.799999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 78.18796,69.840481 H 69.541763"
+ id="path6185" />
</g>
- <path
- id="path5057"
- d="m 8.741503,9.294973 0.02196,6.52009"
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.799999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <path
- id="path5061"
- d="M 4.169553,2.667862 0,2.667865"
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.799999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <path
- id="path5069"
- d="m 13.193726,7.038213 7.961101,0.02363"
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.799999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <path
- style="fill:none;stroke:#000000;stroke-width:0.6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 13.193726,4.841219 H 4.547529"
- id="path6185" />
</g>
</svg>
diff --git a/src/main/resources/base/svg/Separators/Separators for Liquids, Decanter.svg b/src/main/resources/base/svg/Separators/Separators for Liquids, Decanter.svg
new file mode 100644
index 0000000..03e0d1a
--- /dev/null
+++ b/src/main/resources/base/svg/Separators/Separators for Liquids, Decanter.svg
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ id="svg1247"
+ version="1.1"
+ viewBox="0 0 16.08573 26.071976"
+ height="26.071976mm"
+ width="16.08573mm">
+ <defs
+ id="defs1241">
+ <linearGradient
+ xlink:href="#linearGradient5773"
+ id="linearGradient5775"
+ x1="687.14996"
+ y1="182.60863"
+ x2="705.05701"
+ y2="182.60863"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.85361472,0,0,0.96485861,-442.37409,-27.125941)" />
+ <linearGradient
+ id="linearGradient5773"
+ osb:paint="solid">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop5771" />
+ </linearGradient>
+ </defs>
+ <metadata
+ id="metadata1244">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ transform="translate(-313.2369,-248.52353)"
+ id="layer1">
+ <g
+ style="fill:none;stroke-width:0.8;stroke-miterlimit:4;stroke-dasharray:none"
+ transform="translate(169.44966,112.49395)"
+ id="g1223">
+ <rect
+ y="136.42958"
+ x="144.18724"
+ height="25.271976"
+ width="15.285729"
+ id="rect5769"
+ style="fill:none;stroke:url(#linearGradient5775);stroke-width:0.8;stroke-miterlimit:4;stroke-dasharray:none" />
+ <path
+ id="path6767"
+ d="m 144.23819,153.86161 h 3.67496"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path6769"
+ d="m 149.67521,153.86161 h 4.54359"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path6771"
+ d="m 156.20948,153.84778 h 3.14042"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ </g>
+</svg>
diff --git a/src/main/resources/base/svg/Storage Vessels Tanks/Fixed Roof Tank.svg b/src/main/resources/base/svg/Storage Vessels Tanks/Fixed Roof Tank.svg
new file mode 100644
index 0000000..59d046c
--- /dev/null
+++ b/src/main/resources/base/svg/Storage Vessels Tanks/Fixed Roof Tank.svg
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ id="svg1031"
+ version="1.1"
+ viewBox="0 0 25.655163 24.952713"
+ height="24.952713mm"
+ width="25.655163mm">
+ <defs
+ id="defs1025" />
+ <metadata
+ id="metadata1028">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1">
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 0.40000001,6.9481001 V 25.122426 H 25.79058 V 7.2153691 L 13.11495,0.45124507 Z"
+ id="path3796" />
+ </g>
+</svg>
diff --git a/src/main/resources/base/svg/Storage Vessels Tanks/Floating Roof Tank.svg b/src/main/resources/base/svg/Storage Vessels Tanks/Floating Roof Tank.svg
new file mode 100644
index 0000000..e0f66b9
--- /dev/null
+++ b/src/main/resources/base/svg/Storage Vessels Tanks/Floating Roof Tank.svg
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ id="svg1627"
+ version="1.1"
+ viewBox="0 0 24.853373 18.707533"
+ height="18.707533mm"
+ width="24.853373mm">
+ <defs
+ id="defs1621" />
+ <metadata
+ id="metadata1624">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1">
+ <g
+ style="fill:none;stroke-width:0.8;stroke-miterlimit:4;stroke-dasharray:none"
+ id="g5191"
+ transform="translate(-164.491,-88.609669)">
+ <path
+ id="path3798"
+ d="m 164.62329,88.609669 v 18.575241 h 24.58879 V 88.609671"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" />
+ <g
+ style="fill:none;stroke-width:0.8;stroke-miterlimit:4;stroke-dasharray:none"
+ transform="translate(-350.93963,22.931456)"
+ id="g3835">
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ d="m 518.27455,67.993667 h 19.25482"
+ id="path3800" />
+ <g
+ style="fill:none;stroke-width:0.8;stroke-miterlimit:4;stroke-dasharray:none"
+ id="g3818"
+ transform="translate(-0.0626413,-0.00417609)">
+ <path
+ id="path3802"
+ d="m 516.61076,66.174656 v 3.638021"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" />
+ <path
+ id="path3804"
+ d="m 516.74069,68.938607 h 1.46465 v -1.937128 h -1.60639"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" />
+ </g>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ d="m 524.72259,67.973849 3.16841,2.145933 3.66755,-2.14974"
+ id="path3806" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ d="m 527.891,70.119782 c 0.18928,1.111516 0.14063,2.262951 -0.14174,3.354538 -0.1475,0.570201 -0.35778,1.123442 -0.61423,1.653646 -0.6544,1.352936 -1.61436,2.557 -2.78757,3.49628 -1.13541,0.909013 -2.46725,1.568582 -3.87424,1.937129 -1.56805,0.410735 -3.22972,0.459607 -4.8192,0.14174"
+ id="path3808" />
+ <g
+ style="fill:none;stroke-width:0.8;stroke-miterlimit:4;stroke-dasharray:none"
+ transform="matrix(-1,0,0,1,1055.8677,0.00835215)"
+ id="g3824">
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ d="m 516.61076,66.174656 v 3.638021"
+ id="path3820" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ d="m 516.74069,68.938607 h 1.46465 v -1.937128 h -1.60639"
+ id="path3822" />
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/src/main/resources/base/svg/Valves/Gate Valve.svg b/src/main/resources/base/svg/Valves/Gate Valve.svg
new file mode 100644
index 0000000..53b3b6f
--- /dev/null
+++ b/src/main/resources/base/svg/Valves/Gate Valve.svg
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ sodipodi:docname="Gate Valve.svg"
+ inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
+ id="svg1007"
+ version="1.1"
+ viewBox="0 0 7.4183703 5.1522822"
+ height="5.1522822mm"
+ width="7.4183702mm">
+ <defs
+ id="defs1001" />
+ <sodipodi:namedview
+ inkscape:window-maximized="0"
+ inkscape:window-y="0"
+ inkscape:window-x="114"
+ inkscape:window-height="1020"
+ inkscape:window-width="1741"
+ showgrid="false"
+ inkscape:document-rotation="0"
+ inkscape:current-layer="layer1"
+ inkscape:document-units="mm"
+ inkscape:cy="67.111624"
+ inkscape:cx="211.91168"
+ inkscape:zoom="1.979899"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base" />
+ <metadata
+ id="metadata1004">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ transform="translate(-5.7608123)"
+ id="layer1"
+ inkscape:groupmode="layer"
+ inkscape:label="Layer 1">
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 6.163191,0.6943177 12.777775,4.4315572 12.770102,0.68829843 6.1611802,4.4629686 Z"
+ id="path3899"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ </g>
+</svg>
diff --git a/src/main/resources/base/svg/Valves/Globe Valve.svg b/src/main/resources/base/svg/Valves/Globe Valve.svg
new file mode 100644
index 0000000..f584bf8
--- /dev/null
+++ b/src/main/resources/base/svg/Valves/Globe Valve.svg
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ id="svg1605"
+ version="1.1"
+ viewBox="0 0 7.218342 4.8078794"
+ height="4.8078794mm"
+ width="7.2183418mm">
+ <defs
+ id="defs1599" />
+ <metadata
+ id="metadata1602">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ transform="translate(242.31682,-195.94439)"
+ id="layer1">
+ <g
+ transform="translate(0.16789109,0.2885682)"
+ style="stroke-width:0.6;stroke-miterlimit:4;stroke-dasharray:none"
+ id="g2221">
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m -242.18205,196.17804 6.61458,3.73724 -0.008,-3.74326 -6.60892,3.77467 z"
+ id="path3918-6" />
+ <circle
+ style="stroke-width:0.6;stroke-miterlimit:4;stroke-dasharray:none"
+ cy="198.05989"
+ cx="-238.87541"
+ id="path3926-3"
+ r="1.5" />
+ </g>
+ </g>
+</svg>
diff --git a/src/main/resources/base/toolbar/Compressors/Centrifugal Compressor.png b/src/main/resources/base/toolbar/Compressors/Centrifugal Compressor.png
index 0dd5c81..29c417f 100644
--- a/src/main/resources/base/toolbar/Compressors/Centrifugal Compressor.png
+++ b/src/main/resources/base/toolbar/Compressors/Centrifugal Compressor.png
Binary files differ
diff --git a/src/main/resources/base/toolbar/Compressors/Ejector Compressor.png b/src/main/resources/base/toolbar/Compressors/Ejector Compressor.png
index 2401524..c1d0486 100644
--- a/src/main/resources/base/toolbar/Compressors/Ejector Compressor.png
+++ b/src/main/resources/base/toolbar/Compressors/Ejector Compressor.png
Binary files differ
diff --git a/src/main/resources/base/toolbar/Compressors/Fan.png b/src/main/resources/base/toolbar/Compressors/Fan.png
index 44ee063..38ecb21 100644
--- a/src/main/resources/base/toolbar/Compressors/Fan.png
+++ b/src/main/resources/base/toolbar/Compressors/Fan.png
Binary files differ
diff --git a/src/main/resources/base/toolbar/Compressors/Positive Displacement Compressor.png b/src/main/resources/base/toolbar/Compressors/Positive Displacement Compressor.png
index f7e6e8e..6f7be8f 100644
--- a/src/main/resources/base/toolbar/Compressors/Positive Displacement Compressor.png
+++ b/src/main/resources/base/toolbar/Compressors/Positive Displacement Compressor.png
Binary files differ
diff --git a/src/main/resources/base/toolbar/Compressors/Reciprocating Compressor.png b/src/main/resources/base/toolbar/Compressors/Reciprocating Compressor.png
index 781f722..f3f284c 100644
--- a/src/main/resources/base/toolbar/Compressors/Reciprocating Compressor.png
+++ b/src/main/resources/base/toolbar/Compressors/Reciprocating Compressor.png
Binary files differ
diff --git a/src/main/resources/base/toolbar/Compressors/Turbine.png b/src/main/resources/base/toolbar/Compressors/Turbine.png
index 795cc90..c2acd75 100644
--- a/src/main/resources/base/toolbar/Compressors/Turbine.png
+++ b/src/main/resources/base/toolbar/Compressors/Turbine.png
Binary files differ
diff --git a/src/main/resources/base/toolbar/Furnaces and Boilers/Oil Gas or Pulverized Fuel Furnace.png b/src/main/resources/base/toolbar/Furnaces and Boilers/Oil Gas or Pulverized Fuel Furnace.png
new file mode 100644
index 0000000..f2f1c7d
--- /dev/null
+++ b/src/main/resources/base/toolbar/Furnaces and Boilers/Oil Gas or Pulverized Fuel Furnace.png
Binary files differ
diff --git a/src/main/resources/base/toolbar/Furnaces and Boilers/Solid Fuel Furnace.png b/src/main/resources/base/toolbar/Furnaces and Boilers/Solid Fuel Furnace.png
new file mode 100644
index 0000000..e5e97c1
--- /dev/null
+++ b/src/main/resources/base/toolbar/Furnaces and Boilers/Solid Fuel Furnace.png
Binary files differ
diff --git a/src/main/resources/base/toolbar/Heating or Cooling Arrangements/905Exchanger.png b/src/main/resources/base/toolbar/Heating or Cooling Arrangements/905Exchanger.png
new file mode 100644
index 0000000..2e0c546
--- /dev/null
+++ b/src/main/resources/base/toolbar/Heating or Cooling Arrangements/905Exchanger.png
Binary files differ
diff --git a/src/main/resources/base/toolbar/Heating or Cooling Arrangements/907Kettle Reboiler.png b/src/main/resources/base/toolbar/Heating or Cooling Arrangements/907Kettle Reboiler.png
new file mode 100644
index 0000000..dcb2789
--- /dev/null
+++ b/src/main/resources/base/toolbar/Heating or Cooling Arrangements/907Kettle Reboiler.png
Binary files differ
diff --git a/src/main/resources/base/toolbar/Heating or Cooling Arrangements/Exchanger.png b/src/main/resources/base/toolbar/Heating or Cooling Arrangements/Exchanger.png
new file mode 100644
index 0000000..13493f9
--- /dev/null
+++ b/src/main/resources/base/toolbar/Heating or Cooling Arrangements/Exchanger.png
Binary files differ
diff --git a/src/main/resources/base/toolbar/Heating or Cooling Arrangements/Heat Exchanger.png b/src/main/resources/base/toolbar/Heating or Cooling Arrangements/Heat Exchanger.png
new file mode 100644
index 0000000..4183d4b
--- /dev/null
+++ b/src/main/resources/base/toolbar/Heating or Cooling Arrangements/Heat Exchanger.png
Binary files differ
diff --git a/src/main/resources/base/toolbar/Heating or Cooling Arrangements/Immersion Coil.png b/src/main/resources/base/toolbar/Heating or Cooling Arrangements/Immersion Coil.png
new file mode 100644
index 0000000..35bd22d
--- /dev/null
+++ b/src/main/resources/base/toolbar/Heating or Cooling Arrangements/Immersion Coil.png
Binary files differ
diff --git a/src/main/resources/base/toolbar/Heating or Cooling Arrangements/Kettle Reboiler.png b/src/main/resources/base/toolbar/Heating or Cooling Arrangements/Kettle Reboiler.png
new file mode 100644
index 0000000..3fc7bd0
--- /dev/null
+++ b/src/main/resources/base/toolbar/Heating or Cooling Arrangements/Kettle Reboiler.png
Binary files differ
diff --git a/src/main/resources/base/toolbar/Piping/Inflow Line.png b/src/main/resources/base/toolbar/Piping/Inflow Line.png
index 7e5356d..123a2b0 100644
--- a/src/main/resources/base/toolbar/Piping/Inflow Line.png
+++ b/src/main/resources/base/toolbar/Piping/Inflow Line.png
Binary files differ
diff --git a/src/main/resources/base/toolbar/Piping/Outflow Line.png b/src/main/resources/base/toolbar/Piping/Outflow Line.png
index 84d1645..0e1d2ee 100644
--- a/src/main/resources/base/toolbar/Piping/Outflow Line.png
+++ b/src/main/resources/base/toolbar/Piping/Outflow Line.png
Binary files differ
diff --git a/src/main/resources/base/toolbar/Process Vessels/Horizontal Vessel.png b/src/main/resources/base/toolbar/Process Vessels/Horizontal Vessel.png
new file mode 100644
index 0000000..e0ea727
--- /dev/null
+++ b/src/main/resources/base/toolbar/Process Vessels/Horizontal Vessel.png
Binary files differ
diff --git a/src/main/resources/base/toolbar/Process Vessels/Packed Vessel.png b/src/main/resources/base/toolbar/Process Vessels/Packed Vessel.png
new file mode 100644
index 0000000..78e32a9
--- /dev/null
+++ b/src/main/resources/base/toolbar/Process Vessels/Packed Vessel.png
Binary files differ
diff --git a/src/main/resources/base/toolbar/Process Vessels/Trays or plates.png b/src/main/resources/base/toolbar/Process Vessels/Trays or plates.png
new file mode 100644
index 0000000..1cb1119
--- /dev/null
+++ b/src/main/resources/base/toolbar/Process Vessels/Trays or plates.png
Binary files differ
diff --git a/src/main/resources/base/toolbar/Process Vessels/Vertical Vessel.png b/src/main/resources/base/toolbar/Process Vessels/Vertical Vessel.png
new file mode 100644
index 0000000..25b7539
--- /dev/null
+++ b/src/main/resources/base/toolbar/Process Vessels/Vertical Vessel.png
Binary files differ
diff --git a/src/main/resources/base/toolbar/Pumps/Blowing Egg.png b/src/main/resources/base/toolbar/Pumps/Blowing Egg.png
index 87118a4..25d0ad3 100644
--- a/src/main/resources/base/toolbar/Pumps/Blowing Egg.png
+++ b/src/main/resources/base/toolbar/Pumps/Blowing Egg.png
Binary files differ
diff --git a/src/main/resources/base/toolbar/Pumps/Duplex Pump.png b/src/main/resources/base/toolbar/Pumps/Duplex Pump.png
index b2ee84b..7b230aa 100644
--- a/src/main/resources/base/toolbar/Pumps/Duplex Pump.png
+++ b/src/main/resources/base/toolbar/Pumps/Duplex Pump.png
Binary files differ
diff --git a/src/main/resources/base/toolbar/Pumps/Ejector(Vapor Service).png b/src/main/resources/base/toolbar/Pumps/Ejector(Vapor Service).png
index e317698..bc9b9fb 100644
--- a/src/main/resources/base/toolbar/Pumps/Ejector(Vapor Service).png
+++ b/src/main/resources/base/toolbar/Pumps/Ejector(Vapor Service).png
Binary files differ
diff --git a/src/main/resources/base/toolbar/Pumps/Hand Pump with Drum.png b/src/main/resources/base/toolbar/Pumps/Hand Pump with Drum.png
index a183826..11a84c6 100644
--- a/src/main/resources/base/toolbar/Pumps/Hand Pump with Drum.png
+++ b/src/main/resources/base/toolbar/Pumps/Hand Pump with Drum.png
Binary files differ
diff --git a/src/main/resources/base/toolbar/Pumps/Plunger Pump.png b/src/main/resources/base/toolbar/Pumps/Plunger Pump.png
index c6dc484..5112bca 100644
--- a/src/main/resources/base/toolbar/Pumps/Plunger Pump.png
+++ b/src/main/resources/base/toolbar/Pumps/Plunger Pump.png
Binary files differ
diff --git a/src/main/resources/base/toolbar/Pumps/Proportioning Pump.png b/src/main/resources/base/toolbar/Pumps/Proportioning Pump.png
index c00c923..f027301 100644
--- a/src/main/resources/base/toolbar/Pumps/Proportioning Pump.png
+++ b/src/main/resources/base/toolbar/Pumps/Proportioning Pump.png
Binary files differ
diff --git a/src/main/resources/base/toolbar/Pumps/Reciprocating Pump.png b/src/main/resources/base/toolbar/Pumps/Reciprocating Pump.png
index de8155e..f6e4507 100644
--- a/src/main/resources/base/toolbar/Pumps/Reciprocating Pump.png
+++ b/src/main/resources/base/toolbar/Pumps/Reciprocating Pump.png
Binary files differ
diff --git a/src/main/resources/base/toolbar/Separators/Separators for Liquids, Decanter.png b/src/main/resources/base/toolbar/Separators/Separators for Liquids, Decanter.png
new file mode 100644
index 0000000..927aa93
--- /dev/null
+++ b/src/main/resources/base/toolbar/Separators/Separators for Liquids, Decanter.png
Binary files differ
diff --git a/src/main/resources/base/toolbar/Storage Vessels Tanks/Fixed Roof Tank.png b/src/main/resources/base/toolbar/Storage Vessels Tanks/Fixed Roof Tank.png
new file mode 100644
index 0000000..85b832f
--- /dev/null
+++ b/src/main/resources/base/toolbar/Storage Vessels Tanks/Fixed Roof Tank.png
Binary files differ
diff --git a/src/main/resources/base/toolbar/Storage Vessels Tanks/Floating Roof Tank.png b/src/main/resources/base/toolbar/Storage Vessels Tanks/Floating Roof Tank.png
new file mode 100644
index 0000000..d38fa0c
--- /dev/null
+++ b/src/main/resources/base/toolbar/Storage Vessels Tanks/Floating Roof Tank.png
Binary files differ
diff --git a/src/main/resources/base/toolbar/Valves/Gate Valve.png b/src/main/resources/base/toolbar/Valves/Gate Valve.png
new file mode 100644
index 0000000..74a65ed
--- /dev/null
+++ b/src/main/resources/base/toolbar/Valves/Gate Valve.png
Binary files differ
diff --git a/src/main/resources/base/toolbar/Valves/Globe Valve.png b/src/main/resources/base/toolbar/Valves/Globe Valve.png
new file mode 100644
index 0000000..887608a
--- /dev/null
+++ b/src/main/resources/base/toolbar/Valves/Globe Valve.png
Binary files differ