Servigistics InService Customization > Customizing the Servigistics InService User Interface > Third Party Scalable Vector Graphics
  
Third Party Scalable Vector Graphics
As of the Servigistics InService 6.4 release, third–party Scalable Vector Graphics (SVGs) are now supported. In previous releases only Creo Illustrate generated SVGs were supported.
You can configure which elements and attributes can be used to enable hotspots and callouts in SVG files created by any 3rd party illustration tools. This configuration information is extracted by the Servigistics InService viewer.
In order to be able to use hotspots in Servigistics InService SVGs, you must define/modify a property in the $INS_HOME\ InS_SW\SW\Applications\Windchill.ear\codebase.war\com\ptc\sc\xconf\sc.wt.properties.xconf file.
By default the property is already initialized with an OOTB configuration. The OOTB entry in the sc.wt.properties.xconf file is:
<Property name="com.ptc.sc.svg.attribute.keys"
default="class=callout_,id=hotspot_" overridable="true"/>
Unless configured otherwise, the OOTB configuration is used.
To configure third party SVGs, append the custom attribute string to the existing property value or override the existing value.Servigistics InService picks the saved configuration set in the default value and acts accordingly.
Protocol for Property Configuration in Servigistics InService SVG
A protocol for configuration is present for the Servigistics InService system to recognize how different SVGs represent the callout numbers present inside it. Following is an example of how configuration works:
{attribute name 1}={attribute value 1},{attribute name 2}={attribute value 2},{attribute name 3}={}, …
For a given comma separated entry:
{attribute name} is required.
{attribute value} is optional. It corresponds to a prefix string related to callout number entry, present in the attribute value, inside corresponding SVG files. For example, if a particular type of SVG file contains hotspot information in attribute name-value such as,class=callout_1, the property file configuration must be class=callout_.
This is a sample configuration based on above defined protocol: class=callout_,id=hotspot_,apsname=
In the example, configured attribute name apsname has no value. This means that the corresponding SVG file does not use any prefix string for callout number representation. Servigistics InService would expect the SVG file to contain an attribute name-value entry as apsname=1 or apsname=2 and so on.
For example, a SVG file node with attribute apsname=1 :
<g id="grobject.hot001a" apsname="1">
<g transform="translate(736.18.17.93)">
<g font-family="Ariel,sans-serif" sont-size=16.90" fill="rgb(0,0,0)">
<text x="0" y="0" textLength="10.00" lengthAdjust="spacingAndGlyphs">1</text>
</g>
</g>

<path d="M735.75 23.83L745.75.23 83L745.75 4.67L735.75 4.67L735.75 23.83Z"
fill="#00000" stroke="none" opactity="0" class="aps-region"/>
</g>
Example: Highlighting within a SVG
1. Sample SVG file snippet:
<g id="grobject.hot001a" apsname="1">
<g transform="translate(736.18.17.93)">
<g font-family="Ariel,sans-serif" sont-size=16.90"
fill="rgb(0,0,0)">
<text x="0" y="0" textLength="10.00"
lengthAdjust="spacingAndGlyphs">1</text>
</g>
</g>

<path d="M735.75 23.83L745.75.23 83L745.75 4.67L735.75 4.67L735.75 23.83Z"
fill="#00000" stroke="none" opactity="0" class="aps-region"/>
</g>
2. The property is set in the sc.wt.properties.xconf file :
<Property name="com.ptc.sc.svg.attribute.keys"
default="apsname=" overridable="true"/>
3. Start the server.
4. From the Servigistics InService UI navigate to a SVG.
5. Select available callouts from SVG image or part line item.