die Echte Größe und CPs für alle Bögen wegen Profile Bereite sind angepasst.

This commit is contained in:
2025-05-13 11:01:15 +02:00
parent f61df5f21c
commit d7d5436d66
191 changed files with 2366 additions and 351 deletions
@@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="600.06" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 600.06" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m998.66 598.72-421.15-421.8m-421.89-175.03h-155.62m577.49 175.03a596.62 597.58 0 0 0-421.89-175.03" fill="none" stroke="#ffe31b" stroke-width="3.7795"/>
</svg>

Before

Width:  |  Height:  |  Size: 404 B

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="169.65" height="1e3" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 169.65 1e3" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m167.91 999.26c-27.744-64.835-55.489-129.67-83.237-194.5m-82.783-402.83v-401.92m0 401.92c-0.0768 137.81 28.228 275.55 82.783 402.83" fill="none" stroke="#ffe31b" stroke-linecap="butt" stroke-width="3.78"/></svg>

Before

Width:  |  Height:  |  Size: 459 B

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="355.36" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 355.36" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m943.69 298.01a992.11 1014.1 0 0 0-701.89-296.12m755.52 350.8-53.639-54.689m-941.8-295.8 239.91-0.31118" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-width="3.7795"/></svg>

Before

Width:  |  Height:  |  Size: 435 B

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="399.02" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 399.02" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m2.6721 396.35 117.26-121.54m635.68-272.92h242.5m-242.5 0a898.99 931.82 0 0 0-635.68 272.92" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-width="3.7795"/></svg>

Before

Width:  |  Height:  |  Size: 423 B

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="717" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 717" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m1.7492 716.28 105.17-257m676.26-457.39h216.82m-216.82-1.16e-5a731.97 740.92 0 0 0-676.26 457.39" fill="none" stroke="#ffe31b" stroke-linecap="butt" stroke-width="3.78"/></svg>

Before

Width:  |  Height:  |  Size: 418 B

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="698.43" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 698.43" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m49.522 579.77 47.061-116.2m-94.122 232.41 47.061-116.2m722.58-577.88h226.01m-226.01 0a731.19 747.87 0 0 0-675.52 461.68" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-width="3.7795"/></svg>

Before

Width:  |  Height:  |  Size: 452 B

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="349.38" height="1e3" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 349.38 1e3" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m2.3868 998.11-0.49619-349.86c-0.2481-192.24 75.834-376.5 211.54-512.25l133.27-133.33" fill="none" fill-rule="nonzero" stroke="#ffe31b" stroke-linecap="square" stroke-width="3.78"/>
</svg>

Before

Width:  |  Height:  |  Size: 435 B

@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="1e3" fill-rule="evenodd" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 1e3" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m867.93 1e3v-184.43m-867.93-683.5h184.43m683.49 683.5a683.49 683.5 0 0 0-683.49-683.5" fill="none" stroke="#ffe31b" stroke-width="3.7795"/>
</svg>

Before

Width:  |  Height:  |  Size: 365 B

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="818.72" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 818.72" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m1.89 816.83v-70.867m738.37-744.07h257.85m-257.85 0a738.38 744.08 0 0 0-738.37 744.07" fill="none" fill-rule="evenodd" stroke="#ffe31b" stroke-linecap="square" stroke-linejoin="miter" stroke-width="3.78"/></svg>

Before

Width:  |  Height:  |  Size: 459 B

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="977.92" height="1e3" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 977.92 1e3" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m976.03 860.7v-137.41m0 274.82v-137.41m-974.14-858.81h252.13m722.01 721.4a722.01 721.4 0 0 0-722.01-721.4" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-width="3.7795"/></svg>

Before

Width:  |  Height:  |  Size: 437 B

@@ -1,5 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg width="1e3" height="1e3" version="1.1" viewBox="0 0 264.58 264.58" xmlns="http://www.w3.org/2000/svg">
<path d="m264.08 264.58v-56.187c0-114.82-93.076-207.89-207.89-207.89h-56.187" fill="none" stroke="#ffe31b" stroke-miterlimit="1" stroke-width="1.0001"/>
</svg>

Before

Width:  |  Height:  |  Size: 366 B

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="633.92" height="1e3" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 633.92 1e3" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m0 998.11h118.5m-118.5-996.22h118.5m0 996.22a513.53 498.11 0 0 0 0-996.22" fill="none" stroke="#ffe31b" stroke-linecap="butt" stroke-width="3.7795"/></svg>

Before

Width:  |  Height:  |  Size: 403 B

@@ -1,14 +0,0 @@
<?xml version="1.0" standalone="no"?>
<svg viewBox="0 0 1024 768" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" stroke-linecap="round" stroke-linejoin="round" fill-rule="evenodd" xml:space="preserve" >
<defs >
<clipPath id="clipId0" >
<path d="M0,768 1024,768 1024,0 0,0 z" />
</clipPath>
</defs>
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,0,0)" stroke-width="0.1" />
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(255,255,0)" stroke-width="0.25" >
<polyline points="381.756,359.091 381.756,383.044 " stroke-dasharray="2.816852,0.563370,0.563370,0.563370" />
<polyline points="423.573,317.274 447.526,317.274 " stroke-dasharray="2.816852,0.563370,0.563370,0.563370" />
<path d="M423.573,317.274 A41.8168,41.8168 0 0,0 381.756,359.091 " stroke-dasharray="2.816852,0.563370,0.563370,0.563370" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 871 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 616.41" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m1.8898 1.8898h155.08c157.74-0.00182 309.02 64.541 420.55 179.43l419.8 432.42" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="0" stroke-width="3.7795"/></svg>

After

Width:  |  Height:  |  Size: 427 B

@@ -3,4 +3,4 @@
<path d="m2.4645 675.6 75.03-183.44m724.56-490.27h196.06m-196.06 0a784.25 794.19 0 0 0-724.56 490.27" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-width="3.7795"/></svg>
<path d="m1.89 1.89h196.06c317.2-0.0025 603.17 193.5 724.56 490.27l75.03 183.44" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-width="3.78" vector-effect="non-scaling-stroke"/></svg>

Before

Width:  |  Height:  |  Size: 423 B

After

Width:  |  Height:  |  Size: 435 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="1e3" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 1e3" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m1.89 1.89h199.25c211.37 0.0026521 414.08 83.971 563.54 233.43 149.46 149.46 233.43 352.18 233.43 563.55v199.24" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-width="3.78" vector-effect="non-scaling-stroke"/></svg>

After

Width:  |  Height:  |  Size: 470 B

@@ -3,4 +3,4 @@
<path d="m997.27 997.77c1.8882-9.2311 0-90.535 0-90.535m-995.38-905.35h90.489m904.89 905.35a904.9 905.35 0 0 0-904.89-905.35" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-width="3.7795"/></svg>
<path d="m1.8898 2.074h90.549c486.6-10.373 915.89 419.04 905.49 905.49v90.549" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-miterlimit="0" stroke-width="3.7795" style="paint-order:fill markers stroke"/></svg>

Before

Width:  |  Height:  |  Size: 441 B

After

Width:  |  Height:  |  Size: 456 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="241.72" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 241.72" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m1.8898 1.8898h212.87c139.77 7.331e-4 278.18 27.626 407.31 81.3l375.46 156.06" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="0" stroke-width="3.7795" style="paint-order:normal"/></svg>

After

Width:  |  Height:  |  Size: 482 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="349.06" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 349.06" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m1.8898 1.8898h240.01c263.24 0.00142 515.69 104.63 701.83 290.87l53.598 53.627" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="0" stroke-width="3.7795" style="paint-order:fill markers stroke"/></svg>

After

Width:  |  Height:  |  Size: 496 B

@@ -3,4 +3,4 @@
<path d="m997.33 386.61-81.119-82.014m-914.31-302.7 193.78 0.42298m720.53 302.28a1019.9 1026.7 0 0 0-720.53-302.28" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-width="3.7795"/></svg>
<path d="m1.8941 1.8941 193.78 0.42298c270.49 0.58827 529.68 109.32 720.53 302.28l81.119 82.013" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-width="3.78" vector-effect="non-scaling-stroke"/></svg>

Before

Width:  |  Height:  |  Size: 437 B

After

Width:  |  Height:  |  Size: 451 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="450.64" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 450.64" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m1.8898 1.8898h169.33c243.47 1.037e-4 476.97 96.766 649.13 269.01l176.98 177.06" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-miterlimit="0" stroke-width="3.7795" style="paint-order:normal"/></svg>

After

Width:  |  Height:  |  Size: 460 B

@@ -3,4 +3,4 @@
<path d="m941.05 592.37 56.493 139.06m-995.64-729.53 70.306 0.30948m868.84 590.16a943.19 949.82 0 0 0-868.84-590.16" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-width="3.7795"/></svg>
<path d="m1.8983 1.8983 70.306 0.30948c381.48 1.6778 724.39 234.6 868.84 590.16l56.493 139.06" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-width="3.78" vector-effect="non-scaling-stroke"/></svg>

Before

Width:  |  Height:  |  Size: 438 B

After

Width:  |  Height:  |  Size: 449 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="631.35" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 631.35" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m1.889 1.89h264.8c285.26 0 542.43 171.91 651.59 435.58l79.251 191.41" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-miterlimit="0" stroke-width="3.7795"/></svg>

After

Width:  |  Height:  |  Size: 422 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="656.75" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 656.75" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m1.8898 1.8898h242.93c292.12 6.36e-5 555.48 176.05 667.27 446.05l85.439 206.34" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="0" stroke-width="3.7795"/></svg>

After

Width:  |  Height:  |  Size: 456 B

@@ -3,4 +3,4 @@
<path d="m998.11 671.98v-60.921m-996.22-609.17h387.42m608.8 609.17a608.81 609.17 0 0 0-608.8-609.17" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-width="3.7795"/></svg>
<path d="m1.89 1.89h387.42c161.46 0.0026537 316.32 64.184 430.49 178.43 114.17 114.24 178.31 269.18 178.31 430.74v60.921" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-width="3.78" vector-effect="non-scaling-stroke"/></svg>

Before

Width:  |  Height:  |  Size: 422 B

After

Width:  |  Height:  |  Size: 476 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="487.53" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 487.53" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m1.8898 1.8898h198.09c201.7-0.00326 395.14 80.227 537.77 223.04l259.58 259.92" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-miterlimit="0" stroke-width="3.7795"/></svg>

After

Width:  |  Height:  |  Size: 431 B

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="1e3" version="1.1" viewBox="0 0 1e3 1e3" xmlns="http://www.w3.org/2000/svg">
<path d="m1.89 1.89h211.96c433.14 0 784.26 351.12 784.26 784.26v211.96" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-miterlimit="1" stroke-width="3.78" vector-effect="non-scaling-stroke"/>
</svg>

After

Width:  |  Height:  |  Size: 353 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="812.64" height="1e3" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 812.64 1e3" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m1.89 1.89 70.337 3.23e-5c195.87 0 383.72 77.794 522.22 216.27 138.5 138.47 216.31 326.28 216.3 522.11l-0.0035 257.84" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="0" stroke-width="3.7795"/></svg>

After

Width:  |  Height:  |  Size: 495 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="977.97" height="1e3" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 977.97 1e3" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m1.89 1.89h252.14c191.5 0.0026498 375.15 76.01 510.56 211.3 135.41 135.29 211.48 318.78 211.48 510.11l5e-3 274.81" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="0" stroke-width="3.7795"/></svg>

After

Width:  |  Height:  |  Size: 491 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="956.94" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 956.94" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m1.89 1.89h291.03c187.03 0 366.4 74.43 498.64 206.92 132.25 132.49 206.55 312.18 206.55 499.54v246.7" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="0" stroke-width="3.7795"/></svg>

After

Width:  |  Height:  |  Size: 478 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="633.92" height="1e3" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 633.92 1e3" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m0 1.89h118.5c136.2 0 266.81 52.476 363.12 145.89 96.306 93.42 150.41 220.11 150.41 352.22s-54.104 258.81-150.41 352.22c-96.3 93.411-226.92 145.89-363.12 145.89h-118.5" fill="none" stroke="#ffe31b" stroke-linecap="butt" stroke-width="3.78" vector-effect="non-scaling-stroke"/></svg>

After

Width:  |  Height:  |  Size: 530 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="1e3" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 1e3" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m1.89 1.89h206.91c209.34 0 410.1 83.159 558.13 231.18 148.02 148.02 231.18 348.79 231.18 558.13v206.91" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="0" stroke-width="3.7795" style="paint-order:fill markers stroke"/></svg>

After

Width:  |  Height:  |  Size: 514 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="1e3" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 1e3" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m1.8898 1.8898h362.82c167.99-8.063e-4 329.1 66.732 447.88 185.52 118.79 118.79 185.52 279.9 185.52 447.88v362.82" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="0" stroke-width="3.7795" style="paint-order:fill markers stroke"/></svg>

After

Width:  |  Height:  |  Size: 524 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="653.63" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 653.63" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<g transform="matrix(1 0 0 1 .02294 -.02326)" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="0"><path d="m954.03 650.98c7.535-7.724 43.273-44.359 43.273-44.359" stroke-linecap="square" stroke-width="3.7795" style="paint-order:fill markers stroke"/><path d="m1.87 33.28h151.71c154.3 0 302.29 62.82 411.4 174.64l410.69 420.88" stroke-width="3.7795" style="paint-order:fill markers stroke"/><path d="m1.8668 1.913v62.728" stroke-width="3.7795" style="paint-order:fill markers stroke"/></g></svg>

After

Width:  |  Height:  |  Size: 781 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="733.49" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 733.49" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<g transform="matrix(.99998 0 0 .99998 .0518 -.044798)" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="0" stroke-width="3.7796"><path d="m1.8462 1.9346v83.283" style="paint-order:normal"/><path d="m1.838 43.57h188.84c305.51-0.01 580.94 192.87 697.85 488.7l72.252 182.85" style="paint-order:normal"/><path d="m924.07 731.06 73.414-31.883" style="paint-order:normal"/></g></svg>

After

Width:  |  Height:  |  Size: 665 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="1e3" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 1e3" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<g transform="matrix(1 0 0 .99999 5.7731e-5 -1.5169e-5)" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-miterlimit="0" stroke-width="3.7795"><path d="m1.8897 1.8898v80.459"/><path d="m1.8897 42.119h191.2c202.84-7.29e-4 397.37 80.576 540.8 224 143.43 143.43 224.01 337.96 224 540.8v191.2"/><path d="m917.66 998.12h80.45"/></g></svg>

After

Width:  |  Height:  |  Size: 578 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="1e3" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 1e3" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<g transform="matrix(1 0 0 1 -5.2142e-5 -5.2142e-5)" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="0" stroke-width="3.7795"><path d="m1.8898 1.8898v73.408"/><path d="m924.7 998.11h73.408"/><path d="m1.8898 38.597h87.228c231.34-0.0027 453.22 91.897 616.8 255.48 163.59 163.58 255.49 385.45 255.49 616.8v87.228"/></g></svg>

After

Width:  |  Height:  |  Size: 604 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="315.12" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 315.12" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<g transform="matrix(.99942 0 0 .99942 .0032981 -.0010993)" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="0" stroke-width="3.7818"><path d="m1.8876 1.892v80.419"/><path d="m1.8876 42.107h209.71c137.7-9.43e-4 274.06 27.185 401.28 80.005l369.88 153.57"/><path d="m967.41 312.84 30.701-74.302"/></g></svg>

After

Width:  |  Height:  |  Size: 591 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="402.95" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 402.95" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<g transform="matrix(.99999 0 0 .99999 .0057172 .0057192)" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="0" stroke-width="3.7795"><path d="m1.884 1.884v73.949"/><path d="m1.884 38.851h233.71c256.33 0.001882 502.17 101.83 683.42 283.09l52.183 52.191"/><path d="m945.06 400.28 52.274-52.29"/></g></svg>

After

Width:  |  Height:  |  Size: 589 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="438.79" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 438.79" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<g transform="matrix(.99998 0 0 .99998 .0078918 .0079242)" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-miterlimit="0" stroke-width="3.7795"><path d="m1.8819 1.8818v75.866"/><path d="m1.8819 39.815h188.41c262.99-3e-5 515.22 104.47 701.18 290.44l79.044 79.044"/><path d="m943.69 436.12 53.645-53.645"/></g></svg>

After

Width:  |  Height:  |  Size: 565 B

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="497.33" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 497.33" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<g transform="translate(.00035062 -.00033298)" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-miterlimit="0" stroke-width="3.7795"><path d="m1.8894 1.8901v68.678"/><path d="m1.8894 36.226h165.52c237.98 0.0014 466.22 94.579 634.5 262.93l171.22 171.15"/><path d="m948.78 494.66 48.546-48.566" stroke-linejoin="miter"/></g></svg>

After

Width:  |  Height:  |  Size: 579 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="747.09" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 747.09" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<g transform="matrix(.99708 0 0 .99708 -4.3149e-5 3.1033e-5)" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-miterlimit="0" stroke-width="3.7795"><path d="m1.8898 1.8897v69.806"/><path d="m1.8898 36.786h68.031c369.07 0.00452 701.8 222.33 843.04 563.31l55.234 133.35"/><path d="m935.95 746.81 64.51-26.723"/></g></svg>

After

Width:  |  Height:  |  Size: 569 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="674.52" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 674.52" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<g transform="matrix(.99999 0 0 .99999 .031808 -.032249)" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-miterlimit="0" stroke-width="3.7796"><path d="m1.858 1.922v54.47"/><path d="m1.858 29.157h258.34c278.29 9.54e-4 529.17 173.42 635.67 439.4l77.32 193.11"/><path d="m948.87 672.08 48.631-20.838"/></g></svg>

After

Width:  |  Height:  |  Size: 562 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="688.75" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 688.75" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<g transform="matrix(.99996 0 0 .99996 8.001e-5 8.001e-5)" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-miterlimit="0" stroke-width="3.7797"><path d="m1.8898 1.8898v54.785"/><path d="m1.8898 29.283h236.87c284.83-6.83e-4 541.62 174.47 650.62 442.05l83.304 204.49"/><path d="m947.8 686.31c10.632-4.4796 49.768-20.968 49.768-20.968"/></g>
</svg>

After

Width:  |  Height:  |  Size: 596 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="694.83" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 694.83" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<g transform="translate(.019177 -.019326)" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-miterlimit="0" stroke-width="3.7795"><path d="m1.8706 1.9091v46.45"/><path d="m1.8706 25.134h378.58c157.78 0.0014 309.09 63.967 420.65 177.83 111.56 113.86 174.24 268.28 174.24 429.3v60.702"/><path d="m952.58 692.96h45.514"/></g></svg>

After

Width:  |  Height:  |  Size: 578 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="546.4" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 546.4" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<g transform="translate(.044947 -.045999)" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-miterlimit="0" stroke-width="3.7795"><path d="m1.8448 1.9358v52.354"/><path d="m1.8448 28.12h194.58c198.12-0.0038 388.14 82.579 528.23 229.58l254.97 267.57" stroke-linejoin="miter"/><path d="m962 543.77 35.28-37.021" stroke-linejoin="miter"/></g></svg>

After

Width:  |  Height:  |  Size: 593 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="1e3" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 1e3" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<g transform="matrix(1 0 0 .99999 6.9031e-5 3.9431e-5)" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-miterlimit="0" stroke-width="3.7795"><path d="m1.8897 1.8897v51.061"/><path d="m1.8897 27.423h206.27c202.74-3e-6 397.17 80.537 540.53 223.89 143.36 143.36 223.9 337.79 223.9 540.53v206.27"/><path d="m947.06 998.12h51.054"/></g></svg>

After

Width:  |  Height:  |  Size: 583 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="817.17" height="1e3" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 817.17 1e3" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<g transform="translate(-.00018248 .00014832)" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="0" stroke-width="3.7795"><path d="m1.8899 1.8896v48.122"/><path d="m1.8899 25.951h68.628c191.14-0.002126 374.45 75.911 509.61 211.04 135.16 135.13 211.09 318.4 211.09 509.5v251.62"/><path d="m767.14 998.11h48.142"/></g></svg>

After

Width:  |  Height:  |  Size: 607 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="978.19" height="1e3" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="round" version="1.1" viewBox="0 0 978.19 1e3" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<g transform="matrix(.97811 0 0 .97811 .040856 .041845)" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-miterlimit="0" stroke-width="3.8641"><path d="m1.8903 1.8893v48.097"/><path d="m1.8903 25.938h251.62c191.1 4.14e-4 374.37 75.871 509.49 210.92 135.13 135.05 211.04 318.22 211.04 509.21v274.34"/><path d="m949.98 1020.4h48.132"/></g></svg>

After

Width:  |  Height:  |  Size: 594 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="957.89" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 957.89" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<g transform="translate(.0015949 -.0016606)" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-miterlimit="0" stroke-width="3.7795"><path d="m1.8882 1.8914v46.091"/><path d="m1.8882 24.931h284.31c182.71-3e-4 357.93 72.705 487.13 202.12 129.19 129.42 201.77 304.94 201.77 487.96v240.98"/><path d="m952.1 956h46.012"/></g></svg>

After

Width:  |  Height:  |  Size: 576 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="605.29" height="1e3" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="round" version="1.1" viewBox="0 0 605.29 1e3" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<g transform="translate(-.013437 .013404)" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-miterlimit="0" stroke-width="3.7795"><path d="m1.9032 1.8764v31.24"/><path d="m1.9032 17.496h112.94c129.65 0.21286 253.92 51.14 345.52 141.6 91.602 90.461 143.05 213.06 143.05 340.89s-51.449 250.43-143.05 340.89c-91.602 90.461-215.87 141.39-345.52 141.6h-112.94"/><path d="m1.9032 966.86v31.24"/></g></svg>

After

Width:  |  Height:  |  Size: 649 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="1e3" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 1e3" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><g fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-miterlimit="0" stroke-width="3.7795">
<path d="m1.8898 1.8898v62.471" style="paint-order:fill markers stroke"/><path d="m1.8898 33.125h200.42c202.78 3e-6 397.25 80.552 540.63 223.94 143.38 143.38 223.94 337.85 223.94 540.63v200.42" style="paint-order:fill markers stroke"/><path d="m935.64 998.11h62.471" style="paint-order:fill markers stroke"/></g></svg>

After

Width:  |  Height:  |  Size: 652 B

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="1e3" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 1e3" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<g transform="translate(4.6724e-5 3.5824e-5)" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-miterlimit="0" stroke-width="3.7795"><path d="m1.8897 1.8897v49.547" style="paint-order:fill markers stroke"/><path d="m1.8897 26.667h353.8c163.81-3.95e-4 320.91 65.072 436.74 180.9 115.83 115.83 180.91 272.93 180.91 436.74v353.8" style="paint-order:fill markers stroke"/><path d="m948.56 998.11h49.547" style="paint-order:fill markers stroke"/></g></svg>

After

Width:  |  Height:  |  Size: 699 B

@@ -0,0 +1,16 @@
<?xml version="1.0" standalone="no"?>
<svg viewBox="0 0 1024 768" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" stroke-linecap="round" stroke-linejoin="round" fill-rule="evenodd" xml:space="preserve" >
<defs >
<clipPath id="clipId0" >
<path d="M0,768 1024,768 1024,0 0,0 z" />
</clipPath>
</defs>
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,0,0)" stroke-width="0.1" />
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,255,255)" stroke-width="0.1" >
<polyline points="514.279,325.364 514.279,319.774 " />
<polyline points="603.213,375.639 565.706,338.132 " stroke-dasharray="3.909137,0.434349,0.868697,0.434349,0.868697,0.434349" />
<polyline points="514.279,322.569 528.134,322.569 " stroke-dasharray="3.909137,0.434349,0.868697,0.434349,0.868697,0.434349" />
<polyline points="601.237,377.615 605.189,373.662 " />
<path d="M565.706,338.132 A53.1354,53.1354 0 0,0 528.134,322.569 " stroke-dasharray="3.909137,0.434349,0.868697,0.434349,0.868697,0.434349" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

@@ -0,0 +1,16 @@
<?xml version="1.0" standalone="no"?>
<svg viewBox="0 0 1024 768" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" stroke-linecap="round" stroke-linejoin="round" fill-rule="evenodd" xml:space="preserve" >
<defs >
<clipPath id="clipId0" >
<path d="M0,768 1024,768 1024,0 0,0 z" />
</clipPath>
</defs>
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,0,0)" stroke-width="0.1" />
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,255,255)" stroke-width="0.1" >
<polyline points="355.27,336.861 355.27,339.528 " />
<polyline points="355.27,338.194 361.608,338.194 " stroke-dasharray="1.865086,0.207232,0.414464,0.207232,0.414464,0.207232" />
<polyline points="387.455,359.7 385.03,353.844 " stroke-dasharray="1.865086,0.207232,0.414464,0.207232,0.414464,0.207232" />
<polyline points="388.687,359.189 386.223,360.21 " />
<path d="M385.03,353.844 A25.3514,25.3514 0 0,0 361.608,338.194 " stroke-dasharray="1.865086,0.207232,0.414464,0.207232,0.414464,0.207232" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

@@ -0,0 +1,16 @@
<?xml version="1.0" standalone="no"?>
<svg viewBox="0 0 1024 768" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" stroke-linecap="round" stroke-linejoin="round" fill-rule="evenodd" xml:space="preserve" >
<defs >
<clipPath id="clipId0" >
<path d="M0,768 1024,768 1024,0 0,0 z" />
</clipPath>
</defs>
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,0,0)" stroke-width="0.1" />
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,255,255)" stroke-width="0.1" >
<polyline points="392.338,285.758 392.338,276.978 " />
<polyline points="492.27,385.69 501.049,385.69 " />
<polyline points="496.66,385.69 496.66,364.826 " stroke-dasharray="6.139928,0.682214,1.364429,0.682214,1.364429,0.682214" />
<polyline points="392.338,281.368 413.202,281.368 " stroke-dasharray="6.139928,0.682214,1.364429,0.682214,1.364429,0.682214" />
<path d="M496.66,364.826 A83.4577,83.4577 0 0,0 413.202,281.368 " stroke-dasharray="6.139928,0.682214,1.364429,0.682214,1.364429,0.682214" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

@@ -0,0 +1,16 @@
<?xml version="1.0" standalone="no"?>
<svg viewBox="0 0 1024 768" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" stroke-linecap="round" stroke-linejoin="round" fill-rule="evenodd" xml:space="preserve" >
<defs >
<clipPath id="clipId0" >
<path d="M0,768 1024,768 1024,0 0,0 z" />
</clipPath>
</defs>
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,0,0)" stroke-width="0.1" />
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,255,255)" stroke-width="0.1" >
<polyline points="376.777,289.574 376.777,278.069 " />
<polyline points="521.406,434.203 532.911,434.203 " />
<polyline points="527.159,434.203 527.159,420.532 " stroke-dasharray="8.046163,0.894018,1.788036,0.894018,1.788036,0.894018" />
<polyline points="376.777,283.822 390.448,283.822 " stroke-dasharray="8.046163,0.894018,1.788036,0.894018,1.788036,0.894018" />
<path d="M527.159,420.532 A136.71,136.71 0 0,0 390.448,283.822 " stroke-dasharray="8.046163,0.894018,1.788036,0.894018,1.788036,0.894018" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

@@ -0,0 +1,16 @@
<?xml version="1.0" standalone="no"?>
<svg viewBox="0 0 1024 768" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" stroke-linecap="round" stroke-linejoin="round" fill-rule="evenodd" xml:space="preserve" >
<defs >
<clipPath id="clipId0" >
<path d="M0,768 1024,768 1024,0 0,0 z" />
</clipPath>
</defs>
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,0,0)" stroke-width="0.1" />
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,255,255)" stroke-width="0.1" >
<polyline points="438.674,405.452 438.674,398.655 " />
<polyline points="438.674,402.054 456.441,402.054 " stroke-dasharray="3.361980,0.373553,0.747107,0.373553,0.747107,0.373553" />
<polyline points="521.774,421.796 490.437,408.816 " stroke-dasharray="3.361980,0.373553,0.747107,0.373553,0.747107,0.373553" />
<polyline points="523.074,418.656 520.473,424.936 " />
<path d="M490.437,408.816 A88.8355,88.8355 0 0,0 456.441,402.054 " stroke-dasharray="3.361980,0.373553,0.747107,0.373553,0.747107,0.373553" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

@@ -0,0 +1,16 @@
<?xml version="1.0" standalone="no"?>
<svg viewBox="0 0 1024 768" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" stroke-linecap="round" stroke-linejoin="round" fill-rule="evenodd" xml:space="preserve" >
<defs >
<clipPath id="clipId0" >
<path d="M0,768 1024,768 1024,0 0,0 z" />
</clipPath>
</defs>
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,0,0)" stroke-width="0.1" />
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,255,255)" stroke-width="0.1" >
<polyline points="278.689,349.952 278.689,345.097 " />
<polyline points="278.689,347.524 294.033,347.524 " stroke-dasharray="2.401415,0.266824,0.533648,0.266824,0.533648,0.266824" />
<polyline points="342.328,369.536 338.902,366.11 " stroke-dasharray="2.401415,0.266824,0.533648,0.266824,0.533648,0.266824" />
<polyline points="344.044,367.82 340.612,371.253 " />
<path d="M338.902,366.11 A63.4539,63.4539 0 0,0 294.033,347.524 " stroke-dasharray="2.401415,0.266824,0.533648,0.266824,0.533648,0.266824" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

@@ -0,0 +1,16 @@
<?xml version="1.0" standalone="no"?>
<svg viewBox="0 0 1024 768" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" stroke-linecap="round" stroke-linejoin="round" fill-rule="evenodd" xml:space="preserve" >
<defs >
<clipPath id="clipId0" >
<path d="M0,768 1024,768 1024,0 0,0 z" />
</clipPath>
</defs>
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,0,0)" stroke-width="0.1" />
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,255,255)" stroke-width="0.1" >
<polyline points="157.319,347.804 157.319,327.336 " />
<polyline points="157.319,337.57 208.15,337.57 " stroke-dasharray="10.124718,1.124969,2.249937,1.124969,2.249937,1.124969" />
<polyline points="418.648,437.253 397.323,415.928 " stroke-dasharray="10.124718,1.124969,2.249937,1.124969,2.249937,1.124969" />
<polyline points="425.885,430.017 411.412,444.49 " />
<path d="M397.323,415.928 A267.531,267.531 0 0,0 208.15,337.57 " stroke-dasharray="10.124718,1.124969,2.249937,1.124969,2.249937,1.124969" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

@@ -0,0 +1,19 @@
<?xml version="1.0" standalone="no"?>
<svg viewBox="0 0 1024 768" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" stroke-linecap="round" stroke-linejoin="round" fill-rule="evenodd" xml:space="preserve" >
<defs >
<clipPath id="clipId0" >
<path d="M0,768 1024,768 1024,0 0,0 z" />
</clipPath>
</defs>
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,0,0)" stroke-width="0.1" />
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,255,255)" stroke-width="0.1" >
<polyline points="252.127,319.099 252.127,305.778 " />
<polyline points="252.127,312.438 284.244,312.438 " stroke-dasharray="6.589481,0.732165,1.464329,0.732165,1.464329,0.732165" />
<polyline points="440.574,396.647 407.363,363.436 " stroke-dasharray="6.589481,0.732165,1.464329,0.732165,1.464329,0.732165" />
<polyline points="445.284,391.937 435.864,401.357 " />
<path d="M407.363,363.436 A174.118,174.118 0 0,0 284.244,312.438 " stroke-dasharray="6.589481,0.732165,1.464329,0.732165,1.464329,0.732165" />
</g>
<g clip-path="url(#clipId0)" fill="rgb(0,0,0)" stroke="rgb(0,0,0)" stroke-width="0.1" >
<text transform="matrix(63.3155 0 -0 63.3155 200.007 81.1884)" font-family="Arial,'sans-serif'" font-size="1.39636" >821104026</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

@@ -0,0 +1,16 @@
<?xml version="1.0" standalone="no"?>
<svg viewBox="0 0 1024 768" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" stroke-linecap="round" stroke-linejoin="round" fill-rule="evenodd" xml:space="preserve" >
<defs >
<clipPath id="clipId0" >
<path d="M0,768 1024,768 1024,0 0,0 z" />
</clipPath>
</defs>
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,0,0)" stroke-width="0.1" />
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,255,255)" stroke-width="0.1" >
<polyline points="262.678,386.695 262.678,381.818 " />
<polyline points="262.678,384.256 267.431,384.256 " stroke-dasharray="3.411071,0.379008,0.758016,0.379008,0.758016,0.379008" />
<polyline points="330.189,432.929 326.33,423.612 " stroke-dasharray="3.411071,0.379008,0.758016,0.379008,0.758016,0.379008" />
<polyline points="332.443,431.995 327.936,433.862 " />
<path d="M326.33,423.612 A63.7524,63.7524 0 0,0 267.431,384.256 " stroke-dasharray="3.411071,0.379008,0.758016,0.379008,0.758016,0.379008" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

@@ -0,0 +1,16 @@
<?xml version="1.0" standalone="no"?>
<svg viewBox="0 0 1024 768" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" stroke-linecap="round" stroke-linejoin="round" fill-rule="evenodd" xml:space="preserve" >
<defs >
<clipPath id="clipId0" >
<path d="M0,768 1024,768 1024,0 0,0 z" />
</clipPath>
</defs>
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,0,0)" stroke-width="0.1" />
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,255,255)" stroke-width="0.1" >
<polyline points="518.633,376.222 518.633,379.364 " />
<polyline points="518.633,377.793 534.049,377.793 " stroke-dasharray="1.553862,0.172651,0.345303,0.172651,0.345303,0.172651" />
<polyline points="576.596,414.278 571.982,403.139 " stroke-dasharray="1.553862,0.172651,0.345303,0.172651,0.345303,0.172651" />
<polyline points="578.047,413.677 575.145,414.879 " />
<path d="M571.982,403.139 A41.0586,41.0586 0 0,0 534.049,377.793 " stroke-dasharray="1.553862,0.172651,0.345303,0.172651,0.345303,0.172651" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

@@ -0,0 +1,16 @@
<?xml version="1.0" standalone="no"?>
<svg viewBox="0 0 1024 768" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" stroke-linecap="round" stroke-linejoin="round" fill-rule="evenodd" xml:space="preserve" >
<defs >
<clipPath id="clipId0" >
<path d="M0,768 1024,768 1024,0 0,0 z" />
</clipPath>
</defs>
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,0,0)" stroke-width="0.1" />
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,255,255)" stroke-width="0.1" >
<polyline points="332.625,370.081 332.625,375.837 " />
<polyline points="332.625,372.959 357.931,372.959 " stroke-dasharray="2.847307,0.316367,0.632735,0.316367,0.632735,0.316367" />
<polyline points="436.34,440.888 427.44,419.403 " stroke-dasharray="2.847307,0.316367,0.632735,0.316367,0.632735,0.316367" />
<polyline points="438.998,439.786 433.681,441.989 " />
<path d="M427.44,419.403 A75.236,75.236 0 0,0 357.931,372.959 " stroke-dasharray="2.847307,0.316367,0.632735,0.316367,0.632735,0.316367" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

@@ -0,0 +1,16 @@
<?xml version="1.0" standalone="no"?>
<svg viewBox="0 0 1024 768" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" stroke-linecap="round" stroke-linejoin="round" fill-rule="evenodd" xml:space="preserve" >
<defs >
<clipPath id="clipId0" >
<path d="M0,768 1024,768 1024,0 0,0 z" />
</clipPath>
</defs>
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,0,0)" stroke-width="0.1" />
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,255,255)" stroke-width="0.1" >
<polyline points="332.371,362.312 332.371,358.828 " />
<polyline points="405.145,410.661 408.629,410.661 " />
<polyline points="332.371,360.57 361.35,360.57 " stroke-dasharray="2.436480,0.270720,0.541440,0.270720,0.541440,0.270720" />
<polyline points="406.887,410.661 406.887,406.108 " stroke-dasharray="2.436480,0.270720,0.541440,0.270720,0.541440,0.270720" />
<path d="M406.887,406.108 A45.5374,45.5374 0 0,0 361.35,360.57 " stroke-dasharray="2.436480,0.270720,0.541440,0.270720,0.541440,0.270720" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

@@ -0,0 +1,16 @@
<?xml version="1.0" standalone="no"?>
<svg viewBox="0 0 1024 768" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" stroke-linecap="round" stroke-linejoin="round" fill-rule="evenodd" xml:space="preserve" >
<defs >
<clipPath id="clipId0" >
<path d="M0,768 1024,768 1024,0 0,0 z" />
</clipPath>
</defs>
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,0,0)" stroke-width="0.1" />
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,255,255)" stroke-width="0.1" >
<polyline points="443.693,392.812 443.693,389.063 " />
<polyline points="517.165,426.538 498.006,407.378 " stroke-dasharray="2.622003,0.291334,0.582667,0.291334,0.582667,0.291334" />
<polyline points="443.693,390.938 458.314,390.938 " stroke-dasharray="2.622003,0.291334,0.582667,0.291334,0.582667,0.291334" />
<polyline points="515.84,427.863 518.491,425.212 " />
<path d="M498.006,407.378 A56.1328,56.1328 0 0,0 458.314,390.938 " stroke-dasharray="2.622003,0.291334,0.582667,0.291334,0.582667,0.291334" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

@@ -0,0 +1,16 @@
<?xml version="1.0" standalone="no"?>
<svg viewBox="0 0 1024 768" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" stroke-linecap="round" stroke-linejoin="round" fill-rule="evenodd" xml:space="preserve" >
<defs >
<clipPath id="clipId0" >
<path d="M0,768 1024,768 1024,0 0,0 z" />
</clipPath>
</defs>
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,0,0)" stroke-width="0.1" />
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,255,255)" stroke-width="0.1" >
<polyline points="539.257,306.484 539.257,298.515 " />
<polyline points="686.768,453.995 694.736,453.995 " />
<polyline points="690.752,453.995 690.752,421.802 " stroke-dasharray="5.572713,0.619190,1.238381,0.619190,1.238381,0.619190" />
<polyline points="539.257,302.5 571.449,302.5 " stroke-dasharray="5.572713,0.619190,1.238381,0.619190,1.238381,0.619190" />
<path d="M690.752,421.802 A119.303,119.303 0 0,0 571.449,302.5 " stroke-dasharray="5.572713,0.619190,1.238381,0.619190,1.238381,0.619190" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

@@ -0,0 +1,16 @@
<?xml version="1.0" standalone="no"?>
<svg viewBox="0 0 1024 768" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" stroke-linecap="round" stroke-linejoin="round" fill-rule="evenodd" xml:space="preserve" >
<defs >
<clipPath id="clipId0" >
<path d="M0,768 1024,768 1024,0 0,0 z" />
</clipPath>
</defs>
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,0,0)" stroke-width="0.1" />
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,255,255)" stroke-width="0.1" >
<polyline points="369.001,352.862 375.845,352.862 " stroke-dasharray="3.357156,0.373017,0.746035,0.373017,0.746035,0.373017" />
<polyline points="369.001,350.462 369.001,355.262 " />
<polyline points="447.717,449.831 447.717,424.733 " stroke-dasharray="3.357156,0.373017,0.746035,0.373017,0.746035,0.373017" />
<polyline points="450.117,449.831 445.316,449.831 " />
<path d="M447.717,424.733 A71.8712,71.8712 0 0,0 375.845,352.862 " stroke-dasharray="3.357156,0.373017,0.746035,0.373017,0.746035,0.373017" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

@@ -0,0 +1,16 @@
<?xml version="1.0" standalone="no"?>
<svg viewBox="0 0 1024 768" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" stroke-linecap="round" stroke-linejoin="round" fill-rule="evenodd" xml:space="preserve" >
<defs >
<clipPath id="clipId0" >
<path d="M0,768 1024,768 1024,0 0,0 z" />
</clipPath>
</defs>
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,0,0)" stroke-width="0.1" />
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,255,255)" stroke-width="0.25" >
<polyline points="298.042,296.316 330.26,296.316 " stroke-dasharray="1.464448,0.366112,0.000022,0.366112" />
<path d="M422.52,388.576 A92.2602,92.2602 0 0,0 330.26,296.316 " stroke-dasharray="0.065900,0.007322,0.014644,0.007322,0.014644,0.007322" />
<polyline points="422.52,388.576 422.52,423.723 " stroke-dasharray="1.464448,0.366112,0.000022,0.366112" />
<polyline points="298.042,293.235 298.042,299.397 " />
<polyline points="425.602,423.723 419.439,423.723 " />
</g>
</svg>

After

Width:  |  Height:  |  Size: 994 B

@@ -7,8 +7,10 @@
</defs>
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,0,0)" stroke-width="0.1" />
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,0,0)" stroke-width="0.25" >
<polyline points="290.49,297.163 290.49,268.952 " stroke-dasharray="4.516966,0.501885,1.003770,0.501885,1.003770,0.501885" />
<polyline points="382.718,200.595 358.847,200.595 " stroke-dasharray="4.516966,0.501885,1.003770,0.501885,1.003770,0.501885" />
<path d="M358.847,200.595 A68.3575,68.3575 0 0,0 290.49,268.952 " stroke-dasharray="4.516966,0.501885,1.003770,0.501885,1.003770,0.501885" />
<polyline points="524.996,367.784 524.996,371.869 " />
<polyline points="524.996,369.826 550.237,369.826 " stroke-dasharray="2.020714,0.224524,0.449047,0.224524,0.449047,0.224524" />
<polyline points="613.441,452.345 609.356,452.345 " />
<polyline points="611.398,452.345 611.398,430.987 " stroke-dasharray="2.020714,0.224524,0.449047,0.224524,0.449047,0.224524" />
<path d="M611.398,430.987 A61.1609,61.1609 0 0,0 550.237,369.826 " stroke-dasharray="2.020714,0.224524,0.449047,0.224524,0.449047,0.224524" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 918 B

After

Width:  |  Height:  |  Size: 1.0 KiB

@@ -0,0 +1,16 @@
<?xml version="1.0" standalone="no"?>
<svg viewBox="0 0 1024 768" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" stroke-linecap="round" stroke-linejoin="round" fill-rule="evenodd" xml:space="preserve" >
<defs >
<clipPath id="clipId0" >
<path d="M0,768 1024,768 1024,0 0,0 z" />
</clipPath>
</defs>
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,0,0)" stroke-width="0.1" />
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,255,255)" stroke-width="0.25" >
<polyline points="451.549,474.142 468.208,474.142 " stroke-dasharray="3.268227,0.363136,0.726273,0.363136,0.726273,0.363136" />
<polyline points="451.549,476.479 451.549,471.805 " />
<polyline points="451.549,332.102 451.549,327.428 " />
<polyline points="451.549,329.765 468.208,329.765 " stroke-dasharray="3.268227,0.363136,0.726273,0.363136,0.726273,0.363136" />
<path d="M468.208,474.142 A72.1886,72.1886 0 0,0 468.208,329.765 " stroke-dasharray="3.268227,0.363136,0.726273,0.363136,0.726273,0.363136" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

@@ -5,10 +5,13 @@
<path d="M0,768 1024,768 1024,0 0,0 z" />
</clipPath>
</defs>
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,0,0)" stroke-width="0.1" />
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,0,0)" stroke-width="0.1" >
<polyline points="543.899,305.24 543.899,291.856 " />
<polyline points="757.334,505.291 743.95,505.291 " />
</g>
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,255,255)" stroke-width="0.1" >
<polyline points="495.902,514.531 495.902,471.592 " stroke-dasharray="9.359980,1.039998,2.079995,1.039998,2.079995,1.039998" />
<polyline points="289.159,307.788 332.098,307.788 " stroke-dasharray="9.359980,1.039998,2.079995,1.039998,2.079995,1.039998" />
<path d="M495.902,471.592 A163.804,163.804 0 0,0 332.098,307.788 " stroke-dasharray="9.359980,1.039998,2.079995,1.039998,2.079995,1.039998" />
<polyline points="750.642,505.291 750.642,462.352 " stroke-dasharray="9.359980,1.039998,2.079995,1.039998,2.079995,1.039998" />
<polyline points="543.899,298.548 586.838,298.548 " stroke-dasharray="9.359980,1.039998,2.079995,1.039998,2.079995,1.039998" />
<path d="M750.642,462.352 A163.804,163.804 0 0,0 586.838,298.548 " stroke-dasharray="9.359980,1.039998,2.079995,1.039998,2.079995,1.039998" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 924 B

After

Width:  |  Height:  |  Size: 1.0 KiB

@@ -0,0 +1,24 @@
<?xml version="1.0" standalone="no"?>
<svg viewBox="0 0 1024 768" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" stroke-linecap="round" stroke-linejoin="round" fill-rule="evenodd" xml:space="preserve" >
<defs >
<clipPath id="clipId0" >
<path d="M0,768 1024,768 1024,0 0,0 z" />
</clipPath>
</defs>
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,0,0)" stroke-width="0.1" />
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(255,255,0)" stroke-width="0.25" >
<polyline points="537.237,372.671 490.087,372.671 " />
</g>
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,0,0)" stroke-width="0.25" >
<polyline points="490.087,375.972 490.087,369.369 " />
</g>
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(255,255,0)" stroke-width="0.25" >
<polyline points="619.549,454.982 619.549,502.132 " />
</g>
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(0,0,0)" stroke-width="0.25" >
<polyline points="616.247,502.132 622.85,502.132 " />
</g>
<g clip-path="url(#clipId0)" fill="none" stroke="rgb(255,255,0)" stroke-width="0.25" >
<path d="M619.549,454.982 A82.3118,82.3118 0 0,0 537.237,372.671 " />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 616.41" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m1.8898 1.8898h155.08c157.74-0.00182 309.02 64.541 420.55 179.43l419.8 432.42" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="0" stroke-width="3.7795"/></svg>

After

Width:  |  Height:  |  Size: 427 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="678.06" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 678.06" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m1.89 1.89h196.06c317.2-0.0025 603.17 193.5 724.56 490.27l75.03 183.44" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-width="3.78" vector-effect="non-scaling-stroke"/></svg>

After

Width:  |  Height:  |  Size: 435 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="1e3" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 1e3" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m1.89 1.89h199.25c211.37 0.0026521 414.08 83.971 563.54 233.43 149.46 149.46 233.43 352.18 233.43 563.55v199.24" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-width="3.78" vector-effect="non-scaling-stroke"/></svg>

After

Width:  |  Height:  |  Size: 470 B

@@ -3,4 +3,4 @@
<path d="m998.11 998.11v-199.24m-996.22-796.98h199.25m796.97 796.98a796.98 796.98 0 0 0-796.97-796.98" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-width="3.7795"/></svg>
<path d="m1.8898 2.074h90.549c486.6-10.373 915.89 419.04 905.49 905.49v90.549" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-miterlimit="0" stroke-width="3.7795" style="paint-order:fill markers stroke"/></svg>

Before

Width:  |  Height:  |  Size: 418 B

After

Width:  |  Height:  |  Size: 456 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="241.72" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 241.72" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m1.8898 1.8898h212.87c139.77 7.331e-4 278.18 27.626 407.31 81.3l375.46 156.06" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="0" stroke-width="3.7795" style="paint-order:normal"/></svg>

After

Width:  |  Height:  |  Size: 482 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="349.06" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 349.06" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m1.8898 1.8898h240.01c263.24 0.00142 515.69 104.63 701.83 290.87l53.598 53.627" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="0" stroke-width="3.7795" style="paint-order:fill markers stroke"/></svg>

After

Width:  |  Height:  |  Size: 496 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="389.28" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 389.28" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m1.8941 1.8941 193.78 0.42298c270.49 0.58827 529.68 109.32 720.53 302.28l81.119 82.013" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-width="3.78" vector-effect="non-scaling-stroke"/></svg>

After

Width:  |  Height:  |  Size: 451 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="450.64" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 450.64" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m1.8898 1.8898h169.33c243.47 1.037e-4 476.97 96.766 649.13 269.01l176.98 177.06" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-miterlimit="0" stroke-width="3.7795" style="paint-order:normal"/></svg>

After

Width:  |  Height:  |  Size: 460 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="733.89" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 733.89" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m1.8983 1.8983 70.306 0.30948c381.48 1.6778 724.39 234.6 868.84 590.16l56.493 139.06" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-width="3.78" vector-effect="non-scaling-stroke"/></svg>

After

Width:  |  Height:  |  Size: 449 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="631.35" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 631.35" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m1.889 1.89h264.8c285.26 0 542.43 171.91 651.59 435.58l79.251 191.41" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-miterlimit="0" stroke-width="3.7795"/></svg>

After

Width:  |  Height:  |  Size: 422 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="656.75" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 656.75" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m1.8898 1.8898h242.93c292.12 6.36e-5 555.48 176.05 667.27 446.05l85.439 206.34" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="0" stroke-width="3.7795"/></svg>

After

Width:  |  Height:  |  Size: 456 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="673.87" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 673.87" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m1.89 1.89h387.42c161.46 0.0026537 316.32 64.184 430.49 178.43 114.17 114.24 178.31 269.18 178.31 430.74v60.921" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-width="3.78" vector-effect="non-scaling-stroke"/></svg>

After

Width:  |  Height:  |  Size: 476 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="487.53" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 487.53" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m1.8898 1.8898h198.09c201.7-0.00326 395.14 80.227 537.77 223.04l259.58 259.92" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-miterlimit="0" stroke-width="3.7795"/></svg>

After

Width:  |  Height:  |  Size: 431 B

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="1e3" version="1.1" viewBox="0 0 1e3 1e3" xmlns="http://www.w3.org/2000/svg">
<path d="m1.89 1.89h211.96c433.14 0 784.26 351.12 784.26 784.26v211.96" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-miterlimit="1" stroke-width="3.78" vector-effect="non-scaling-stroke"/>
</svg>

After

Width:  |  Height:  |  Size: 353 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="812.64" height="1e3" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 812.64 1e3" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m1.89 1.89 70.337 3.23e-5c195.87 0 383.72 77.794 522.22 216.27 138.5 138.47 216.31 326.28 216.3 522.11l-0.0035 257.84" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="0" stroke-width="3.7795"/></svg>

After

Width:  |  Height:  |  Size: 495 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="977.97" height="1e3" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 977.97 1e3" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m1.89 1.89h252.14c191.5 0.0026498 375.15 76.01 510.56 211.3 135.41 135.29 211.48 318.78 211.48 510.11l5e-3 274.81" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="0" stroke-width="3.7795"/></svg>

After

Width:  |  Height:  |  Size: 491 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="956.94" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 956.94" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m1.89 1.89h291.03c187.03 0 366.4 74.43 498.64 206.92 132.25 132.49 206.55 312.18 206.55 499.54v246.7" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="0" stroke-width="3.7795"/></svg>

After

Width:  |  Height:  |  Size: 478 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="633.92" height="1e3" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 633.92 1e3" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m0 1.89h118.5c136.2 0 266.81 52.476 363.12 145.89 96.306 93.42 150.41 220.11 150.41 352.22s-54.104 258.81-150.41 352.22c-96.3 93.411-226.92 145.89-363.12 145.89h-118.5" fill="none" stroke="#ffe31b" stroke-linecap="butt" stroke-width="3.78" vector-effect="non-scaling-stroke"/></svg>

After

Width:  |  Height:  |  Size: 530 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="1e3" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 1e3" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m1.89 1.89h206.91c209.34 0 410.1 83.159 558.13 231.18 148.02 148.02 231.18 348.79 231.18 558.13v206.91" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="0" stroke-width="3.7795" style="paint-order:fill markers stroke"/></svg>

After

Width:  |  Height:  |  Size: 514 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="1e3" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 1e3" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<path d="m1.8898 1.8898h362.82c167.99-8.063e-4 329.1 66.732 447.88 185.52 118.79 118.79 185.52 279.9 185.52 447.88v362.82" fill="none" stroke="#ffe31b" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="0" stroke-width="3.7795" style="paint-order:fill markers stroke"/></svg>

After

Width:  |  Height:  |  Size: 524 B

@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1e3" height="669.47" fill-rule="evenodd" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 669.47" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<svg width="1e3" height="669.81" fill-rule="evenodd" stroke-linejoin="round" version="1.1" viewBox="0 0 1e3 669.81" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<g transform="matrix(.92372 .38262 -.38262 .92372 382.62 -255.7)" fill="none" stroke-linecap="square">
<g transform="matrix(-2.447e-6 1 -1 -2.447e-6 1e3 .005797)" fill="none" stroke-linecap="square">
<path d="m1.89 998.11v-195.67c-7.424e-4 -317.43 191.27-603.61 484.61-725.09l180.83-74.879" stroke="#ffe31b" stroke-width="3.7867"/>
<path d="m198.17 848.74v-111.83c-6.3e-4 -198.4 119.54-377.26 302.88-453.18l87.029-36.042" style="stroke:#ec2525;stroke-dasharray:18.9335, 18.9335;" stroke-width="7.5734"/>
<path d="m198.17 848.74v-111.83c-6.3e-4 -198.4 119.54-377.26 302.88-453.18l87.029-36.042" stroke="#ec2525" stroke-dasharray="18.9335, 18.9335" stroke-width="7.5734"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 658 B

After

Width:  |  Height:  |  Size: 647 B

@@ -0,0 +1,182 @@
[
{
"SVGname": "APB_110_R400_45_400_821104021.svg",
"Sivasnr": "821104021",
"Winkel":45,
"center_line_width_mm": 669.491,
"center_line_height_mm": 399.505,
"Objekt_width_mm":684.367,
"Objekt_height_mm":435.421
},
{
"SVGname": "APB_110_R400_67_5_339_821104024.svg",
"Sivasnr": "821104024",
"Winkel":67.5,
"center_line_width_mm": 507.820,
"center_line_height_mm": 339.315,
"Objekt_width_mm":527.258,
"Objekt_height_mm":368.405
},
{
"SVGname": "APB_110_R400_90_500_821104022.svg",
"Sivasnr": "821104022",
"Winkel":90,
"center_line_width_mm": 500,
"center_line_height_mm": 500,
"Objekt_width_mm":521.040,
"Objekt_height_mm":521.040
},
{
"SVGname": "APB_110_R500_90_550_550_821104030.svg",
"Sivasnr": "821104030",
"Winkel":90,
"center_line_width_mm": 550,
"center_line_height_mm": 550,
"Objekt_width_mm":571.040,
"Objekt_height_mm":571.040
},
{
"SVGname": "APB_110_R550_22_5_84_821104025.svg",
"Sivasnr": "821104025",
"Winkel":22.5,
"center_line_width_mm": 514.491,
"center_line_height_mm": 122.230,
"Objekt_width_mm":522.542,
"Objekt_height_mm":162.707
},
{
"SVGname": "APB_110_R550_45_191_821104029.svg",
"Sivasnr": "821104029",
"Winkel":45,
"center_line_width_mm": 551.606,
"center_line_height_mm": 190.792 ,
"Objekt_width_mm":566.483,
"Objekt_height_mm":226.709
},
{
"SVGname": "APB_110_R550_45_205_821104037.svg",
"Sivasnr": "821104037",
"Winkel":45,
"center_line_width_mm": 537.249,
"center_line_height_mm": 204.932,
"Objekt_width_mm":552.126,
"Objekt_height_mm":240.849
},
{
"SVGname": "APB_110_R550_45_232_821104026.svg",
"Sivasnr": "821104026",
"Winkel":45,
"center_line_width_mm": 595.265,
"center_line_height_mm": 265.998,
"Objekt_width_mm":610.142,
"Objekt_height_mm":301.914
},
{
"SVGname": "APB_110_R550_67_5_420_821104028.svg",
"Sivasnr": "821104028",
"Winkel":67.5,
"center_line_width_mm": 582.427,
"center_line_height_mm": 419.902,
"Objekt_width_mm":601.865,
"Objekt_height_mm":448.992
},
{
"SVGname": "APB_110_R550_67_5_432_821104027.svg",
"Sivasnr": "821104027",
"Winkel":67.5,
"center_line_width_mm": 776.437,
"center_line_height_mm": 488.731,
"Objekt_width_mm":795.875,
"Objekt_height_mm":517.821
},
{
"SVGname": "APB_110_R550_67_5_L_185_170_821104065.svg",
"Sivasnr": "821104065",
"Winkel":67.5,
"center_line_width_mm": 758.190,
"center_line_height_mm": 496.584,
"Objekt_width_mm":777.628,
"Objekt_height_mm":525.674
},
{
"SVGname": "APB_110_R550_90_900_605_821104066.svg",
"Sivasnr": "821104066",
"Winkel":90,
"center_line_width_mm": 900,
"center_line_height_mm": 605,
"Objekt_width_mm":921.040,
"Objekt_height_mm":626.040
},
{
"SVGname": "APB_110_R630_45_400_821104031.svg",
"Sivasnr": "821104031",
"Winkel":45,
"center_line_width_mm": 824.608,
"center_line_height_mm": 399.554,
"Objekt_width_mm":839.485,
"Objekt_height_mm":435.470
},
{
"SVGname": "APB_110_R630_90_800_800_821104033.svg",
"Sivasnr": "821104033",
"Winkel":90,
"center_line_width_mm": 800,
"center_line_height_mm": 800,
"Objekt_width_mm":821.040,
"Objekt_height_mm":821.040
},
{
"SVGname": "APB_110_R630_90_850_690_821104041.svg",
"Sivasnr": "821104041",
"Winkel":90,
"center_line_width_mm": 690,
"center_line_height_mm": 850,
"Objekt_width_mm":711.040,
"Objekt_height_mm":871.040
},
{
"SVGname": "APB_110_R630_90_850_870_821104035.svg",
"Sivasnr": "821104035",
"Winkel":90,
"center_line_width_mm": 850,
"center_line_height_mm": 870,
"Objekt_width_mm":871.04,
"Objekt_height_mm":891.04
},
{
"SVGname": "APB_110_R630_90_850_890_821104034.svg",
"Sivasnr": "821104034",
"Winkel":90,
"center_line_width_mm": 890,
"center_line_height_mm": 850,
"Objekt_width_mm":911.040,
"Objekt_height_mm":871.040
},
{
"SVGname": "APB_110_R650_180_L_150_821104043.svg",
"Sivasnr": "821104043",
"Winkel":180,
"center_line_width_mm": 800,
"center_line_height_mm": 1300,
"Objekt_width_mm":800,
"Objekt_height_mm":1342.080
},
{
"SVGname": "APB_60_R515_90_650_821094040.svg",
"Sivasnr": "821094040",
"Winkel":90,
"center_line_width_mm": 650.0,
"center_line_height_mm": 650.0,
"Objekt_width_mm": 671.040,
"Objekt_height_mm": 671.040
},
{
"SVGname": "APB_60_R515_90_810_821094101.svg",
"Sivasnr": "821094101",
"Winkel":90,
"center_line_width_mm": 810.0,
"center_line_height_mm": 810.0,
"Objekt_width_mm": 831.04,
"Objekt_height_mm": 831.04
}
]
@@ -0,0 +1,222 @@
[
{
"SVGname": "APB_110_R400_45_400_821104021.svg",
"Sivasnr": "821104021",
"Winkel": 45.0,
"center_line_width_mm": 669.491,
"center_line_height_mm": 399.505,
"Objekt_width_mm": 684.367,
"Objekt_height_mm": 435.421,
"calculated_objekt_width_mm": 684.369,
"calculated_objekt_height_mm": 435.423
},
{
"SVGname": "APB_110_R400_67_5_339_821104024.svg",
"Sivasnr": "821104024",
"Winkel": 67.5,
"center_line_width_mm": 507.82,
"center_line_height_mm": 339.315,
"Objekt_width_mm": 527.258,
"Objekt_height_mm": 368.405,
"calculated_objekt_width_mm": 527.258,
"calculated_objekt_height_mm": 368.407
},
{
"SVGname": "APB_110_R400_90_500_821104022.svg",
"Sivasnr": "821104022",
"Winkel": 90.0,
"center_line_width_mm": 500.0,
"center_line_height_mm": 500.0,
"Objekt_width_mm": 521.04,
"Objekt_height_mm": 521.04,
"calculated_objekt_width_mm": 521.04,
"calculated_objekt_height_mm": 521.04
},
{
"SVGname": "APB_110_R500_90_550_550_821104030.svg",
"Sivasnr": "821104030",
"Winkel": 90.0,
"center_line_width_mm": 550.0,
"center_line_height_mm": 550.0,
"Objekt_width_mm": 571.04,
"Objekt_height_mm": 571.04,
"calculated_objekt_width_mm": 571.04,
"calculated_objekt_height_mm": 571.04
},
{
"SVGname": "APB_110_R550_22_5_84_821104025.svg",
"Sivasnr": "821104025",
"Winkel": 22.5,
"center_line_width_mm": 514.491,
"center_line_height_mm": 122.23,
"Objekt_width_mm": 522.542,
"Objekt_height_mm": 162.707,
"calculated_objekt_width_mm": 522.543,
"calculated_objekt_height_mm": 162.708
},
{
"SVGname": "APB_110_R550_45_191_821104029.svg",
"Sivasnr": "821104029",
"Winkel": 45.0,
"center_line_width_mm": 551.606,
"center_line_height_mm": 190.792,
"Objekt_width_mm": 566.483,
"Objekt_height_mm": 226.709,
"calculated_objekt_width_mm": 566.484,
"calculated_objekt_height_mm": 226.71
},
{
"SVGname": "APB_110_R550_45_205_821104037.svg",
"Sivasnr": "821104037",
"Winkel": 45.0,
"center_line_width_mm": 537.249,
"center_line_height_mm": 204.932,
"Objekt_width_mm": 552.126,
"Objekt_height_mm": 240.849,
"calculated_objekt_width_mm": 552.127,
"calculated_objekt_height_mm": 240.85
},
{
"SVGname": "APB_110_R550_45_232_821104026.svg",
"Sivasnr": "821104026",
"Winkel": 45.0,
"center_line_width_mm": 595.265,
"center_line_height_mm": 265.998,
"Objekt_width_mm": 610.142,
"Objekt_height_mm": 301.914,
"calculated_objekt_width_mm": 610.143,
"calculated_objekt_height_mm": 301.916
},
{
"SVGname": "APB_110_R550_67_5_420_821104028.svg",
"Sivasnr": "821104028",
"Winkel": 67.5,
"center_line_width_mm": 582.427,
"center_line_height_mm": 419.902,
"Objekt_width_mm": 601.865,
"Objekt_height_mm": 448.992,
"calculated_objekt_width_mm": 601.865,
"calculated_objekt_height_mm": 448.994
},
{
"SVGname": "APB_110_R550_67_5_432_821104027.svg",
"Sivasnr": "821104027",
"Winkel": 67.5,
"center_line_width_mm": 776.437,
"center_line_height_mm": 488.731,
"Objekt_width_mm": 795.875,
"Objekt_height_mm": 517.821,
"calculated_objekt_width_mm": 795.875,
"calculated_objekt_height_mm": 517.823
},
{
"SVGname": "APB_110_R550_67_5_L_185_170_821104065.svg",
"Sivasnr": "821104065",
"Winkel": 67.5,
"center_line_width_mm": 758.19,
"center_line_height_mm": 496.584,
"Objekt_width_mm": 777.628,
"Objekt_height_mm": 525.674,
"calculated_objekt_width_mm": 777.628,
"calculated_objekt_height_mm": 525.676
},
{
"SVGname": "APB_110_R550_90_900_605_821104066.svg",
"Sivasnr": "821104066",
"Winkel": 90.0,
"center_line_width_mm": 900.0,
"center_line_height_mm": 605.0,
"Objekt_width_mm": 921.04,
"Objekt_height_mm": 626.04,
"calculated_objekt_width_mm": 921.04,
"calculated_objekt_height_mm": 626.04
},
{
"SVGname": "APB_110_R630_45_400_821104031.svg",
"Sivasnr": "821104031",
"Winkel": 45.0,
"center_line_width_mm": 824.608,
"center_line_height_mm": 399.554,
"Objekt_width_mm": 839.485,
"Objekt_height_mm": 435.47,
"calculated_objekt_width_mm": 839.486,
"calculated_objekt_height_mm": 435.472
},
{
"SVGname": "APB_110_R630_90_800_800_821104033.svg",
"Sivasnr": "821104033",
"Winkel": 90.0,
"center_line_width_mm": 800.0,
"center_line_height_mm": 800.0,
"Objekt_width_mm": 821.04,
"Objekt_height_mm": 821.04,
"calculated_objekt_width_mm": 821.04,
"calculated_objekt_height_mm": 821.04
},
{
"SVGname": "APB_110_R630_90_850_690_821104041.svg",
"Sivasnr": "821104041",
"Winkel": 90.0,
"center_line_width_mm": 690.0,
"center_line_height_mm": 850.0,
"Objekt_width_mm": 711.04,
"Objekt_height_mm": 871.04,
"calculated_objekt_width_mm": 711.04,
"calculated_objekt_height_mm": 871.04
},
{
"SVGname": "APB_110_R630_90_850_870_821104035.svg",
"Sivasnr": "821104035",
"Winkel": 90.0,
"center_line_width_mm": 850.0,
"center_line_height_mm": 870.0,
"Objekt_width_mm": 871.04,
"Objekt_height_mm": 891.04,
"calculated_objekt_width_mm": 871.04,
"calculated_objekt_height_mm": 891.04
},
{
"SVGname": "APB_110_R630_90_850_890_821104034.svg",
"Sivasnr": "821104034",
"Winkel": 90.0,
"center_line_width_mm": 890.0,
"center_line_height_mm": 850.0,
"Objekt_width_mm": 911.04,
"Objekt_height_mm": 871.04,
"calculated_objekt_width_mm": 911.04,
"calculated_objekt_height_mm": 871.04
},
{
"SVGname": "APB_110_R650_180_L_150_821104043.svg",
"Sivasnr": "821104043",
"Winkel": 180.0,
"center_line_width_mm": 800.0,
"center_line_height_mm": 1300.0,
"Objekt_width_mm": 800.0,
"Objekt_height_mm": 1342.08,
"calculated_objekt_width_mm": 800.0,
"calculated_objekt_height_mm": 1342.08
},
{
"SVGname": "APB_60_R515_90_650_821094040.svg",
"Sivasnr": "821094040",
"Winkel": 90.0,
"center_line_width_mm": 650.0,
"center_line_height_mm": 650.0,
"Objekt_width_mm": 671.04,
"Objekt_height_mm": 671.04,
"calculated_objekt_width_mm": 671.04,
"calculated_objekt_height_mm": 671.04
},
{
"SVGname": "APB_60_R515_90_810_821094101.svg",
"Sivasnr": "821094101",
"Winkel": 90.0,
"center_line_width_mm": 810.0,
"center_line_height_mm": 810.0,
"Objekt_width_mm": 831.04,
"Objekt_height_mm": 831.04,
"calculated_objekt_width_mm": 831.04,
"calculated_objekt_height_mm": 831.04
}
]
@@ -0,0 +1,151 @@
''' Key Analysis Points:
Data Safety:
Uses safe_float() to handle potential data conversion issues
Creates copies of items to avoid modifying original data
Geometric Calculations:
Converts angles to radians for trigonometric functions
Performs width/height calculations based on center line measurements and angles
Rounds results to 3 decimal places for consistency
Validation:
Compares calculated values with original values
Flags discrepancies with "Please verify" status
Provides detailed difference metrics
Error Handling:
Preserves original data when processing fails
Tracks and reports all errors
Provides comprehensive statistics
Output:
Generates a new JSON file with calculated fields
Provides detailed console output for verification
Maintains original structure while adding new calculated fields
The script is designed to process SVG measurement data, perform geometric validations, and produce an enhanced dataset while providing thorough feedback about the processing results. '''
import json
import math
def safe_float(value, default=0.0):
"""Safely convert value to float, return default if conversion fails"""
try:
return float(value) if value != '' else default
except (ValueError, TypeError):
return default
def calculate_attributes(item):
"""Calculate and add new attributes to the item based on geometric calculations"""
# Create a copy of the item to avoid modifying the original
processed_item = item.copy()
# Ensure all numeric fields have valid values using safe_float
processed_item["center_line_width_mm"] = safe_float(item.get("center_line_width_mm", 0))
processed_item["center_line_height_mm"] = safe_float(item.get("center_line_height_mm", 0))
processed_item["Objekt_width_mm"] = safe_float(item.get("Objekt_width_mm", 0))
processed_item["Objekt_height_mm"] = safe_float(item.get("Objekt_height_mm", 0))
processed_item["Winkel"] = safe_float(item.get("Winkel", 0))
# Convert angle to radians for trigonometric calculations
winkel_rad = math.radians(processed_item["Winkel"])
sin_value = math.sin(winkel_rad)
cos_value = math.cos(winkel_rad)
# Calculate new dimensions with 3 decimal places precision
if processed_item["Winkel"]!=180:
calculated_width = processed_item["center_line_width_mm"] + sin_value * 21.040
calculated_height = processed_item["center_line_height_mm"] + 21.040 + cos_value * 21.040
else:
calculated_width = processed_item["center_line_width_mm"]
calculated_height = processed_item["center_line_height_mm"]+ 21.040 + 21.040
processed_item["calculated_objekt_width_mm"] = round(calculated_width, 3)
processed_item["calculated_objekt_height_mm"] = round(calculated_height, 3)
# Calculate differences between original and calculated values
width_diff = round(processed_item["Objekt_width_mm"] - processed_item["calculated_objekt_width_mm"], 3)
height_diff = round(processed_item["Objekt_height_mm"] - processed_item["calculated_objekt_height_mm"], 3)
# Prepare comparison results for console output (not saved to JSON)
comparison_results = {
"width": {
"calculated": processed_item["calculated_objekt_width_mm"],
"original": processed_item["Objekt_width_mm"],
"difference": width_diff,
"status": "OK" if abs(width_diff) < 0.001 else "Please verify"
},
"height": {
"calculated": processed_item["calculated_objekt_height_mm"],
"original": processed_item["Objekt_height_mm"],
"difference": height_diff,
"status": "OK" if abs(height_diff) < 0.001 else "Please verify"
}
}
return processed_item, comparison_results
def process_json_file(input_file, output_file):
"""Main function to process JSON file and generate output"""
# Read input file
try:
with open(input_file, 'r', encoding='utf-8') as f:
data = json.load(f)
except FileNotFoundError:
print(f"Error: Input file '{input_file}' not found")
return
except json.JSONDecodeError as e:
print(f"JSON parsing error: {e}")
return
# Verify data is a list
if not isinstance(data, list):
print("Error: JSON data should be an array")
return
# Process data
processed_data = []
error_items = []
print("\nStarting JSON data processing...\n")
for idx, item in enumerate(data, start=1):
try:
processed_item, comparison = calculate_attributes(item)
processed_data.append(processed_item)
# Print comparison results to console
print(f"Item {idx} [{item.get('SVGname', 'Unnamed')}] comparison results:")
print(f" Width: Calculated={comparison['width']['calculated']} | Original={comparison['width']['original']} | Difference={comparison['width']['difference']} | {comparison['width']['status']}")
print(f" Height: Calculated={comparison['height']['calculated']} | Original={comparison['height']['original']} | Difference={comparison['height']['difference']} | {comparison['height']['status']}")
print("-" * 60)
except Exception as e:
error_items.append((idx, str(e)))
# Preserve original data (without any processed fields)
processed_data.append(item)
# Print error message to console
print(f"Error processing item {idx} [{item.get('SVGname', 'Unnamed')}]: {str(e)}")
print("-" * 60)
# Write output file
try:
with open(output_file, 'w', encoding='utf-8') as f:
json.dump(processed_data, f, indent=4, ensure_ascii=False)
print(f"\nProcessing complete. Results saved to {output_file}")
except IOError as e:
print(f"Error writing output file: {e}")
return
# Print statistics
total_items = len(data)
success_items = total_items - len(error_items)
print("\nProcessing statistics:")
print(f"Total items: {total_items}")
print(f"Successfully processed: {success_items}")
print(f"Failed items: {len(error_items)}")
# Example usage
if __name__ == "__main__":
input_filename = "1_SVGErfassung_updated_new_input.json" # Replace with your input filename
output_filename = "1_SVGErfassung_updated_new_output.json" # Replace with desired output filename
process_json_file(input_filename, output_filename)
@@ -0,0 +1,602 @@
[
{
"SVGname": "APB_110_R400_45_400_821104021.svg",
"Sivasnr": "821104021",
"Winkel": 45.0,
"center_line_width_mm": 669.491,
"center_line_height_mm": 399.505,
"Objekt_width_mm": 684.367,
"Objekt_height_mm": 435.421,
"calculated_objekt_width_mm": 684.369,
"calculated_objekt_height_mm": 435.423,
"Objekt_width_px": 2586.565,
"Objekt_height_px": 1645.674,
"calculated_SVG_width_px": 1000,
"calculated_SVG_height_px": 636.239,
"scale_factor": 1.461204,
"connectionPoints": [
{
"id": "cp1",
"x": 0,
"y": 48.321,
"direction": 270.0
},
{
"id": "cp2",
"x": 978.263,
"y": 965.835,
"direction": 135.0
}
]
},
{
"SVGname": "APB_110_R400_67_5_339_821104024.svg",
"Sivasnr": "821104024",
"Winkel": 67.5,
"center_line_width_mm": 507.82,
"center_line_height_mm": 339.315,
"Objekt_width_mm": 527.258,
"Objekt_height_mm": 368.405,
"calculated_objekt_width_mm": 527.258,
"calculated_objekt_height_mm": 368.407,
"Objekt_width_px": 1992.772,
"Objekt_height_px": 1392.387,
"calculated_SVG_width_px": 1000,
"calculated_SVG_height_px": 698.719,
"scale_factor": 1.896605,
"connectionPoints": [
{
"id": "cp1",
"x": 0,
"y": 57.111,
"direction": 270.0
},
{
"id": "cp2",
"x": 963.134,
"y": 978.149,
"direction": 157.5
}
]
},
{
"SVGname": "APB_110_R400_90_500_821104022.svg",
"Sivasnr": "821104022",
"Winkel": 90.0,
"center_line_width_mm": 500.0,
"center_line_height_mm": 500.0,
"Objekt_width_mm": 521.04,
"Objekt_height_mm": 521.04,
"calculated_objekt_width_mm": 521.04,
"calculated_objekt_height_mm": 521.04,
"Objekt_width_px": 1969.271,
"Objekt_height_px": 1969.271,
"calculated_SVG_width_px": 1000,
"calculated_SVG_height_px": 1000.0,
"scale_factor": 1.919238,
"connectionPoints": [
{
"id": "cp1",
"x": 0,
"y": 40.381,
"direction": 270.0
},
{
"id": "cp2",
"x": 959.619,
"y": 1000.0,
"direction": 180.0
}
]
},
{
"SVGname": "APB_110_R500_90_550_550_821104030.svg",
"Sivasnr": "821104030",
"Winkel": 90.0,
"center_line_width_mm": 550.0,
"center_line_height_mm": 550.0,
"Objekt_width_mm": 571.04,
"Objekt_height_mm": 571.04,
"calculated_objekt_width_mm": 571.04,
"calculated_objekt_height_mm": 571.04,
"Objekt_width_px": 2158.246,
"Objekt_height_px": 2158.246,
"calculated_SVG_width_px": 1000,
"calculated_SVG_height_px": 1000.0,
"scale_factor": 1.751191,
"connectionPoints": [
{
"id": "cp1",
"x": 0,
"y": 36.845,
"direction": 270.0
},
{
"id": "cp2",
"x": 963.155,
"y": 1000.0,
"direction": 180.0
}
]
},
{
"SVGname": "APB_110_R550_22_5_84_821104025.svg",
"Sivasnr": "821104025",
"Winkel": 22.5,
"center_line_width_mm": 514.491,
"center_line_height_mm": 122.23,
"Objekt_width_mm": 522.542,
"Objekt_height_mm": 162.707,
"calculated_objekt_width_mm": 522.543,
"calculated_objekt_height_mm": 162.708,
"Objekt_width_px": 1974.947,
"Objekt_height_px": 614.951,
"calculated_SVG_width_px": 1000,
"calculated_SVG_height_px": 311.376,
"scale_factor": 1.913722,
"connectionPoints": [
{
"id": "cp1",
"x": 0,
"y": 129.312,
"direction": 270.0
},
{
"id": "cp2",
"x": 984.593,
"y": 880.54,
"direction": 112.5
}
]
},
{
"SVGname": "APB_110_R550_45_191_821104029.svg",
"Sivasnr": "821104029",
"Winkel": 45.0,
"center_line_width_mm": 551.606,
"center_line_height_mm": 190.792,
"Objekt_width_mm": 566.483,
"Objekt_height_mm": 226.709,
"calculated_objekt_width_mm": 566.484,
"calculated_objekt_height_mm": 226.71,
"Objekt_width_px": 2141.022,
"Objekt_height_px": 856.847,
"calculated_SVG_width_px": 1000,
"calculated_SVG_height_px": 400.204,
"scale_factor": 1.765278,
"connectionPoints": [
{
"id": "cp1",
"x": 0,
"y": 92.806,
"direction": 270.0
},
{
"id": "cp2",
"x": 973.738,
"y": 934.379,
"direction": 135.0
}
]
},
{
"SVGname": "APB_110_R550_45_205_821104037.svg",
"Sivasnr": "821104037",
"Winkel": 45.0,
"center_line_width_mm": 537.249,
"center_line_height_mm": 204.932,
"Objekt_width_mm": 552.126,
"Objekt_height_mm": 240.849,
"calculated_objekt_width_mm": 552.127,
"calculated_objekt_height_mm": 240.85,
"Objekt_width_px": 2086.76,
"Objekt_height_px": 910.289,
"calculated_SVG_width_px": 1000,
"calculated_SVG_height_px": 436.221,
"scale_factor": 1.811181,
"connectionPoints": [
{
"id": "cp1",
"x": 0,
"y": 87.358,
"direction": 270.0
},
{
"id": "cp2",
"x": 973.055,
"y": 938.231,
"direction": 135.0
}
]
},
{
"SVGname": "APB_110_R550_45_232_821104026.svg",
"Sivasnr": "821104026",
"Winkel": 45.0,
"center_line_width_mm": 595.265,
"center_line_height_mm": 265.998,
"Objekt_width_mm": 610.142,
"Objekt_height_mm": 301.914,
"calculated_objekt_width_mm": 610.143,
"calculated_objekt_height_mm": 301.916,
"Objekt_width_px": 2306.032,
"Objekt_height_px": 1141.084,
"calculated_SVG_width_px": 1000,
"calculated_SVG_height_px": 494.826,
"scale_factor": 1.638963,
"connectionPoints": [
{
"id": "cp1",
"x": 0,
"y": 69.689,
"direction": 270.0
},
{
"id": "cp2",
"x": 975.617,
"y": 950.727,
"direction": 135.0
}
]
},
{
"SVGname": "APB_110_R550_67_5_420_821104028.svg",
"Sivasnr": "821104028",
"Winkel": 67.5,
"center_line_width_mm": 582.427,
"center_line_height_mm": 419.902,
"Objekt_width_mm": 601.865,
"Objekt_height_mm": 448.992,
"calculated_objekt_width_mm": 601.865,
"calculated_objekt_height_mm": 448.994,
"Objekt_width_px": 2274.749,
"Objekt_height_px": 1696.965,
"calculated_SVG_width_px": 1000,
"calculated_SVG_height_px": 746.001,
"scale_factor": 1.661502,
"connectionPoints": [
{
"id": "cp1",
"x": 0,
"y": 46.861,
"direction": 270.0
},
{
"id": "cp2",
"x": 967.704,
"y": 982.071,
"direction": 157.5
}
]
},
{
"SVGname": "APB_110_R550_67_5_432_821104027.svg",
"Sivasnr": "821104027",
"Winkel": 67.5,
"center_line_width_mm": 776.437,
"center_line_height_mm": 488.731,
"Objekt_width_mm": 795.875,
"Objekt_height_mm": 517.821,
"calculated_objekt_width_mm": 795.875,
"calculated_objekt_height_mm": 517.823,
"Objekt_width_px": 3008.01,
"Objekt_height_px": 1957.104,
"calculated_SVG_width_px": 1000,
"calculated_SVG_height_px": 650.631,
"scale_factor": 1.256479,
"connectionPoints": [
{
"id": "cp1",
"x": 0,
"y": 40.632,
"direction": 270.0
},
{
"id": "cp2",
"x": 975.577,
"y": 984.454,
"direction": 157.5
}
]
},
{
"SVGname": "APB_110_R550_67_5_L_185_170_821104065.svg",
"Sivasnr": "821104065",
"Winkel": 67.5,
"center_line_width_mm": 758.19,
"center_line_height_mm": 496.584,
"Objekt_width_mm": 777.628,
"Objekt_height_mm": 525.674,
"calculated_objekt_width_mm": 777.628,
"calculated_objekt_height_mm": 525.676,
"Objekt_width_px": 2939.045,
"Objekt_height_px": 1986.785,
"calculated_SVG_width_px": 1000,
"calculated_SVG_height_px": 675.997,
"scale_factor": 1.285962,
"connectionPoints": [
{
"id": "cp1",
"x": 0,
"y": 40.025,
"direction": 270.0
},
{
"id": "cp2",
"x": 975.004,
"y": 984.686,
"direction": 157.5
}
]
},
{
"SVGname": "APB_110_R550_90_900_605_821104066.svg",
"Sivasnr": "821104066",
"Winkel": 90.0,
"center_line_width_mm": 900.0,
"center_line_height_mm": 605.0,
"Objekt_width_mm": 921.04,
"Objekt_height_mm": 626.04,
"calculated_objekt_width_mm": 921.04,
"calculated_objekt_height_mm": 626.04,
"Objekt_width_px": 3481.071,
"Objekt_height_px": 2366.118,
"calculated_SVG_width_px": 1000,
"calculated_SVG_height_px": 679.71,
"scale_factor": 1.085729,
"connectionPoints": [
{
"id": "cp1",
"x": 0,
"y": 33.608,
"direction": 270.0
},
{
"id": "cp2",
"x": 977.156,
"y": 1000.0,
"direction": 180.0
}
]
},
{
"SVGname": "APB_110_R630_45_400_821104031.svg",
"Sivasnr": "821104031",
"Winkel": 45.0,
"center_line_width_mm": 824.608,
"center_line_height_mm": 399.554,
"Objekt_width_mm": 839.485,
"Objekt_height_mm": 435.47,
"calculated_objekt_width_mm": 839.486,
"calculated_objekt_height_mm": 435.472,
"Objekt_width_px": 3172.834,
"Objekt_height_px": 1645.859,
"calculated_SVG_width_px": 1000,
"calculated_SVG_height_px": 518.735,
"scale_factor": 1.191207,
"connectionPoints": [
{
"id": "cp1",
"x": 0,
"y": 48.316,
"direction": 270.0
},
{
"id": "cp2",
"x": 982.279,
"y": 965.839,
"direction": 135.0
}
]
},
{
"SVGname": "APB_110_R630_90_800_800_821104033.svg",
"Sivasnr": "821104033",
"Winkel": 90.0,
"center_line_width_mm": 800.0,
"center_line_height_mm": 800.0,
"Objekt_width_mm": 821.04,
"Objekt_height_mm": 821.04,
"calculated_objekt_width_mm": 821.04,
"calculated_objekt_height_mm": 821.04,
"Objekt_width_px": 3103.121,
"Objekt_height_px": 3103.121,
"calculated_SVG_width_px": 1000,
"calculated_SVG_height_px": 1000.0,
"scale_factor": 1.217967,
"connectionPoints": [
{
"id": "cp1",
"x": 0,
"y": 25.626,
"direction": 270.0
},
{
"id": "cp2",
"x": 974.374,
"y": 1000.0,
"direction": 180.0
}
]
},
{
"SVGname": "APB_110_R630_90_850_690_821104041.svg",
"Sivasnr": "821104041",
"Winkel": 90.0,
"center_line_width_mm": 690.0,
"center_line_height_mm": 850.0,
"Objekt_width_mm": 711.04,
"Objekt_height_mm": 871.04,
"calculated_objekt_width_mm": 711.04,
"calculated_objekt_height_mm": 871.04,
"Objekt_width_px": 2687.376,
"Objekt_height_px": 3292.096,
"calculated_SVG_height_px": 1000,
"calculated_SVG_width_px": 820.091,
"scale_factor": 1.148053,
"connectionPoints": [
{
"id": "cp1",
"x": 0,
"y": 24.155,
"direction": 270.0
},
{
"id": "cp2",
"x": 970.546,
"y": 1000.0,
"direction": 180.0
}
]
},
{
"SVGname": "APB_110_R630_90_850_870_821104035.svg",
"Sivasnr": "821104035",
"Winkel": 90.0,
"center_line_width_mm": 850.0,
"center_line_height_mm": 870.0,
"Objekt_width_mm": 871.04,
"Objekt_height_mm": 891.04,
"calculated_objekt_width_mm": 871.04,
"calculated_objekt_height_mm": 891.04,
"Objekt_width_px": 3292.096,
"Objekt_height_px": 3367.686,
"calculated_SVG_height_px": 1000,
"calculated_SVG_width_px": 981.334,
"scale_factor": 1.122284,
"connectionPoints": [
{
"id": "cp1",
"x": 0,
"y": 23.613,
"direction": 270.0
},
{
"id": "cp2",
"x": 975.938,
"y": 1000.0,
"direction": 180.0
}
]
},
{
"SVGname": "APB_110_R630_90_850_890_821104034.svg",
"Sivasnr": "821104034",
"Winkel": 90.0,
"center_line_width_mm": 890.0,
"center_line_height_mm": 850.0,
"Objekt_width_mm": 911.04,
"Objekt_height_mm": 871.04,
"calculated_objekt_width_mm": 911.04,
"calculated_objekt_height_mm": 871.04,
"Objekt_width_px": 3443.276,
"Objekt_height_px": 3292.096,
"calculated_SVG_width_px": 1000,
"calculated_SVG_height_px": 956.094,
"scale_factor": 1.097647,
"connectionPoints": [
{
"id": "cp1",
"x": 0,
"y": 24.155,
"direction": 270.0
},
{
"id": "cp2",
"x": 976.906,
"y": 1000.0,
"direction": 180.0
}
]
},
{
"SVGname": "APB_110_R650_180_L_150_821104043.svg",
"Sivasnr": "821104043",
"Winkel": 180.0,
"center_line_width_mm": 800.0,
"center_line_height_mm": 1300.0,
"Objekt_width_mm": 800.0,
"Objekt_height_mm": 1342.08,
"calculated_objekt_width_mm": 800.0,
"calculated_objekt_height_mm": 1342.08,
"Objekt_width_px": 3023.6,
"Objekt_height_px": 5072.391,
"calculated_SVG_height_px": 1000,
"calculated_SVG_width_px": 599.869,
"scale_factor": 0.745112,
"connectionPoints": [
{
"id": "cp1",
"x": 0,
"y": 15.677,
"direction": 270.0
},
{
"id": "cp2",
"x": 0,
"y": 984.323,
"direction": 270.0
}
]
},
{
"SVGname": "APB_60_R515_90_650_821094040.svg",
"Sivasnr": "821094040",
"Winkel": 90.0,
"center_line_width_mm": 650.0,
"center_line_height_mm": 650.0,
"Objekt_width_mm": 671.04,
"Objekt_height_mm": 671.04,
"calculated_objekt_width_mm": 671.04,
"calculated_objekt_height_mm": 671.04,
"Objekt_width_px": 2536.196,
"Objekt_height_px": 2536.196,
"calculated_SVG_width_px": 1000,
"calculated_SVG_height_px": 1000.0,
"scale_factor": 1.490224,
"connectionPoints": [
{
"id": "cp1",
"x": 0,
"y": 31.354,
"direction": 270.0
},
{
"id": "cp2",
"x": 968.646,
"y": 1000.0,
"direction": 180.0
}
]
},
{
"SVGname": "APB_60_R515_90_810_821094101.svg",
"Sivasnr": "821094101",
"Winkel": 90.0,
"center_line_width_mm": 810.0,
"center_line_height_mm": 810.0,
"Objekt_width_mm": 831.04,
"Objekt_height_mm": 831.04,
"calculated_objekt_width_mm": 831.04,
"calculated_objekt_height_mm": 831.04,
"Objekt_width_px": 3140.916,
"Objekt_height_px": 3140.916,
"calculated_SVG_width_px": 1000,
"calculated_SVG_height_px": 1000.0,
"scale_factor": 1.203312,
"connectionPoints": [
{
"id": "cp1",
"x": 0,
"y": 25.318,
"direction": 270.0
},
{
"id": "cp2",
"x": 974.683,
"y": 1000.0,
"direction": 180.0
}
]
}
]
@@ -0,0 +1,158 @@
''' This Python script processes JSON data containing SVG object measurements and performs several calculations to standardize the dimensions and add connection points. Here's the main logic:
Data Processing:
Converts all numeric fields to floats
Determines the dominant dimension (width or height) and scales it to 1000px
Calculates the other dimension proportionally
Computes two connection points (cp1 and cp2) with their coordinates and directions
Error Checking:
Validates that connection points stay within the 1000px boundary
Provides detailed error reporting
Scaling Logic:
Uses different scaling approaches based on whether width or height is larger
Maintains aspect ratio while standardizing dimensions '''
import json
import math
def process_json_item(item):
# Ensure all numeric fields are floats
item["Winkel"] = float(item["Winkel"])
item["center_line_width_mm"] = float(item["center_line_width_mm"])
item["center_line_height_mm"] = float(item["center_line_height_mm"])
item["Objekt_width_mm"] = float(item["Objekt_width_mm"])
item["Objekt_height_mm"] = float(item["Objekt_height_mm"])
item["calculated_objekt_width_mm"] = float(item["calculated_objekt_width_mm"])
item["calculated_objekt_height_mm"] = float(item["calculated_objekt_height_mm"])
# Calculate the direct mm to px conversions (requested additions)
item["Objekt_width_px"] = round(item["Objekt_width_mm"] * 3.7795, 3)
item["Objekt_height_px"] = round(item["Objekt_height_mm"] * 3.7795, 3)
# Determine which dimension is larger
if item["Objekt_width_mm"] >= item["Objekt_height_mm"]:
# Width is larger, set calculated_SVG width to 1000px
scale = round(1000 / item["Objekt_width_mm"], 6)
item["calculated_SVG_width_px"] = 1000
item["calculated_SVG_height_px"] = round(item["Objekt_height_mm"] * scale, 3)
scale_RD_H = 1000 / item["calculated_SVG_height_px"]
scale_RD_W = 1
else:
# Height is larger, set calculated_SVG height to 1000px
scale = round(1000 / item["Objekt_height_mm"], 6)
item["calculated_SVG_height_px"] = 1000
item["calculated_SVG_width_px"] = round(item["Objekt_width_mm"] * scale + 3.7795, 3)
scale_RD_W = 1000 / item["calculated_SVG_width_px"]
scale_RD_H = 1
item["scale_factor"] = scale # Add scale factor
# Calculate connection points
cp1_y = round(21.040 * scale*scale_RD_H, 3)
if item["calculated_SVG_height_px"] == item["calculated_SVG_width_px"]:
cp2_x = round(item["center_line_width_mm"] * scale * scale_RD_W, 3)
cp2_y = round((21.040 + item["center_line_height_mm"]) * scale * scale_RD_H, 3)
elif item["calculated_SVG_height_px"] == 1000 and item["calculated_SVG_width_px"] != 1000:
if item["Winkel"]==180:
cp2_x = 0
else:
cp2_x = round((item["center_line_width_mm"] * scale + 3.7795) * scale_RD_W, 3)
cp2_y = round(((21.040 + item["center_line_height_mm"]) * scale) * scale_RD_H, 3)
else:
cp2_x = round((item["center_line_width_mm"] * scale) * scale_RD_W, 3)
cp2_y = round(((21.040 + item["center_line_height_mm"]) * scale) * scale_RD_H, 3)
cp2_direction = round(90 + item["Winkel"], 1) # Keep 1 decimal place
# Add connection points attributes
item["connectionPoints"] = [
{
"id": "cp1",
"x": 0,
"y": cp1_y,
"direction": 270.0
},
{
"id": "cp2",
"x": cp2_x,
"y": cp2_y,
"direction": cp2_direction
}
]
return item
def check_connection_points(item):
"""Check if connection point coordinates exceed 1000"""
errors = []
for cp in item.get("connectionPoints", []):
if cp["x"] > 1000 or cp["y"] > 1000:
errors.append(f"Connection point {cp['id']} exceeds range: x={cp['x']}, y={cp['y']}")
return errors
def process_json_file(input_file, output_file):
try:
# Read input file
with open(input_file, 'r', encoding='utf-8') as f:
data = json.load(f)
# Verify data is a list
if not isinstance(data, list):
print("Error: JSON data should be an array")
return
# Process each item
processed_data = []
error_reports = []
for idx, item in enumerate(data, start=1):
try:
processed_item = process_json_item(item)
# Check connection point coordinates
errors = check_connection_points(processed_item)
if errors:
error_msg = f"Item {idx} [{item.get('SVGname')}] coordinate errors:"
for err in errors:
error_msg += f"\n - {err}"
error_reports.append(error_msg)
processed_data.append(processed_item)
except Exception as e:
error_msg = f"Error processing item {idx} [{item.get('SVGname')}]: {str(e)}"
error_reports.append(error_msg)
processed_data.append(item) # Keep original data
# Write output file
with open(output_file, 'w', encoding='utf-8') as f:
json.dump(processed_data, f, indent=4, ensure_ascii=False)
print(f"Processing complete. Results saved to {output_file}")
# Print error reports
if error_reports:
print("\n" + "="*50)
print("Coordinate Validation Error Report:")
print("="*50)
for report in error_reports:
print("\n" + report)
print("\n" + "="*50)
print(f"Found {len(error_reports)} coordinate issues")
print("="*50)
else:
print("\nAll connection point coordinates validated successfully - no out-of-range issues found")
except FileNotFoundError:
print(f"Error: Input file '{input_file}' not found")
except json.JSONDecodeError as e:
print(f"JSON parsing error: {e}")
except Exception as e:
print(f"Error during processing: {e}")
# Example usage
if __name__ == "__main__":
input_filename = "1_SVGErfassung_updated_new_output.json"
output_filename = "2_calculated_px_cps_output.json"
process_json_file(input_filename, output_filename)
process_json_file(input_filename, output_filename)

Some files were not shown because too many files have changed in this diff Show More