Custom Icons in Material.svg Disappear After Server Restart

Hi,

I created some custom icons by pasting their code into the Material.svg file. However, after restarting the Ignition server, all of my updates are gone.

How can I make these changes persistent so that they are not lost after a server reset?

At export time i have to copy again all these icon??

Thanks.

Don't add them to material.svg, make your own icon sheet.

Hi, and thanks in advance for your help!

I’ve added my own SVG file to the project, but it doesn’t appear in the list of available icons. Am I missing a step to make it visible/usable in the icon picker?

This is the path that I use to create a custom SVG file.

“I’ve also noticed that my custom icons don’t render as smoothly as the default icons.”

as example also these from materail svg

I think you need to restart the gateway for them to show up.

Noo, they show up after the gateway scans for new files. You can force it with system.project.requestScan. Although getting them to appear in the designer image selector is somewhat of an art.

I've found circling your mouse three times clockwise, then moving it to the right and holding it for 5s, jumping up and down 6 times, and saying "alakazam" has little to no effect. But it's certainly worth a shot!

2 Likes

Hi, i tried but it is still same not effect.

Check your gateway logs - we may be picking up your file but failing to parse it successfully as an icons file.

Note: this was merged from a duplicate topic

Hi everyone,

I’ve created a custom icon library and placed it in the advised path according to the Ignition documentation. However, the icon library is not appearing, even after restarting both the gateway and the designer.

Am I missing a step in the setup? Any guidance would be greatly appreciated.

Thanks in advance!

https://docs.inductiveautomation.com/docs/8.1/ignition-modules/perspective/working-with-perspective-components/images-and-icons-in-perspective#use-a-custom-icon-repository

<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">  
<!--misc-->
	<svg viewBox="0 0 16 16">
		<g class="icon" id="misc-placeholder">
			<path d="M8,14v-6l5,-3l-5,-3l-5,3v6l5,3Zm5.28,-10l7.01697e-08,4.23078e-08c0.460688,0.277765 0.735882,0.782288 0.72,1.32v5.53l4.04732e-08,-8.90645e-06c-0.00237284,0.522501 -0.274699,1.00664 -0.719992,1.28l-4.5,2.73l2.01724e-08,-1.2749e-08c-0.476415,0.301093 -1.08359,0.301093 -1.56,2.54979e-08l-4.5,-2.73l-1.15263e-07,-7.07569e-08c-0.445297,-0.273356 -0.717628,-0.757495 -0.720007,-1.28v-5.53l-5.96978e-08,-2.02118e-06c-0.0158816,-0.537712 0.259313,-1.04223 0.720002,-1.32l4.5,-2.7l2.81283e-08,-1.69691e-08c0.479732,-0.28941 1.08027,-0.28941 1.56,-1.50799e-08Z"></path>
			<path fill-opacity="0.36" fill-rule="evenodd" d="M3,5l5,3v6l-5,-3Z"></path>
		</g>
	</svg>
	 <!-- Red Tank1 -->
    <svg viewBox="0 0 24 24" id="Enlive-recipe">
		<path d="m22.09034,19.13472l-6.83001,-10.50792l0,-5.0231l1.58673,0l0,-2.7517l-9.68854,0l0,2.75449l1.59974,0l0,5.0231l-6.84302,10.50513c-0.26477,0.4004 -0.4227,0.89184 -0.4227,1.41951c0,1.43252 1.16125,2.59377 2.59377,2.59377l0.00279,0l15.8218,0c1.43438,-0.00279 2.59656,-1.1659 2.59656,-2.6012c0,-0.52489 -0.15514,-1.01354 -0.4227,-1.4223l0.0065,0.01022l-0.00093,0zm-0.84075,2.13856c-0.26198,0.47658 -0.75992,0.79337 -1.33219,0.79337c-0.00186,0 -0.00372,0 -0.00557,0l-15.82273,0c-0.00093,0 -0.00186,0 -0.00279,0c-0.83982,0 -1.51984,-0.68003 -1.51984,-1.51984c0,-0.30657 0.09104,-0.5927 0.24711,-0.83146l-0.00372,0.00557l7.01302,-10.7764l0,-5.34268l4.35329,0l0,5.34547l7.00559,10.7764c0.15793,0.23318 0.25269,0.52117 0.25269,0.83146c0,0.26477 -0.06875,0.51374 -0.18952,0.72927l0.00372,-0.00743l0.00093,-0.00372z" />
		<path d="m15.0945,11.8246l-6.191,0l-5.655,8.698c-0.03,0.045 -0.048,0.1 -0.048,0.159c0,0.051 0.013,0.098 0.036,0.14l-0.001,-0.001c0.05,0.087 0.142,0.145 0.248,0.146l17.031,0l0.001,0c0.106,0 0.198,-0.058 0.247,-0.145l0.001,-0.001c0.022,-0.04 0.036,-0.088 0.036,-0.138c0,-0.059 -0.018,-0.115 -0.049,-0.16l0.001,0.001l-5.657,-8.699z" />
    </svg>

    <!-- EMG Reset -->
    <svg viewBox="0 0 24 24" id="Enlive-emgreset">		
		<path d="m12.00002,1.17017l0,2.40663c4.91057,0 8.90749,3.77842 8.90749,8.4232s-3.99692,8.4232 -8.90749,8.4232s-8.90749,-3.77842 -8.90749,-8.4232c0,-2.22252 0.93528,-4.31509 2.545,-5.87458l0,2.8663l2.54498,0l0,-6.61821l-6.99874,0l0,2.40663l2.27904,0c-1.85784,1.9638 -2.91529,4.52326 -2.91529,7.21987c0,5.97084 5.13707,10.82982 11.45247,10.82982s11.45247,-4.85898 11.45247,-10.82982s-5.13707,-10.82982 -11.45247,-10.82982" transform="rotate(-180 12 12)"/>
		<path d="m8.29605,16.77294l0,-1.05827l0.84662,0l1.26992,-4.23307l3.1748,0l1.26992,4.23307l0.84662,0l0,1.05827l-7.40788,0zm3.1748,-6.34961l0,-2.64568l1.05827,0l0,2.64568l-1.05827,0zm3.14835,1.3096l-0.75402,-0.75402l1.87844,-1.8652l0.74079,0.74079l-1.8652,1.87844l-0.00001,-0.00001zm0.5556,2.39433l0,-1.05827l2.64568,0l0,1.05827l-2.64568,0zm-5.79403,-2.39433l-1.8652,-1.87844l0.74079,-0.74079l1.87844,1.8652l-0.75402,0.75402l-0.00001,0.00001zm-3.20126,2.39433l0,-1.05827l2.64568,0l0,1.05827l-2.64568,0z"/>
	</svg>

    <!-- Simple Gauge -->
    <svg viewBox="0 0 24 24" id="enlive-gauge">
		<path d="m9.84428,15.97488c-0.793,1.37768 -0.25896,2.50906 0.84249,3.14438c1.1003,0.63647 2.34908,0.53519 3.14438,-0.84249c0.793,-1.37538 5.80881,-13.65594 5.3726,-13.908c-0.43621,-0.25206 -8.56532,10.22958 -9.35947,11.60611zm2.15572,-8.74717c0.50411,0 0.99442,0.04258 1.47436,0.12545c0.50411,-0.63187 1.06808,-1.32819 1.61708,-1.98883a11.12272,11.12272 0 0 0 -3.09143,-0.43851c-6.45334,0 -11.50943,5.44281 -11.50943,12.39106c0,0.427 0.01842,0.854 0.0564,1.26949c0.0564,0.63417 0.62151,1.09915 1.24762,1.04506c0.63417,-0.0587 1.10145,-0.61575 1.04506,-1.24992a12.04117,12.04117 0 0 1 -0.04719,-1.06462c0,-5.65804 4.04442,-10.08917 9.20755,-10.08917zm8.30866,1.43868c-0.32111,0.86321 -0.66064,1.74253 -0.95989,2.50215c1.16821,1.69189 1.85877,3.81423 1.85877,6.14834c0,0.3637 -0.01726,0.73085 -0.04949,1.08534a1.15209,1.15209 0 0 0 2.29268,0.20947c0.03798,-0.42585 0.0587,-0.86091 0.0587,-1.29481c0,-3.39989 -1.21194,-6.43377 -3.20077,-8.65049z" />		
	</svg>

    <!-- Thermometer -->
    <svg viewBox="0 0 24 24" id="enlive-thermometer">		
		<path d="m15.47073,6.766l5.70737,0l0,1.63067l-5.70737,0l0,-1.63067zm0,4.89204l8.15339,0l0,1.63067l-8.15339,0l0,-1.63067zm0,4.89204l5.70737,0l0,1.63067l-5.70737,0l0,-1.63067zm-8.15339,-1.48066l0,-10.74943l-1.63067,0l0,10.74943a2.44602,2.44602 0 1 0 1.63067,0z" />
		<path d="m22.76145,2.7722l-13.08748,0a3.83031,3.83031 0 0 0 -6.8981,2.30603l0,8.53999a5.38073,5.38073 0 1 0 7.68677,0l0,-8.53999a3.84492,3.84492 0 0 0 -0.07763,-0.76868l12.37646,0l0,-1.53736l-0.00002,0zm-16.1422,18.44822a3.83799,3.83799 0 0 1 -2.56122,-6.70133l0.2552,-0.22983l0,-9.21104a2.30603,2.30603 0 0 1 4.61205,0l0,9.21104l0.2552,0.22983a3.83799,3.83799 0 0 1 -2.56122,6.70133l-0.00002,0z" transform="matrix(1 0 0 1 0 0)" />		
	</svg>
    <!-- Flow -->
    <svg viewBox="0 0 24 24" id="enlive-flow">		
		<path d="m23.27168,11.69942l-8.80154,-4.61272l2.69749,4.9133l-2.79383,4.91329" />
		<path d="m10.96277,11.5345l2.43576,0l0,7.97995l-2.43576,0l0,-7.97995zm0.28417,-7.04895l0,6.11796l1.86742,0l0,-6.11796l-1.86742,0z"transform="rotate(-90 12.1807 12)" />
		<rect width="3.27553" x="0.72832" y="11.13295" />		
	</svg>	
	<!-- Panel -->
    <svg viewBox="0 0 24 24" id="enlive-panel">		
	  <rect fill="black" height="1.25786" width="23.34906" x="0.28616" y="5.1195" />
	  <rect fill="black" height="1.25786" width="23.34906" x="0.32547" y="17.54088" />
	  <rect fill="black" height="9.04088" transform="matrix(1 0 0 1 0 0)" width="22.32704" x="0.83648" y="7.47956" />		
	</svg>			
</svg>

Hi all,

First, thank you everyone for your help! I was able to resolve the issue using the Perspective Icon Manager.

This tool is very helpful—it not only resolved the current problem but also immediately highlights any issues when adding new icons.

@paul-griffith I could not find any icon library–related errors in the gateway log.

Perspective Icon Manager

I even restart the gateway multiple times to confirm that it successfully loads our custom library.

Thanks.

1 Like