WinCC Unified Dynamische SVG

fabey

Level-2
Beiträge
114
Reaktionspunkte
7
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

habe versucht eine dynamische SVG für WinCC Unified zu erstellen.

1683628969348.png

Sieht so aus:
XML:
<svg width="100mm" height="50mm" version="1.1" viewBox="0 0 100 50" xmlns="http://www.w3.org/2000/svg">
 <g transform="translate(.00022253 -.00032924)" stroke="#000">
  <path transform="matrix(.72161 0 0 .62727 16.582 24.906)" d="m44.825-0.28919-66.553 39.003-0.5009-77.138z" fill="#fff" stroke-width="1.4848"/>
  <path transform="matrix(-.72161 0 0 .62727 83.418 24.906)" d="m44.825-0.28919-66.553 39.003-0.5009-77.138z" fill="#fff" stroke-width="1.4848"/>
  <ellipse cx="51" cy="25" rx="7.5267" ry="7.5267" stroke-width=".9466"/>
 </g>
</svg>

Konvertiert in svghmi sieht es so aus:
XML:
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:hmi="http://svg.siemens.com/hmi/" xmlns:hmi-bind="http://svg.siemens.com/hmi/bind/" xmlns:hmi-bind--xlink="http://svg.siemens.com/hmi/bind/xlink/" xmlns:hmi-element="http://svg.siemens.com/hmi/element/" xmlns:hmi-event="http://svg.siemens.com/hmi/event/" xmlns:hmi-feature="http://svg.siemens.com/hmi/feature/" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 50" preserveAspectRatio="none">
  <hmi:self displayName="Ventil" name="extended.Ventil" performanceClass="L" type="widget" version="1.0.1">
    <hmi:paramDef name="Hintergrundfarbe" type="HmiColor" default="0xFFFFFFFF" />
  </hmi:self>
  <defs />
    <g stroke="#000">
      <path hmi-bind:fill="{{ Converter.RGBA(ParamProps.Hintergrundfarbe) }}" stroke-width="1.4848" d="m44.825-0.28919-66.553 39.003-0.5009-77.138z" transform="matrix(.72161,0,0,.62727,16.582,24.906)" />
      <path hmi-bind:fill="{{ Converter.RGBA(ParamProps.Hintergrundfarbe) }}" stroke-width="1.4848" d="m44.825-0.28919-66.553 39.003-0.5009-77.138z" transform="matrix(-.72161,0,0,.62727,83.418,24.906)" />
      <ellipse cx="51" cy="25" stroke-width=".9466" rx="7.5267" ry="7.5267" />
    </g>
  </g>
</svg>

Das geht auch ohne Probleme. Das obige Beispiel war mit Inkscape erstellt und als "Optimierte SVG" abgespeichert. Habe aber ein anderes Programm (CorelDraw) mit dem ich viel lieber arbeiten würde, weil dafür schon viele der benötigten Symbole als Projektdateien existieren. Hat jemand eine Idee wie sich hier die Variablen anbinden lassen:

XML:
<svg width="8.6667mm" height="4.5572mm" clip-rule="evenodd" fill-rule="evenodd" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" version="1.1" viewBox="0 0 68.57 36.06" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
 <defs>
  <style type="text/css">
   <![CDATA[
    .str0 {stroke:#2B2A29;stroke-width:1.58;stroke-miterlimit:22.9256}
    .fil1 {fill:#2B2A29}
    .fil0 {fill:#FEFEFE}
   ]]>
  </style>
 </defs>
 
 
  <polygon class="fil0 str0" points="34.25 18.03 17.52 26.4 0.79 34.78 0.79 18.03 0.79 1.28 17.52 9.66"/>
  <polygon class="fil0 str0" points="34.33 18.03 51.05 9.66 67.78 1.28 67.78 18.03 67.78 34.78 51.05 26.4"/>
  <ellipse class="fil1 str0" cx="34.33" cy="18.03" rx="5.02" ry="5.29"/>
 
</svg>
 
Okay ich habe es hinbekommen. Beim Export in CorelDRAW die Option Formoptionen "Darstellungsattribute" wählen. Dann wird es auf die gleiche Art wie bei Inkscape gespeichert.

Gibt es zur Formatierung von .svghmi-Dateien irgendwo eine offizielle Doku von Siemens?

1683637553937.png
 
Zuletzt bearbeitet:
Zurück
Oben