diff --git a/CAD/OmnifloCAD/OmnifloBogen.dwg b/CAD/OmnifloCAD/OmnifloBogen.dwg index d0d92ca..f2e0202 100644 Binary files a/CAD/OmnifloCAD/OmnifloBogen.dwg and b/CAD/OmnifloCAD/OmnifloBogen.dwg differ diff --git a/CAD/OmnifloCAD/TEFBogen.dwg b/CAD/OmnifloCAD/TEFBogen.dwg index 057c4cf..671f119 100644 Binary files a/CAD/OmnifloCAD/TEFBogen.dwg and b/CAD/OmnifloCAD/TEFBogen.dwg differ diff --git a/CAD/OmnifloCAD/TEFBogen/0_B10040_TEFBogen_90_R725_new.dwg b/CAD/OmnifloCAD/TEFBogen/0_B10040_TEFBogen_90_R725_new.dwg new file mode 100644 index 0000000..f20b3ab Binary files /dev/null and b/CAD/OmnifloCAD/TEFBogen/0_B10040_TEFBogen_90_R725_new.dwg differ diff --git a/CAD/OmnifloCAD/TEFBogen/0_B10050_TEFBogen_90_R535_new.dwg b/CAD/OmnifloCAD/TEFBogen/0_B10050_TEFBogen_90_R535_new.dwg new file mode 100644 index 0000000..1371dc2 Binary files /dev/null and b/CAD/OmnifloCAD/TEFBogen/0_B10050_TEFBogen_90_R535_new.dwg differ diff --git a/CAD/OmnifloCAD/TEFBogen/0_B10060_TEFBogen_45_R725_new.dwg b/CAD/OmnifloCAD/TEFBogen/0_B10060_TEFBogen_45_R725_new.dwg new file mode 100644 index 0000000..286f67a Binary files /dev/null and b/CAD/OmnifloCAD/TEFBogen/0_B10060_TEFBogen_45_R725_new.dwg differ diff --git a/CAD/OmnifloCAD/TEFBogen/0_B10070_TEFBogen_45_R535_new.dwg b/CAD/OmnifloCAD/TEFBogen/0_B10070_TEFBogen_45_R535_new.dwg new file mode 100644 index 0000000..1022349 Binary files /dev/null and b/CAD/OmnifloCAD/TEFBogen/0_B10070_TEFBogen_45_R535_new.dwg differ diff --git a/CAD/OmnifloCAD/TEFBogen/0_B10071_TEFBogen_45_R450_new.dwg b/CAD/OmnifloCAD/TEFBogen/0_B10071_TEFBogen_45_R450_new.dwg new file mode 100644 index 0000000..f22488d Binary files /dev/null and b/CAD/OmnifloCAD/TEFBogen/0_B10071_TEFBogen_45_R450_new.dwg differ diff --git a/CAD/OmnifloCAD/TEFBogen/0_B10080_TEFBogen_67_5_R400_new.dwg b/CAD/OmnifloCAD/TEFBogen/0_B10080_TEFBogen_67_5_R400_new.dwg new file mode 100644 index 0000000..22bedaf Binary files /dev/null and b/CAD/OmnifloCAD/TEFBogen/0_B10080_TEFBogen_67_5_R400_new.dwg differ diff --git a/CAD/OmnifloCAD/TEFBogen/0_B10081_TEFBogen_67_5_R250_new.dwg b/CAD/OmnifloCAD/TEFBogen/0_B10081_TEFBogen_67_5_R250_new.dwg new file mode 100644 index 0000000..1e8e230 Binary files /dev/null and b/CAD/OmnifloCAD/TEFBogen/0_B10081_TEFBogen_67_5_R250_new.dwg differ diff --git a/CAD/OmnifloCAD/TEFBogen/0_B10090_TEFBogen_22_5_R450_new.dwg b/CAD/OmnifloCAD/TEFBogen/0_B10090_TEFBogen_22_5_R450_new.dwg new file mode 100644 index 0000000..6d2aeac Binary files /dev/null and b/CAD/OmnifloCAD/TEFBogen/0_B10090_TEFBogen_22_5_R450_new.dwg differ diff --git a/CAD/OmnifloCAD/TEFBogen/0_B10091_TEFBogen_22_5_R650_new.dwg b/CAD/OmnifloCAD/TEFBogen/0_B10091_TEFBogen_22_5_R650_new.dwg new file mode 100644 index 0000000..7318d24 Binary files /dev/null and b/CAD/OmnifloCAD/TEFBogen/0_B10091_TEFBogen_22_5_R650_new.dwg differ diff --git a/Editor2DLibrary/SSG/shapes/obj/821104021.stl b/Editor2DLibrary/SSG/shapes/obj/821104021.stl index d096acb..9825f52 100644 Binary files a/Editor2DLibrary/SSG/shapes/obj/821104021.stl and b/Editor2DLibrary/SSG/shapes/obj/821104021.stl differ diff --git a/Editor2DLibrary/SSG/shapes/obj/821104025.stl b/Editor2DLibrary/SSG/shapes/obj/821104025.stl new file mode 100644 index 0000000..fb114f4 Binary files /dev/null and b/Editor2DLibrary/SSG/shapes/obj/821104025.stl differ diff --git a/Editor2DLibrary/SSG/shapes/obj/821104026.stl b/Editor2DLibrary/SSG/shapes/obj/821104026.stl new file mode 100644 index 0000000..e10167c Binary files /dev/null and b/Editor2DLibrary/SSG/shapes/obj/821104026.stl differ diff --git a/Editor2DLibrary/SSG/shapes/obj/821104027.stl b/Editor2DLibrary/SSG/shapes/obj/821104027.stl new file mode 100644 index 0000000..62b8880 Binary files /dev/null and b/Editor2DLibrary/SSG/shapes/obj/821104027.stl differ diff --git a/Editor2DLibrary/SSG/shapes/obj/821104028.stl b/Editor2DLibrary/SSG/shapes/obj/821104028.stl new file mode 100644 index 0000000..c2bfc02 Binary files /dev/null and b/Editor2DLibrary/SSG/shapes/obj/821104028.stl differ diff --git a/Editor2DLibrary/SSG/shapes/obj/821104029.stl b/Editor2DLibrary/SSG/shapes/obj/821104029.stl new file mode 100644 index 0000000..7b9dc09 Binary files /dev/null and b/Editor2DLibrary/SSG/shapes/obj/821104029.stl differ diff --git a/Editor2DLibrary/SSG/shapes/obj/821104030.stl b/Editor2DLibrary/SSG/shapes/obj/821104030.stl new file mode 100644 index 0000000..b74f58a Binary files /dev/null and b/Editor2DLibrary/SSG/shapes/obj/821104030.stl differ diff --git a/Editor2DLibrary/SSG/shapes/obj/821104031.stl b/Editor2DLibrary/SSG/shapes/obj/821104031.stl new file mode 100644 index 0000000..2db9d64 Binary files /dev/null and b/Editor2DLibrary/SSG/shapes/obj/821104031.stl differ diff --git a/Editor2DLibrary/SSG/shapes/obj/821104033.stl b/Editor2DLibrary/SSG/shapes/obj/821104033.stl new file mode 100644 index 0000000..cc6ed0c Binary files /dev/null and b/Editor2DLibrary/SSG/shapes/obj/821104033.stl differ diff --git a/Editor2DLibrary/SSG/shapes/obj/821104034.stl b/Editor2DLibrary/SSG/shapes/obj/821104034.stl new file mode 100644 index 0000000..6e2b7b8 Binary files /dev/null and b/Editor2DLibrary/SSG/shapes/obj/821104034.stl differ diff --git a/Editor2DLibrary/SSG/shapes/obj/821104035.stl b/Editor2DLibrary/SSG/shapes/obj/821104035.stl new file mode 100644 index 0000000..57075c7 Binary files /dev/null and b/Editor2DLibrary/SSG/shapes/obj/821104035.stl differ diff --git a/Editor2DLibrary/SSG/shapes/obj/821104037.stl b/Editor2DLibrary/SSG/shapes/obj/821104037.stl new file mode 100644 index 0000000..706ce47 Binary files /dev/null and b/Editor2DLibrary/SSG/shapes/obj/821104037.stl differ diff --git a/Editor2DLibrary/SSG/shapes/obj/821104041.stl b/Editor2DLibrary/SSG/shapes/obj/821104041.stl new file mode 100644 index 0000000..3bb9d3b Binary files /dev/null and b/Editor2DLibrary/SSG/shapes/obj/821104041.stl differ diff --git a/Editor2DLibrary/SSG/shapes/obj/821104043.stl b/Editor2DLibrary/SSG/shapes/obj/821104043.stl new file mode 100644 index 0000000..bab2d47 Binary files /dev/null and b/Editor2DLibrary/SSG/shapes/obj/821104043.stl differ diff --git a/Editor2DLibrary/SSG/shapes/obj/821104065.stl b/Editor2DLibrary/SSG/shapes/obj/821104065.stl new file mode 100644 index 0000000..c03acf6 Binary files /dev/null and b/Editor2DLibrary/SSG/shapes/obj/821104065.stl differ diff --git a/Editor2DLibrary/SSG/shapes/obj/821104066.stl b/Editor2DLibrary/SSG/shapes/obj/821104066.stl new file mode 100644 index 0000000..51b6d90 Binary files /dev/null and b/Editor2DLibrary/SSG/shapes/obj/821104066.stl differ diff --git a/Editor2DLibrary/SSG/shapes/obj/OFBogen180.stl b/Editor2DLibrary/SSG/shapes/obj/OFBogen180.stl new file mode 100644 index 0000000..bab2d47 Binary files /dev/null and b/Editor2DLibrary/SSG/shapes/obj/OFBogen180.stl differ diff --git a/Editor2DLibrary/SSG/shapes/obj/OFBogen22.stl b/Editor2DLibrary/SSG/shapes/obj/OFBogen22.stl new file mode 100644 index 0000000..fb114f4 Binary files /dev/null and b/Editor2DLibrary/SSG/shapes/obj/OFBogen22.stl differ diff --git a/Editor2DLibrary/SSG/shapes/obj/OFBogen45.stl b/Editor2DLibrary/SSG/shapes/obj/OFBogen45.stl new file mode 100644 index 0000000..2db9d64 Binary files /dev/null and b/Editor2DLibrary/SSG/shapes/obj/OFBogen45.stl differ diff --git a/Editor2DLibrary/SSG/shapes/obj/OFBogen67.stl b/Editor2DLibrary/SSG/shapes/obj/OFBogen67.stl new file mode 100644 index 0000000..62b8880 Binary files /dev/null and b/Editor2DLibrary/SSG/shapes/obj/OFBogen67.stl differ diff --git a/Editor2DLibrary/SSG/shapes/obj/OFBogen90.stl b/Editor2DLibrary/SSG/shapes/obj/OFBogen90.stl new file mode 100644 index 0000000..cc6ed0c Binary files /dev/null and b/Editor2DLibrary/SSG/shapes/obj/OFBogen90.stl differ diff --git a/Editor2DLibrary/SSG/shapes/props/821104021.txt b/Editor2DLibrary/SSG/shapes/props/821104021.txt index f1fc0d5..a00c55b 100644 --- a/Editor2DLibrary/SSG/shapes/props/821104021.txt +++ b/Editor2DLibrary/SSG/shapes/props/821104021.txt @@ -1,4 +1,4 @@ -{ +{ "shapeMode": 0, "name": "APB 110 R 400/45 400", "family": "OFBogen", @@ -13,7 +13,7 @@ "connectionPoints": [ { "id": "cp1", - "x": 0.0, + "x": 0, "y": 48.321, "z": 0.0, "xMin": "", diff --git a/Editor2DLibrary/SSG/shapes/props/821104022.txt b/Editor2DLibrary/SSG/shapes/props/821104022.txt index 9e36e81..6dc955c 100644 --- a/Editor2DLibrary/SSG/shapes/props/821104022.txt +++ b/Editor2DLibrary/SSG/shapes/props/821104022.txt @@ -1,4 +1,4 @@ -{ +{ "shapeMode": 0, "name": "APB 110 R 400/90 500/500", "family": "OFBogen", @@ -13,7 +13,7 @@ "connectionPoints": [ { "id": "cp1", - "x": 0.0, + "x": 0, "y": 40.381, "z": 0.0, "xMin": "", diff --git a/Editor2DLibrary/SSG/shapes/props/821104024.txt b/Editor2DLibrary/SSG/shapes/props/821104024.txt index d0744e9..93e6e3b 100644 --- a/Editor2DLibrary/SSG/shapes/props/821104024.txt +++ b/Editor2DLibrary/SSG/shapes/props/821104024.txt @@ -1,4 +1,4 @@ -{ +{ "shapeMode": 0, "name": "APB 110 R 400/67.5 339", "family": "OFBogen", @@ -13,7 +13,7 @@ "connectionPoints": [ { "id": "cp1", - "x": 0.0, + "x": 0, "y": 57.111, "z": 0.0, "xMin": "", diff --git a/Editor2DLibrary/SSG/shapes/props/821104025.txt b/Editor2DLibrary/SSG/shapes/props/821104025.txt index bbdbf8b..aeadcbb 100644 --- a/Editor2DLibrary/SSG/shapes/props/821104025.txt +++ b/Editor2DLibrary/SSG/shapes/props/821104025.txt @@ -5,6 +5,7 @@ "icon": "SSG/shapes/img/APB_110_R550_22_5_84_821104025_32px.png", "iconBig": "SSG/shapes/img/APB_110_R550_22_5_84_821104025_64px.png", "srcSVG": "SSG/shapes/svg/821104025.xml", + "src3D": "SSG/shapes/obj/821104025.stl", "width": 1974.947, "height": 614.951, "depth": 415.748, diff --git a/Editor2DLibrary/SSG/shapes/props/821104026.txt b/Editor2DLibrary/SSG/shapes/props/821104026.txt index 6128e97..73fd418 100644 --- a/Editor2DLibrary/SSG/shapes/props/821104026.txt +++ b/Editor2DLibrary/SSG/shapes/props/821104026.txt @@ -5,6 +5,7 @@ "icon": "SSG/shapes/img/APB_110_R550_45_232_821104026_32px.png", "iconBig": "SSG/shapes/img/APB_110_R550_45_232_821104026_64px.png", "srcSVG": "SSG/shapes/svg/821104026.xml", + "src3D": "SSG/shapes/obj/821104026.stl", "width": 2306.032, "height": 1141.084, "depth": 415.748, diff --git a/Editor2DLibrary/SSG/shapes/props/821104027.txt b/Editor2DLibrary/SSG/shapes/props/821104027.txt index cdc50ad..c2cfecb 100644 --- a/Editor2DLibrary/SSG/shapes/props/821104027.txt +++ b/Editor2DLibrary/SSG/shapes/props/821104027.txt @@ -5,15 +5,16 @@ "icon": "SSG/shapes/img/APB_110_R550_67_5_432_821104027_32px.png", "iconBig": "SSG/shapes/img/APB_110_R550_67_5_432_821104027_64px.png", "srcSVG": "SSG/shapes/svg/821104027.xml", - "width": 3008.01, - "height": 1957.104, + "src3D": "SSG/shapes/obj/821104027.stl", + "width": 2903.015, + "height": 2114.237, "depth": 415.748, "behaviour": "(NOSTRETCH)(NOSTRETCHONVIEW)(NOROTATE)(NOROTATEONVIEW)(CONTAINER)(HIDEDIMENSIONS)(HIDEROTATION)(HIDEPIN)(ALWAYSFRONT)(ORIGIN=CENTER)", "connectionPoints": [ { "id": "cp1", "x": 0, - "y": 40.632, + "y": 37.612, "z": 0.0, "xMin": "", "xMax": "", @@ -31,8 +32,8 @@ }, { "id": "cp2", - "x": 975.577, - "y": 984.454, + "x": 974.694, + "y": 985.608, "z": 0.0, "xMin": "", "xMax": "", diff --git a/Editor2DLibrary/SSG/shapes/props/821104028.txt b/Editor2DLibrary/SSG/shapes/props/821104028.txt index 1574f88..51e2095 100644 --- a/Editor2DLibrary/SSG/shapes/props/821104028.txt +++ b/Editor2DLibrary/SSG/shapes/props/821104028.txt @@ -5,6 +5,7 @@ "icon": "SSG/shapes/img/APB_110_R550_67_5_420_821104028_32px.png", "iconBig": "SSG/shapes/img/APB_110_R550_67_5_420_821104028_64px.png", "srcSVG": "SSG/shapes/svg/821104028.xml", + "src3D": "SSG/shapes/obj/821104028.stl", "width": 2274.749, "height": 1696.965, "depth": 415.748, diff --git a/Editor2DLibrary/SSG/shapes/props/821104029.txt b/Editor2DLibrary/SSG/shapes/props/821104029.txt index 7a79efa..65879e1 100644 --- a/Editor2DLibrary/SSG/shapes/props/821104029.txt +++ b/Editor2DLibrary/SSG/shapes/props/821104029.txt @@ -5,6 +5,7 @@ "icon": "SSG/shapes/img/APB_110_R550_45_191_821104029_32px.png", "iconBig": "SSG/shapes/img/APB_110_R550_45_191_821104029_64px.png", "srcSVG": "SSG/shapes/svg/821104029.xml", + "src3D": "SSG/shapes/obj/821104029.stl", "width": 2141.022, "height": 856.847, "depth": 415.748, diff --git a/Editor2DLibrary/SSG/shapes/props/821104030.txt b/Editor2DLibrary/SSG/shapes/props/821104030.txt index 568f8f0..587ebca 100644 --- a/Editor2DLibrary/SSG/shapes/props/821104030.txt +++ b/Editor2DLibrary/SSG/shapes/props/821104030.txt @@ -5,6 +5,7 @@ "icon": "SSG/shapes/img/APB_110_R500_90_550_550_821104030_32px.png", "iconBig": "SSG/shapes/img/APB_110_R500_90_550_550_821104030_64px.png", "srcSVG": "SSG/shapes/svg/821104030.xml", + "src3D": "SSG/shapes/obj/821104030.stl", "width": 2158.246, "height": 2158.246, "depth": 415.748, diff --git a/Editor2DLibrary/SSG/shapes/props/821104031.txt b/Editor2DLibrary/SSG/shapes/props/821104031.txt index daf6e3c..c830573 100644 --- a/Editor2DLibrary/SSG/shapes/props/821104031.txt +++ b/Editor2DLibrary/SSG/shapes/props/821104031.txt @@ -5,15 +5,16 @@ "icon": "SSG/shapes/img/APB_110_R630_45_400_821104031_32px.png", "iconBig": "SSG/shapes/img/APB_110_R630_45_400_821104031_64px.png", "srcSVG": "SSG/shapes/svg/821104031.xml", - "width": 3172.834, - "height": 1645.859, + "src3D": "SSG/shapes/obj/821104031.stl", + "width": 3327.816, + "height": 1271.707, "depth": 415.748, "behaviour": "(NOSTRETCH)(NOSTRETCHONVIEW)(NOROTATE)(NOROTATEONVIEW)(CONTAINER)(HIDEDIMENSIONS)(HIDEROTATION)(HIDEPIN)(ALWAYSFRONT)(ORIGIN=CENTER)", "connectionPoints": [ { "id": "cp1", "x": 0, - "y": 48.316, + "y": 62.531, "z": 0.0, "xMin": "", "xMax": "", @@ -31,8 +32,8 @@ }, { "id": "cp2", - "x": 982.279, - "y": 965.839, + "x": 983.103, + "y": 955.788, "z": 0.0, "xMin": "", "xMax": "", diff --git a/Editor2DLibrary/SSG/shapes/props/821104033.txt b/Editor2DLibrary/SSG/shapes/props/821104033.txt index 7b492ca..4c66c53 100644 --- a/Editor2DLibrary/SSG/shapes/props/821104033.txt +++ b/Editor2DLibrary/SSG/shapes/props/821104033.txt @@ -5,6 +5,7 @@ "icon": "SSG/shapes/img/APB_110_R630_D90_800_800_821104033_32px.png", "iconBig": "SSG/shapes/img/APB_110_R630_D90_800_800_821104033_64px.png", "srcSVG": "SSG/shapes/svg/821104033.xml", + "src3D": "SSG/shapes/obj/821104033.stl", "width": 3103.121, "height": 3103.121, "depth": 415.748, @@ -47,44 +48,6 @@ "linkClass": "Omniflo", "label": "", "isDimension": true - }, - { - "id": "TEFAussen1", - "x": 21.69, - "y": 0.0, - "z": 0.0, - "xMin": "", - "xMax": "", - "xStep": "", - "yMin": "", - "yMax": "", - "yStep": "", - "zMin": "", - "zMax": "", - "zStep": "", - "direction": 270.0, - "linkClass": "OmnifloTEF", - "label": "", - "isDimension": true - }, - { - "id": "TEFAussen2", - "x": 1000.0, - "y": 978.31, - "z": 0.0, - "xMin": "", - "xMax": "", - "xStep": "", - "yMin": "", - "yMax": "", - "yStep": "", - "zMin": "", - "zMax": "", - "zStep": "", - "direction": 180.0, - "linkClass": "OmnifloTEF", - "label": "", - "isDimension": true } ], "eventClass": "OnDoubleclick,OnPasted,OnInserted,OnLinked,OnRemoved" diff --git a/Editor2DLibrary/SSG/shapes/props/821104034.txt b/Editor2DLibrary/SSG/shapes/props/821104034.txt index 91ba495..362130e 100644 --- a/Editor2DLibrary/SSG/shapes/props/821104034.txt +++ b/Editor2DLibrary/SSG/shapes/props/821104034.txt @@ -5,6 +5,7 @@ "icon": "SSG/shapes/img/APB_110_R630_90_850_870_821104035_32px.png", "iconBig": "SSG/shapes/img/APB_110_R630_90_850_870_821104035_64px.png", "srcSVG": "SSG/shapes/svg/821104034.xml", + "src3D": "SSG/shapes/obj/821104034.stl", "width": 3443.276, "height": 3292.096, "depth": 415.748, diff --git a/Editor2DLibrary/SSG/shapes/props/821104035.txt b/Editor2DLibrary/SSG/shapes/props/821104035.txt index 77dfd89..02ffa92 100644 --- a/Editor2DLibrary/SSG/shapes/props/821104035.txt +++ b/Editor2DLibrary/SSG/shapes/props/821104035.txt @@ -5,6 +5,7 @@ "icon": "SSG/shapes/img/APB_110_R630_90_850_870_821104035_32px.png", "iconBig": "SSG/shapes/img/APB_110_R630_90_850_870_821104035_64px.png", "srcSVG": "SSG/shapes/svg/821104035.xml", + "src3D": "SSG/shapes/obj/821104035.stl", "width": 3292.096, "height": 3367.686, "depth": 415.748, diff --git a/Editor2DLibrary/SSG/shapes/props/821104037.txt b/Editor2DLibrary/SSG/shapes/props/821104037.txt index b54c902..96232cd 100644 --- a/Editor2DLibrary/SSG/shapes/props/821104037.txt +++ b/Editor2DLibrary/SSG/shapes/props/821104037.txt @@ -5,6 +5,7 @@ "icon": "SSG/shapes/img/APB_110_R550_45_191_821104029_32px.png", "iconBig": "SSG/shapes/img/APB_110_R550_45_191_821104029_64px.png", "srcSVG": "SSG/shapes/svg/821104037.xml", + "src3D": "SSG/shapes/obj/821104037.stl", "width": 2086.76, "height": 910.289, "depth": 415.748, diff --git a/Editor2DLibrary/SSG/shapes/props/821104041.txt b/Editor2DLibrary/SSG/shapes/props/821104041.txt index 4a1a4b0..196112f 100644 --- a/Editor2DLibrary/SSG/shapes/props/821104041.txt +++ b/Editor2DLibrary/SSG/shapes/props/821104041.txt @@ -5,6 +5,7 @@ "icon": "SSG/shapes/img/APB_110_R630_90_850_690_821104041_32px.png", "iconBig": "SSG/shapes/img/APB_110_R630_90_850_690_821104041_64px.png", "srcSVG": "SSG/shapes/svg/821104041.xml", + "src3D": "SSG/shapes/obj/821104041.stl", "width": 2687.376, "height": 3292.096, "depth": 415.748, diff --git a/Editor2DLibrary/SSG/shapes/props/821104043.txt b/Editor2DLibrary/SSG/shapes/props/821104043.txt index 9cc637c..81cf7ac 100644 --- a/Editor2DLibrary/SSG/shapes/props/821104043.txt +++ b/Editor2DLibrary/SSG/shapes/props/821104043.txt @@ -5,6 +5,7 @@ "icon": "SSG/shapes/img/APB_110_R650_180_L_150_821104043_32px.png", "iconBig": "SSG/shapes/img/APB_110_R650_180_L_150_821104043_64px.png", "srcSVG": "SSG/shapes/svg/821104043.xml", + "src3D": "SSG/shapes/obj/821104043.stl", "width": 3023.6, "height": 5072.391, "depth": 415.748, diff --git a/Editor2DLibrary/SSG/shapes/props/821104065.txt b/Editor2DLibrary/SSG/shapes/props/821104065.txt index 5fdfc7c..aa62ab0 100644 --- a/Editor2DLibrary/SSG/shapes/props/821104065.txt +++ b/Editor2DLibrary/SSG/shapes/props/821104065.txt @@ -5,6 +5,7 @@ "icon": "SSG/shapes/img/APB_110_R550_67_5_L_185_170_821104065_32px.png", "iconBig": "SSG/shapes/img/APB_110_R550_67_5_L_185_170_821104065_64px.png", "srcSVG": "SSG/shapes/svg/821104065.xml", + "src3D": "SSG/shapes/obj/821104065.stl", "width": 2939.045, "height": 1986.785, "depth": 415.748, diff --git a/Editor2DLibrary/SSG/shapes/props/821104066.txt b/Editor2DLibrary/SSG/shapes/props/821104066.txt index d3b975e..a7fa75e 100644 --- a/Editor2DLibrary/SSG/shapes/props/821104066.txt +++ b/Editor2DLibrary/SSG/shapes/props/821104066.txt @@ -5,6 +5,7 @@ "icon": "SSG/shapes/img/APB_110_R550_90_900_605_821104066_32px.png", "iconBig": "SSG/shapes/img/APB_110_R550_90_900_605_821104066_64px.png", "srcSVG": "SSG/shapes/svg/821104066.xml", + "src3D": "SSG/shapes/obj/821104066.stl", "width": 3481.071, "height": 2366.118, "depth": 415.748, diff --git a/Editor2DLibrary/SSG/shapes/props/OFBogen180.txt b/Editor2DLibrary/SSG/shapes/props/OFBogen180.txt index b45e2cf..1da8814 100644 --- a/Editor2DLibrary/SSG/shapes/props/OFBogen180.txt +++ b/Editor2DLibrary/SSG/shapes/props/OFBogen180.txt @@ -1,10 +1,11 @@ -{ +{ "shapeMode": 0, "name": "APB 110 R 650/180 L=150", "family": "OFBogen", "icon": "SSG/shapes/img/APB_110_R650_180_L_150_821104043_32px.png", "iconBig": "SSG/shapes/img/APB_110_R650_180_L_150_821104043_64px.png", "srcSVG": "SSG/shapes/svg/OFBogen180.xml", + "src3D": "SSG/shapes/obj/OFBogen180.stl", "width": 3023.6, "height": 5072.391, "depth": 415.748, @@ -12,7 +13,7 @@ "connectionPoints": [ { "id": "cp1", - "x": 0.0, + "x": 0, "y": 15.677, "z": 0.0, "xMin": "", @@ -31,7 +32,7 @@ }, { "id": "cp2", - "x": 1000.0, + "x": 0, "y": 984.323, "z": 0.0, "xMin": "", diff --git a/Editor2DLibrary/SSG/shapes/props/OFBogen22.txt b/Editor2DLibrary/SSG/shapes/props/OFBogen22.txt index 62a6389..5efad62 100644 --- a/Editor2DLibrary/SSG/shapes/props/OFBogen22.txt +++ b/Editor2DLibrary/SSG/shapes/props/OFBogen22.txt @@ -1,10 +1,11 @@ -{ +{ "shapeMode": 0, "name": "APB 110 R 550/22.5 84", "family": "OFBogen", "icon": "SSG/shapes/img/APB_110_R550_22_5_84_821104025_32px.png", "iconBig": "SSG/shapes/img/APB_110_R550_22_5_84_821104025_64px.png", "srcSVG": "SSG/shapes/svg/OFBogen22.xml", + "src3D": "SSG/shapes/obj/OFBogen22.stl", "width": 1974.947, "height": 614.951, "depth": 415.748, @@ -12,8 +13,8 @@ "connectionPoints": [ { "id": "cp1", - "x": 0.0, - "y": 40.265, + "x": 0, + "y": 129.312, "z": 0.0, "xMin": "", "xMax": "", diff --git a/Editor2DLibrary/SSG/shapes/props/OFBogen45.txt b/Editor2DLibrary/SSG/shapes/props/OFBogen45.txt index 7680b0a..f3294d9 100644 --- a/Editor2DLibrary/SSG/shapes/props/OFBogen45.txt +++ b/Editor2DLibrary/SSG/shapes/props/OFBogen45.txt @@ -1,19 +1,20 @@ -{ +{ "shapeMode": 0, "name": "APB 110 R 630/45 400", "family": "OFBogen", "icon": "SSG/shapes/img/APB_110_R630_45_400_821104031_32px.png", "iconBig": "SSG/shapes/img/APB_110_R630_45_400_821104031_64px.png", "srcSVG": "SSG/shapes/svg/OFBogen45.xml", - "width": 3172.834, - "height": 1645.859, + "src3D": "SSG/shapes/obj/OFBogen45.stl", + "width": 3327.816, + "height": 1271.707, "depth": 415.748, "behaviour": "(NOSTRETCH)(NOSTRETCHONVIEW)(NOROTATE)(NOROTATEONVIEW)(CONTAINER)(HIDEDIMENSIONS)(HIDEROTATION)(HIDEPIN)(ALWAYSFRONT)(ORIGIN=CENTER)", "connectionPoints": [ { "id": "cp1", - "x": 0.0, - "y": 25.063, + "x": 0, + "y": 62.531, "z": 0.0, "xMin": "", "xMax": "", @@ -31,8 +32,8 @@ }, { "id": "cp2", - "x": 982.279, - "y": 965.839, + "x": 983.103, + "y": 955.788, "z": 0.0, "xMin": "", "xMax": "", diff --git a/Editor2DLibrary/SSG/shapes/props/OFBogen67.txt b/Editor2DLibrary/SSG/shapes/props/OFBogen67.txt index 408523d..c2236e9 100644 --- a/Editor2DLibrary/SSG/shapes/props/OFBogen67.txt +++ b/Editor2DLibrary/SSG/shapes/props/OFBogen67.txt @@ -1,19 +1,20 @@ -{ +{ "shapeMode": 0, "name": "APB 110 R 550/67.5 432", "family": "OFBogen", "icon": "SSG/shapes/img/APB_110_R550_67_5_432_821104027_32px.png", "iconBig": "SSG/shapes/img/APB_110_R550_67_5_432_821104027_64px.png", "srcSVG": "SSG/shapes/svg/OFBogen67.xml", - "width": 3008.01, - "height": 1957.104, + "src3D": "SSG/shapes/obj/OFBogen67.stl", + "width": 2903.015, + "height": 2114.237, "depth": 415.748, "behaviour": "(NOSTRETCH)(NOSTRETCHONVIEW)(NOROTATE)(NOROTATEONVIEW)(CONTAINER)(HIDEDIMENSIONS)(HIDEROTATION)(HIDEPIN)(ALWAYSFRONT)(ORIGIN=CENTER)", "connectionPoints": [ { "id": "cp1", - "x": 0.0, - "y": 26.436, + "x": 0, + "y": 37.612, "z": 0.0, "xMin": "", "xMax": "", @@ -31,8 +32,8 @@ }, { "id": "cp2", - "x": 975.577, - "y": 984.454, + "x": 974.694, + "y": 985.608, "z": 0.0, "xMin": "", "xMax": "", diff --git a/Editor2DLibrary/SSG/shapes/props/OFBogen90.txt b/Editor2DLibrary/SSG/shapes/props/OFBogen90.txt index 45e2a64..021ba26 100644 --- a/Editor2DLibrary/SSG/shapes/props/OFBogen90.txt +++ b/Editor2DLibrary/SSG/shapes/props/OFBogen90.txt @@ -1,10 +1,11 @@ -{ +{ "shapeMode": 0, "name": "APB 110 R 630/90 800/800", "family": "OFBogen", "icon": "SSG/shapes/img/APB_110_R630_D90_800_800_821104033_32px.png", "iconBig": "SSG/shapes/img/APB_110_R630_D90_800_800_821104033_64px.png", "srcSVG": "SSG/shapes/svg/OFBogen90.xml", + "src3D": "SSG/shapes/obj/OFBogen90.stl", "width": 3103.121, "height": 3103.121, "depth": 415.748, @@ -12,7 +13,7 @@ "connectionPoints": [ { "id": "cp1", - "x": 0.0, + "x": 0, "y": 25.626, "z": 0.0, "xMin": "", @@ -47,44 +48,6 @@ "linkClass": "Omniflo", "label": "", "isDimension": true - }, - { - "id": "TEFAussen1", - "x": 21.69, - "y": 0.0, - "z": 0.0, - "xMin": "", - "xMax": "", - "xStep": "", - "yMin": "", - "yMax": "", - "yStep": "", - "zMin": "", - "zMax": "", - "zStep": "", - "direction": 270.0, - "linkClass": "OmnifloTEF", - "label": "", - "isDimension": true - }, - { - "id": "TEFAussen2", - "x": 1000.0, - "y": 978.31, - "z": 0.0, - "xMin": "", - "xMax": "", - "xStep": "", - "yMin": "", - "yMax": "", - "yStep": "", - "zMin": "", - "zMax": "", - "zStep": "", - "direction": 180.0, - "linkClass": "OmnifloTEF", - "label": "", - "isDimension": true } ], "eventClass": "OnDoubleclick,OnPasted,OnInserted,OnLinked,OnRemoved" diff --git a/Editor2DLibrary/SSG/shapes/svg/821104021.xml b/Editor2DLibrary/SSG/shapes/svg/821104021.xml index 51a9478..b8eaeb3 100644 --- a/Editor2DLibrary/SSG/shapes/svg/821104021.xml +++ b/Editor2DLibrary/SSG/shapes/svg/821104021.xml @@ -2,11 +2,9 @@ - - - - - - + + + + \ No newline at end of file diff --git a/Editor2DLibrary/SSG/shapes/svg/821104025.xml b/Editor2DLibrary/SSG/shapes/svg/821104025.xml index fc56ba7..6382b6a 100644 --- a/Editor2DLibrary/SSG/shapes/svg/821104025.xml +++ b/Editor2DLibrary/SSG/shapes/svg/821104025.xml @@ -2,9 +2,11 @@ - - - - + + + + + + \ No newline at end of file diff --git a/Editor2DLibrary/SSG/shapes/svg/821104026.xml b/Editor2DLibrary/SSG/shapes/svg/821104026.xml index 81b2c95..46c9d87 100644 --- a/Editor2DLibrary/SSG/shapes/svg/821104026.xml +++ b/Editor2DLibrary/SSG/shapes/svg/821104026.xml @@ -2,10 +2,11 @@ - - - - - + + + + + + \ No newline at end of file diff --git a/Editor2DLibrary/SSG/shapes/svg/821104027.xml b/Editor2DLibrary/SSG/shapes/svg/821104027.xml index d22678a..da7f611 100644 --- a/Editor2DLibrary/SSG/shapes/svg/821104027.xml +++ b/Editor2DLibrary/SSG/shapes/svg/821104027.xml @@ -2,9 +2,11 @@ - - - - + + + + + + \ No newline at end of file diff --git a/Editor2DLibrary/SSG/shapes/svg/821104028.xml b/Editor2DLibrary/SSG/shapes/svg/821104028.xml index 0d2f9fd..5774ea4 100644 --- a/Editor2DLibrary/SSG/shapes/svg/821104028.xml +++ b/Editor2DLibrary/SSG/shapes/svg/821104028.xml @@ -2,9 +2,11 @@ - - - - + + + + + + \ No newline at end of file diff --git a/Editor2DLibrary/SSG/shapes/svg/821104029.xml b/Editor2DLibrary/SSG/shapes/svg/821104029.xml index 61a16cb..c27310b 100644 --- a/Editor2DLibrary/SSG/shapes/svg/821104029.xml +++ b/Editor2DLibrary/SSG/shapes/svg/821104029.xml @@ -2,9 +2,11 @@ - - - - + + + + + + \ No newline at end of file diff --git a/Editor2DLibrary/SSG/shapes/svg/821104030.xml b/Editor2DLibrary/SSG/shapes/svg/821104030.xml index a5c1274..d434478 100644 --- a/Editor2DLibrary/SSG/shapes/svg/821104030.xml +++ b/Editor2DLibrary/SSG/shapes/svg/821104030.xml @@ -2,9 +2,11 @@ - - - - + + + + + + \ No newline at end of file diff --git a/Editor2DLibrary/SSG/shapes/svg/821104031.xml b/Editor2DLibrary/SSG/shapes/svg/821104031.xml index 759d498..b2dd90b 100644 --- a/Editor2DLibrary/SSG/shapes/svg/821104031.xml +++ b/Editor2DLibrary/SSG/shapes/svg/821104031.xml @@ -1,10 +1,12 @@  - - - - - + + + + + + + \ No newline at end of file diff --git a/Editor2DLibrary/SSG/shapes/svg/821104033.xml b/Editor2DLibrary/SSG/shapes/svg/821104033.xml index c397f53..bf395e7 100644 --- a/Editor2DLibrary/SSG/shapes/svg/821104033.xml +++ b/Editor2DLibrary/SSG/shapes/svg/821104033.xml @@ -2,9 +2,11 @@ - - - - + + + + + + \ No newline at end of file diff --git a/Editor2DLibrary/SSG/shapes/svg/821104034.xml b/Editor2DLibrary/SSG/shapes/svg/821104034.xml index 26c8739..76121db 100644 --- a/Editor2DLibrary/SSG/shapes/svg/821104034.xml +++ b/Editor2DLibrary/SSG/shapes/svg/821104034.xml @@ -2,9 +2,11 @@ - - - - + + + + + + \ No newline at end of file diff --git a/Editor2DLibrary/SSG/shapes/svg/821104035.xml b/Editor2DLibrary/SSG/shapes/svg/821104035.xml index d531dbb..1cabccc 100644 --- a/Editor2DLibrary/SSG/shapes/svg/821104035.xml +++ b/Editor2DLibrary/SSG/shapes/svg/821104035.xml @@ -2,9 +2,11 @@ - - - - + + + + + + \ No newline at end of file diff --git a/Editor2DLibrary/SSG/shapes/svg/821104037.xml b/Editor2DLibrary/SSG/shapes/svg/821104037.xml index c561bf5..aa2bdad 100644 --- a/Editor2DLibrary/SSG/shapes/svg/821104037.xml +++ b/Editor2DLibrary/SSG/shapes/svg/821104037.xml @@ -2,9 +2,11 @@ - - - - + + + + + + \ No newline at end of file diff --git a/Editor2DLibrary/SSG/shapes/svg/821104041.xml b/Editor2DLibrary/SSG/shapes/svg/821104041.xml index 3528d56..3dde0b2 100644 --- a/Editor2DLibrary/SSG/shapes/svg/821104041.xml +++ b/Editor2DLibrary/SSG/shapes/svg/821104041.xml @@ -2,9 +2,11 @@ - - - - + + + + + + \ No newline at end of file diff --git a/Editor2DLibrary/SSG/shapes/svg/821104043.xml b/Editor2DLibrary/SSG/shapes/svg/821104043.xml index a213290..cc1b82f 100644 --- a/Editor2DLibrary/SSG/shapes/svg/821104043.xml +++ b/Editor2DLibrary/SSG/shapes/svg/821104043.xml @@ -2,9 +2,11 @@ - - - - + + + + + + \ No newline at end of file diff --git a/Editor2DLibrary/SSG/shapes/svg/821104065.xml b/Editor2DLibrary/SSG/shapes/svg/821104065.xml index c1801e6..097abb9 100644 --- a/Editor2DLibrary/SSG/shapes/svg/821104065.xml +++ b/Editor2DLibrary/SSG/shapes/svg/821104065.xml @@ -2,9 +2,11 @@ - - - - + + + + + + \ No newline at end of file diff --git a/Editor2DLibrary/SSG/shapes/svg/821104066.xml b/Editor2DLibrary/SSG/shapes/svg/821104066.xml index 3938fb7..c48e970 100644 --- a/Editor2DLibrary/SSG/shapes/svg/821104066.xml +++ b/Editor2DLibrary/SSG/shapes/svg/821104066.xml @@ -2,9 +2,11 @@ - - - - + + + + + + \ No newline at end of file diff --git a/Editor2DLibrary/SSG/shapes/svg/OFBogen180.xml b/Editor2DLibrary/SSG/shapes/svg/OFBogen180.xml index a213290..cc1b82f 100644 --- a/Editor2DLibrary/SSG/shapes/svg/OFBogen180.xml +++ b/Editor2DLibrary/SSG/shapes/svg/OFBogen180.xml @@ -2,9 +2,11 @@ - - - - + + + + + + \ No newline at end of file diff --git a/Editor2DLibrary/SSG/shapes/svg/OFBogen22.xml b/Editor2DLibrary/SSG/shapes/svg/OFBogen22.xml index fc56ba7..6382b6a 100644 --- a/Editor2DLibrary/SSG/shapes/svg/OFBogen22.xml +++ b/Editor2DLibrary/SSG/shapes/svg/OFBogen22.xml @@ -2,9 +2,11 @@ - - - - + + + + + + \ No newline at end of file diff --git a/Editor2DLibrary/SSG/shapes/svg/OFBogen45.xml b/Editor2DLibrary/SSG/shapes/svg/OFBogen45.xml index 759d498..b2dd90b 100644 --- a/Editor2DLibrary/SSG/shapes/svg/OFBogen45.xml +++ b/Editor2DLibrary/SSG/shapes/svg/OFBogen45.xml @@ -1,10 +1,12 @@  - - - - - + + + + + + + \ No newline at end of file diff --git a/Editor2DLibrary/SSG/shapes/svg/OFBogen67.xml b/Editor2DLibrary/SSG/shapes/svg/OFBogen67.xml index d22678a..da7f611 100644 --- a/Editor2DLibrary/SSG/shapes/svg/OFBogen67.xml +++ b/Editor2DLibrary/SSG/shapes/svg/OFBogen67.xml @@ -2,9 +2,11 @@ - - - - + + + + + + \ No newline at end of file diff --git a/Editor2DLibrary/SSG/shapes/svg/OFBogen90.xml b/Editor2DLibrary/SSG/shapes/svg/OFBogen90.xml index c397f53..bf395e7 100644 --- a/Editor2DLibrary/SSG/shapes/svg/OFBogen90.xml +++ b/Editor2DLibrary/SSG/shapes/svg/OFBogen90.xml @@ -2,9 +2,11 @@ - - - - + + + + + + \ No newline at end of file diff --git a/MAIN_SSG.rdx b/MAIN_SSG.rdx index 6ce2281..7006d81 100644 --- a/MAIN_SSG.rdx +++ b/MAIN_SSG.rdx @@ -1,6 +1,6 @@  - + @@ -1010,7 +1010,7 @@ - + @@ -1020,7 +1020,7 @@ - + @@ -7005,6 +7005,9 @@ KreiselData.AbstandMS+(KreiselData.Durchmesser/2) + + + @@ -7100,6 +7103,9 @@ KreiselData.AbstandMS+(KreiselData.Durchmesser/2) + + + @@ -7125,7 +7131,9 @@ KreiselData.AbstandMS+(KreiselData.Durchmesser/2) - + + + @@ -7171,9 +7179,6 @@ KreiselData.AbstandMS+(KreiselData.Durchmesser/2) - - - @@ -23206,6 +23211,15 @@ SSGConnectionPoint.x_M + + + + + + + + + @@ -23958,6 +23972,9 @@ SSGConnectionPoint.x_M + + + @@ -23977,7 +23994,9 @@ SSGConnectionPoint.x_M - + + + @@ -24021,9 +24040,6 @@ SSGConnectionPoint.x_M - - - @@ -51252,9 +51268,7 @@ ShapeList["id="+Param.Input[1].shapeID].name - - - + diff --git a/SVGs/Omniflo/TEFBogen/APB_110_R400_67_5_339_821104024_mit_0_B10081_TEFBogen_67_5_R250_new.svg b/SVGs/Omniflo/TEFBogen/APB_110_R400_67_5_339_821104024_mit_0_B10081_TEFBogen_67_5_R250_new.svg new file mode 100644 index 0000000..772c725 --- /dev/null +++ b/SVGs/Omniflo/TEFBogen/APB_110_R400_67_5_339_821104024_mit_0_B10081_TEFBogen_67_5_R250_new.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SVGs/Omniflo/TEFBogen/APB_110_R550_22_5_84_821104025_mit_0_B10090_TEFBogen_22_5_R450_new.svg b/SVGs/Omniflo/TEFBogen/APB_110_R550_22_5_84_821104025_mit_0_B10090_TEFBogen_22_5_R450_new.svg new file mode 100644 index 0000000..be07236 --- /dev/null +++ b/SVGs/Omniflo/TEFBogen/APB_110_R550_22_5_84_821104025_mit_0_B10090_TEFBogen_22_5_R450_new.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SVGs/Omniflo/TEFBogen/APB_110_R550_22_5_84_821104025_mit_0_B10091_TEFBogen_22_5_R650_new.svg b/SVGs/Omniflo/TEFBogen/APB_110_R550_22_5_84_821104025_mit_0_B10091_TEFBogen_22_5_R650_new.svg new file mode 100644 index 0000000..b4fde50 --- /dev/null +++ b/SVGs/Omniflo/TEFBogen/APB_110_R550_22_5_84_821104025_mit_0_B10091_TEFBogen_22_5_R650_new.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SVGs/Omniflo/TEFBogen/APB_110_R550_45_232_821104026_mit_0_B10071_TEFBogen_45_R450_new.svg b/SVGs/Omniflo/TEFBogen/APB_110_R550_45_232_821104026_mit_0_B10071_TEFBogen_45_R450_new.svg new file mode 100644 index 0000000..9ca9107 --- /dev/null +++ b/SVGs/Omniflo/TEFBogen/APB_110_R550_45_232_821104026_mit_0_B10071_TEFBogen_45_R450_new.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SVGs/Omniflo/TEFBogen/APB_110_R550_67_5_432_821104027_mit_0_B10080_TEFBogen_67_5_R400_new.svg b/SVGs/Omniflo/TEFBogen/APB_110_R550_67_5_432_821104027_mit_0_B10080_TEFBogen_67_5_R400_new.svg new file mode 100644 index 0000000..6f68269 --- /dev/null +++ b/SVGs/Omniflo/TEFBogen/APB_110_R550_67_5_432_821104027_mit_0_B10080_TEFBogen_67_5_R400_new.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SVGs/Omniflo/TEFBogen/APB_110_R630_45_400_821104031_mit_0_B10060_TEFBogen_45_R725_new.svg b/SVGs/Omniflo/TEFBogen/APB_110_R630_45_400_821104031_mit_0_B10060_TEFBogen_45_R725_new.svg new file mode 100644 index 0000000..80ec7af --- /dev/null +++ b/SVGs/Omniflo/TEFBogen/APB_110_R630_45_400_821104031_mit_0_B10060_TEFBogen_45_R725_new.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SVGs/Omniflo/TEFBogen/APB_110_R630_45_400_821104031_mit_0_B10070_TEFBogen_45_R535_new.svg b/SVGs/Omniflo/TEFBogen/APB_110_R630_45_400_821104031_mit_0_B10070_TEFBogen_45_R535_new.svg new file mode 100644 index 0000000..95a19d8 --- /dev/null +++ b/SVGs/Omniflo/TEFBogen/APB_110_R630_45_400_821104031_mit_0_B10070_TEFBogen_45_R535_new.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SVGs/Omniflo/TEFBogen/APB_110_R630_90_800_800_821104033_mit_0_B10040_TEFBogen_90_R725_new.svg b/SVGs/Omniflo/TEFBogen/APB_110_R630_90_800_800_821104033_mit_0_B10040_TEFBogen_90_R725_new.svg new file mode 100644 index 0000000..318033e --- /dev/null +++ b/SVGs/Omniflo/TEFBogen/APB_110_R630_90_800_800_821104033_mit_0_B10040_TEFBogen_90_R725_new.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SVGs/Omniflo/TEFBogen/APB_110_R630_90_800_800_821104033_mit_0_B10050_TEFBogen_90_R535_new.svg b/SVGs/Omniflo/TEFBogen/APB_110_R630_90_800_800_821104033_mit_0_B10050_TEFBogen_90_R535_new.svg new file mode 100644 index 0000000..98ede57 --- /dev/null +++ b/SVGs/Omniflo/TEFBogen/APB_110_R630_90_800_800_821104033_mit_0_B10050_TEFBogen_90_R535_new.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SVGs/Omniflo/python/1_SVGErfassung_updated_new_input.json b/SVGs/Omniflo/python/1_SVGErfassung_updated_new_input.json deleted file mode 100644 index e8ba356..0000000 --- a/SVGs/Omniflo/python/1_SVGErfassung_updated_new_input.json +++ /dev/null @@ -1,182 +0,0 @@ -[ - { - "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": 748.658, - "center_line_height_mm": 530.305, - "Objekt_width_mm":768.095, - "Objekt_height_mm":559.396 - }, - { - "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": 865.613, - "center_line_height_mm": 300.559, - "Objekt_width_mm":880.491, - "Objekt_height_mm":336.475 - }, - { - "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 - } -] \ No newline at end of file diff --git a/SVGs/Omniflo/python/1_SVGErfassung_updated_new_output.json b/SVGs/Omniflo/python/1_SVGErfassung_updated_new_output.json deleted file mode 100644 index a23ed9f..0000000 --- a/SVGs/Omniflo/python/1_SVGErfassung_updated_new_output.json +++ /dev/null @@ -1,222 +0,0 @@ -[ - { - "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": 748.658, - "center_line_height_mm": 530.305, - "Objekt_width_mm": 768.095, - "Objekt_height_mm": 559.396, - "calculated_objekt_width_mm": 768.096, - "calculated_objekt_height_mm": 559.397 - }, - { - "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": 865.613, - "center_line_height_mm": 300.559, - "Objekt_width_mm": 880.491, - "Objekt_height_mm": 336.475, - "calculated_objekt_width_mm": 880.491, - "calculated_objekt_height_mm": 336.477 - }, - { - "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 - } -] \ No newline at end of file diff --git a/SVGs/Omniflo/python/1_calculate_ture_width_and_height_dimensions_with_profile_width.py b/SVGs/Omniflo/python/1_calculate_ture_width_and_height_dimensions_with_profile_width.py deleted file mode 100644 index bf21eea..0000000 --- a/SVGs/Omniflo/python/1_calculate_ture_width_and_height_dimensions_with_profile_width.py +++ /dev/null @@ -1,151 +0,0 @@ -''' 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) \ No newline at end of file diff --git a/SVGs/Omniflo/python/2_calculated_px_cps_output.json b/SVGs/Omniflo/python/2_calculated_px_cps_output.json deleted file mode 100644 index f90d6a0..0000000 --- a/SVGs/Omniflo/python/2_calculated_px_cps_output.json +++ /dev/null @@ -1,602 +0,0 @@ -[ - { - "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": 748.658, - "center_line_height_mm": 530.305, - "Objekt_width_mm": 768.095, - "Objekt_height_mm": 559.396, - "calculated_objekt_width_mm": 768.096, - "calculated_objekt_height_mm": 559.397, - "Objekt_width_px": 2903.015, - "Objekt_height_px": 2114.237, - "calculated_SVG_width_px": 1000, - "calculated_SVG_height_px": 728.29, - "scale_factor": 1.301922, - "connectionPoints": [ - { - "id": "cp1", - "x": 0, - "y": 37.612, - "direction": 270.0 - }, - { - "id": "cp2", - "x": 974.694, - "y": 985.608, - "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": 865.613, - "center_line_height_mm": 300.559, - "Objekt_width_mm": 880.491, - "Objekt_height_mm": 336.475, - "calculated_objekt_width_mm": 880.491, - "calculated_objekt_height_mm": 336.477, - "Objekt_width_px": 3327.816, - "Objekt_height_px": 1271.707, - "calculated_SVG_width_px": 1000, - "calculated_SVG_height_px": 382.145, - "scale_factor": 1.13573, - "connectionPoints": [ - { - "id": "cp1", - "x": 0, - "y": 62.531, - "direction": 270.0 - }, - { - "id": "cp2", - "x": 983.103, - "y": 955.788, - "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 - } - ] - } -] \ No newline at end of file diff --git a/SVGs/Omniflo/python/2_calculations_to_standardize_the_dimensions_and_add_connection_points.py b/SVGs/Omniflo/python/2_calculations_to_standardize_the_dimensions_and_add_connection_points.py deleted file mode 100644 index a8a9d6f..0000000 --- a/SVGs/Omniflo/python/2_calculations_to_standardize_the_dimensions_and_add_connection_points.py +++ /dev/null @@ -1,158 +0,0 @@ -''' 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) \ No newline at end of file diff --git a/SVGs/Omniflo/python/3_update_dimensions_and_connection_points_in_props.py b/SVGs/Omniflo/python/3_update_dimensions_and_connection_points_in_props.py deleted file mode 100644 index 78ba82b..0000000 --- a/SVGs/Omniflo/python/3_update_dimensions_and_connection_points_in_props.py +++ /dev/null @@ -1,134 +0,0 @@ -''' Script Analysis - -This Python script processes JSON and TXT files to update dimensions and connection points in SVG-related data. Here's the main logic: - Input Handling: - Reads a JSON file containing reference data - Processes all TXT files in a specified directory - Data Processing: - Creates a mapping between Sivasnr (from filenames) and JSON data - For each matching TXT file: - Updates width and height based on JSON data (converting mm to px) - Updates connection points (x, y, direction) from JSON data - Preserves the original file structure while updating specific values - Reporting: - Prints detailed change reports to console - Skips files without matching JSON data ''' -import json -import os -import glob -from datetime import datetime - -def process_files(json_file_path, txt_files_dir): - # Create a log file with timestamp - timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") - log_file_path = os.path.join(txt_files_dir, f"modification_report_{timestamp}.txt") - - # Read JSON file - with open(json_file_path, 'r', encoding='utf-8') as f: - json_data = json.load(f) - - # Create Sivasnr to JSON data mapping - sivasnr_mapping = {item["Sivasnr"]: item for item in json_data} - - # Prepare report content - report_content = [] - report_content.append(f"Modification Report - {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}") - report_content.append("="*50 + "\n") - - # Process all TXT files - for txt_file_path in glob.glob(os.path.join(txt_files_dir, '*.txt')): - # Extract Sivasnr from filename - sivasnr = os.path.splitext(os.path.basename(txt_file_path))[0] - - # Check if corresponding JSON data exists - if sivasnr in sivasnr_mapping: - json_item = sivasnr_mapping[sivasnr] - - # Read TXT file content (using utf-8-sig to handle BOM) - with open(txt_file_path, 'r', encoding='utf-8-sig') as f: - txt_content = json.load(f) - - # Prepare entry for this file - file_entry = [] - file_entry.append(f"\nProcessing file: {txt_file_path}") - file_entry.append("="*50) - - # Record old values - old_width = txt_content["width"] - old_height = txt_content["height"] - old_cps = {cp["id"]: {"x": cp["x"], "y": cp["y"], "direction": cp["direction"]} - for cp in txt_content["connectionPoints"]} - - # Update width and height - new_width = round(json_item["Objekt_width_mm"] * 3.7795, 3) - new_height = round(json_item["Objekt_height_mm"] * 3.7795, 3) - txt_content["width"] = new_width - txt_content["height"] = new_height - - # Update connectionPoints - cp_changes = [] - for cp in txt_content["connectionPoints"]: - cp_id = cp["id"] - # Find corresponding connection point in JSON data - json_cp = next((item for item in json_item["connectionPoints"] if item["id"] == cp_id), None) - if json_cp: - # Record old values - old_x = cp["x"] - old_y = cp["y"] - old_dir = cp["direction"] - - # Update values - cp["x"] = json_cp["x"] - cp["y"] = json_cp["y"] - cp["direction"] = json_cp["direction"] - - # Record changes - cp_changes.append({ - "id": cp_id, - "x": (old_x, cp["x"]), - "y": (old_y, cp["y"]), - "direction": (old_dir, cp["direction"]) - }) - - # Write back to TXT file - with open(txt_file_path, 'w', encoding='utf-8') as f: - json.dump(txt_content, f, indent=2, ensure_ascii=False) - - # Add to report - file_entry.append("[Dimension Changes]") - file_entry.append(f"width: {old_width} → {new_width}") - file_entry.append(f"height: {old_height} → {new_height}") - - if cp_changes: - file_entry.append("\n[Connection Point Changes]") - for change in cp_changes: - file_entry.append(f"Connection point {change['id']}:") - file_entry.append(f" x: {change['x'][0]} → {change['x'][1]}") - file_entry.append(f" y: {change['y'][0]} → {change['y'][1]}") - file_entry.append(f" direction: {change['direction'][0]} → {change['direction'][1]}") - - file_entry.append(f"\nFile {txt_file_path} processed successfully") - file_entry.append("="*50) - - # Add this file's entry to main report - report_content.extend(file_entry) - - # Also print to console - print("\n" + "\n".join(file_entry)) - else: - print(f"\nSkipping file {txt_file_path} (no matching JSON data found)") - - # Write the report file if any changes were made - if len(report_content) > 2: # More than just the header - with open(log_file_path, 'w', encoding='utf-8') as f: - f.write("\n".join(report_content)) - print(f"\nModification report saved to: {log_file_path}") - else: - print("\nNo files were modified - no report generated") - -# Example usage -if __name__ == "__main__": - json_file_path = "2_calculated_px_cps_output.json" - txt_files_dir = "C:/Program Files/RuleDesigner/RDConfigurator Fusion/WebApi/Editor2D/SSG/shapes/props" - process_files(json_file_path, txt_files_dir) - print("\nAll files processed!") \ No newline at end of file