diff --git a/WorkFeature/Doc/Tutorials/WF_Tuto_MODIF_TranslationBySegment.mp4 b/WorkFeature/Doc/Tutorials/WF_Tuto_MODIF_TranslationBySegment.mp4
new file mode 100644
index 0000000..5e40857
Binary files /dev/null and b/WorkFeature/Doc/Tutorials/WF_Tuto_MODIF_TranslationBySegment.mp4 differ
diff --git a/WorkFeature/Doc/Tutorials/WF_Tuto_POINTS_ProjectedPoints.mp4 b/WorkFeature/Doc/Tutorials/WF_Tuto_POINTS_ProjectedPoints.mp4
new file mode 100644
index 0000000..a3ade4c
Binary files /dev/null and b/WorkFeature/Doc/Tutorials/WF_Tuto_POINTS_ProjectedPoints.mp4 differ
diff --git a/WorkFeature/Doc/Tutorials/WF_Tuto_POINTS_RandomPoints.mp4 b/WorkFeature/Doc/Tutorials/WF_Tuto_POINTS_RandomPoints.mp4
new file mode 100644
index 0000000..1c54a7e
Binary files /dev/null and b/WorkFeature/Doc/Tutorials/WF_Tuto_POINTS_RandomPoints.mp4 differ
diff --git a/WorkFeature/Doc/Tutorials/WF_Tuto_WIRE_2DConvexPolygon.mp4 b/WorkFeature/Doc/Tutorials/WF_Tuto_WIRE_2DConvexPolygon.mp4
new file mode 100644
index 0000000..af7e2f9
Binary files /dev/null and b/WorkFeature/Doc/Tutorials/WF_Tuto_WIRE_2DConvexPolygon.mp4 differ
diff --git a/WorkFeature/Doc/Tutorials/WF_Tuto_WIRE_CreatePolygon.mp4 b/WorkFeature/Doc/Tutorials/WF_Tuto_WIRE_CreatePolygon.mp4
new file mode 100644
index 0000000..6ac1d0d
Binary files /dev/null and b/WorkFeature/Doc/Tutorials/WF_Tuto_WIRE_CreatePolygon.mp4 differ
diff --git a/WorkFeature/Doc/Tutorials/WF_Tuto_WIRE_Regression2D.mp4 b/WorkFeature/Doc/Tutorials/WF_Tuto_WIRE_Regression2D.mp4
new file mode 100644
index 0000000..565e026
Binary files /dev/null and b/WorkFeature/Doc/Tutorials/WF_Tuto_WIRE_Regression2D.mp4 differ
diff --git a/WorkFeature/Doc/WF_documentation.pdf b/WorkFeature/Doc/WF_documentation.pdf
index fe97626..de6fcaa 100644
Binary files a/WorkFeature/Doc/WF_documentation.pdf and b/WorkFeature/Doc/WF_documentation.pdf differ
diff --git a/WorkFeature/Doc/WF_releasesDocumentation.pdf b/WorkFeature/Doc/WF_releasesDocumentation.pdf
index 16aeb7d..c805daf 100644
Binary files a/WorkFeature/Doc/WF_releasesDocumentation.pdf and b/WorkFeature/Doc/WF_releasesDocumentation.pdf differ
diff --git a/WorkFeature/Icons/WF_click.svg b/WorkFeature/Icons/WF_click.svg
new file mode 100644
index 0000000..bb66652
--- /dev/null
+++ b/WorkFeature/Icons/WF_click.svg
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="64px"
+   height="64px"
+   id="svg2918"
+   sodipodi:version="0.32"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="WF_click.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   version="1.1">
+  <defs
+     id="defs2920">
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3144"
+       id="radialGradient3191"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
+       cx="225.26402"
+       cy="672.79736"
+       fx="225.26402"
+       fy="672.79736"
+       r="34.345188" />
+    <linearGradient
+       id="linearGradient3144">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3146" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3148" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3144"
+       id="radialGradient3183"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
+       cx="225.26402"
+       cy="672.79736"
+       fx="225.26402"
+       fy="672.79736"
+       r="34.345188" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 32 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="64 : 32 : 1"
+       inkscape:persp3d-origin="32 : 21.333333 : 1"
+       id="perspective2926" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3144"
+       id="radialGradient3075"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
+       cx="225.26402"
+       cy="672.79736"
+       fx="225.26402"
+       fy="672.79736"
+       r="34.345188" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="7.6104543"
+     inkscape:cx="4.2038293"
+     inkscape:cy="31.812827"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:document-units="px"
+     inkscape:grid-bbox="true"
+     inkscape:window-width="1366"
+     inkscape:window-height="702"
+     inkscape:window-x="0"
+     inkscape:window-y="1227"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata2923">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <g
+       id="g3177"
+       transform="matrix(-0.1459885,0.00366916,-0.00366916,-0.1459885,83.957793,125.97476)"
+       inkscape:export-filename="/home/yorik/Documents/Lab/Draft/icons/circle.png"
+       inkscape:export-xdpi="7.2934141"
+       inkscape:export-ydpi="7.2934141" />
+    <path
+       sodipodi:nodetypes="ccccccccc"
+       inkscape:connector-curvature="0"
+       id="path5799-2"
+       d="M 27.865364,32.991184 23.4039,47.623682 5.1420292,8.6874001 C 5.594662,7.243395 4.3516376,5.5692254 7.7077253,5.6469608 L 49.544536,22.069334 36.201615,26.606419 58.322749,45.403425 c 0.434076,4.442433 0.118637,8.445519 -7.920612,9.999191 z"
+       style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:54.21519089px;font-family:Arial;-inkscape-font-specification:Arial;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.29860783;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" />
+  </g>
+</svg>
diff --git a/WorkFeature/Icons/WF_convexPolygon.svg b/WorkFeature/Icons/WF_convexPolygon.svg
new file mode 100644
index 0000000..6af5ed7
--- /dev/null
+++ b/WorkFeature/Icons/WF_convexPolygon.svg
@@ -0,0 +1,619 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="64px"
+   height="64px"
+   id="svg2918"
+   sodipodi:version="0.32"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="WF_convexPolygon.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   version="1.1">
+  <defs
+     id="defs2920">
+    <linearGradient
+       id="linearGradient3144">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3146" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3148" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3144"
+       id="radialGradient3183"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
+       cx="225.26402"
+       cy="672.79736"
+       fx="225.26402"
+       fy="672.79736"
+       r="34.345188" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 32 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="64 : 32 : 1"
+       inkscape:persp3d-origin="32 : 21.333333 : 1"
+       id="perspective2926" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3144-6"
+       id="radialGradient4272"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
+       cx="225.26402"
+       cy="672.79736"
+       fx="225.26402"
+       fy="672.79736"
+       r="34.345188" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3144-6">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3146-2" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3148-5" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4135-3"
+       id="linearGradient4145-1"
+       x1="131.82286"
+       y1="101.22672"
+       x2="191.3165"
+       y2="101.22672"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient4135-3">
+      <stop
+         style="stop-color:#0079ff;stop-opacity:1;"
+         offset="0"
+         id="stop4137-9" />
+      <stop
+         style="stop-color:#0079ff;stop-opacity:0;"
+         offset="1"
+         id="stop4139-2" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4135-3-5"
+       id="linearGradient4145-1-8"
+       x1="131.82286"
+       y1="101.22672"
+       x2="191.3165"
+       y2="101.22672"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient4135-3-5">
+      <stop
+         style="stop-color:#0079ff;stop-opacity:1;"
+         offset="0"
+         id="stop4137-9-3" />
+      <stop
+         style="stop-color:#0079ff;stop-opacity:0;"
+         offset="1"
+         id="stop4139-2-7" />
+    </linearGradient>
+    <radialGradient
+       r="34.345188"
+       fy="672.79736"
+       fx="225.26402"
+       cy="672.79736"
+       cx="225.26402"
+       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient4558-0"
+       xlink:href="#linearGradient3144-6-2"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3144-6-2">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3146-2-4" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3148-5-6" />
+    </linearGradient>
+    <radialGradient
+       r="34.345188"
+       fy="672.79736"
+       fx="225.26402"
+       cy="672.79736"
+       cx="225.26402"
+       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient4558-7"
+       xlink:href="#linearGradient3144-6-9"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3144-6-9">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3146-2-7" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3148-5-7" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3144-9"
+       id="radialGradient3191"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
+       cx="225.26402"
+       cy="672.79736"
+       fx="225.26402"
+       fy="672.79736"
+       r="34.345188" />
+    <linearGradient
+       id="linearGradient3144-9">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3146-7" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3148-2" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3144-9-3"
+       id="radialGradient4852-4"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
+       cx="225.26402"
+       cy="672.79736"
+       fx="225.26402"
+       fy="672.79736"
+       r="34.345188" />
+    <linearGradient
+       id="linearGradient3144-9-3">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3146-7-5" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3148-2-7" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3144-9-4"
+       id="radialGradient4852-9"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
+       cx="225.26402"
+       cy="672.79736"
+       fx="225.26402"
+       fy="672.79736"
+       r="34.345188" />
+    <linearGradient
+       id="linearGradient3144-9-4">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3146-7-7" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3148-2-9" />
+    </linearGradient>
+    <radialGradient
+       r="34.345188"
+       fy="672.79736"
+       fx="225.26402"
+       cy="672.79736"
+       cx="225.26402"
+       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3264-9"
+       xlink:href="#linearGradient3144"
+       inkscape:collect="always" />
+    <radialGradient
+       r="34.345188"
+       fy="672.79736"
+       fx="225.26402"
+       cy="672.79736"
+       cx="225.26402"
+       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3264-9-6"
+       xlink:href="#linearGradient3144"
+       inkscape:collect="always" />
+    <radialGradient
+       r="34.345188"
+       fy="672.79736"
+       fx="225.26402"
+       cy="672.79736"
+       cx="225.26402"
+       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3264-9-6-1"
+       xlink:href="#linearGradient3144"
+       inkscape:collect="always" />
+    <radialGradient
+       r="34.345188"
+       fy="672.79736"
+       fx="225.26402"
+       cy="672.79736"
+       cx="225.26402"
+       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3264-9-6-1-1"
+       xlink:href="#linearGradient3144"
+       inkscape:collect="always" />
+    <radialGradient
+       r="34.345188"
+       fy="672.79736"
+       fx="225.26402"
+       cy="672.79736"
+       cx="225.26402"
+       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3264-9-6-1-1-9"
+       xlink:href="#linearGradient3144"
+       inkscape:collect="always" />
+    <radialGradient
+       r="34.345188"
+       fy="672.79736"
+       fx="225.26402"
+       cy="672.79736"
+       cx="225.26402"
+       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3264-9-6-1-1-9-8"
+       xlink:href="#linearGradient3144"
+       inkscape:collect="always" />
+    <radialGradient
+       r="34.345188"
+       fy="672.79736"
+       fx="225.26402"
+       cy="672.79736"
+       cx="225.26402"
+       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3264-9-6-1-1-9-8-6"
+       xlink:href="#linearGradient3144"
+       inkscape:collect="always" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="7.6088565"
+     inkscape:cx="33.444373"
+     inkscape:cy="30.440063"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:document-units="px"
+     inkscape:grid-bbox="true"
+     inkscape:window-width="1366"
+     inkscape:window-height="702"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata2923">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <ellipse
+       ry="6.2593665"
+       rx="5.8838305"
+       cy="45.098446"
+       cx="12.998963"
+       id="path3968"
+       style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:54.21519089px;font-family:Arial;-inkscape-font-specification:Arial;display:inline;overflow:visible;visibility:visible;fill:#555753;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.79201269;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" />
+    <ellipse
+       ry="6.2593665"
+       rx="5.8838305"
+       cy="60.551296"
+       cx="41.915024"
+       id="path3968-4"
+       style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:54.21519089px;font-family:Arial;-inkscape-font-specification:Arial;display:inline;overflow:visible;visibility:visible;fill:#555753;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.79201269;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" />
+    <ellipse
+       ry="6.2593665"
+       rx="5.8838305"
+       cy="16.978237"
+       cx="29.910881"
+       id="path3968-4-0"
+       style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:54.21519089px;font-family:Arial;-inkscape-font-specification:Arial;display:inline;overflow:visible;visibility:visible;fill:#555753;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.79201269;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" />
+    <ellipse
+       ry="6.2593665"
+       rx="5.8838305"
+       cy="23.941969"
+       cx="58.097412"
+       id="path3968-4-0-7"
+       style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:54.21519089px;font-family:Arial;-inkscape-font-specification:Arial;display:inline;overflow:visible;visibility:visible;fill:#555753;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.79201269;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" />
+    <path
+       style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:0.58431373;fill-rule:nonzero;stroke:none;stroke-width:0.84700072;marker:none;enable-background:accumulate"
+       d="M 57.905786,19.105436 29.578034,12.560311 9.4255882,45.49815 37.837962,63.67851 40.480295,57.198698 17.086112,41.9762 31.690938,17.646862 57.053414,23.748653 Z"
+       id="path4425-9-8"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccccccccc" />
+    <g
+       id="g3177"
+       transform="matrix(-0.1459885,0.00366916,-0.00366916,-0.1459885,83.957793,125.97476)"
+       inkscape:export-filename="/home/yorik/Documents/Lab/Draft/icons/circle.png"
+       inkscape:export-xdpi="7.2934141"
+       inkscape:export-ydpi="7.2934141" />
+    <path
+       style="display:inline;overflow:visible;visibility:visible;fill:#ffa100;fill-opacity:1;fill-rule:nonzero;stroke:#665123;stroke-width:0.84700072;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
+       d="M 58.555579,11.316021 22.307841,5.7938518 4.8450848,37.848895 40.042117,59.66807 41.293589,54.194078 11.233991,36.399782 24.986028,10.157803 57.773488,15.36902 Z"
+       id="path4425-9"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccccccccc" />
+    <g
+       id="g3177-3"
+       transform="matrix(-0.1459885,0.00366916,-0.00366916,-0.1459885,160.08538,105.57482)"
+       inkscape:export-filename="/home/yorik/Documents/Lab/Draft/icons/circle.png"
+       inkscape:export-xdpi="7.2934141"
+       inkscape:export-ydpi="7.2934141" />
+    <g
+       id="g5734-5"
+       transform="translate(-14.861945,44.831094)">
+      <circle
+         transform="matrix(-0.9992315,0.03919708,-0.03919708,-0.9992315,0,0)"
+         id="path3187-6-5-7-2-9-9"
+         style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:0.58431373;fill-rule:nonzero;stroke:none;stroke-width:5.79999971;marker:none;enable-background:accumulate"
+         cx="-54.289261"
+         cy="-16.205133"
+         r="7.0931091" />
+      <g
+         inkscape:export-ydpi="7.0721951"
+         inkscape:export-xdpi="7.0721951"
+         inkscape:export-filename="/home/yorik/Documents/Lab/Draft/icons/line.png"
+         transform="matrix(-0.14037891,0.00375861,-0.00375861,-0.14037891,83.443368,103.46311)"
+         id="g3154-5-3-9">
+        <circle
+           style="fill:#0079ff;fill-opacity:1;stroke:#001833;stroke-width:5.80000019;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           id="path2162-1-0-7"
+           cx="197.14285"
+           cy="655.2193"
+           r="48.57143" />
+        <ellipse
+           style="fill:url(#radialGradient3264-9);fill-opacity:1;stroke:none"
+           id="path3134-2-9-0"
+           transform="matrix(0.8513023,-0.5246754,0.5246754,0.8513023,-338.69692,214.19328)"
+           cx="225.26402"
+           cy="672.79736"
+           rx="34.345188"
+           ry="23.991123" />
+      </g>
+    </g>
+    <g
+       id="g5734-5-3"
+       transform="translate(-44.827027,25.163146)">
+      <circle
+         transform="matrix(-0.9992315,0.03919708,-0.03919708,-0.9992315,0,0)"
+         id="path3187-6-5-7-2-9-9-7"
+         style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:0.58431373;fill-rule:nonzero;stroke:none;stroke-width:5.79999971;marker:none;enable-background:accumulate"
+         cx="-54.289261"
+         cy="-16.205133"
+         r="7.0931091" />
+      <g
+         inkscape:export-ydpi="7.0721951"
+         inkscape:export-xdpi="7.0721951"
+         inkscape:export-filename="/home/yorik/Documents/Lab/Draft/icons/line.png"
+         transform="matrix(-0.14037891,0.00375861,-0.00375861,-0.14037891,83.443368,103.46311)"
+         id="g3154-5-3-9-9">
+        <circle
+           style="fill:#0079ff;fill-opacity:1;stroke:#001833;stroke-width:5.80000019;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           id="path2162-1-0-7-4"
+           cx="197.14285"
+           cy="655.2193"
+           r="48.57143" />
+        <ellipse
+           style="fill:url(#radialGradient3264-9-6);fill-opacity:1;stroke:none"
+           id="path3134-2-9-0-4"
+           transform="matrix(0.8513023,-0.5246754,0.5246754,0.8513023,-338.69692,214.19328)"
+           cx="225.26402"
+           cy="672.79736"
+           rx="34.345188"
+           ry="23.991123" />
+      </g>
+    </g>
+    <g
+       id="g5734-5-3-5"
+       transform="translate(-30.895892,-3.6191024)">
+      <circle
+         transform="matrix(-0.9992315,0.03919708,-0.03919708,-0.9992315,0,0)"
+         id="path3187-6-5-7-2-9-9-7-8"
+         style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:0.58431373;fill-rule:nonzero;stroke:none;stroke-width:5.79999971;marker:none;enable-background:accumulate"
+         cx="-54.289261"
+         cy="-16.205133"
+         r="7.0931091" />
+      <g
+         inkscape:export-ydpi="7.0721951"
+         inkscape:export-xdpi="7.0721951"
+         inkscape:export-filename="/home/yorik/Documents/Lab/Draft/icons/line.png"
+         transform="matrix(-0.14037891,0.00375861,-0.00375861,-0.14037891,83.443368,103.46311)"
+         id="g3154-5-3-9-9-6">
+        <circle
+           style="fill:#0079ff;fill-opacity:1;stroke:#001833;stroke-width:5.80000019;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           id="path2162-1-0-7-4-7"
+           cx="197.14285"
+           cy="655.2193"
+           r="48.57143" />
+        <ellipse
+           style="fill:url(#radialGradient3264-9-6-1);fill-opacity:1;stroke:none"
+           id="path3134-2-9-0-4-8"
+           transform="matrix(0.8513023,-0.5246754,0.5246754,0.8513023,-338.69692,214.19328)"
+           cx="225.26402"
+           cy="672.79736"
+           rx="34.345188"
+           ry="23.991123" />
+      </g>
+    </g>
+    <g
+       id="g5734-5-3-5-2"
+       transform="translate(3.2748139,0.19224543)">
+      <circle
+         transform="matrix(-0.9992315,0.03919708,-0.03919708,-0.9992315,0,0)"
+         id="path3187-6-5-7-2-9-9-7-8-5"
+         style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:0.58431373;fill-rule:nonzero;stroke:none;stroke-width:5.79999971;marker:none;enable-background:accumulate"
+         cx="-54.289261"
+         cy="-16.205133"
+         r="7.0931091" />
+      <g
+         inkscape:export-ydpi="7.0721951"
+         inkscape:export-xdpi="7.0721951"
+         inkscape:export-filename="/home/yorik/Documents/Lab/Draft/icons/line.png"
+         transform="matrix(-0.14037891,0.00375861,-0.00375861,-0.14037891,83.443368,103.46311)"
+         id="g3154-5-3-9-9-6-0">
+        <circle
+           style="fill:#0079ff;fill-opacity:1;stroke:#001833;stroke-width:5.80000019;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           id="path2162-1-0-7-4-7-5"
+           cx="197.14285"
+           cy="655.2193"
+           r="48.57143" />
+        <ellipse
+           style="fill:url(#radialGradient3264-9-6-1-1);fill-opacity:1;stroke:none"
+           id="path3134-2-9-0-4-8-5"
+           transform="matrix(0.8513023,-0.5246754,0.5246754,0.8513023,-338.69692,214.19328)"
+           cx="225.26402"
+           cy="672.79736"
+           rx="34.345188"
+           ry="23.991123" />
+      </g>
+    </g>
+    <g
+       id="g5734-5-3-5-2-8"
+       transform="translate(-13.416262,11.494864)">
+      <circle
+         transform="matrix(-0.9992315,0.03919708,-0.03919708,-0.9992315,0,0)"
+         id="path3187-6-5-7-2-9-9-7-8-5-8"
+         style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:0.58431373;fill-rule:nonzero;stroke:none;stroke-width:5.79999971;marker:none;enable-background:accumulate"
+         cx="-54.289261"
+         cy="-16.205133"
+         r="7.0931091" />
+      <g
+         inkscape:export-ydpi="7.0721951"
+         inkscape:export-xdpi="7.0721951"
+         inkscape:export-filename="/home/yorik/Documents/Lab/Draft/icons/line.png"
+         transform="matrix(-0.14037891,0.00375861,-0.00375861,-0.14037891,83.443368,103.46311)"
+         id="g3154-5-3-9-9-6-0-4">
+        <circle
+           style="fill:#0079ff;fill-opacity:1;stroke:#001833;stroke-width:5.80000019;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           id="path2162-1-0-7-4-7-5-2"
+           cx="197.14285"
+           cy="655.2193"
+           r="48.57143" />
+        <ellipse
+           style="fill:url(#radialGradient3264-9-6-1-1-9);fill-opacity:1;stroke:none"
+           id="path3134-2-9-0-4-8-5-8"
+           transform="matrix(0.8513023,-0.5246754,0.5246754,0.8513023,-338.69692,214.19328)"
+           cx="225.26402"
+           cy="672.79736"
+           rx="34.345188"
+           ry="23.991123" />
+      </g>
+    </g>
+    <g
+       id="g5734-5-3-5-2-8-4"
+       transform="translate(-26.558841,19.643263)">
+      <circle
+         transform="matrix(-0.9992315,0.03919708,-0.03919708,-0.9992315,0,0)"
+         id="path3187-6-5-7-2-9-9-7-8-5-8-4"
+         style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:0.58431373;fill-rule:nonzero;stroke:none;stroke-width:5.79999971;marker:none;enable-background:accumulate"
+         cx="-54.289261"
+         cy="-16.205133"
+         r="7.0931091" />
+      <g
+         inkscape:export-ydpi="7.0721951"
+         inkscape:export-xdpi="7.0721951"
+         inkscape:export-filename="/home/yorik/Documents/Lab/Draft/icons/line.png"
+         transform="matrix(-0.14037891,0.00375861,-0.00375861,-0.14037891,83.443368,103.46311)"
+         id="g3154-5-3-9-9-6-0-4-1">
+        <circle
+           style="fill:#0079ff;fill-opacity:1;stroke:#001833;stroke-width:5.80000019;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           id="path2162-1-0-7-4-7-5-2-2"
+           cx="197.14285"
+           cy="655.2193"
+           r="48.57143" />
+        <ellipse
+           style="fill:url(#radialGradient3264-9-6-1-1-9-8);fill-opacity:1;stroke:none"
+           id="path3134-2-9-0-4-8-5-8-0"
+           transform="matrix(0.8513023,-0.5246754,0.5246754,0.8513023,-338.69692,214.19328)"
+           cx="225.26402"
+           cy="672.79736"
+           rx="34.345188"
+           ry="23.991123" />
+      </g>
+    </g>
+    <g
+       id="g5734-5-3-5-2-8-4-4"
+       transform="translate(-12.102003,28.974495)">
+      <circle
+         transform="matrix(-0.9992315,0.03919708,-0.03919708,-0.9992315,0,0)"
+         id="path3187-6-5-7-2-9-9-7-8-5-8-4-8"
+         style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:0.58431373;fill-rule:nonzero;stroke:none;stroke-width:5.79999971;marker:none;enable-background:accumulate"
+         cx="-54.289261"
+         cy="-16.205133"
+         r="7.0931091" />
+      <g
+         inkscape:export-ydpi="7.0721951"
+         inkscape:export-xdpi="7.0721951"
+         inkscape:export-filename="/home/yorik/Documents/Lab/Draft/icons/line.png"
+         transform="matrix(-0.14037891,0.00375861,-0.00375861,-0.14037891,83.443368,103.46311)"
+         id="g3154-5-3-9-9-6-0-4-1-9">
+        <circle
+           style="fill:#0079ff;fill-opacity:1;stroke:#001833;stroke-width:5.80000019;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           id="path2162-1-0-7-4-7-5-2-2-5"
+           cx="197.14285"
+           cy="655.2193"
+           r="48.57143" />
+        <ellipse
+           style="fill:url(#radialGradient3264-9-6-1-1-9-8-6);fill-opacity:1;stroke:none"
+           id="path3134-2-9-0-4-8-5-8-0-5"
+           transform="matrix(0.8513023,-0.5246754,0.5246754,0.8513023,-338.69692,214.19328)"
+           cx="225.26402"
+           cy="672.79736"
+           rx="34.345188"
+           ry="23.991123" />
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/WorkFeature/Icons/WF_makePolygon.svg b/WorkFeature/Icons/WF_makePolygon.svg
index 7f8eea6..c13c396 100644
--- a/WorkFeature/Icons/WF_makePolygon.svg
+++ b/WorkFeature/Icons/WF_makePolygon.svg
@@ -182,17 +182,6 @@
          offset="1"
          id="stop3148-2" />
     </linearGradient>
-    <radialGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient3144-9"
-       id="radialGradient4852"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
-       cx="225.26402"
-       cy="672.79736"
-       fx="225.26402"
-       fy="672.79736"
-       r="34.345188" />
     <radialGradient
        inkscape:collect="always"
        xlink:href="#linearGradient3144-9-3"
@@ -215,17 +204,6 @@
          offset="1"
          id="stop3148-2-7" />
     </linearGradient>
-    <radialGradient
-       r="34.345188"
-       fy="672.79736"
-       fx="225.26402"
-       cy="672.79736"
-       cx="225.26402"
-       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
-       gradientUnits="userSpaceOnUse"
-       id="radialGradient4889"
-       xlink:href="#linearGradient3144-9-3"
-       inkscape:collect="always" />
     <radialGradient
        inkscape:collect="always"
        xlink:href="#linearGradient3144-9-4"
@@ -256,20 +234,42 @@
        cx="225.26402"
        gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
        gradientUnits="userSpaceOnUse"
-       id="radialGradient4929"
-       xlink:href="#linearGradient3144-9-4"
+       id="radialGradient3264-9"
+       xlink:href="#linearGradient3144"
        inkscape:collect="always" />
     <radialGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient3144"
-       id="radialGradient4852-6"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
-       cx="225.26402"
-       cy="672.79736"
-       fx="225.26402"
+       r="34.345188"
        fy="672.79736"
-       r="34.345188" />
+       fx="225.26402"
+       cy="672.79736"
+       cx="225.26402"
+       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3264-9-6"
+       xlink:href="#linearGradient3144"
+       inkscape:collect="always" />
+    <radialGradient
+       r="34.345188"
+       fy="672.79736"
+       fx="225.26402"
+       cy="672.79736"
+       cx="225.26402"
+       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3264-9-6-1"
+       xlink:href="#linearGradient3144"
+       inkscape:collect="always" />
+    <radialGradient
+       r="34.345188"
+       fy="672.79736"
+       fx="225.26402"
+       cy="672.79736"
+       cx="225.26402"
+       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3264-9-6-1-1"
+       xlink:href="#linearGradient3144"
+       inkscape:collect="always" />
   </defs>
   <sodipodi:namedview
      id="base"
@@ -278,17 +278,17 @@
      borderopacity="1.0"
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
-     inkscape:zoom="15.078125"
-     inkscape:cx="31.933679"
-     inkscape:cy="23.941969"
+     inkscape:zoom="7.6088565"
+     inkscape:cx="33.444373"
+     inkscape:cy="30.440063"
      inkscape:current-layer="layer1"
      showgrid="true"
      inkscape:document-units="px"
      inkscape:grid-bbox="true"
-     inkscape:window-width="1920"
-     inkscape:window-height="1161"
+     inkscape:window-width="1366"
+     inkscape:window-height="702"
      inkscape:window-x="0"
-     inkscape:window-y="0"
+     inkscape:window-y="27"
      inkscape:window-maximized="1" />
   <metadata
      id="metadata2923">
@@ -298,7 +298,7 @@
         <dc:format>image/svg+xml</dc:format>
         <dc:type
            rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
+        <dc:title />
       </cc:Work>
     </rdf:RDF>
   </metadata>
@@ -347,7 +347,7 @@
        inkscape:export-xdpi="7.2934141"
        inkscape:export-ydpi="7.2934141" />
     <path
-       style="display:inline;overflow:visible;visibility:visible;fill:#0079ff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.84700072;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
+       style="display:inline;overflow:visible;visibility:visible;fill:#ffa100;fill-opacity:1;fill-rule:nonzero;stroke:#665123;stroke-width:0.84700072;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
        d="M 58.555579,11.316021 22.307841,5.7938518 4.8450848,37.848895 40.042117,59.66807 41.293589,54.194078 11.233991,36.399782 24.986028,10.157803 57.773488,15.36902 Z"
        id="path4425-9"
        inkscape:connector-curvature="0"
@@ -359,88 +359,132 @@
        inkscape:export-xdpi="7.2934141"
        inkscape:export-ydpi="7.2934141" />
     <g
-       id="g3185"
-       transform="matrix(-0.14592237,0.00572413,-0.00572413,-0.14592237,40.882773,131.25331)"
-       inkscape:export-filename="/home/yorik/Documents/Lab/Draft/icons/circle.png"
-       inkscape:export-xdpi="7.2934141"
-       inkscape:export-ydpi="7.2934141">
+       id="g5734-5"
+       transform="translate(-14.861945,44.831094)">
       <circle
-         id="path3187"
-         style="display:inline;overflow:visible;visibility:visible;fill:#fcaf3e;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:5.79999971;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
-         cx="197.14285"
-         cy="655.2193"
-         r="48.57143" />
-      <ellipse
-         transform="matrix(0.8513023,-0.5246754,0.5246754,0.8513023,-338.69692,214.19328)"
-         id="path3189"
-         style="fill:url(#radialGradient4852);fill-opacity:1;stroke:none"
-         cx="225.26402"
-         cy="672.79736"
-         rx="34.345188"
-         ry="23.991123" />
+         transform="matrix(-0.9992315,0.03919708,-0.03919708,-0.9992315,0,0)"
+         id="path3187-6-5-7-2-9-9"
+         style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:0.58431373;fill-rule:nonzero;stroke:none;stroke-width:5.79999971;marker:none;enable-background:accumulate"
+         cx="-54.289261"
+         cy="-16.205133"
+         r="7.0931091" />
+      <g
+         inkscape:export-ydpi="7.0721951"
+         inkscape:export-xdpi="7.0721951"
+         inkscape:export-filename="/home/yorik/Documents/Lab/Draft/icons/line.png"
+         transform="matrix(-0.14037891,0.00375861,-0.00375861,-0.14037891,83.443368,103.46311)"
+         id="g3154-5-3-9">
+        <circle
+           style="fill:#0079ff;fill-opacity:1;stroke:#001833;stroke-width:5.80000019;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           id="path2162-1-0-7"
+           cx="197.14285"
+           cy="655.2193"
+           r="48.57143" />
+        <ellipse
+           style="fill:url(#radialGradient3264-9);fill-opacity:1;stroke:none"
+           id="path3134-2-9-0"
+           transform="matrix(0.8513023,-0.5246754,0.5246754,0.8513023,-338.69692,214.19328)"
+           cx="225.26402"
+           cy="672.79736"
+           rx="34.345188"
+           ry="23.991123" />
+      </g>
     </g>
     <g
-       id="g3185-6"
-       transform="matrix(-0.14592237,0.00572413,-0.00572413,-0.14592237,91.042198,108.25459)"
-       inkscape:export-filename="/home/yorik/Documents/Lab/Draft/icons/circle.png"
-       inkscape:export-xdpi="7.2934141"
-       inkscape:export-ydpi="7.2934141">
+       id="g5734-5-3"
+       transform="translate(-44.827027,25.163146)">
       <circle
-         id="path3187-2"
-         style="display:inline;overflow:visible;visibility:visible;fill:#fcaf3e;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:5.79999971;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
-         cx="197.14285"
-         cy="655.2193"
-         r="48.57143" />
-      <ellipse
-         transform="matrix(0.8513023,-0.5246754,0.5246754,0.8513023,-338.69692,214.19328)"
-         id="path3189-5"
-         style="fill:url(#radialGradient4889);fill-opacity:1;stroke:none"
-         cx="225.26402"
-         cy="672.79736"
-         rx="34.345188"
-         ry="23.991123" />
+         transform="matrix(-0.9992315,0.03919708,-0.03919708,-0.9992315,0,0)"
+         id="path3187-6-5-7-2-9-9-7"
+         style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:0.58431373;fill-rule:nonzero;stroke:none;stroke-width:5.79999971;marker:none;enable-background:accumulate"
+         cx="-54.289261"
+         cy="-16.205133"
+         r="7.0931091" />
+      <g
+         inkscape:export-ydpi="7.0721951"
+         inkscape:export-xdpi="7.0721951"
+         inkscape:export-filename="/home/yorik/Documents/Lab/Draft/icons/line.png"
+         transform="matrix(-0.14037891,0.00375861,-0.00375861,-0.14037891,83.443368,103.46311)"
+         id="g3154-5-3-9-9">
+        <circle
+           style="fill:#0079ff;fill-opacity:1;stroke:#001833;stroke-width:5.80000019;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           id="path2162-1-0-7-4"
+           cx="197.14285"
+           cy="655.2193"
+           r="48.57143" />
+        <ellipse
+           style="fill:url(#radialGradient3264-9-6);fill-opacity:1;stroke:none"
+           id="path3134-2-9-0-4"
+           transform="matrix(0.8513023,-0.5246754,0.5246754,0.8513023,-338.69692,214.19328)"
+           cx="225.26402"
+           cy="672.79736"
+           rx="34.345188"
+           ry="23.991123" />
+      </g>
     </g>
     <g
-       id="g3185-66"
-       transform="matrix(-0.14592237,0.00572413,-0.00572413,-0.14592237,73.763959,150.60875)"
-       inkscape:export-filename="/home/yorik/Documents/Lab/Draft/icons/circle.png"
-       inkscape:export-xdpi="7.2934141"
-       inkscape:export-ydpi="7.2934141">
+       id="g5734-5-3-5"
+       transform="translate(-30.895892,-3.6191024)">
       <circle
-         id="path3187-5"
-         style="display:inline;overflow:visible;visibility:visible;fill:#fcaf3e;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:5.79999971;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
-         cx="197.14285"
-         cy="655.2193"
-         r="48.57143" />
-      <ellipse
-         transform="matrix(0.8513023,-0.5246754,0.5246754,0.8513023,-338.69692,214.19328)"
-         id="path3189-0"
-         style="fill:url(#radialGradient4929);fill-opacity:1;stroke:none"
-         cx="225.26402"
-         cy="672.79736"
-         rx="34.345188"
-         ry="23.991123" />
+         transform="matrix(-0.9992315,0.03919708,-0.03919708,-0.9992315,0,0)"
+         id="path3187-6-5-7-2-9-9-7-8"
+         style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:0.58431373;fill-rule:nonzero;stroke:none;stroke-width:5.79999971;marker:none;enable-background:accumulate"
+         cx="-54.289261"
+         cy="-16.205133"
+         r="7.0931091" />
+      <g
+         inkscape:export-ydpi="7.0721951"
+         inkscape:export-xdpi="7.0721951"
+         inkscape:export-filename="/home/yorik/Documents/Lab/Draft/icons/line.png"
+         transform="matrix(-0.14037891,0.00375861,-0.00375861,-0.14037891,83.443368,103.46311)"
+         id="g3154-5-3-9-9-6">
+        <circle
+           style="fill:#0079ff;fill-opacity:1;stroke:#001833;stroke-width:5.80000019;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           id="path2162-1-0-7-4-7"
+           cx="197.14285"
+           cy="655.2193"
+           r="48.57143" />
+        <ellipse
+           style="fill:url(#radialGradient3264-9-6-1);fill-opacity:1;stroke:none"
+           id="path3134-2-9-0-4-8"
+           transform="matrix(0.8513023,-0.5246754,0.5246754,0.8513023,-338.69692,214.19328)"
+           cx="225.26402"
+           cy="672.79736"
+           rx="34.345188"
+           ry="23.991123" />
+      </g>
     </g>
     <g
-       id="g3185-7"
-       transform="matrix(-0.14592237,0.00572413,-0.00572413,-0.14592237,55.133656,102.30859)"
-       inkscape:export-filename="/home/yorik/Documents/Lab/Draft/icons/circle.png"
-       inkscape:export-xdpi="7.2934141"
-       inkscape:export-ydpi="7.2934141">
+       id="g5734-5-3-5-2"
+       transform="translate(3.2748139,0.19224543)">
       <circle
-         r="48.57143"
-         cy="655.2193"
-         cx="197.14285"
-         id="path3187-0"
-         style="display:inline;overflow:visible;visibility:visible;fill:#fcaf3e;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:5.79999971;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" />
-      <ellipse
-         ry="23.991123"
-         rx="34.345188"
-         cy="672.79736"
-         cx="225.26402"
-         transform="matrix(0.8513023,-0.5246754,0.5246754,0.8513023,-338.69692,214.19328)"
-         id="path3189-1"
-         style="fill:url(#radialGradient4852-6);fill-opacity:1;stroke:none" />
+         transform="matrix(-0.9992315,0.03919708,-0.03919708,-0.9992315,0,0)"
+         id="path3187-6-5-7-2-9-9-7-8-5"
+         style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:0.58431373;fill-rule:nonzero;stroke:none;stroke-width:5.79999971;marker:none;enable-background:accumulate"
+         cx="-54.289261"
+         cy="-16.205133"
+         r="7.0931091" />
+      <g
+         inkscape:export-ydpi="7.0721951"
+         inkscape:export-xdpi="7.0721951"
+         inkscape:export-filename="/home/yorik/Documents/Lab/Draft/icons/line.png"
+         transform="matrix(-0.14037891,0.00375861,-0.00375861,-0.14037891,83.443368,103.46311)"
+         id="g3154-5-3-9-9-6-0">
+        <circle
+           style="fill:#0079ff;fill-opacity:1;stroke:#001833;stroke-width:5.80000019;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           id="path2162-1-0-7-4-7-5"
+           cx="197.14285"
+           cy="655.2193"
+           r="48.57143" />
+        <ellipse
+           style="fill:url(#radialGradient3264-9-6-1-1);fill-opacity:1;stroke:none"
+           id="path3134-2-9-0-4-8-5"
+           transform="matrix(0.8513023,-0.5246754,0.5246754,0.8513023,-338.69692,214.19328)"
+           cx="225.26402"
+           cy="672.79736"
+           rx="34.345188"
+           ry="23.991123" />
+      </g>
     </g>
   </g>
 </svg>
diff --git a/WorkFeature/Icons/WF_pointsRandom.svg b/WorkFeature/Icons/WF_pointsRandom.svg
index b9442cd..1290a61 100644
--- a/WorkFeature/Icons/WF_pointsRandom.svg
+++ b/WorkFeature/Icons/WF_pointsRandom.svg
@@ -992,17 +992,6 @@
        id="radialGradient4570"
        xlink:href="#linearGradient3362"
        inkscape:collect="always" />
-    <radialGradient
-       r="34.345188"
-       fy="672.79736"
-       fx="225.26402"
-       cy="672.79736"
-       cx="225.26402"
-       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
-       gradientUnits="userSpaceOnUse"
-       id="radialGradient3264"
-       xlink:href="#linearGradient3144"
-       inkscape:collect="always" />
     <radialGradient
        r="34.345188"
        fy="672.79736"
@@ -1047,6 +1036,72 @@
        id="radialGradient3264-4"
        xlink:href="#linearGradient3144"
        inkscape:collect="always" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3144"
+       id="radialGradient5582"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
+       cx="225.26402"
+       cy="672.79736"
+       fx="225.26402"
+       fy="672.79736"
+       r="34.345188" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3144"
+       id="radialGradient5582-5"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
+       cx="225.26402"
+       cy="672.79736"
+       fx="225.26402"
+       fy="672.79736"
+       r="34.345188" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3144"
+       id="radialGradient5582-5-8"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
+       cx="225.26402"
+       cy="672.79736"
+       fx="225.26402"
+       fy="672.79736"
+       r="34.345188" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3144"
+       id="radialGradient5582-5-8-7"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
+       cx="225.26402"
+       cy="672.79736"
+       fx="225.26402"
+       fy="672.79736"
+       r="34.345188" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3144"
+       id="radialGradient5582-5-8-1"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
+       cx="225.26402"
+       cy="672.79736"
+       fx="225.26402"
+       fy="672.79736"
+       r="34.345188" />
+    <radialGradient
+       r="34.345188"
+       fy="672.79736"
+       fx="225.26402"
+       cy="672.79736"
+       cx="225.26402"
+       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3264-7-3"
+       xlink:href="#linearGradient3144"
+       inkscape:collect="always" />
   </defs>
   <sodipodi:namedview
      id="base"
@@ -1056,8 +1111,8 @@
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
      inkscape:zoom="7.90625"
-     inkscape:cx="32"
-     inkscape:cy="32"
+     inkscape:cx="32.252964"
+     inkscape:cy="31.810277"
      inkscape:current-layer="layer1"
      showgrid="true"
      inkscape:document-units="px"
@@ -1075,7 +1130,7 @@
         <dc:format>image/svg+xml</dc:format>
         <dc:type
            rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
+        <dc:title />
       </cc:Work>
     </rdf:RDF>
   </metadata>
@@ -1084,11 +1139,11 @@
      inkscape:label="Layer 1"
      inkscape:groupmode="layer">
     <g
-       id="g5734"
-       transform="translate(-29.640304,1.0762083)">
+       id="g5734-1-7"
+       transform="translate(-22.785725,1.8475032)">
       <circle
          transform="matrix(-0.9992315,0.03919708,-0.03919708,-0.9992315,0,0)"
-         id="path3187-6-5-7-2-9"
+         id="path3187-6-5-7-2-9-3-6"
          style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:0.58431373;fill-rule:nonzero;stroke:none;stroke-width:5.79999971;marker:none;enable-background:accumulate"
          cx="-54.289261"
          cy="-16.205133"
@@ -1098,16 +1153,16 @@
          inkscape:export-xdpi="7.0721951"
          inkscape:export-filename="/home/yorik/Documents/Lab/Draft/icons/line.png"
          transform="matrix(-0.14037891,0.00375861,-0.00375861,-0.14037891,83.443368,103.46311)"
-         id="g3154-5-3">
+         id="g3154-5-3-4-1">
         <circle
            style="fill:#0079ff;fill-opacity:1;stroke:#001833;stroke-width:5.80000019;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-           id="path2162-1-0"
+           id="path2162-1-0-4-1"
            cx="197.14285"
            cy="655.2193"
            r="48.57143" />
         <ellipse
-           style="fill:url(#radialGradient3264);fill-opacity:1;stroke:none"
-           id="path3134-2-9"
+           style="fill:url(#radialGradient3264-7-3);fill-opacity:1;stroke:none"
+           id="path3134-2-9-3-1"
            transform="matrix(0.8513023,-0.5246754,0.5246754,0.8513023,-338.69692,214.19328)"
            cx="225.26402"
            cy="672.79736"
@@ -1243,5 +1298,159 @@
            ry="23.991123" />
       </g>
     </g>
+    <g
+       id="g4325">
+      <circle
+         transform="matrix(-0.9992315,0.03919708,-0.03919708,-0.9992315,0,0)"
+         id="path3187-6-5-7-2-9"
+         style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:0.58431373;fill-rule:nonzero;stroke:none;stroke-width:5.79999971;marker:none;enable-background:accumulate"
+         cx="-30.710905"
+         cy="-15.977517"
+         r="7.0931091" />
+      <g
+         id="g5578"
+         transform="matrix(0.62053126,0,0,1.1370902,41.575125,0.83996784)"
+         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:54.21519089px;font-family:Arial;-inkscape-font-specification:Arial;visibility:visible;fill:#ff2600;fill-opacity:1;fill-rule:nonzero;stroke:#731200;stroke-width:2.19132471;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none">
+        <circle
+           r="18.571428"
+           transform="matrix(0.58699307,0,0,0.32171623,-48.705235,0.37476683)"
+           cy="34.571426"
+           cx="53.214287"
+           id="path3696-4"
+           style="display:inline;overflow:visible;visibility:visible;fill:#ffbf00;fill-opacity:1;fill-rule:evenodd;stroke:#7b5600;stroke-width:1.79201269;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" />
+        <ellipse
+           ry="23.991123"
+           rx="34.345188"
+           cy="672.79736"
+           cx="225.26402"
+           transform="matrix(-0.16409395,0.06015817,-0.11023662,-0.08954912,91.030266,56.104458)"
+           id="path3189"
+           style="fill:url(#radialGradient5582);fill-opacity:1;stroke:none" />
+      </g>
+    </g>
+    <g
+       transform="translate(11.219611,11.985285)"
+       id="g4325-4">
+      <circle
+         transform="matrix(-0.9992315,0.03919708,-0.03919708,-0.9992315,0,0)"
+         id="path3187-6-5-7-2-9-1"
+         style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:0.58431373;fill-rule:nonzero;stroke:none;stroke-width:5.79999971;marker:none;enable-background:accumulate"
+         cx="-30.710905"
+         cy="-15.977517"
+         r="7.0931091" />
+      <g
+         id="g5578-3"
+         transform="matrix(0.62053126,0,0,1.1370902,41.575125,0.83996784)"
+         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:54.21519089px;font-family:Arial;-inkscape-font-specification:Arial;visibility:visible;fill:#ff2600;fill-opacity:1;fill-rule:nonzero;stroke:#731200;stroke-width:2.19132471;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none">
+        <circle
+           r="18.571428"
+           transform="matrix(0.58699307,0,0,0.32171623,-48.705235,0.37476683)"
+           cy="34.571426"
+           cx="53.214287"
+           id="path3696-4-2"
+           style="display:inline;overflow:visible;visibility:visible;fill:#ffbf00;fill-opacity:1;fill-rule:evenodd;stroke:#7b5600;stroke-width:1.79201269;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" />
+        <ellipse
+           ry="23.991123"
+           rx="34.345188"
+           cy="672.79736"
+           cx="225.26402"
+           transform="matrix(-0.16409395,0.06015817,-0.11023662,-0.08954912,91.030266,56.104458)"
+           id="path3189-7"
+           style="fill:url(#radialGradient5582-5);fill-opacity:1;stroke:none" />
+      </g>
+    </g>
+    <g
+       transform="translate(-21.918729,22.736275)"
+       id="g4325-4-0">
+      <circle
+         transform="matrix(-0.9992315,0.03919708,-0.03919708,-0.9992315,0,0)"
+         id="path3187-6-5-7-2-9-1-2"
+         style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:0.58431373;fill-rule:nonzero;stroke:none;stroke-width:5.79999971;marker:none;enable-background:accumulate"
+         cx="-30.710905"
+         cy="-15.977517"
+         r="7.0931091" />
+      <g
+         id="g5578-3-9"
+         transform="matrix(0.62053126,0,0,1.1370902,41.575125,0.83996784)"
+         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:54.21519089px;font-family:Arial;-inkscape-font-specification:Arial;visibility:visible;fill:#ff2600;fill-opacity:1;fill-rule:nonzero;stroke:#731200;stroke-width:2.19132471;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none">
+        <circle
+           r="18.571428"
+           transform="matrix(0.58699307,0,0,0.32171623,-48.705235,0.37476683)"
+           cy="34.571426"
+           cx="53.214287"
+           id="path3696-4-2-5"
+           style="display:inline;overflow:visible;visibility:visible;fill:#ffbf00;fill-opacity:1;fill-rule:evenodd;stroke:#7b5600;stroke-width:1.79201269;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" />
+        <ellipse
+           ry="23.991123"
+           rx="34.345188"
+           cy="672.79736"
+           cx="225.26402"
+           transform="matrix(-0.16409395,0.06015817,-0.11023662,-0.08954912,91.030266,56.104458)"
+           id="path3189-7-8"
+           style="fill:url(#radialGradient5582-5-8);fill-opacity:1;stroke:none" />
+      </g>
+    </g>
+    <g
+       transform="translate(-7.1203101,35.258013)"
+       id="g4325-4-0-3">
+      <circle
+         transform="matrix(-0.9992315,0.03919708,-0.03919708,-0.9992315,0,0)"
+         id="path3187-6-5-7-2-9-1-2-1"
+         style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:0.58431373;fill-rule:nonzero;stroke:none;stroke-width:5.79999971;marker:none;enable-background:accumulate"
+         cx="-30.710905"
+         cy="-15.977517"
+         r="7.0931091" />
+      <g
+         id="g5578-3-9-8"
+         transform="matrix(0.62053126,0,0,1.1370902,41.575125,0.83996784)"
+         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:54.21519089px;font-family:Arial;-inkscape-font-specification:Arial;visibility:visible;fill:#ff2600;fill-opacity:1;fill-rule:nonzero;stroke:#731200;stroke-width:2.19132471;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none">
+        <circle
+           r="18.571428"
+           transform="matrix(0.58699307,0,0,0.32171623,-48.705235,0.37476683)"
+           cy="34.571426"
+           cx="53.214287"
+           id="path3696-4-2-5-4"
+           style="display:inline;overflow:visible;visibility:visible;fill:#ffbf00;fill-opacity:1;fill-rule:evenodd;stroke:#7b5600;stroke-width:1.79201269;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" />
+        <ellipse
+           ry="23.991123"
+           rx="34.345188"
+           cy="672.79736"
+           cx="225.26402"
+           transform="matrix(-0.16409395,0.06015817,-0.11023662,-0.08954912,91.030266,56.104458)"
+           id="path3189-7-8-2"
+           style="fill:url(#radialGradient5582-5-8-7);fill-opacity:1;stroke:none" />
+      </g>
+    </g>
+    <g
+       transform="translate(-22.045211,40.317302)"
+       id="g4325-4-0-6">
+      <circle
+         transform="matrix(-0.9992315,0.03919708,-0.03919708,-0.9992315,0,0)"
+         id="path3187-6-5-7-2-9-1-2-4"
+         style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:0.58431373;fill-rule:nonzero;stroke:none;stroke-width:5.79999971;marker:none;enable-background:accumulate"
+         cx="-30.710905"
+         cy="-15.977517"
+         r="7.0931091" />
+      <g
+         id="g5578-3-9-9"
+         transform="matrix(0.62053126,0,0,1.1370902,41.575125,0.83996784)"
+         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:54.21519089px;font-family:Arial;-inkscape-font-specification:Arial;visibility:visible;fill:#ff2600;fill-opacity:1;fill-rule:nonzero;stroke:#731200;stroke-width:2.19132471;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none">
+        <circle
+           r="18.571428"
+           transform="matrix(0.58699307,0,0,0.32171623,-48.705235,0.37476683)"
+           cy="34.571426"
+           cx="53.214287"
+           id="path3696-4-2-5-6"
+           style="display:inline;overflow:visible;visibility:visible;fill:#ffbf00;fill-opacity:1;fill-rule:evenodd;stroke:#7b5600;stroke-width:1.79201269;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" />
+        <ellipse
+           ry="23.991123"
+           rx="34.345188"
+           cy="672.79736"
+           cx="225.26402"
+           transform="matrix(-0.16409395,0.06015817,-0.11023662,-0.08954912,91.030266,56.104458)"
+           id="path3189-7-8-9"
+           style="fill:url(#radialGradient5582-5-8-1);fill-opacity:1;stroke:none" />
+      </g>
+    </g>
   </g>
 </svg>
diff --git a/WorkFeature/Icons/WF_projectedPoint.svg b/WorkFeature/Icons/WF_projectedPoint.svg
new file mode 100644
index 0000000..4dddbb5
--- /dev/null
+++ b/WorkFeature/Icons/WF_projectedPoint.svg
@@ -0,0 +1,812 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="64px"
+   height="64px"
+   id="svg2816"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="WF_projectedPoint.svg"
+   sodipodi:version="0.32"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   inkscape:export-filename="/home/yorik/PartDesign_Pocket.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <defs
+     id="defs2818">
+    <linearGradient
+       id="linearGradient3669">
+      <stop
+         style="stop-color:#001ccc;stop-opacity:1;"
+         offset="0"
+         id="stop3671" />
+      <stop
+         style="stop-color:#00afff;stop-opacity:1;"
+         offset="1"
+         id="stop3673" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3602">
+      <stop
+         style="stop-color:#ff2600;stop-opacity:1;"
+         offset="0"
+         id="stop3604" />
+      <stop
+         style="stop-color:#ff5f00;stop-opacity:1;"
+         offset="1"
+         id="stop3606" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 32 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="64 : 32 : 1"
+       inkscape:persp3d-origin="32 : 21.333333 : 1"
+       id="perspective2824" />
+    <inkscape:perspective
+       id="perspective3618"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3602-7"
+       id="linearGradient3608-5"
+       x1="3.909091"
+       y1="14.363636"
+       x2="24.81818"
+       y2="14.363636"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient3602-7">
+      <stop
+         style="stop-color:#c51900;stop-opacity:1;"
+         offset="0"
+         id="stop3604-1" />
+      <stop
+         style="stop-color:#ff5f00;stop-opacity:1;"
+         offset="1"
+         id="stop3606-3" />
+    </linearGradient>
+    <inkscape:perspective
+       id="perspective3677"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3602-5"
+       id="linearGradient3608-1"
+       x1="3.909091"
+       y1="14.363636"
+       x2="24.81818"
+       y2="14.363636"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient3602-5">
+      <stop
+         style="stop-color:#c51900;stop-opacity:1;"
+         offset="0"
+         id="stop3604-9" />
+      <stop
+         style="stop-color:#ff5f00;stop-opacity:1;"
+         offset="1"
+         id="stop3606-9" />
+    </linearGradient>
+    <linearGradient
+       y2="14.363636"
+       x2="24.81818"
+       y1="14.363636"
+       x1="3.909091"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3686"
+       xlink:href="#linearGradient3602-5"
+       inkscape:collect="always" />
+    <inkscape:perspective
+       id="perspective3717"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3602-58"
+       id="linearGradient3608-8"
+       x1="3.909091"
+       y1="14.363636"
+       x2="24.81818"
+       y2="14.363636"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient3602-58">
+      <stop
+         style="stop-color:#d82b1e;stop-opacity:1;"
+         offset="0"
+         id="stop3604-2" />
+      <stop
+         style="stop-color:#840000;stop-opacity:1;"
+         offset="1"
+         id="stop3606-2" />
+    </linearGradient>
+    <linearGradient
+       y2="14.363636"
+       x2="24.81818"
+       y1="14.363636"
+       x1="3.909091"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3726"
+       xlink:href="#linearGradient3602-58"
+       inkscape:collect="always" />
+    <inkscape:perspective
+       id="perspective4410"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective4944"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective4966"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective5009"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective5165"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective7581"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective7606"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective7638"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective7660"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective7704"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective7730"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective7762"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective7783"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective7843"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective7881"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective7932"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective2866"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective2878"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       id="linearGradient3602-1">
+      <stop
+         style="stop-color:#ff2600;stop-opacity:1;"
+         offset="0"
+         id="stop3604-8" />
+      <stop
+         style="stop-color:#ff5f00;stop-opacity:1;"
+         offset="1"
+         id="stop3606-96" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3602-1"
+       id="linearGradient2875"
+       gradientUnits="userSpaceOnUse"
+       x1="3.909091"
+       y1="14.363636"
+       x2="24.81818"
+       y2="14.363636" />
+    <inkscape:perspective
+       id="perspective2885"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       id="linearGradient3602-1-5">
+      <stop
+         style="stop-color:#ff2600;stop-opacity:1;"
+         offset="0"
+         id="stop3604-8-3" />
+      <stop
+         style="stop-color:#ff5f00;stop-opacity:1;"
+         offset="1"
+         id="stop3606-96-8" />
+    </linearGradient>
+    <inkscape:perspective
+       id="perspective3720"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       id="linearGradient3602-1-8">
+      <stop
+         style="stop-color:#ff2600;stop-opacity:1;"
+         offset="0"
+         id="stop3604-8-5" />
+      <stop
+         style="stop-color:#ff5f00;stop-opacity:1;"
+         offset="1"
+         id="stop3606-96-2" />
+    </linearGradient>
+    <inkscape:perspective
+       id="perspective3822"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3849"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3879"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective2896"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective2925"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective2925-4"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3726"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3669"
+       id="linearGradient3675"
+       x1="81.451569"
+       y1="14.993487"
+       x2="3.0457773"
+       y2="17.729464"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.073092,0,0,1.5149249,-3.4880263,-14.297954)" />
+    <inkscape:perspective
+       id="perspective3689"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       id="linearGradient3669-2">
+      <stop
+         style="stop-color:#af7d00;stop-opacity:1;"
+         offset="0"
+         id="stop3671-7" />
+      <stop
+         style="stop-color:#ffed00;stop-opacity:1;"
+         offset="1"
+         id="stop3673-5" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="matrix(0.73872768,0,0,1.3536788,-2.25,-1.9999999)"
+       y2="1.8468192"
+       x2="48.259949"
+       y1="33.61211"
+       x1="34.290413"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3698"
+       xlink:href="#linearGradient3669-2"
+       inkscape:collect="always" />
+    <inkscape:perspective
+       id="perspective3689-6"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3669-22"
+       id="linearGradient3675-0"
+       x1="34.290413"
+       y1="33.61211"
+       x2="73.185463"
+       y2="31.368526"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.3536788,0,0,0.7441538,0,1.1950203)" />
+    <linearGradient
+       id="linearGradient3669-22">
+      <stop
+         style="stop-color:#af7d00;stop-opacity:1;"
+         offset="0"
+         id="stop3671-8" />
+      <stop
+         style="stop-color:#ffed00;stop-opacity:1;"
+         offset="1"
+         id="stop3673-4" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="matrix(0.73872768,0,0,1.3536788,-2.25,-1.9999999)"
+       y2="1.8468192"
+       x2="48.259949"
+       y1="33.61211"
+       x1="34.290413"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3698-3"
+       xlink:href="#linearGradient3669-22"
+       inkscape:collect="always" />
+    <inkscape:perspective
+       id="perspective3689-1"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       id="linearGradient3669-0">
+      <stop
+         style="stop-color:#af7d00;stop-opacity:1;"
+         offset="0"
+         id="stop3671-9" />
+      <stop
+         style="stop-color:#ffed00;stop-opacity:1;"
+         offset="1"
+         id="stop3673-1" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="matrix(0.73872768,0,0,1.3536788,-2.25,-1.9999999)"
+       y2="1.8468192"
+       x2="48.259949"
+       y1="33.61211"
+       x1="34.290413"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3698-9"
+       xlink:href="#linearGradient3669-0"
+       inkscape:collect="always" />
+    <radialGradient
+       r="34.345188"
+       fy="672.79736"
+       fx="225.26402"
+       cy="672.79736"
+       cx="225.26402"
+       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient4577"
+       xlink:href="#linearGradient3144"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3144">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3146" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3148" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3144"
+       id="radialGradient5582"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
+       cx="225.26402"
+       cy="672.79736"
+       fx="225.26402"
+       fy="672.79736"
+       r="34.345188" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4135"
+       id="linearGradient4145"
+       x1="131.82286"
+       y1="101.22672"
+       x2="191.3165"
+       y2="101.22672"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient4135">
+      <stop
+         style="stop-color:#0079ff;stop-opacity:1;"
+         offset="0"
+         id="stop4137" />
+      <stop
+         style="stop-color:#0079ff;stop-opacity:0;"
+         offset="1"
+         id="stop4139" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4135"
+       id="linearGradient5652"
+       gradientUnits="userSpaceOnUse"
+       x1="131.82286"
+       y1="101.22672"
+       x2="191.3165"
+       y2="101.22672" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4135-0"
+       id="linearGradient5674-5"
+       gradientUnits="userSpaceOnUse"
+       x1="131.82286"
+       y1="101.22672"
+       x2="191.3165"
+       y2="101.22672" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient4135-0">
+      <stop
+         style="stop-color:#0079ff;stop-opacity:1;"
+         offset="0"
+         id="stop4137-2" />
+      <stop
+         style="stop-color:#0079ff;stop-opacity:0;"
+         offset="1"
+         id="stop4139-4" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="matrix(0.73872768,0,0,1.3536788,-18.440975,-32.313429)"
+       y2="37.183754"
+       x2="13.421829"
+       y1="32.874828"
+       x1="98.042648"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4017"
+       xlink:href="#linearGradient3669"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="matrix(0.73872768,0,0,1.3536788,24.703726,-43.061219)"
+       y2="37.183754"
+       x2="13.421829"
+       y1="32.874828"
+       x1="98.042648"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4017-6"
+       xlink:href="#linearGradient3669"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="matrix(0.73872768,0,0,1.3536788,-9.0750444,3.6148984)"
+       y2="37.183754"
+       x2="13.421829"
+       y1="32.874828"
+       x1="98.042648"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4017-6-0"
+       xlink:href="#linearGradient3669"
+       inkscape:collect="always" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3144"
+       id="radialGradient4272"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
+       cx="225.26402"
+       cy="672.79736"
+       fx="225.26402"
+       fy="672.79736"
+       r="34.345188" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3144"
+       id="radialGradient5582-8"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
+       cx="225.26402"
+       cy="672.79736"
+       fx="225.26402"
+       fy="672.79736"
+       r="34.345188" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3144"
+       id="radialGradient5582-3"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
+       cx="225.26402"
+       cy="672.79736"
+       fx="225.26402"
+       fy="672.79736"
+       r="34.345188" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="6.5129668"
+     inkscape:cx="24.879924"
+     inkscape:cy="16.944636"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:document-units="px"
+     inkscape:grid-bbox="true"
+     inkscape:window-width="1265"
+     inkscape:window-height="1087"
+     inkscape:window-x="529"
+     inkscape:window-y="24"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata2821">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:groupmode="layer"
+     id="layer4"
+     inkscape:label="Layer2">
+    <g
+       style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:54.21519089px;font-family:Arial;-inkscape-font-specification:Arial;visibility:visible;fill:url(#linearGradient5674-5);fill-opacity:1;fill-rule:nonzero;stroke:#001833;stroke-width:2.19132471;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+       transform="matrix(-0.03563458,0.35738558,-0.38486089,-0.0404254,80.653631,175.31488)"
+       id="g3618-3">
+      <path
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccccc"
+         id="rect3520-1"
+         d="M 131.8509,176.39728 244.39428,74.003665 c 5.58489,-0.0245 7.4488,3.170189 5.85178,5.863995 L 138.73758,182.21743 Z"
+         style="display:inline;overflow:visible;visibility:visible;fill:#0079f0;fill-opacity:1;fill-rule:evenodd;stroke:#001833;stroke-width:1.76347613;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.74117647;marker:none;enable-background:accumulate" />
+    </g>
+  </g>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <path
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccccc"
+       id="path2887-1-6-3"
+       d="M 33.449727,30.22585 1.5459003,49.073509 -3.3559227,16.669194 33.372795,-0.60715256 Z"
+       style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:54.21519089px;font-family:Arial;-inkscape-font-specification:Arial;display:inline;overflow:visible;visibility:visible;opacity:0.40700001;fill:url(#linearGradient4017);fill-opacity:1;fill-rule:nonzero;stroke:#00064a;stroke-width:1.80387402;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" />
+    <path
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccccc"
+       id="path2887-1-6-3-4"
+       d="M 71.066992,45.733376 33.328651,30.495186 33.340104,-0.83434929 76.517495,-11.354943 Z"
+       style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:54.21519089px;font-family:Arial;-inkscape-font-specification:Arial;display:inline;overflow:visible;visibility:visible;opacity:0.40700001;fill:url(#linearGradient4017-6);fill-opacity:1;fill-rule:nonzero;stroke:#00064a;stroke-width:1.80387402;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" />
+    <path
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccccc"
+       id="path2887-1-6-3-4-4"
+       d="M 70.913452,46.193995 10.911832,85.001836 1.4038126,49.373184 33.372794,29.947279 Z"
+       style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:54.21519089px;font-family:Arial;-inkscape-font-specification:Arial;display:inline;overflow:visible;visibility:visible;opacity:0.40700001;fill:url(#linearGradient4017-6-0);fill-opacity:1;fill-rule:nonzero;stroke:#00064a;stroke-width:1.80387402;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" />
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer3"
+     inkscape:label="Layer0">
+    <g
+       style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:54.21519089px;font-family:Arial;-inkscape-font-specification:Arial;visibility:visible;fill:#ff2600;fill-opacity:1;fill-rule:nonzero;stroke:#731200;stroke-width:2.19132471;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+       transform="matrix(0.51710938,0,0,0.94757516,48.15418,44.93522)"
+       id="g5578">
+      <circle
+         style="display:inline;overflow:visible;visibility:visible;fill:#ffbf00;fill-opacity:1;fill-rule:evenodd;stroke:#7b5600;stroke-width:1.79201269;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
+         id="path3696-4"
+         cx="53.214287"
+         cy="34.571426"
+         transform="matrix(0.58699307,0,0,0.32171623,-48.705235,0.37476683)"
+         r="18.571428" />
+      <ellipse
+         style="fill:url(#radialGradient5582);fill-opacity:1;stroke:none"
+         id="path3189"
+         transform="matrix(-0.16409395,0.06015817,-0.11023662,-0.08954912,91.030266,56.104458)"
+         cx="225.26402"
+         cy="672.79736"
+         rx="34.345188"
+         ry="23.991123" />
+    </g>
+    <g
+       style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:54.21519089px;font-family:Arial;-inkscape-font-specification:Arial;visibility:visible;fill:#ff2600;fill-opacity:1;fill-rule:nonzero;stroke:#731200;stroke-width:2.19132471;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+       transform="matrix(0.51710938,0,0,0.94757516,62.77224,7.3508928)"
+       id="g5578-8">
+      <circle
+         style="display:inline;overflow:visible;visibility:visible;fill:#ffbf00;fill-opacity:1;fill-rule:evenodd;stroke:#7b5600;stroke-width:1.79201269;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
+         id="path3696-4-4"
+         transform="matrix(0.58699307,0,0,0.32171623,-48.705235,0.37476683)"
+         cx="53.214287"
+         cy="34.571426"
+         r="18.571428" />
+      <ellipse
+         style="fill:url(#radialGradient5582-8);fill-opacity:1;stroke:none"
+         id="path3189-5"
+         transform="matrix(-0.16409395,0.06015817,-0.11023662,-0.08954912,91.030266,56.104458)"
+         cx="225.26402"
+         cy="672.79736"
+         rx="34.345188"
+         ry="23.991123" />
+    </g>
+    <g
+       style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:54.21519089px;font-family:Arial;-inkscape-font-specification:Arial;visibility:visible;fill:#ff2600;fill-opacity:1;fill-rule:nonzero;stroke:#731200;stroke-width:2.19132471;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+       transform="matrix(0.51710938,0,0,0.94757516,28.532852,9.1933705)"
+       id="g5578-7">
+      <circle
+         style="display:inline;overflow:visible;visibility:visible;fill:#ffbf00;fill-opacity:1;fill-rule:evenodd;stroke:#7b5600;stroke-width:1.79201269;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
+         id="path3696-4-9"
+         transform="matrix(0.58699307,0,0,0.32171623,-48.705235,0.37476683)"
+         cx="53.214287"
+         cy="34.571426"
+         r="18.571428" />
+      <ellipse
+         style="fill:url(#radialGradient5582-3);fill-opacity:1;stroke:none"
+         id="path3189-1"
+         transform="matrix(-0.16409395,0.06015817,-0.11023662,-0.08954912,91.030266,56.104458)"
+         cx="225.26402"
+         cy="672.79736"
+         rx="34.345188"
+         ry="23.991123" />
+    </g>
+    <path
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="czcc"
+       id="path3677"
+       d="m 20.668102,20.76976 c 0,0 2.148341,1.291598 8.217222,5.054803 6.068883,3.763206 9.162169,5.84513 9.162169,5.84513 l 0.141781,0.368467"
+       style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:54.21519089px;font-family:Arial;-inkscape-font-specification:Arial;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#00064a;stroke-width:2.09090662;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:2.09090676, 2.09090676;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" />
+    <path
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="czcc"
+       id="path3677-9"
+       d="m 52.774423,18.999455 c 0,0 -2.103735,1.473655 -8.046604,5.767307 -5.942869,4.293652 -8.971927,6.669033 -8.971927,6.669033 L 35.617055,31.8562"
+       style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:54.21519089px;font-family:Arial;-inkscape-font-specification:Arial;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#00064a;stroke-width:2.21010447;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:2.21010455, 2.21010455;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" />
+    <path
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cscc"
+       id="path3677-2"
+       d="m 38.311172,31.541361 c 0,0 0.151371,-6.691865 0.233149,0.448607 l 0.256857,22.427434 -0.01176,0.368467"
+       style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:54.21519089px;font-family:Arial;-inkscape-font-specification:Arial;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#00064a;stroke-width:2.09090662;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:2.09090676, 2.09090676;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" />
+    <g
+       id="g3154"
+       transform="matrix(-0.16207011,0.00433939,-0.00433939,-0.16207011,73.02564,136.01783)"
+       inkscape:export-filename="/home/yorik/Documents/Lab/Draft/icons/line.png"
+       inkscape:export-xdpi="7.0721951"
+       inkscape:export-ydpi="7.0721951">
+      <circle
+         r="48.57143"
+         cy="655.2193"
+         cx="197.14285"
+         id="path2162"
+         style="fill:#0079ff;fill-opacity:1;stroke:#001833;stroke-width:5.80000019;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <ellipse
+         ry="23.991123"
+         rx="34.345188"
+         cy="672.79736"
+         cx="225.26402"
+         transform="matrix(0.8513023,-0.5246754,0.5246754,0.8513023,-338.69692,214.19328)"
+         id="path3134"
+         style="fill:url(#radialGradient4272);fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    </g>
+  </g>
+</svg>
diff --git a/WorkFeature/ParCurve/WF_ObjParCurve_2016.py b/WorkFeature/ParCurve/WF_ObjParCurve_2016.py
index 3d165e2..95461e2 100644
--- a/WorkFeature/ParCurve/WF_ObjParCurve_2016.py
+++ b/WorkFeature/ParCurve/WF_ObjParCurve_2016.py
@@ -45,8 +45,8 @@ global myTabName
 myTabName = "Parametric Curves"
 global myObjName
 myObjName = "ParametricCurves"
-global myRelease
-myRelease = "2016_11"
+global ParametricRelease
+ParametricRelease = "2017_01"
 global f2
 def f2(fa,fb,fx,fy,t,i):
     pass
@@ -788,37 +788,54 @@ class ParametricCurve2D(Parametric):
             
         #msgBox = QtGui.QMessageBox()
         import numpy as np
+        t=0.
+        
         fa = str(self.la.text())
         fb = str(self.lb.text())
-        
-        t=0.
+
         a=eval(fa)
         b=eval(fb)
         
-        if hasattr(a, '__iter__') and hasattr(b, '__iter__'):
-            for m_a in a:
-                for m_b  in b:
+        def iterate():
+            if hasattr(a, '__iter__') and hasattr(b, '__iter__'):
+                for m_a in a:
+                    for m_b  in b:
+                        if self.debug != 0:
+                            print "a=" + str(m_a)
+                            print "b=" + str(m_b)
+                        self.draw_par_function(m_a, m_b)
+            elif hasattr(a, '__iter__') and not hasattr(b, '__iter__'):
+                for m_a in a:
                     if self.debug != 0:
                         print "a=" + str(m_a)
+                        print "b=" + str(b)
+                    self.draw_par_function(m_a, b)
+            elif not hasattr(a, '__iter__') and hasattr(b, '__iter__'):
+                for m_b  in b:
+                    if self.debug != 0:
+                        print "a=" + str(a)
                         print "b=" + str(m_b)
-                    self.draw_par_function(m_a, m_b)
-        elif hasattr(a, '__iter__') and not hasattr(b, '__iter__'):
-            for m_a in a:
-                if self.debug != 0:
-                    print "a=" + str(m_a)
-                    print "b=" + str(b)
-                self.draw_par_function(m_a, b)
-        elif not hasattr(a, '__iter__') and hasattr(b, '__iter__'):
-            for m_b  in b:
+                    self.draw_par_function(a, m_b)
+            else:            
                 if self.debug != 0:
                     print "a=" + str(a)
-                    print "b=" + str(m_b)
-                self.draw_par_function(a, m_b)
-        else:            
-            if self.debug != 0:
-                print "a=" + str(a)
-                print "b=" + str(b)
-            self.draw_par_function(a, b)
+                    print "b=" + str(b)
+                self.draw_par_function(a, b)
+                 
+        oxs = eval(str(self.x_ref.text()))
+        oys = eval(str(self.y_ref.text()))
+        ozs = eval(str(self.z_ref.text()))
+        if hasattr(oxs, '__iter__'):
+            for m_ox, m_oy, m_oz  in zip(oxs, oys, ozs):
+                self.ox = float(m_ox)
+                self.oy = float(m_oy)
+                self.oz = float(m_oz)
+                iterate()
+        else:
+            self.ox = float(eval(str(self.x_ref.text())))
+            self.oy = float(eval(str(self.y_ref.text())))
+            self.oz = float(eval(str(self.z_ref.text())))
+            iterate()
             
 
     def draw_par_function(self,fa ,fb):        
@@ -832,9 +849,7 @@ class ParametricCurve2D(Parametric):
         intt = float(eval(str(self.ltstep.text())))
         #fz   = float(eval(str(self.lz.text())))
     
-        ox =   float(eval(str(self.x_ref.text())))
-        oy =   float(eval(str(self.y_ref.text())))
-        oz =   float(eval(str(self.z_ref.text())))
+        ox, oy, oz = self.ox, self.oy, self.oz
         
         d = (tf + intt -t)/intt
         dmax = int(d)
@@ -848,9 +863,9 @@ class ParametricCurve2D(Parametric):
             print "x=" + str(fx)
             print "y=" + str(fy)
             print "Ref Point :"
-            print "ox=" + str(ox)
-            print "oy=" + str(oy)
-            print "oz=" + str(oz)
+            print "x_ref=" + str(ox)
+            print "y_ref=" + str(oy)
+            print "z_ref=" + str(oz)
         
         code = """
 def f2(fa,fb,fx,fy,t,i,msgBox):
@@ -1261,6 +1276,7 @@ class ParametricCurve3D(Parametric):
             print "x=" + str(fx)
             print "y=" + str(fy)
             print "z=" + str(fz)
+            print "Ref Point :"
             print "x_ref=" + str(ox)
             print "y_ref=" + str(oy)
             print "z_ref=" + str(oz)
@@ -1959,6 +1975,8 @@ class SurfaceEvents(DefineAndConnectEvents):
                             #"Reg2DCurve_degree_select"          : "setDegree"
                             }
         self.connections_for_return_pressed = {}
+                
+
         
 ##########################################        
 class RegressionCurve2DEvents(DefineAndConnectEvents):
@@ -2109,7 +2127,17 @@ class ParametricTab():
             self.ui = self.gui.Ui_Form()
             self.ui.setupUi(self.m_dialog)
             self.m_tab.setCurrentIndex(3)
-         
+
+#----------------------------------------------------------------
+        self.connections_for_button_clicked = {
+                            "button_quit"               : "quit_clicked",
+                            }
+                 
+        for m_key, m_val in self.connections_for_button_clicked.items():
+            print_msg( "Connecting : " + str(m_key) + " and " + str(m_val) )
+            QtCore.QObject.connect(getattr(self.ui, str(m_key)),
+                                   QtCore.SIGNAL("clicked()"),getattr(self,str(m_val)))
+          
         # Create a Regression 2D Curve object and connect
         self.reg_events2D = RegressionCurve2DEvents(self.ui)
         # Create a Parametric 2D Curve object and connect
@@ -2118,7 +2146,12 @@ class ParametricTab():
         self.events3D = ParametricCurve3DEvents(self.ui)
         # Create a Surface object and connect
         self.surface = SurfaceEvents(self.ui)
+    
         
+        m_text=str(ParametricRelease)
+        self.ui.label_release.setText(QtGui.QApplication.translate("Form", m_text, None, QtGui.QApplication.UnicodeUTF8))
+           
+ #----------------------------------------------------------------
         if self.movable:
             t=FreeCADGui.getMainWindow()
             wf = t.findChild(QtGui.QDockWidget, str(self.objname))
@@ -2130,11 +2163,15 @@ class ParametricTab():
                 print_msg( "Tabified done !")               
                 wf.activateWindow()
                 wf.raise_()
-            
+                
+        QtCore.QObject.connect(self.ui.button_quit, QtCore.SIGNAL ('clicked()'), self.quit_clicked)
+   
      
-    def quit_clicked(self): # quit       
+    def quit_clicked(self): # quit
+        print_msg( "quit_clicked !")       
         if self.movable:
             self.dw.close()
+            self.close()
             print_msg( "Close done !")
             return
         else:
diff --git a/WorkFeature/Ui/WFGui_2015.py b/WorkFeature/Ui/WFGui_2015.py
index 9addb83..314b9a2 100644
--- a/WorkFeature/Ui/WFGui_2015.py
+++ b/WorkFeature/Ui/WFGui_2015.py
@@ -2,7 +2,7 @@
 
 # Form implementation generated from reading ui file 'WFGui_2015.ui'
 #
-# Created: Sat Dec 31 14:55:16 2016
+# Created: Thu Feb  2 19:33:38 2017
 #      by: PySide UI code generator 4.11.3
 #
 # WARNING! All changes made in this file will be lost!
@@ -26,12 +26,12 @@ except AttributeError:
 class Ui_Form(object):
     def setupUi(self, Form):
         Form.setObjectName(_fromUtf8("Form"))
-        Form.resize(396, 610)
+        Form.resize(396, 701)
         icon = QtGui.QIcon()
         icon.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_wf.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
         Form.setWindowIcon(icon)
-        self.gridLayout_34 = QtGui.QGridLayout(Form)
-        self.gridLayout_34.setObjectName(_fromUtf8("gridLayout_34"))
+        self.gridLayout_13 = QtGui.QGridLayout(Form)
+        self.gridLayout_13.setObjectName(_fromUtf8("gridLayout_13"))
         self.scrollArea = QtGui.QScrollArea(Form)
         self.scrollArea.setFrameShape(QtGui.QFrame.StyledPanel)
         self.scrollArea.setFrameShadow(QtGui.QFrame.Sunken)
@@ -40,7 +40,7 @@ class Ui_Form(object):
         self.scrollArea.setWidgetResizable(True)
         self.scrollArea.setObjectName(_fromUtf8("scrollArea"))
         self.scrollAreaWidgetContents = QtGui.QWidget()
-        self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 365, 593))
+        self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 376, 642))
         self.scrollAreaWidgetContents.setObjectName(_fromUtf8("scrollAreaWidgetContents"))
         self.gridLayout_128 = QtGui.QGridLayout(self.scrollAreaWidgetContents)
         self.gridLayout_128.setObjectName(_fromUtf8("gridLayout_128"))
@@ -179,27 +179,46 @@ class Ui_Form(object):
         self.button_point_face_point.setIconSize(QtCore.QSize(32, 32))
         self.button_point_face_point.setObjectName(_fromUtf8("button_point_face_point"))
         self.gridLayout_11.addWidget(self.button_point_face_point, 7, 0, 1, 1)
-        self.button_point_line_point = QtGui.QPushButton(self.Point_Tab1_3)
+        self.horizontalLayout_59 = QtGui.QHBoxLayout()
+        self.horizontalLayout_59.setObjectName(_fromUtf8("horizontalLayout_59"))
+        self.button_points_projection = QtGui.QPushButton(self.Point_Tab1_3)
+        self.button_points_projection.setMaximumSize(QtCore.QSize(16777215, 16777215))
         icon10 = QtGui.QIcon()
-        icon10.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_pointLinePoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_point_line_point.setIcon(icon10)
-        self.button_point_line_point.setIconSize(QtCore.QSize(32, 32))
-        self.button_point_line_point.setObjectName(_fromUtf8("button_point_line_point"))
-        self.gridLayout_11.addWidget(self.button_point_line_point, 8, 0, 1, 1)
+        icon10.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_projectedPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_points_projection.setIcon(icon10)
+        self.button_points_projection.setIconSize(QtCore.QSize(32, 32))
+        self.button_points_projection.setObjectName(_fromUtf8("button_points_projection"))
+        self.horizontalLayout_59.addWidget(self.button_points_projection)
+        self.point_proj_comboBox = QtGui.QComboBox(self.Point_Tab1_3)
+        self.point_proj_comboBox.setMaximumSize(QtCore.QSize(60, 16777215))
+        self.point_proj_comboBox.setObjectName(_fromUtf8("point_proj_comboBox"))
+        self.point_proj_comboBox.addItem(_fromUtf8(""))
+        self.point_proj_comboBox.addItem(_fromUtf8(""))
+        self.point_proj_comboBox.addItem(_fromUtf8(""))
+        self.point_proj_comboBox.addItem(_fromUtf8(""))
+        self.horizontalLayout_59.addWidget(self.point_proj_comboBox)
+        self.gridLayout_11.addLayout(self.horizontalLayout_59, 8, 0, 1, 1)
         spacerItem1 = QtGui.QSpacerItem(20, 252, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
         self.gridLayout_11.addItem(spacerItem1, 9, 0, 1, 1)
         self.tabWidget.addTab(self.Point_Tab1_3, _fromUtf8(""))
         self.Point_Tab2_3 = QtGui.QWidget()
         self.Point_Tab2_3.setObjectName(_fromUtf8("Point_Tab2_3"))
-        self.gridLayout_13 = QtGui.QGridLayout(self.Point_Tab2_3)
-        self.gridLayout_13.setObjectName(_fromUtf8("gridLayout_13"))
-        self.button_twolines_point = QtGui.QPushButton(self.Point_Tab2_3)
+        self.gridLayout_2 = QtGui.QGridLayout(self.Point_Tab2_3)
+        self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
+        self.button_point_line_point = QtGui.QPushButton(self.Point_Tab2_3)
         icon11 = QtGui.QIcon()
-        icon11.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_lineLinePoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_twolines_point.setIcon(icon11)
+        icon11.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_pointLinePoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_point_line_point.setIcon(icon11)
+        self.button_point_line_point.setIconSize(QtCore.QSize(32, 32))
+        self.button_point_line_point.setObjectName(_fromUtf8("button_point_line_point"))
+        self.gridLayout_2.addWidget(self.button_point_line_point, 0, 0, 1, 1)
+        self.button_twolines_point = QtGui.QPushButton(self.Point_Tab2_3)
+        icon12 = QtGui.QIcon()
+        icon12.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_lineLinePoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_twolines_point.setIcon(icon12)
         self.button_twolines_point.setIconSize(QtCore.QSize(32, 32))
         self.button_twolines_point.setObjectName(_fromUtf8("button_twolines_point"))
-        self.gridLayout_13.addWidget(self.button_twolines_point, 0, 0, 1, 1)
+        self.gridLayout_2.addWidget(self.button_twolines_point, 1, 0, 1, 1)
         self.horizontalLayout_47 = QtGui.QHBoxLayout()
         self.horizontalLayout_47.setSizeConstraint(QtGui.QLayout.SetFixedSize)
         self.horizontalLayout_47.setObjectName(_fromUtf8("horizontalLayout_47"))
@@ -210,9 +229,9 @@ class Ui_Form(object):
         sizePolicy.setHeightForWidth(self.button_point_on_line.sizePolicy().hasHeightForWidth())
         self.button_point_on_line.setSizePolicy(sizePolicy)
         self.button_point_on_line.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        icon12 = QtGui.QIcon()
-        icon12.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_alongLinePoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_point_on_line.setIcon(icon12)
+        icon13 = QtGui.QIcon()
+        icon13.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_alongLinePoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_point_on_line.setIcon(icon13)
         self.button_point_on_line.setIconSize(QtCore.QSize(32, 32))
         self.button_point_on_line.setObjectName(_fromUtf8("button_point_on_line"))
         self.horizontalLayout_47.addWidget(self.button_point_on_line)
@@ -226,13 +245,13 @@ class Ui_Form(object):
         self.distance_point_on_line.setMaximumSize(QtCore.QSize(60, 16777215))
         self.distance_point_on_line.setObjectName(_fromUtf8("distance_point_on_line"))
         self.horizontalLayout_47.addWidget(self.distance_point_on_line)
-        self.gridLayout_13.addLayout(self.horizontalLayout_47, 1, 0, 1, 1)
+        self.gridLayout_2.addLayout(self.horizontalLayout_47, 2, 0, 1, 1)
         self.horizontalLayout_48 = QtGui.QHBoxLayout()
         self.horizontalLayout_48.setObjectName(_fromUtf8("horizontalLayout_48"))
         self.button_distPoint = QtGui.QPushButton(self.Point_Tab2_3)
-        icon13 = QtGui.QIcon()
-        icon13.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_distPointPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_distPoint.setIcon(icon13)
+        icon14 = QtGui.QIcon()
+        icon14.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_distPointPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_distPoint.setIcon(icon14)
         self.button_distPoint.setIconSize(QtCore.QSize(32, 32))
         self.button_distPoint.setObjectName(_fromUtf8("button_distPoint"))
         self.horizontalLayout_48.addWidget(self.button_distPoint)
@@ -257,14 +276,14 @@ class Ui_Form(object):
         self.spin_dist_point.setProperty("value", 1)
         self.spin_dist_point.setObjectName(_fromUtf8("spin_dist_point"))
         self.horizontalLayout_48.addWidget(self.spin_dist_point)
-        self.gridLayout_13.addLayout(self.horizontalLayout_48, 2, 0, 1, 1)
+        self.gridLayout_2.addLayout(self.horizontalLayout_48, 3, 0, 1, 1)
         self.horizontalLayout_49 = QtGui.QHBoxLayout()
         self.horizontalLayout_49.setObjectName(_fromUtf8("horizontalLayout_49"))
         self.button_cut_wire_point = QtGui.QPushButton(self.Point_Tab2_3)
         self.button_cut_wire_point.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        icon14 = QtGui.QIcon()
-        icon14.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cutWirePoints.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_cut_wire_point.setIcon(icon14)
+        icon15 = QtGui.QIcon()
+        icon15.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cutWirePoints.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_cut_wire_point.setIcon(icon15)
         self.button_cut_wire_point.setIconSize(QtCore.QSize(32, 32))
         self.button_cut_wire_point.setObjectName(_fromUtf8("button_cut_wire_point"))
         self.horizontalLayout_49.addWidget(self.button_cut_wire_point)
@@ -276,64 +295,57 @@ class Ui_Form(object):
         self.spin_wire_cut_point.setSingleStep(1)
         self.spin_wire_cut_point.setObjectName(_fromUtf8("spin_wire_cut_point"))
         self.horizontalLayout_49.addWidget(self.spin_wire_cut_point)
-        self.gridLayout_13.addLayout(self.horizontalLayout_49, 3, 0, 1, 1)
+        self.gridLayout_2.addLayout(self.horizontalLayout_49, 4, 0, 1, 1)
         self.button_click_for_point = QtGui.QRadioButton(self.Point_Tab2_3)
-        icon15 = QtGui.QIcon()
-        icon15.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_clickPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_click_for_point.setIcon(icon15)
+        icon16 = QtGui.QIcon()
+        icon16.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_clickPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_click_for_point.setIcon(icon16)
         self.button_click_for_point.setIconSize(QtCore.QSize(32, 32))
         self.button_click_for_point.setCheckable(True)
         self.button_click_for_point.setObjectName(_fromUtf8("button_click_for_point"))
-        self.gridLayout_13.addWidget(self.button_click_for_point, 4, 0, 1, 1)
+        self.gridLayout_2.addWidget(self.button_click_for_point, 5, 0, 1, 1)
         self.button_object_base_point = QtGui.QPushButton(self.Point_Tab2_3)
-        icon16 = QtGui.QIcon()
-        icon16.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectBasePoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_object_base_point.setIcon(icon16)
+        icon17 = QtGui.QIcon()
+        icon17.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectBasePoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_object_base_point.setIcon(icon17)
         self.button_object_base_point.setIconSize(QtCore.QSize(32, 32))
         self.button_object_base_point.setObjectName(_fromUtf8("button_object_base_point"))
-        self.gridLayout_13.addWidget(self.button_object_base_point, 5, 0, 1, 1)
+        self.gridLayout_2.addWidget(self.button_object_base_point, 6, 0, 1, 1)
         self.button_object_center_mass_point = QtGui.QPushButton(self.Point_Tab2_3)
-        icon17 = QtGui.QIcon()
-        icon17.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectCenterMassPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_object_center_mass_point.setIcon(icon17)
+        icon18 = QtGui.QIcon()
+        icon18.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectCenterMassPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_object_center_mass_point.setIcon(icon18)
         self.button_object_center_mass_point.setIconSize(QtCore.QSize(32, 32))
         self.button_object_center_mass_point.setObjectName(_fromUtf8("button_object_center_mass_point"))
-        self.gridLayout_13.addWidget(self.button_object_center_mass_point, 6, 0, 1, 1)
+        self.gridLayout_2.addWidget(self.button_object_center_mass_point, 7, 0, 1, 1)
         self.button_object_Npoint = QtGui.QPushButton(self.Point_Tab2_3)
-        icon18 = QtGui.QIcon()
-        icon18.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectNPoints.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_object_Npoint.setIcon(icon18)
+        icon19 = QtGui.QIcon()
+        icon19.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectNPoints.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_object_Npoint.setIcon(icon19)
         self.button_object_Npoint.setIconSize(QtCore.QSize(32, 32))
         self.button_object_Npoint.setObjectName(_fromUtf8("button_object_Npoint"))
-        self.gridLayout_13.addWidget(self.button_object_Npoint, 7, 0, 1, 1)
-        self.button_point_to_sketch = QtGui.QPushButton(self.Point_Tab2_3)
-        icon19 = QtGui.QIcon()
-        icon19.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_2Sketch.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_point_to_sketch.setIcon(icon19)
-        self.button_point_to_sketch.setIconSize(QtCore.QSize(32, 32))
-        self.button_point_to_sketch.setObjectName(_fromUtf8("button_point_to_sketch"))
-        self.gridLayout_13.addWidget(self.button_point_to_sketch, 8, 0, 1, 1)
+        self.gridLayout_2.addWidget(self.button_object_Npoint, 8, 0, 1, 1)
         spacerItem2 = QtGui.QSpacerItem(20, 255, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
-        self.gridLayout_13.addItem(spacerItem2, 9, 0, 1, 1)
+        self.gridLayout_2.addItem(spacerItem2, 9, 0, 1, 1)
         self.tabWidget.addTab(self.Point_Tab2_3, _fromUtf8(""))
         self.Point_Tab3_3 = QtGui.QWidget()
         self.Point_Tab3_3.setObjectName(_fromUtf8("Point_Tab3_3"))
-        self.gridLayout_2 = QtGui.QGridLayout(self.Point_Tab3_3)
-        self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
+        self.gridLayout_22 = QtGui.QGridLayout(self.Point_Tab3_3)
+        self.gridLayout_22.setObjectName(_fromUtf8("gridLayout_22"))
         self.button_points_load = QtGui.QPushButton(self.Point_Tab3_3)
         icon20 = QtGui.QIcon()
         icon20.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_pointsSetLoad.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
         self.button_points_load.setIcon(icon20)
         self.button_points_load.setIconSize(QtCore.QSize(32, 32))
         self.button_points_load.setObjectName(_fromUtf8("button_points_load"))
-        self.gridLayout_2.addWidget(self.button_points_load, 0, 0, 1, 1)
+        self.gridLayout_22.addWidget(self.button_points_load, 0, 0, 1, 1)
         self.button_points_save = QtGui.QPushButton(self.Point_Tab3_3)
         icon21 = QtGui.QIcon()
         icon21.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_pointsSetSave.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
         self.button_points_save.setIcon(icon21)
         self.button_points_save.setIconSize(QtCore.QSize(32, 32))
         self.button_points_save.setObjectName(_fromUtf8("button_points_save"))
-        self.gridLayout_2.addWidget(self.button_points_save, 1, 0, 1, 1)
+        self.gridLayout_22.addWidget(self.button_points_save, 1, 0, 1, 1)
         self.horizontalLayout_5 = QtGui.QHBoxLayout()
         self.horizontalLayout_5.setObjectName(_fromUtf8("horizontalLayout_5"))
         self.button_points_random = QtGui.QPushButton(self.Point_Tab3_3)
@@ -368,14 +380,21 @@ class Ui_Form(object):
         self.distance_random_points.setMaximumSize(QtCore.QSize(60, 16777215))
         self.distance_random_points.setObjectName(_fromUtf8("distance_random_points"))
         self.horizontalLayout_5.addWidget(self.distance_random_points)
-        self.gridLayout_2.addLayout(self.horizontalLayout_5, 2, 0, 1, 1)
+        self.gridLayout_22.addLayout(self.horizontalLayout_5, 2, 0, 1, 1)
+        self.button_point_to_sketch = QtGui.QPushButton(self.Point_Tab3_3)
+        icon23 = QtGui.QIcon()
+        icon23.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_2Sketch.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_point_to_sketch.setIcon(icon23)
+        self.button_point_to_sketch.setIconSize(QtCore.QSize(32, 32))
+        self.button_point_to_sketch.setObjectName(_fromUtf8("button_point_to_sketch"))
+        self.gridLayout_22.addWidget(self.button_point_to_sketch, 3, 0, 1, 1)
         spacerItem3 = QtGui.QSpacerItem(20, 579, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
-        self.gridLayout_2.addItem(spacerItem3, 3, 0, 1, 1)
+        self.gridLayout_22.addItem(spacerItem3, 4, 0, 1, 1)
         self.tabWidget.addTab(self.Point_Tab3_3, _fromUtf8(""))
         self.gridLayout_10.addWidget(self.tabWidget, 0, 0, 1, 1)
-        icon23 = QtGui.QIcon()
-        icon23.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_point.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.tabWidget_7.addTab(self.Point_Tab, icon23, _fromUtf8(""))
+        icon24 = QtGui.QIcon()
+        icon24.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_point.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.tabWidget_7.addTab(self.Point_Tab, icon24, _fromUtf8(""))
         self.Axis_Tab = QtGui.QWidget()
         self.Axis_Tab.setObjectName(_fromUtf8("Axis_Tab"))
         self.gridLayout_14 = QtGui.QGridLayout(self.Axis_Tab)
@@ -395,9 +414,9 @@ class Ui_Form(object):
         sizePolicy.setHeightForWidth(self.button_twopoints_axis.sizePolicy().hasHeightForWidth())
         self.button_twopoints_axis.setSizePolicy(sizePolicy)
         self.button_twopoints_axis.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        icon24 = QtGui.QIcon()
-        icon24.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_2pointsLine.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_twopoints_axis.setIcon(icon24)
+        icon25 = QtGui.QIcon()
+        icon25.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_2pointsLine.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_twopoints_axis.setIcon(icon25)
         self.button_twopoints_axis.setIconSize(QtCore.QSize(32, 32))
         self.button_twopoints_axis.setObjectName(_fromUtf8("button_twopoints_axis"))
         self.horizontalLayout.addWidget(self.button_twopoints_axis)
@@ -409,9 +428,9 @@ class Ui_Form(object):
         spacerItem4 = QtGui.QSpacerItem(20, 233, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
         self.gridLayout_15.addItem(spacerItem4, 7, 0, 1, 1)
         self.button_object_axis = QtGui.QPushButton(self.Axis_Tab1_3)
-        icon25 = QtGui.QIcon()
-        icon25.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_centerObjectsAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_object_axis.setIcon(icon25)
+        icon26 = QtGui.QIcon()
+        icon26.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_centerObjectsAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_object_axis.setIcon(icon26)
         self.button_object_axis.setIconSize(QtCore.QSize(32, 32))
         self.button_object_axis.setObjectName(_fromUtf8("button_object_axis"))
         self.gridLayout_15.addWidget(self.button_object_axis, 0, 0, 1, 1)
@@ -425,9 +444,9 @@ class Ui_Form(object):
         self.button_line_point_axis.setSizePolicy(sizePolicy)
         self.button_line_point_axis.setMinimumSize(QtCore.QSize(0, 0))
         self.button_line_point_axis.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        icon26 = QtGui.QIcon()
-        icon26.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePointAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_line_point_axis.setIcon(icon26)
+        icon27 = QtGui.QIcon()
+        icon27.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePointAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_line_point_axis.setIcon(icon27)
         self.button_line_point_axis.setIconSize(QtCore.QSize(32, 32))
         self.button_line_point_axis.setObjectName(_fromUtf8("button_line_point_axis"))
         self.horizontalLayout_53.addWidget(self.button_line_point_axis)
@@ -437,9 +456,9 @@ class Ui_Form(object):
         self.horizontalLayout_53.addWidget(self.extension_line_point_axis)
         self.gridLayout_15.addLayout(self.horizontalLayout_53, 5, 0, 1, 1)
         self.button_Npoints_axis = QtGui.QPushButton(self.Axis_Tab1_3)
-        icon27 = QtGui.QIcon()
-        icon27.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_NpointsLine.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_Npoints_axis.setIcon(icon27)
+        icon28 = QtGui.QIcon()
+        icon28.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_NpointsLine.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_Npoints_axis.setIcon(icon28)
         self.button_Npoints_axis.setIconSize(QtCore.QSize(32, 32))
         self.button_Npoints_axis.setObjectName(_fromUtf8("button_Npoints_axis"))
         self.gridLayout_15.addWidget(self.button_Npoints_axis, 2, 0, 1, 1)
@@ -447,9 +466,9 @@ class Ui_Form(object):
         self.horizontalLayout_52.setObjectName(_fromUtf8("horizontalLayout_52"))
         self.button_point_line_axis = QtGui.QPushButton(self.Axis_Tab1_3)
         self.button_point_line_axis.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        icon28 = QtGui.QIcon()
-        icon28.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_pointLineAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_point_line_axis.setIcon(icon28)
+        icon29 = QtGui.QIcon()
+        icon29.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_pointLineAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_point_line_axis.setIcon(icon29)
         self.button_point_line_axis.setIconSize(QtCore.QSize(32, 32))
         self.button_point_line_axis.setObjectName(_fromUtf8("button_point_line_axis"))
         self.horizontalLayout_52.addWidget(self.button_point_line_axis)
@@ -471,17 +490,17 @@ class Ui_Form(object):
         self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))
         self.button_cylinder_axis = QtGui.QPushButton(self.Axis_Tab1_3)
         self.button_cylinder_axis.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        icon29 = QtGui.QIcon()
-        icon29.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cylinderAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_cylinder_axis.setIcon(icon29)
+        icon30 = QtGui.QIcon()
+        icon30.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cylinderAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_cylinder_axis.setIcon(icon30)
         self.button_cylinder_axis.setIconSize(QtCore.QSize(32, 32))
         self.button_cylinder_axis.setObjectName(_fromUtf8("button_cylinder_axis"))
         self.verticalLayout_3.addWidget(self.button_cylinder_axis)
         self.button_plane_axis = QtGui.QPushButton(self.Axis_Tab1_3)
         self.button_plane_axis.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        icon30 = QtGui.QIcon()
-        icon30.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_FaceAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_plane_axis.setIcon(icon30)
+        icon31 = QtGui.QIcon()
+        icon31.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_FaceAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_plane_axis.setIcon(icon31)
         self.button_plane_axis.setIconSize(QtCore.QSize(32, 32))
         self.button_plane_axis.setObjectName(_fromUtf8("button_plane_axis"))
         self.verticalLayout_3.addWidget(self.button_plane_axis)
@@ -492,9 +511,9 @@ class Ui_Form(object):
         sizePolicy.setHeightForWidth(self.button_face_normal.sizePolicy().hasHeightForWidth())
         self.button_face_normal.setSizePolicy(sizePolicy)
         self.button_face_normal.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        icon31 = QtGui.QIcon()
-        icon31.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_FaceNormal.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_face_normal.setIcon(icon31)
+        icon32 = QtGui.QIcon()
+        icon32.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_FaceNormal.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_face_normal.setIcon(icon32)
         self.button_face_normal.setIconSize(QtCore.QSize(32, 32))
         self.button_face_normal.setObjectName(_fromUtf8("button_face_normal"))
         self.verticalLayout_3.addWidget(self.button_face_normal)
@@ -515,9 +534,9 @@ class Ui_Form(object):
         self.horizontalLayout_51.addWidget(self.frame_8)
         self.gridLayout_15.addLayout(self.horizontalLayout_51, 3, 0, 1, 1)
         self.button_twolines_axis = QtGui.QPushButton(self.Axis_Tab1_3)
-        icon32 = QtGui.QIcon()
-        icon32.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_twoLinesAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_twolines_axis.setIcon(icon32)
+        icon33 = QtGui.QIcon()
+        icon33.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_twoLinesAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_twolines_axis.setIcon(icon33)
         self.button_twolines_axis.setIconSize(QtCore.QSize(32, 32))
         self.button_twolines_axis.setObjectName(_fromUtf8("button_twolines_axis"))
         self.gridLayout_15.addWidget(self.button_twolines_axis, 6, 0, 1, 1)
@@ -527,30 +546,30 @@ class Ui_Form(object):
         self.gridLayout_16 = QtGui.QGridLayout(self.Axis_Tab31_3)
         self.gridLayout_16.setObjectName(_fromUtf8("gridLayout_16"))
         self.button_object_base_axes = QtGui.QPushButton(self.Axis_Tab31_3)
-        icon33 = QtGui.QIcon()
-        icon33.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_baseObjectsAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_object_base_axes.setIcon(icon33)
+        icon34 = QtGui.QIcon()
+        icon34.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_baseObjectsAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_object_base_axes.setIcon(icon34)
         self.button_object_base_axes.setIconSize(QtCore.QSize(32, 32))
         self.button_object_base_axes.setObjectName(_fromUtf8("button_object_base_axes"))
         self.gridLayout_16.addWidget(self.button_object_base_axes, 0, 0, 1, 1)
         self.button_object_Naxes = QtGui.QPushButton(self.Axis_Tab31_3)
-        icon34 = QtGui.QIcon()
-        icon34.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectNAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_object_Naxes.setIcon(icon34)
+        icon35 = QtGui.QIcon()
+        icon35.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectNAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_object_Naxes.setIcon(icon35)
         self.button_object_Naxes.setIconSize(QtCore.QSize(32, 32))
         self.button_object_Naxes.setObjectName(_fromUtf8("button_object_Naxes"))
         self.gridLayout_16.addWidget(self.button_object_Naxes, 1, 0, 1, 1)
         spacerItem5 = QtGui.QSpacerItem(20, 483, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
         self.gridLayout_16.addItem(spacerItem5, 4, 0, 1, 1)
         self.button_line_to_sketch = QtGui.QPushButton(self.Axis_Tab31_3)
-        self.button_line_to_sketch.setIcon(icon19)
+        self.button_line_to_sketch.setIcon(icon23)
         self.button_line_to_sketch.setIconSize(QtCore.QSize(32, 32))
         self.button_line_to_sketch.setObjectName(_fromUtf8("button_line_to_sketch"))
         self.gridLayout_16.addWidget(self.button_line_to_sketch, 3, 0, 1, 1)
         self.button_object_3axes = QtGui.QPushButton(self.Axis_Tab31_3)
-        icon35 = QtGui.QIcon()
-        icon35.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_object3Axes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_object_3axes.setIcon(icon35)
+        icon36 = QtGui.QIcon()
+        icon36.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_object3Axes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_object_3axes.setIcon(icon36)
         self.button_object_3axes.setIconSize(QtCore.QSize(32, 32))
         self.button_object_3axes.setObjectName(_fromUtf8("button_object_3axes"))
         self.gridLayout_16.addWidget(self.button_object_3axes, 2, 0, 1, 1)
@@ -560,32 +579,32 @@ class Ui_Form(object):
         self.gridLayout_4 = QtGui.QGridLayout(self.Axis_Tab2_3)
         self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
         self.button_plane_point_line_axis = QtGui.QPushButton(self.Axis_Tab2_3)
-        icon36 = QtGui.QIcon()
-        icon36.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_planeLinePointAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_plane_point_line_axis.setIcon(icon36)
+        icon37 = QtGui.QIcon()
+        icon37.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_planeLinePointAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_plane_point_line_axis.setIcon(icon37)
         self.button_plane_point_line_axis.setIconSize(QtCore.QSize(32, 32))
         self.button_plane_point_line_axis.setObjectName(_fromUtf8("button_plane_point_line_axis"))
         self.gridLayout_4.addWidget(self.button_plane_point_line_axis, 0, 0, 1, 1)
         self.button_line_plane_axis = QtGui.QPushButton(self.Axis_Tab2_3)
-        icon37 = QtGui.QIcon()
-        icon37.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePlaneAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_line_plane_axis.setIcon(icon37)
+        icon38 = QtGui.QIcon()
+        icon38.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePlaneAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_line_plane_axis.setIcon(icon38)
         self.button_line_plane_axis.setIconSize(QtCore.QSize(32, 32))
         self.button_line_plane_axis.setObjectName(_fromUtf8("button_line_plane_axis"))
         self.gridLayout_4.addWidget(self.button_line_plane_axis, 1, 0, 1, 1)
         self.button_twoplanes_axis = QtGui.QPushButton(self.Axis_Tab2_3)
-        icon38 = QtGui.QIcon()
-        icon38.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_2PlanesAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_twoplanes_axis.setIcon(icon38)
+        icon39 = QtGui.QIcon()
+        icon39.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_2PlanesAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_twoplanes_axis.setIcon(icon39)
         self.button_twoplanes_axis.setIconSize(QtCore.QSize(32, 32))
         self.button_twoplanes_axis.setObjectName(_fromUtf8("button_twoplanes_axis"))
         self.gridLayout_4.addWidget(self.button_twoplanes_axis, 2, 0, 1, 1)
         self.horizontalLayout_54 = QtGui.QHBoxLayout()
         self.horizontalLayout_54.setObjectName(_fromUtf8("horizontalLayout_54"))
         self.button_distLine = QtGui.QPushButton(self.Axis_Tab2_3)
-        icon39 = QtGui.QIcon()
-        icon39.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_distAxisAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_distLine.setIcon(icon39)
+        icon40 = QtGui.QIcon()
+        icon40.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_distAxisAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_distLine.setIcon(icon40)
         self.button_distLine.setIconSize(QtCore.QSize(32, 32))
         self.button_distLine.setObjectName(_fromUtf8("button_distLine"))
         self.horizontalLayout_54.addWidget(self.button_distLine)
@@ -614,9 +633,9 @@ class Ui_Form(object):
         self.horizontalLayout_55 = QtGui.QHBoxLayout()
         self.horizontalLayout_55.setObjectName(_fromUtf8("horizontalLayout_55"))
         self.button_angleLine = QtGui.QPushButton(self.Axis_Tab2_3)
-        icon40 = QtGui.QIcon()
-        icon40.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_angleAxisAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_angleLine.setIcon(icon40)
+        icon41 = QtGui.QIcon()
+        icon41.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_angleAxisAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_angleLine.setIcon(icon41)
         self.button_angleLine.setIconSize(QtCore.QSize(32, 32))
         self.button_angleLine.setObjectName(_fromUtf8("button_angleLine"))
         self.horizontalLayout_55.addWidget(self.button_angleLine)
@@ -646,9 +665,9 @@ class Ui_Form(object):
         self.horizontalLayout_56.setObjectName(_fromUtf8("horizontalLayout_56"))
         self.button_cut_wire_axis = QtGui.QPushButton(self.Axis_Tab2_3)
         self.button_cut_wire_axis.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        icon41 = QtGui.QIcon()
-        icon41.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cutWireAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_cut_wire_axis.setIcon(icon41)
+        icon42 = QtGui.QIcon()
+        icon42.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cutWireAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_cut_wire_axis.setIcon(icon42)
         self.button_cut_wire_axis.setIconSize(QtCore.QSize(32, 32))
         self.button_cut_wire_axis.setObjectName(_fromUtf8("button_cut_wire_axis"))
         self.horizontalLayout_56.addWidget(self.button_cut_wire_axis)
@@ -665,9 +684,9 @@ class Ui_Form(object):
         self.horizontalLayout_57.setObjectName(_fromUtf8("horizontalLayout_57"))
         self.button_cut_axis = QtGui.QPushButton(self.Axis_Tab2_3)
         self.button_cut_axis.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        icon42 = QtGui.QIcon()
-        icon42.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cutAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_cut_axis.setIcon(icon42)
+        icon43 = QtGui.QIcon()
+        icon43.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cutAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_cut_axis.setIcon(icon43)
         self.button_cut_axis.setIconSize(QtCore.QSize(32, 32))
         self.button_cut_axis.setObjectName(_fromUtf8("button_cut_axis"))
         self.horizontalLayout_57.addWidget(self.button_cut_axis)
@@ -688,9 +707,9 @@ class Ui_Form(object):
         sizePolicy.setVerticalStretch(0)
         sizePolicy.setHeightForWidth(self.button_extension_axis.sizePolicy().hasHeightForWidth())
         self.button_extension_axis.setSizePolicy(sizePolicy)
-        icon43 = QtGui.QIcon()
-        icon43.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_enlargeLine.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_extension_axis.setIcon(icon43)
+        icon44 = QtGui.QIcon()
+        icon44.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_enlargeLine.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_extension_axis.setIcon(icon44)
         self.button_extension_axis.setIconSize(QtCore.QSize(32, 32))
         self.button_extension_axis.setObjectName(_fromUtf8("button_extension_axis"))
         self.horizontalLayout_58.addWidget(self.button_extension_axis)
@@ -706,9 +725,9 @@ class Ui_Form(object):
         self.horizontalLayout_58.addWidget(self.extension_axis)
         self.gridLayout_4.addLayout(self.horizontalLayout_58, 7, 0, 1, 1)
         self.button_click_for_axis = QtGui.QRadioButton(self.Axis_Tab2_3)
-        icon44 = QtGui.QIcon()
-        icon44.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_clickLine.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_click_for_axis.setIcon(icon44)
+        icon45 = QtGui.QIcon()
+        icon45.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_clickLine.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_click_for_axis.setIcon(icon45)
         self.button_click_for_axis.setIconSize(QtCore.QSize(32, 32))
         self.button_click_for_axis.setObjectName(_fromUtf8("button_click_for_axis"))
         self.gridLayout_4.addWidget(self.button_click_for_axis, 8, 0, 1, 1)
@@ -716,9 +735,9 @@ class Ui_Form(object):
         self.gridLayout_4.addItem(spacerItem6, 9, 0, 1, 1)
         self.tabWidget_2.addTab(self.Axis_Tab2_3, _fromUtf8(""))
         self.gridLayout_14.addWidget(self.tabWidget_2, 0, 0, 1, 1)
-        icon45 = QtGui.QIcon()
-        icon45.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_axis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.tabWidget_7.addTab(self.Axis_Tab, icon45, _fromUtf8(""))
+        icon46 = QtGui.QIcon()
+        icon46.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_axis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.tabWidget_7.addTab(self.Axis_Tab, icon46, _fromUtf8(""))
         self.Wire_Tab = QtGui.QWidget()
         self.Wire_Tab.setObjectName(_fromUtf8("Wire_Tab"))
         self.gridLayout_74 = QtGui.QGridLayout(self.Wire_Tab)
@@ -734,15 +753,6 @@ class Ui_Form(object):
         self.Wire_Tab1_3.setObjectName(_fromUtf8("Wire_Tab1_3"))
         self.gridLayout_7 = QtGui.QGridLayout(self.Wire_Tab1_3)
         self.gridLayout_7.setObjectName(_fromUtf8("gridLayout_7"))
-        spacerItem7 = QtGui.QSpacerItem(20, 588, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
-        self.gridLayout_7.addItem(spacerItem7, 2, 0, 1, 1)
-        self.button_4points_bezier = QtGui.QPushButton(self.Wire_Tab1_3)
-        icon46 = QtGui.QIcon()
-        icon46.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_bezierCubic2nodes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_4points_bezier.setIcon(icon46)
-        self.button_4points_bezier.setIconSize(QtCore.QSize(32, 32))
-        self.button_4points_bezier.setObjectName(_fromUtf8("button_4points_bezier"))
-        self.gridLayout_7.addWidget(self.button_4points_bezier, 1, 0, 1, 1)
         self.button_points_to_polygon = QtGui.QPushButton(self.Wire_Tab1_3)
         icon47 = QtGui.QIcon()
         icon47.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_makePolygon.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
@@ -750,6 +760,33 @@ class Ui_Form(object):
         self.button_points_to_polygon.setIconSize(QtCore.QSize(32, 32))
         self.button_points_to_polygon.setObjectName(_fromUtf8("button_points_to_polygon"))
         self.gridLayout_7.addWidget(self.button_points_to_polygon, 0, 0, 1, 1)
+        self.horizontalLayout_6 = QtGui.QHBoxLayout()
+        self.horizontalLayout_6.setObjectName(_fromUtf8("horizontalLayout_6"))
+        self.button_points_to_convex_2Dpolygon = QtGui.QPushButton(self.Wire_Tab1_3)
+        icon48 = QtGui.QIcon()
+        icon48.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_convexPolygon.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_points_to_convex_2Dpolygon.setIcon(icon48)
+        self.button_points_to_convex_2Dpolygon.setIconSize(QtCore.QSize(32, 32))
+        self.button_points_to_convex_2Dpolygon.setObjectName(_fromUtf8("button_points_to_convex_2Dpolygon"))
+        self.horizontalLayout_6.addWidget(self.button_points_to_convex_2Dpolygon)
+        self.point_proj_comboBox_2 = QtGui.QComboBox(self.Wire_Tab1_3)
+        self.point_proj_comboBox_2.setMaximumSize(QtCore.QSize(60, 16777215))
+        self.point_proj_comboBox_2.setObjectName(_fromUtf8("point_proj_comboBox_2"))
+        self.point_proj_comboBox_2.addItem(_fromUtf8(""))
+        self.point_proj_comboBox_2.addItem(_fromUtf8(""))
+        self.point_proj_comboBox_2.addItem(_fromUtf8(""))
+        self.point_proj_comboBox_2.addItem(_fromUtf8(""))
+        self.horizontalLayout_6.addWidget(self.point_proj_comboBox_2)
+        self.gridLayout_7.addLayout(self.horizontalLayout_6, 1, 0, 1, 1)
+        self.button_4points_bezier = QtGui.QPushButton(self.Wire_Tab1_3)
+        icon49 = QtGui.QIcon()
+        icon49.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_bezierCubic2nodes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_4points_bezier.setIcon(icon49)
+        self.button_4points_bezier.setIconSize(QtCore.QSize(32, 32))
+        self.button_4points_bezier.setObjectName(_fromUtf8("button_4points_bezier"))
+        self.gridLayout_7.addWidget(self.button_4points_bezier, 2, 0, 1, 1)
+        spacerItem7 = QtGui.QSpacerItem(20, 588, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+        self.gridLayout_7.addItem(spacerItem7, 3, 0, 1, 1)
         self.tabWidget_8.addTab(self.Wire_Tab1_3, _fromUtf8(""))
         self.Wire_Tab1_4 = QtGui.QWidget()
         self.Wire_Tab1_4.setObjectName(_fromUtf8("Wire_Tab1_4"))
@@ -767,9 +804,9 @@ class Ui_Form(object):
         self.gridLayout_3.addItem(spacerItem8, 1, 0, 1, 1)
         self.tabWidget_8.addTab(self.Wire_Tab1_4, _fromUtf8(""))
         self.gridLayout_74.addWidget(self.tabWidget_8, 0, 0, 1, 1)
-        icon48 = QtGui.QIcon()
-        icon48.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_wire.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.tabWidget_7.addTab(self.Wire_Tab, icon48, _fromUtf8(""))
+        icon50 = QtGui.QIcon()
+        icon50.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_wire.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.tabWidget_7.addTab(self.Wire_Tab, icon50, _fromUtf8(""))
         self.Circle_Tab = QtGui.QWidget()
         self.Circle_Tab.setObjectName(_fromUtf8("Circle_Tab"))
         self.gridLayout = QtGui.QGridLayout(self.Circle_Tab)
@@ -777,9 +814,9 @@ class Ui_Form(object):
         self.horizontalLayout_66 = QtGui.QHBoxLayout()
         self.horizontalLayout_66.setObjectName(_fromUtf8("horizontalLayout_66"))
         self.button_linecenter_circle = QtGui.QPushButton(self.Circle_Tab)
-        icon49 = QtGui.QIcon()
-        icon49.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_lineCenterCircle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_linecenter_circle.setIcon(icon49)
+        icon51 = QtGui.QIcon()
+        icon51.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_lineCenterCircle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_linecenter_circle.setIcon(icon51)
         self.button_linecenter_circle.setIconSize(QtCore.QSize(32, 32))
         self.button_linecenter_circle.setObjectName(_fromUtf8("button_linecenter_circle"))
         self.horizontalLayout_66.addWidget(self.button_linecenter_circle)
@@ -790,48 +827,48 @@ class Ui_Form(object):
         self.horizontalLayout_66.addWidget(self.radius_circle)
         self.gridLayout.addLayout(self.horizontalLayout_66, 0, 0, 1, 1)
         self.button_linepoint_circle = QtGui.QPushButton(self.Circle_Tab)
-        icon50 = QtGui.QIcon()
-        icon50.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePointCircle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_linepoint_circle.setIcon(icon50)
+        icon52 = QtGui.QIcon()
+        icon52.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePointCircle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_linepoint_circle.setIcon(icon52)
         self.button_linepoint_circle.setIconSize(QtCore.QSize(32, 32))
         self.button_linepoint_circle.setObjectName(_fromUtf8("button_linepoint_circle"))
         self.gridLayout.addWidget(self.button_linepoint_circle, 1, 0, 1, 1)
         spacerItem9 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
         self.gridLayout.addItem(spacerItem9, 7, 0, 1, 1)
         self.button_3points_ellipse = QtGui.QPushButton(self.Circle_Tab)
-        icon51 = QtGui.QIcon()
-        icon51.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_3pointsEllipse.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_3points_ellipse.setIcon(icon51)
+        icon53 = QtGui.QIcon()
+        icon53.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_3pointsEllipse.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_3points_ellipse.setIcon(icon53)
         self.button_3points_ellipse.setIconSize(QtCore.QSize(32, 32))
         self.button_3points_ellipse.setObjectName(_fromUtf8("button_3points_ellipse"))
         self.gridLayout.addWidget(self.button_3points_ellipse, 4, 0, 1, 1)
         self.button_circle_to_sketch = QtGui.QPushButton(self.Circle_Tab)
-        self.button_circle_to_sketch.setIcon(icon19)
+        self.button_circle_to_sketch.setIcon(icon23)
         self.button_circle_to_sketch.setIconSize(QtCore.QSize(32, 32))
         self.button_circle_to_sketch.setObjectName(_fromUtf8("button_circle_to_sketch"))
         self.gridLayout.addWidget(self.button_circle_to_sketch, 8, 0, 1, 1)
         spacerItem10 = QtGui.QSpacerItem(20, 121, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
         self.gridLayout.addItem(spacerItem10, 9, 0, 1, 1)
         self.button_3points_arc = QtGui.QPushButton(self.Circle_Tab)
-        icon52 = QtGui.QIcon()
-        icon52.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_3pointsArc.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_3points_arc.setIcon(icon52)
+        icon54 = QtGui.QIcon()
+        icon54.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_3pointsArc.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_3points_arc.setIcon(icon54)
         self.button_3points_arc.setIconSize(QtCore.QSize(32, 32))
         self.button_3points_arc.setObjectName(_fromUtf8("button_3points_arc"))
         self.gridLayout.addWidget(self.button_3points_arc, 5, 0, 1, 1)
         self.button_3points_circle = QtGui.QPushButton(self.Circle_Tab)
-        icon53 = QtGui.QIcon()
-        icon53.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_3pointsCircle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_3points_circle.setIcon(icon53)
+        icon55 = QtGui.QIcon()
+        icon55.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_3pointsCircle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_3points_circle.setIcon(icon55)
         self.button_3points_circle.setIconSize(QtCore.QSize(32, 32))
         self.button_3points_circle.setObjectName(_fromUtf8("button_3points_circle"))
         self.gridLayout.addWidget(self.button_3points_circle, 2, 0, 1, 1)
         self.horizontalLayout_67 = QtGui.QHBoxLayout()
         self.horizontalLayout_67.setObjectName(_fromUtf8("horizontalLayout_67"))
         self.button_cut_circle = QtGui.QPushButton(self.Circle_Tab)
-        icon54 = QtGui.QIcon()
-        icon54.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cutCircle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_cut_circle.setIcon(icon54)
+        icon56 = QtGui.QIcon()
+        icon56.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cutCircle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_cut_circle.setIcon(icon56)
         self.button_cut_circle.setIconSize(QtCore.QSize(32, 32))
         self.button_cut_circle.setObjectName(_fromUtf8("button_cut_circle"))
         self.horizontalLayout_67.addWidget(self.button_cut_circle)
@@ -844,9 +881,9 @@ class Ui_Form(object):
         self.spin_circle_cut.setObjectName(_fromUtf8("spin_circle_cut"))
         self.horizontalLayout_67.addWidget(self.spin_circle_cut)
         self.gridLayout.addLayout(self.horizontalLayout_67, 6, 0, 1, 1)
-        icon55 = QtGui.QIcon()
-        icon55.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_circle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.tabWidget_7.addTab(self.Circle_Tab, icon55, _fromUtf8(""))
+        icon57 = QtGui.QIcon()
+        icon57.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_circle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.tabWidget_7.addTab(self.Circle_Tab, icon57, _fromUtf8(""))
         self.Plane_Tab = QtGui.QWidget()
         self.Plane_Tab.setObjectName(_fromUtf8("Plane_Tab"))
         self.gridLayout_17 = QtGui.QGridLayout(self.Plane_Tab)
@@ -858,46 +895,46 @@ class Ui_Form(object):
         self.gridLayout_18 = QtGui.QGridLayout(self.Plane_Tab1_2)
         self.gridLayout_18.setObjectName(_fromUtf8("gridLayout_18"))
         self.button_threepoints_plane = QtGui.QPushButton(self.Plane_Tab1_2)
-        icon56 = QtGui.QIcon()
-        icon56.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_threePointsPlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_threepoints_plane.setIcon(icon56)
+        icon58 = QtGui.QIcon()
+        icon58.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_threePointsPlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_threepoints_plane.setIcon(icon58)
         self.button_threepoints_plane.setIconSize(QtCore.QSize(32, 32))
         self.button_threepoints_plane.setObjectName(_fromUtf8("button_threepoints_plane"))
         self.gridLayout_18.addWidget(self.button_threepoints_plane, 0, 0, 1, 1)
         self.button_twopoints_plane = QtGui.QPushButton(self.Plane_Tab1_2)
-        icon57 = QtGui.QIcon()
-        icon57.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_twoPointsPlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_twopoints_plane.setIcon(icon57)
+        icon59 = QtGui.QIcon()
+        icon59.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_twoPointsPlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_twopoints_plane.setIcon(icon59)
         self.button_twopoints_plane.setIconSize(QtCore.QSize(32, 32))
         self.button_twopoints_plane.setObjectName(_fromUtf8("button_twopoints_plane"))
         self.gridLayout_18.addWidget(self.button_twopoints_plane, 1, 0, 1, 1)
         self.button_Npoints_plane = QtGui.QPushButton(self.Plane_Tab1_2)
-        icon58 = QtGui.QIcon()
-        icon58.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_NpointsPlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_Npoints_plane.setIcon(icon58)
+        icon60 = QtGui.QIcon()
+        icon60.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_NpointsPlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_Npoints_plane.setIcon(icon60)
         self.button_Npoints_plane.setIconSize(QtCore.QSize(32, 32))
         self.button_Npoints_plane.setObjectName(_fromUtf8("button_Npoints_plane"))
         self.gridLayout_18.addWidget(self.button_Npoints_plane, 2, 0, 1, 1)
         self.button_axisandpoint_plane = QtGui.QPushButton(self.Plane_Tab1_2)
-        icon59 = QtGui.QIcon()
-        icon59.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePointPlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_axisandpoint_plane.setIcon(icon59)
+        icon61 = QtGui.QIcon()
+        icon61.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePointPlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_axisandpoint_plane.setIcon(icon61)
         self.button_axisandpoint_plane.setIconSize(QtCore.QSize(32, 32))
         self.button_axisandpoint_plane.setObjectName(_fromUtf8("button_axisandpoint_plane"))
         self.gridLayout_18.addWidget(self.button_axisandpoint_plane, 3, 0, 1, 1)
         self.button_axis_point_plane = QtGui.QPushButton(self.Plane_Tab1_2)
-        icon60 = QtGui.QIcon()
-        icon60.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePointPlane2.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_axis_point_plane.setIcon(icon60)
+        icon62 = QtGui.QIcon()
+        icon62.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePointPlane2.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_axis_point_plane.setIcon(icon62)
         self.button_axis_point_plane.setIconSize(QtCore.QSize(32, 32))
         self.button_axis_point_plane.setObjectName(_fromUtf8("button_axis_point_plane"))
         self.gridLayout_18.addWidget(self.button_axis_point_plane, 4, 0, 1, 1)
         self.gridLayout_90 = QtGui.QGridLayout()
         self.gridLayout_90.setObjectName(_fromUtf8("gridLayout_90"))
         self.button_planeandpoint_plane = QtGui.QPushButton(self.Plane_Tab1_2)
-        icon61 = QtGui.QIcon()
-        icon61.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_pointPlanePlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_planeandpoint_plane.setIcon(icon61)
+        icon63 = QtGui.QIcon()
+        icon63.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_pointPlanePlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_planeandpoint_plane.setIcon(icon63)
         self.button_planeandpoint_plane.setIconSize(QtCore.QSize(32, 32))
         self.button_planeandpoint_plane.setObjectName(_fromUtf8("button_planeandpoint_plane"))
         self.gridLayout_90.addWidget(self.button_planeandpoint_plane, 0, 0, 1, 1)
@@ -915,9 +952,9 @@ class Ui_Form(object):
         sizePolicy.setVerticalStretch(0)
         sizePolicy.setHeightForWidth(self.button_planeandaxis_plane.sizePolicy().hasHeightForWidth())
         self.button_planeandaxis_plane.setSizePolicy(sizePolicy)
-        icon62 = QtGui.QIcon()
-        icon62.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_planeLinePlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_planeandaxis_plane.setIcon(icon62)
+        icon64 = QtGui.QIcon()
+        icon64.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_planeLinePlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_planeandaxis_plane.setIcon(icon64)
         self.button_planeandaxis_plane.setIconSize(QtCore.QSize(32, 32))
         self.button_planeandaxis_plane.setObjectName(_fromUtf8("button_planeandaxis_plane"))
         self.gridLayout_89.addWidget(self.button_planeandaxis_plane, 0, 0, 1, 1)
@@ -935,9 +972,9 @@ class Ui_Form(object):
         self.horizontalLayout_70 = QtGui.QHBoxLayout()
         self.horizontalLayout_70.setObjectName(_fromUtf8("horizontalLayout_70"))
         self.button_distPlane = QtGui.QPushButton(self.Plane_Tab1_2)
-        icon63 = QtGui.QIcon()
-        icon63.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_distPlanePlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_distPlane.setIcon(icon63)
+        icon65 = QtGui.QIcon()
+        icon65.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_distPlanePlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_distPlane.setIcon(icon65)
         self.button_distPlane.setIconSize(QtCore.QSize(32, 32))
         self.button_distPlane.setObjectName(_fromUtf8("button_distPlane"))
         self.horizontalLayout_70.addWidget(self.button_distPlane)
@@ -971,9 +1008,9 @@ class Ui_Form(object):
         sizePolicy.setVerticalStretch(0)
         sizePolicy.setHeightForWidth(self.button_face_tangent.sizePolicy().hasHeightForWidth())
         self.button_face_tangent.setSizePolicy(sizePolicy)
-        icon64 = QtGui.QIcon()
-        icon64.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_FaceTangent.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_face_tangent.setIcon(icon64)
+        icon66 = QtGui.QIcon()
+        icon66.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_FaceTangent.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_face_tangent.setIcon(icon66)
         self.button_face_tangent.setIconSize(QtCore.QSize(32, 32))
         self.button_face_tangent.setObjectName(_fromUtf8("button_face_tangent"))
         self.horizontalLayout_69.addWidget(self.button_face_tangent)
@@ -1013,9 +1050,9 @@ class Ui_Form(object):
         sizePolicy.setVerticalStretch(0)
         sizePolicy.setHeightForWidth(self.button_click_for_plane.sizePolicy().hasHeightForWidth())
         self.button_click_for_plane.setSizePolicy(sizePolicy)
-        icon65 = QtGui.QIcon()
-        icon65.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_clickPlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_click_for_plane.setIcon(icon65)
+        icon67 = QtGui.QIcon()
+        icon67.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_clickPlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_click_for_plane.setIcon(icon67)
         self.button_click_for_plane.setIconSize(QtCore.QSize(32, 32))
         self.button_click_for_plane.setObjectName(_fromUtf8("button_click_for_plane"))
         self.horizontalLayout_68.addWidget(self.button_click_for_plane)
@@ -1048,9 +1085,9 @@ class Ui_Form(object):
         sizePolicy.setVerticalStretch(0)
         sizePolicy.setHeightForWidth(self.button_extension_plane.sizePolicy().hasHeightForWidth())
         self.button_extension_plane.setSizePolicy(sizePolicy)
-        icon66 = QtGui.QIcon()
-        icon66.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_enlargePlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_extension_plane.setIcon(icon66)
+        icon68 = QtGui.QIcon()
+        icon68.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_enlargePlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_extension_plane.setIcon(icon68)
         self.button_extension_plane.setIconSize(QtCore.QSize(32, 32))
         self.button_extension_plane.setObjectName(_fromUtf8("button_extension_plane"))
         self.horizontalLayout_71.addWidget(self.button_extension_plane)
@@ -1066,9 +1103,9 @@ class Ui_Form(object):
         self.horizontalLayout_71.addWidget(self.extension_plane)
         self.gridLayout_36.addLayout(self.horizontalLayout_71, 1, 0, 1, 1)
         self.button_object_center_planes = QtGui.QPushButton(self.Plane_Tab2_2)
-        icon67 = QtGui.QIcon()
-        icon67.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_centerObjectsPlanes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_object_center_planes.setIcon(icon67)
+        icon69 = QtGui.QIcon()
+        icon69.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_centerObjectsPlanes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_object_center_planes.setIcon(icon69)
         self.button_object_center_planes.setIconSize(QtCore.QSize(32, 32))
         self.button_object_center_planes.setObjectName(_fromUtf8("button_object_center_planes"))
         self.gridLayout_36.addWidget(self.button_object_center_planes, 2, 0, 1, 1)
@@ -1076,9 +1113,9 @@ class Ui_Form(object):
         self.gridLayout_36.addItem(spacerItem12, 3, 0, 1, 1)
         self.tabWidget_3.addTab(self.Plane_Tab2_2, _fromUtf8(""))
         self.gridLayout_17.addWidget(self.tabWidget_3, 0, 0, 1, 1)
-        icon68 = QtGui.QIcon()
-        icon68.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_plane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.tabWidget_7.addTab(self.Plane_Tab, icon68, _fromUtf8(""))
+        icon70 = QtGui.QIcon()
+        icon70.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_plane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.tabWidget_7.addTab(self.Plane_Tab, icon70, _fromUtf8(""))
         self.Sweep_Tab = QtGui.QWidget()
         self.Sweep_Tab.setObjectName(_fromUtf8("Sweep_Tab"))
         self.gridLayout_6 = QtGui.QGridLayout(self.Sweep_Tab)
@@ -1115,9 +1152,9 @@ class Ui_Form(object):
         self.gridLayout_87.addWidget(self.radioButton_Frenet, 1, 1, 1, 1)
         self.gridLayout_86.addLayout(self.gridLayout_87, 0, 0, 1, 1)
         self.button_sweep = QtGui.QPushButton(self.frame_9)
-        icon69 = QtGui.QIcon()
-        icon69.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Sweep.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_sweep.setIcon(icon69)
+        icon71 = QtGui.QIcon()
+        icon71.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Sweep.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_sweep.setIcon(icon71)
         self.button_sweep.setIconSize(QtCore.QSize(32, 32))
         self.button_sweep.setObjectName(_fromUtf8("button_sweep"))
         self.gridLayout_86.addWidget(self.button_sweep, 1, 0, 1, 1)
@@ -1125,20 +1162,20 @@ class Ui_Form(object):
         spacerItem13 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
         self.gridLayout_6.addItem(spacerItem13, 3, 0, 1, 1)
         self.button_beam = QtGui.QPushButton(self.Sweep_Tab)
-        icon70 = QtGui.QIcon()
-        icon70.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Beam.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_beam.setIcon(icon70)
+        icon72 = QtGui.QIcon()
+        icon72.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Beam.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_beam.setIcon(icon72)
         self.button_beam.setIconSize(QtCore.QSize(32, 32))
         self.button_beam.setObjectName(_fromUtf8("button_beam"))
         self.gridLayout_6.addWidget(self.button_beam, 1, 0, 1, 1)
         self.button_beam_cut_miter = QtGui.QPushButton(self.Sweep_Tab)
-        icon71 = QtGui.QIcon()
-        icon71.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_BeamMiterCut.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_beam_cut_miter.setIcon(icon71)
+        icon73 = QtGui.QIcon()
+        icon73.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_BeamMiterCut.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_beam_cut_miter.setIcon(icon73)
         self.button_beam_cut_miter.setIconSize(QtCore.QSize(32, 32))
         self.button_beam_cut_miter.setObjectName(_fromUtf8("button_beam_cut_miter"))
         self.gridLayout_6.addWidget(self.button_beam_cut_miter, 2, 0, 1, 1)
-        self.tabWidget_7.addTab(self.Sweep_Tab, icon70, _fromUtf8(""))
+        self.tabWidget_7.addTab(self.Sweep_Tab, icon72, _fromUtf8(""))
         self.Objects_Tab2_2 = QtGui.QWidget()
         self.Objects_Tab2_2.setEnabled(True)
         self.Objects_Tab2_2.setMinimumSize(QtCore.QSize(0, 0))
@@ -1151,17 +1188,17 @@ class Ui_Form(object):
         self.verticalLayout_4.setObjectName(_fromUtf8("verticalLayout_4"))
         self.button_boundingboxes = QtGui.QPushButton(self.Objects_Tab2_2)
         self.button_boundingboxes.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        icon72 = QtGui.QIcon()
-        icon72.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_boundingBoxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_boundingboxes.setIcon(icon72)
+        icon74 = QtGui.QIcon()
+        icon74.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_boundingBoxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_boundingboxes.setIcon(icon74)
         self.button_boundingboxes.setIconSize(QtCore.QSize(32, 32))
         self.button_boundingboxes.setObjectName(_fromUtf8("button_boundingboxes"))
         self.verticalLayout_4.addWidget(self.button_boundingboxes)
         self.button_boundingbox = QtGui.QPushButton(self.Objects_Tab2_2)
         self.button_boundingbox.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        icon73 = QtGui.QIcon()
-        icon73.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_boundingBox.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_boundingbox.setIcon(icon73)
+        icon75 = QtGui.QIcon()
+        icon75.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_boundingBox.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_boundingbox.setIcon(icon75)
         self.button_boundingbox.setIconSize(QtCore.QSize(32, 32))
         self.button_boundingbox.setObjectName(_fromUtf8("button_boundingbox"))
         self.verticalLayout_4.addWidget(self.button_boundingbox)
@@ -1182,9 +1219,9 @@ class Ui_Form(object):
         self.gridLayout_93 = QtGui.QGridLayout()
         self.gridLayout_93.setObjectName(_fromUtf8("gridLayout_93"))
         self.button_cylinder_create = QtGui.QPushButton(self.Objects_Tab2_2)
-        icon74 = QtGui.QIcon()
-        icon74.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cylinder.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_cylinder_create.setIcon(icon74)
+        icon76 = QtGui.QIcon()
+        icon76.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cylinder.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_cylinder_create.setIcon(icon76)
         self.button_cylinder_create.setIconSize(QtCore.QSize(32, 32))
         self.button_cylinder_create.setObjectName(_fromUtf8("button_cylinder_create"))
         self.gridLayout_93.addWidget(self.button_cylinder_create, 0, 0, 1, 1)
@@ -1212,9 +1249,9 @@ class Ui_Form(object):
         self.horizontalLayout_73 = QtGui.QHBoxLayout()
         self.horizontalLayout_73.setObjectName(_fromUtf8("horizontalLayout_73"))
         self.button_cube_create = QtGui.QPushButton(self.Objects_Tab2_2)
-        icon75 = QtGui.QIcon()
-        icon75.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cube.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_cube_create.setIcon(icon75)
+        icon77 = QtGui.QIcon()
+        icon77.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cube.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_cube_create.setIcon(icon77)
         self.button_cube_create.setIconSize(QtCore.QSize(32, 32))
         self.button_cube_create.setObjectName(_fromUtf8("button_cube_create"))
         self.horizontalLayout_73.addWidget(self.button_cube_create)
@@ -1242,9 +1279,9 @@ class Ui_Form(object):
         self.horizontalLayout_74 = QtGui.QHBoxLayout()
         self.horizontalLayout_74.setObjectName(_fromUtf8("horizontalLayout_74"))
         self.button_sphere_create = QtGui.QPushButton(self.Objects_Tab2_2)
-        icon76 = QtGui.QIcon()
-        icon76.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_sphere.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_sphere_create.setIcon(icon76)
+        icon78 = QtGui.QIcon()
+        icon78.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_sphere.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_sphere_create.setIcon(icon78)
         self.button_sphere_create.setIconSize(QtCore.QSize(32, 32))
         self.button_sphere_create.setObjectName(_fromUtf8("button_sphere_create"))
         self.horizontalLayout_74.addWidget(self.button_sphere_create)
@@ -1262,9 +1299,9 @@ class Ui_Form(object):
         self.horizontalLayout_77 = QtGui.QHBoxLayout()
         self.horizontalLayout_77.setObjectName(_fromUtf8("horizontalLayout_77"))
         self.button_dome_create = QtGui.QPushButton(self.Objects_Tab2_2)
-        icon77 = QtGui.QIcon()
-        icon77.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_dome.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_dome_create.setIcon(icon77)
+        icon79 = QtGui.QIcon()
+        icon79.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_dome.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_dome_create.setIcon(icon79)
         self.button_dome_create.setIconSize(QtCore.QSize(32, 32))
         self.button_dome_create.setObjectName(_fromUtf8("button_dome_create"))
         self.horizontalLayout_77.addWidget(self.button_dome_create)
@@ -1291,9 +1328,9 @@ class Ui_Form(object):
         self.horizontalLayout_75 = QtGui.QHBoxLayout()
         self.horizontalLayout_75.setObjectName(_fromUtf8("horizontalLayout_75"))
         self.button_letter = QtGui.QPushButton(self.Objects_Tab2_2)
-        icon78 = QtGui.QIcon()
-        icon78.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_pointText.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_letter.setIcon(icon78)
+        icon80 = QtGui.QIcon()
+        icon80.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_pointText.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_letter.setIcon(icon80)
         self.button_letter.setIconSize(QtCore.QSize(32, 32))
         self.button_letter.setObjectName(_fromUtf8("button_letter"))
         self.horizontalLayout_75.addWidget(self.button_letter)
@@ -1315,9 +1352,9 @@ class Ui_Form(object):
         self.horizontalLayout_76 = QtGui.QHBoxLayout()
         self.horizontalLayout_76.setObjectName(_fromUtf8("horizontalLayout_76"))
         self.button_revolve = QtGui.QPushButton(self.Objects_Tab2_2)
-        icon79 = QtGui.QIcon()
-        icon79.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Revolve.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_revolve.setIcon(icon79)
+        icon81 = QtGui.QIcon()
+        icon81.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Revolve.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_revolve.setIcon(icon81)
         self.button_revolve.setIconSize(QtCore.QSize(32, 32))
         self.button_revolve.setObjectName(_fromUtf8("button_revolve"))
         self.horizontalLayout_76.addWidget(self.button_revolve)
@@ -1333,61 +1370,41 @@ class Ui_Form(object):
         self.horizontalLayout_76.addWidget(self.angle_revolve)
         self.gridLayout_5.addLayout(self.horizontalLayout_76, 7, 0, 1, 1)
         self.button_copy_objects = QtGui.QPushButton(self.Objects_Tab2_2)
-        icon80 = QtGui.QIcon()
-        icon80.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectCopy.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_copy_objects.setIcon(icon80)
+        icon82 = QtGui.QIcon()
+        icon82.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectCopy.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_copy_objects.setIcon(icon82)
         self.button_copy_objects.setIconSize(QtCore.QSize(32, 32))
         self.button_copy_objects.setObjectName(_fromUtf8("button_copy_objects"))
         self.gridLayout_5.addWidget(self.button_copy_objects, 8, 0, 1, 1)
         self.button_common = QtGui.QPushButton(self.Objects_Tab2_2)
-        icon81 = QtGui.QIcon()
-        icon81.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Common.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_common.setIcon(icon81)
+        icon83 = QtGui.QIcon()
+        icon83.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Common.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_common.setIcon(icon83)
         self.button_common.setIconSize(QtCore.QSize(32, 32))
         self.button_common.setObjectName(_fromUtf8("button_common"))
         self.gridLayout_5.addWidget(self.button_common, 9, 0, 1, 1)
         self.button_difference = QtGui.QPushButton(self.Objects_Tab2_2)
-        icon82 = QtGui.QIcon()
-        icon82.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Difference.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_difference.setIcon(icon82)
+        icon84 = QtGui.QIcon()
+        icon84.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Difference.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_difference.setIcon(icon84)
         self.button_difference.setIconSize(QtCore.QSize(32, 32))
         self.button_difference.setObjectName(_fromUtf8("button_difference"))
         self.gridLayout_5.addWidget(self.button_difference, 10, 0, 1, 1)
         spacerItem14 = QtGui.QSpacerItem(17, 8, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
         self.gridLayout_5.addItem(spacerItem14, 11, 0, 1, 1)
-        icon83 = QtGui.QIcon()
-        icon83.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_box.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.tabWidget_7.addTab(self.Objects_Tab2_2, icon83, _fromUtf8(""))
+        icon85 = QtGui.QIcon()
+        icon85.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_box.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.tabWidget_7.addTab(self.Objects_Tab2_2, icon85, _fromUtf8(""))
         self.tab_2 = QtGui.QWidget()
         self.tab_2.setObjectName(_fromUtf8("tab_2"))
         self.gridLayout_8 = QtGui.QGridLayout(self.tab_2)
         self.gridLayout_8.setObjectName(_fromUtf8("gridLayout_8"))
-        self.horizontalLayout_3 = QtGui.QHBoxLayout()
-        self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3"))
-        self.button_rotate_image = QtGui.QPushButton(self.tab_2)
-        self.button_rotate_image.setObjectName(_fromUtf8("button_rotate_image"))
-        self.horizontalLayout_3.addWidget(self.button_rotate_image)
-        self.Image_comboBox_axis_rotate = QtGui.QComboBox(self.tab_2)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.Image_comboBox_axis_rotate.sizePolicy().hasHeightForWidth())
-        self.Image_comboBox_axis_rotate.setSizePolicy(sizePolicy)
-        self.Image_comboBox_axis_rotate.setMinimumSize(QtCore.QSize(40, 0))
-        self.Image_comboBox_axis_rotate.setMaximumSize(QtCore.QSize(60, 16777215))
-        self.Image_comboBox_axis_rotate.setLayoutDirection(QtCore.Qt.LeftToRight)
-        self.Image_comboBox_axis_rotate.setObjectName(_fromUtf8("Image_comboBox_axis_rotate"))
-        self.Image_comboBox_axis_rotate.addItem(_fromUtf8(""))
-        self.Image_comboBox_axis_rotate.addItem(_fromUtf8(""))
-        self.Image_comboBox_axis_rotate.addItem(_fromUtf8(""))
-        self.horizontalLayout_3.addWidget(self.Image_comboBox_axis_rotate)
-        self.gridLayout_8.addLayout(self.horizontalLayout_3, 0, 0, 1, 1)
         self.horizontalLayout_4 = QtGui.QHBoxLayout()
         self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4"))
         self.button_scale_image = QtGui.QPushButton(self.tab_2)
-        icon84 = QtGui.QIcon()
-        icon84.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_ImageScale.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_scale_image.setIcon(icon84)
+        icon86 = QtGui.QIcon()
+        icon86.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_ImageScale.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_scale_image.setIcon(icon86)
         self.button_scale_image.setIconSize(QtCore.QSize(32, 32))
         self.button_scale_image.setObjectName(_fromUtf8("button_scale_image"))
         self.horizontalLayout_4.addWidget(self.button_scale_image)
@@ -1418,9 +1435,9 @@ class Ui_Form(object):
         self.length_image.setMaximumSize(QtCore.QSize(50, 16777215))
         self.length_image.setObjectName(_fromUtf8("length_image"))
         self.horizontalLayout_4.addWidget(self.length_image)
-        self.gridLayout_8.addLayout(self.horizontalLayout_4, 1, 0, 1, 1)
+        self.gridLayout_8.addLayout(self.horizontalLayout_4, 0, 0, 1, 1)
         spacerItem15 = QtGui.QSpacerItem(20, 650, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
-        self.gridLayout_8.addItem(spacerItem15, 2, 0, 1, 1)
+        self.gridLayout_8.addItem(spacerItem15, 1, 0, 1, 1)
         self.tabWidget_7.addTab(self.tab_2, _fromUtf8(""))
         self.Modif_Tab_2 = QtGui.QWidget()
         self.Modif_Tab_2.setObjectName(_fromUtf8("Modif_Tab_2"))
@@ -1439,9 +1456,9 @@ class Ui_Form(object):
         sizePolicy.setHeightForWidth(self.button_alignface2view.sizePolicy().hasHeightForWidth())
         self.button_alignface2view.setSizePolicy(sizePolicy)
         self.button_alignface2view.setMaximumSize(QtCore.QSize(220, 16777215))
-        icon85 = QtGui.QIcon()
-        icon85.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_viewAlignFace.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_alignface2view.setIcon(icon85)
+        icon87 = QtGui.QIcon()
+        icon87.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_viewAlignFace.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_alignface2view.setIcon(icon87)
         self.button_alignface2view.setIconSize(QtCore.QSize(32, 32))
         self.button_alignface2view.setObjectName(_fromUtf8("button_alignface2view"))
         self.gridLayout_9.addWidget(self.button_alignface2view, 0, 0, 1, 1)
@@ -1449,9 +1466,9 @@ class Ui_Form(object):
         self.horizontalLayout_78.setObjectName(_fromUtf8("horizontalLayout_78"))
         self.button_align_faces = QtGui.QPushButton(self.align_tab_2)
         self.button_align_faces.setMaximumSize(QtCore.QSize(220, 16777215))
-        icon86 = QtGui.QIcon()
-        icon86.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectAlignFaces.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_align_faces.setIcon(icon86)
+        icon88 = QtGui.QIcon()
+        icon88.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectAlignFaces.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_align_faces.setIcon(icon88)
         self.button_align_faces.setIconSize(QtCore.QSize(32, 32))
         self.button_align_faces.setObjectName(_fromUtf8("button_align_faces"))
         self.horizontalLayout_78.addWidget(self.button_align_faces)
@@ -1470,9 +1487,9 @@ class Ui_Form(object):
         self.horizontalLayout_79.setObjectName(_fromUtf8("horizontalLayout_79"))
         self.button_align_edges = QtGui.QPushButton(self.align_tab_2)
         self.button_align_edges.setMaximumSize(QtCore.QSize(220, 16777215))
-        icon87 = QtGui.QIcon()
-        icon87.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectAlignAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_align_edges.setIcon(icon87)
+        icon89 = QtGui.QIcon()
+        icon89.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectAlignAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_align_edges.setIcon(icon89)
         self.button_align_edges.setIconSize(QtCore.QSize(32, 32))
         self.button_align_edges.setObjectName(_fromUtf8("button_align_edges"))
         self.horizontalLayout_79.addWidget(self.button_align_edges)
@@ -1490,9 +1507,9 @@ class Ui_Form(object):
         self.horizontalLayout_2 = QtGui.QHBoxLayout()
         self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
         self.button_align_main_axis = QtGui.QPushButton(self.align_tab_2)
-        icon88 = QtGui.QIcon()
-        icon88.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectAlignMainAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_align_main_axis.setIcon(icon88)
+        icon90 = QtGui.QIcon()
+        icon90.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectAlignMainAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_align_main_axis.setIcon(icon90)
         self.button_align_main_axis.setIconSize(QtCore.QSize(32, 32))
         self.button_align_main_axis.setObjectName(_fromUtf8("button_align_main_axis"))
         self.horizontalLayout_2.addWidget(self.button_align_main_axis)
@@ -1508,16 +1525,16 @@ class Ui_Form(object):
         self.horizontalLayout_2.addWidget(self.angle_align_main_axis)
         self.gridLayout_9.addLayout(self.horizontalLayout_2, 3, 0, 1, 1)
         self.button_joint_points = QtGui.QPushButton(self.align_tab_2)
-        icon89 = QtGui.QIcon()
-        icon89.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectJointPoints.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_joint_points.setIcon(icon89)
+        icon91 = QtGui.QIcon()
+        icon91.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectJointPoints.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_joint_points.setIcon(icon91)
         self.button_joint_points.setIconSize(QtCore.QSize(32, 32))
         self.button_joint_points.setObjectName(_fromUtf8("button_joint_points"))
         self.gridLayout_9.addWidget(self.button_joint_points, 4, 0, 1, 1)
         self.button_joint_faces = QtGui.QPushButton(self.align_tab_2)
-        icon90 = QtGui.QIcon()
-        icon90.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectJointFaces.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_joint_faces.setIcon(icon90)
+        icon92 = QtGui.QIcon()
+        icon92.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectJointFaces.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_joint_faces.setIcon(icon92)
         self.button_joint_faces.setIconSize(QtCore.QSize(32, 32))
         self.button_joint_faces.setObjectName(_fromUtf8("button_joint_faces"))
         self.gridLayout_9.addWidget(self.button_joint_faces, 5, 0, 1, 1)
@@ -1689,9 +1706,9 @@ class Ui_Form(object):
         self.ObjRot_button_select_axis.setMaximumSize(QtCore.QSize(80, 16777215))
         self.ObjRot_button_select_axis.setObjectName(_fromUtf8("ObjRot_button_select_axis"))
         self.gridLayout_105.addWidget(self.ObjRot_button_select_axis, 1, 0, 1, 1)
-        icon91 = QtGui.QIcon()
-        icon91.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_rotationAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.tabWidget_10.addTab(self.tab_18, icon91, _fromUtf8(""))
+        icon93 = QtGui.QIcon()
+        icon93.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_rotationAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.tabWidget_10.addTab(self.tab_18, icon93, _fromUtf8(""))
         self.tab_19 = QtGui.QWidget()
         self.tab_19.setObjectName(_fromUtf8("tab_19"))
         self.gridLayout_106 = QtGui.QGridLayout(self.tab_19)
@@ -1718,9 +1735,9 @@ class Ui_Form(object):
         self.ObjRot_button_select_center.setMaximumSize(QtCore.QSize(80, 16777215))
         self.ObjRot_button_select_center.setObjectName(_fromUtf8("ObjRot_button_select_center"))
         self.gridLayout_106.addWidget(self.ObjRot_button_select_center, 1, 0, 1, 1)
-        icon92 = QtGui.QIcon()
-        icon92.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_rotationPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.tabWidget_10.addTab(self.tab_19, icon92, _fromUtf8(""))
+        icon94 = QtGui.QIcon()
+        icon94.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_rotationPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.tabWidget_10.addTab(self.tab_19, icon94, _fromUtf8(""))
         self.gridLayout_104.addWidget(self.tabWidget_10, 1, 0, 1, 1)
         self.groupBox_21 = QtGui.QGroupBox(self.frame_11)
         self.groupBox_21.setMinimumSize(QtCore.QSize(150, 67))
@@ -1756,9 +1773,9 @@ class Ui_Form(object):
         self.ObjRot_button_select_angle.setMaximumSize(QtCore.QSize(80, 16777215))
         self.ObjRot_button_select_angle.setObjectName(_fromUtf8("ObjRot_button_select_angle"))
         self.gridLayout_109.addWidget(self.ObjRot_button_select_angle, 0, 0, 1, 1)
-        icon93 = QtGui.QIcon()
-        icon93.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_click.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.tabWidget_11.addTab(self.tab_21, icon93, _fromUtf8(""))
+        icon95 = QtGui.QIcon()
+        icon95.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_click.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.tabWidget_11.addTab(self.tab_21, icon95, _fromUtf8(""))
         self.gridLayout_107.addWidget(self.tabWidget_11, 0, 0, 1, 1)
         self.horizontalLayout_81 = QtGui.QHBoxLayout()
         self.horizontalLayout_81.setObjectName(_fromUtf8("horizontalLayout_81"))
@@ -1800,8 +1817,8 @@ class Ui_Form(object):
         self.tabWidget_9.addTab(self.rotate_tab_2, _fromUtf8(""))
         self.translate_tab_2 = QtGui.QWidget()
         self.translate_tab_2.setObjectName(_fromUtf8("translate_tab_2"))
-        self.gridLayout_60 = QtGui.QGridLayout(self.translate_tab_2)
-        self.gridLayout_60.setObjectName(_fromUtf8("gridLayout_60"))
+        self.gridLayout_20 = QtGui.QGridLayout(self.translate_tab_2)
+        self.gridLayout_20.setObjectName(_fromUtf8("gridLayout_20"))
         self.frame_12 = QtGui.QFrame(self.translate_tab_2)
         sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
         sizePolicy.setHorizontalStretch(0)
@@ -1837,7 +1854,23 @@ class Ui_Form(object):
         self.ObjTrans_deepCopy.setObjectName(_fromUtf8("ObjTrans_deepCopy"))
         self.horizontalLayout_83.addWidget(self.ObjTrans_deepCopy)
         self.gridLayout_111.addLayout(self.horizontalLayout_83, 1, 0, 1, 1)
+        self.horizontalLayout_84 = QtGui.QHBoxLayout()
+        self.horizontalLayout_84.setObjectName(_fromUtf8("horizontalLayout_84"))
+        self.ObjTrans_button_reset = QtGui.QPushButton(self.frame_12)
+        self.ObjTrans_button_reset.setMinimumSize(QtCore.QSize(40, 0))
+        self.ObjTrans_button_reset.setMaximumSize(QtCore.QSize(60, 16777215))
+        self.ObjTrans_button_reset.setObjectName(_fromUtf8("ObjTrans_button_reset"))
+        self.horizontalLayout_84.addWidget(self.ObjTrans_button_reset)
+        spacerItem21 = QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+        self.horizontalLayout_84.addItem(spacerItem21)
+        self.ObjTrans_button_apply = QtGui.QPushButton(self.frame_12)
+        self.ObjTrans_button_apply.setMinimumSize(QtCore.QSize(40, 0))
+        self.ObjTrans_button_apply.setMaximumSize(QtCore.QSize(60, 16777215))
+        self.ObjTrans_button_apply.setObjectName(_fromUtf8("ObjTrans_button_apply"))
+        self.horizontalLayout_84.addWidget(self.ObjTrans_button_apply)
+        self.gridLayout_111.addLayout(self.horizontalLayout_84, 3, 0, 1, 1)
         self.tabWidget_12 = QtGui.QTabWidget(self.frame_12)
+        self.tabWidget_12.setEnabled(True)
         self.tabWidget_12.setObjectName(_fromUtf8("tabWidget_12"))
         self.tab_22 = QtGui.QWidget()
         self.tab_22.setObjectName(_fromUtf8("tab_22"))
@@ -1852,8 +1885,8 @@ class Ui_Form(object):
         self.groupBox_22.setMinimumSize(QtCore.QSize(150, 0))
         self.groupBox_22.setFlat(False)
         self.groupBox_22.setObjectName(_fromUtf8("groupBox_22"))
-        self.gridLayout_113 = QtGui.QGridLayout(self.groupBox_22)
-        self.gridLayout_113.setObjectName(_fromUtf8("gridLayout_113"))
+        self.gridLayout_19 = QtGui.QGridLayout(self.groupBox_22)
+        self.gridLayout_19.setObjectName(_fromUtf8("gridLayout_19"))
         self.ObjTrans_comboBox_start = QtGui.QComboBox(self.groupBox_22)
         self.ObjTrans_comboBox_start.setEnabled(True)
         sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed)
@@ -1870,13 +1903,14 @@ class Ui_Form(object):
         self.ObjTrans_comboBox_start.addItem(_fromUtf8(""))
         self.ObjTrans_comboBox_start.addItem(_fromUtf8(""))
         self.ObjTrans_comboBox_start.addItem(_fromUtf8(""))
-        self.gridLayout_113.addWidget(self.ObjTrans_comboBox_start, 0, 0, 1, 1)
+        self.ObjTrans_comboBox_start.addItem(_fromUtf8(""))
+        self.gridLayout_19.addWidget(self.ObjTrans_comboBox_start, 0, 0, 1, 1)
         self.ObjTrans_button_select_start = QtGui.QPushButton(self.groupBox_22)
         self.ObjTrans_button_select_start.setEnabled(True)
-        self.ObjTrans_button_select_start.setMinimumSize(QtCore.QSize(50, 0))
-        self.ObjTrans_button_select_start.setMaximumSize(QtCore.QSize(120, 16777215))
+        self.ObjTrans_button_select_start.setMinimumSize(QtCore.QSize(0, 0))
+        self.ObjTrans_button_select_start.setMaximumSize(QtCore.QSize(100, 29))
         self.ObjTrans_button_select_start.setObjectName(_fromUtf8("ObjTrans_button_select_start"))
-        self.gridLayout_113.addWidget(self.ObjTrans_button_select_start, 1, 0, 1, 1)
+        self.gridLayout_19.addWidget(self.ObjTrans_button_select_start, 1, 0, 1, 1)
         self.gridLayout_114 = QtGui.QGridLayout()
         self.gridLayout_114.setObjectName(_fromUtf8("gridLayout_114"))
         self.gridLayout_115 = QtGui.QGridLayout()
@@ -1915,21 +1949,20 @@ class Ui_Form(object):
         self.ObjTrans_start_z.setObjectName(_fromUtf8("ObjTrans_start_z"))
         self.gridLayout_117.addWidget(self.ObjTrans_start_z, 0, 1, 1, 1)
         self.gridLayout_114.addLayout(self.gridLayout_117, 2, 0, 1, 1)
-        self.gridLayout_113.addLayout(self.gridLayout_114, 2, 0, 1, 1)
+        self.gridLayout_19.addLayout(self.gridLayout_114, 2, 0, 1, 1)
         self.gridLayout_112.addWidget(self.groupBox_22, 0, 0, 1, 1)
-        icon94 = QtGui.QIcon()
-        icon94.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_startPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.tabWidget_12.addTab(self.tab_22, icon94, _fromUtf8(""))
+        icon96 = QtGui.QIcon()
+        icon96.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_startPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.tabWidget_12.addTab(self.tab_22, icon96, _fromUtf8(""))
         self.tab_23 = QtGui.QWidget()
         self.tab_23.setObjectName(_fromUtf8("tab_23"))
-        self.gridLayout_118 = QtGui.QGridLayout(self.tab_23)
-        self.gridLayout_118.setObjectName(_fromUtf8("gridLayout_118"))
         self.groupBox_23 = QtGui.QGroupBox(self.tab_23)
+        self.groupBox_23.setGeometry(QtCore.QRect(9, 9, 183, 225))
         self.groupBox_23.setMinimumSize(QtCore.QSize(150, 0))
         self.groupBox_23.setFlat(False)
         self.groupBox_23.setObjectName(_fromUtf8("groupBox_23"))
-        self.gridLayout_119 = QtGui.QGridLayout(self.groupBox_23)
-        self.gridLayout_119.setObjectName(_fromUtf8("gridLayout_119"))
+        self.gridLayout_12 = QtGui.QGridLayout(self.groupBox_23)
+        self.gridLayout_12.setObjectName(_fromUtf8("gridLayout_12"))
         self.ObjTrans_comboBox_end = QtGui.QComboBox(self.groupBox_23)
         self.ObjTrans_comboBox_end.setEnabled(True)
         sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed)
@@ -1947,13 +1980,18 @@ class Ui_Form(object):
         self.ObjTrans_comboBox_end.addItem(_fromUtf8(""))
         self.ObjTrans_comboBox_end.addItem(_fromUtf8(""))
         self.ObjTrans_comboBox_end.addItem(_fromUtf8(""))
-        self.gridLayout_119.addWidget(self.ObjTrans_comboBox_end, 0, 0, 1, 1)
+        self.gridLayout_12.addWidget(self.ObjTrans_comboBox_end, 0, 0, 1, 1)
         self.ObjTrans_button_select_end = QtGui.QPushButton(self.groupBox_23)
         self.ObjTrans_button_select_end.setEnabled(True)
-        self.ObjTrans_button_select_end.setMinimumSize(QtCore.QSize(100, 0))
-        self.ObjTrans_button_select_end.setMaximumSize(QtCore.QSize(120, 16777215))
+        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Minimum)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.ObjTrans_button_select_end.sizePolicy().hasHeightForWidth())
+        self.ObjTrans_button_select_end.setSizePolicy(sizePolicy)
+        self.ObjTrans_button_select_end.setMinimumSize(QtCore.QSize(0, 0))
+        self.ObjTrans_button_select_end.setMaximumSize(QtCore.QSize(100, 29))
         self.ObjTrans_button_select_end.setObjectName(_fromUtf8("ObjTrans_button_select_end"))
-        self.gridLayout_119.addWidget(self.ObjTrans_button_select_end, 1, 0, 1, 1)
+        self.gridLayout_12.addWidget(self.ObjTrans_button_select_end, 1, 0, 1, 1)
         self.gridLayout_120 = QtGui.QGridLayout()
         self.gridLayout_120.setObjectName(_fromUtf8("gridLayout_120"))
         self.gridLayout_121 = QtGui.QGridLayout()
@@ -1992,30 +2030,55 @@ class Ui_Form(object):
         self.ObjTrans_end_x.setObjectName(_fromUtf8("ObjTrans_end_x"))
         self.gridLayout_123.addWidget(self.ObjTrans_end_x, 0, 1, 1, 1)
         self.gridLayout_120.addLayout(self.gridLayout_123, 0, 0, 1, 1)
-        self.gridLayout_119.addLayout(self.gridLayout_120, 2, 0, 1, 1)
-        self.gridLayout_118.addWidget(self.groupBox_23, 0, 0, 1, 1)
-        icon95 = QtGui.QIcon()
-        icon95.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_endPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.tabWidget_12.addTab(self.tab_23, icon95, _fromUtf8(""))
+        self.gridLayout_12.addLayout(self.gridLayout_120, 2, 0, 1, 1)
+        icon97 = QtGui.QIcon()
+        icon97.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_endPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.tabWidget_12.addTab(self.tab_23, icon97, _fromUtf8(""))
+        self.tab = QtGui.QWidget()
+        self.tab.setObjectName(_fromUtf8("tab"))
+        self.gridLayout_21 = QtGui.QGridLayout(self.tab)
+        self.gridLayout_21.setObjectName(_fromUtf8("gridLayout_21"))
+        self.verticalLayout = QtGui.QVBoxLayout()
+        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
+        self.ObjTrans_horizontalSlider = QtGui.QSlider(self.tab)
+        self.ObjTrans_horizontalSlider.setEnabled(False)
+        self.ObjTrans_horizontalSlider.setMinimumSize(QtCore.QSize(0, 39))
+        self.ObjTrans_horizontalSlider.setMaximumSize(QtCore.QSize(16777215, 16777215))
+        self.ObjTrans_horizontalSlider.setMinimum(-1000)
+        self.ObjTrans_horizontalSlider.setMaximum(1000)
+        self.ObjTrans_horizontalSlider.setProperty("value", 100)
+        self.ObjTrans_horizontalSlider.setOrientation(QtCore.Qt.Horizontal)
+        self.ObjTrans_horizontalSlider.setTickPosition(QtGui.QSlider.TicksBothSides)
+        self.ObjTrans_horizontalSlider.setTickInterval(20)
+        self.ObjTrans_horizontalSlider.setObjectName(_fromUtf8("ObjTrans_horizontalSlider"))
+        self.verticalLayout.addWidget(self.ObjTrans_horizontalSlider)
+        self.horizontalLayout_85 = QtGui.QHBoxLayout()
+        self.horizontalLayout_85.setObjectName(_fromUtf8("horizontalLayout_85"))
+        self.ObjTrans_lineEdit_length_seg = QtGui.QLineEdit(self.tab)
+        self.ObjTrans_lineEdit_length_seg.setEnabled(False)
+        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.MinimumExpanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.ObjTrans_lineEdit_length_seg.sizePolicy().hasHeightForWidth())
+        self.ObjTrans_lineEdit_length_seg.setSizePolicy(sizePolicy)
+        self.ObjTrans_lineEdit_length_seg.setMinimumSize(QtCore.QSize(40, 0))
+        self.ObjTrans_lineEdit_length_seg.setMaximumSize(QtCore.QSize(60, 16777215))
+        self.ObjTrans_lineEdit_length_seg.setMaxLength(32769)
+        self.ObjTrans_lineEdit_length_seg.setObjectName(_fromUtf8("ObjTrans_lineEdit_length_seg"))
+        self.horizontalLayout_85.addWidget(self.ObjTrans_lineEdit_length_seg)
+        self.label_length_segment = QtGui.QLabel(self.tab)
+        self.label_length_segment.setMaximumSize(QtCore.QSize(60, 16777215))
+        self.label_length_segment.setObjectName(_fromUtf8("label_length_segment"))
+        self.horizontalLayout_85.addWidget(self.label_length_segment)
+        self.verticalLayout.addLayout(self.horizontalLayout_85)
+        self.gridLayout_21.addLayout(self.verticalLayout, 0, 0, 1, 1)
+        spacerItem22 = QtGui.QSpacerItem(20, 138, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+        self.gridLayout_21.addItem(spacerItem22, 1, 0, 1, 1)
+        self.tabWidget_12.addTab(self.tab, _fromUtf8(""))
         self.gridLayout_111.addWidget(self.tabWidget_12, 2, 0, 1, 1)
-        self.horizontalLayout_84 = QtGui.QHBoxLayout()
-        self.horizontalLayout_84.setObjectName(_fromUtf8("horizontalLayout_84"))
-        self.ObjTrans_button_reset = QtGui.QPushButton(self.frame_12)
-        self.ObjTrans_button_reset.setMinimumSize(QtCore.QSize(40, 0))
-        self.ObjTrans_button_reset.setMaximumSize(QtCore.QSize(60, 16777215))
-        self.ObjTrans_button_reset.setObjectName(_fromUtf8("ObjTrans_button_reset"))
-        self.horizontalLayout_84.addWidget(self.ObjTrans_button_reset)
-        spacerItem21 = QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
-        self.horizontalLayout_84.addItem(spacerItem21)
-        self.ObjTrans_button_apply = QtGui.QPushButton(self.frame_12)
-        self.ObjTrans_button_apply.setMinimumSize(QtCore.QSize(40, 0))
-        self.ObjTrans_button_apply.setMaximumSize(QtCore.QSize(60, 16777215))
-        self.ObjTrans_button_apply.setObjectName(_fromUtf8("ObjTrans_button_apply"))
-        self.horizontalLayout_84.addWidget(self.ObjTrans_button_apply)
-        self.gridLayout_111.addLayout(self.horizontalLayout_84, 3, 0, 1, 1)
-        self.gridLayout_60.addWidget(self.frame_12, 0, 0, 1, 1)
-        spacerItem22 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
-        self.gridLayout_60.addItem(spacerItem22, 1, 0, 1, 1)
+        self.gridLayout_20.addWidget(self.frame_12, 0, 0, 1, 1)
+        spacerItem23 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+        self.gridLayout_20.addItem(spacerItem23, 1, 0, 1, 1)
         self.tabWidget_9.addTab(self.translate_tab_2, _fromUtf8(""))
         self.gridLayout_94.addWidget(self.tabWidget_9, 0, 0, 1, 1)
         self.tabWidget_7.addTab(self.Modif_Tab_2, _fromUtf8(""))
@@ -2030,135 +2093,136 @@ class Ui_Form(object):
         sizePolicy.setHeightForWidth(self.button_alignview.sizePolicy().hasHeightForWidth())
         self.button_alignview.setSizePolicy(sizePolicy)
         self.button_alignview.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        icon96 = QtGui.QIcon()
-        icon96.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_viewAlign.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_alignview.setIcon(icon96)
+        icon98 = QtGui.QIcon()
+        icon98.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_viewAlign.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_alignview.setIcon(icon98)
         self.button_alignview.setIconSize(QtCore.QSize(32, 32))
         self.button_alignview.setObjectName(_fromUtf8("button_alignview"))
         self.gridLayout_124.addWidget(self.button_alignview, 0, 0, 1, 1)
-        spacerItem23 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
-        self.gridLayout_124.addItem(spacerItem23, 2, 0, 1, 1)
+        spacerItem24 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+        self.gridLayout_124.addItem(spacerItem24, 2, 0, 1, 1)
         self.button_trackcamera = QtGui.QPushButton(self.View_Tab_2)
-        icon97 = QtGui.QIcon()
-        icon97.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_trackCamera.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_trackcamera.setIcon(icon97)
+        icon99 = QtGui.QIcon()
+        icon99.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_trackCamera.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_trackcamera.setIcon(icon99)
         self.button_trackcamera.setIconSize(QtCore.QSize(32, 32))
         self.button_trackcamera.setObjectName(_fromUtf8("button_trackcamera"))
         self.gridLayout_124.addWidget(self.button_trackcamera, 1, 0, 1, 1)
-        icon98 = QtGui.QIcon()
-        icon98.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_view.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.tabWidget_7.addTab(self.View_Tab_2, icon98, _fromUtf8(""))
+        icon100 = QtGui.QIcon()
+        icon100.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_view.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.tabWidget_7.addTab(self.View_Tab_2, icon100, _fromUtf8(""))
         self.tab_24 = QtGui.QWidget()
         self.tab_24.setObjectName(_fromUtf8("tab_24"))
         self.gridLayout_125 = QtGui.QGridLayout(self.tab_24)
         self.gridLayout_125.setObjectName(_fromUtf8("gridLayout_125"))
         self.button_isView = QtGui.QPushButton(self.tab_24)
-        icon99 = QtGui.QIcon()
-        icon99.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_FCCamera_02.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_isView.setIcon(icon99)
+        icon101 = QtGui.QIcon()
+        icon101.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_FCCamera_02.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_isView.setIcon(icon101)
         self.button_isView.setIconSize(QtCore.QSize(32, 32))
         self.button_isView.setObjectName(_fromUtf8("button_isView"))
         self.gridLayout_125.addWidget(self.button_isView, 9, 0, 1, 1)
-        spacerItem24 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
-        self.gridLayout_125.addItem(spacerItem24, 10, 0, 1, 1)
+        spacerItem25 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+        self.gridLayout_125.addItem(spacerItem25, 10, 0, 1, 1)
         self.button_isParallel = QtGui.QPushButton(self.tab_24)
-        icon100 = QtGui.QIcon()
-        icon100.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isParallel.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_isParallel.setIcon(icon100)
+        icon102 = QtGui.QIcon()
+        icon102.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isParallel.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_isParallel.setIcon(icon102)
         self.button_isParallel.setIconSize(QtCore.QSize(32, 32))
         self.button_isParallel.setObjectName(_fromUtf8("button_isParallel"))
         self.gridLayout_125.addWidget(self.button_isParallel, 0, 0, 1, 1)
         self.button_isAngle = QtGui.QPushButton(self.tab_24)
-        icon101 = QtGui.QIcon()
-        icon101.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_angleBetween.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_isAngle.setIcon(icon101)
+        icon103 = QtGui.QIcon()
+        icon103.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_angleBetween.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_isAngle.setIcon(icon103)
         self.button_isAngle.setIconSize(QtCore.QSize(32, 32))
         self.button_isAngle.setObjectName(_fromUtf8("button_isAngle"))
         self.gridLayout_125.addWidget(self.button_isAngle, 4, 0, 1, 1)
         self.button_isLength = QtGui.QPushButton(self.tab_24)
-        icon102 = QtGui.QIcon()
-        icon102.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isLength.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_isLength.setIcon(icon102)
+        icon104 = QtGui.QIcon()
+        icon104.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isLength.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_isLength.setIcon(icon104)
         self.button_isLength.setIconSize(QtCore.QSize(32, 32))
         self.button_isLength.setObjectName(_fromUtf8("button_isLength"))
         self.gridLayout_125.addWidget(self.button_isLength, 6, 0, 1, 1)
         self.button_isDistance = QtGui.QPushButton(self.tab_24)
-        icon103 = QtGui.QIcon()
-        icon103.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_distanceBetween.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_isDistance.setIcon(icon103)
+        icon105 = QtGui.QIcon()
+        icon105.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_distanceBetween.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_isDistance.setIcon(icon105)
         self.button_isDistance.setIconSize(QtCore.QSize(32, 32))
         self.button_isDistance.setObjectName(_fromUtf8("button_isDistance"))
         self.gridLayout_125.addWidget(self.button_isDistance, 5, 0, 1, 1)
         self.button_isCoplanar = QtGui.QPushButton(self.tab_24)
-        icon104 = QtGui.QIcon()
-        icon104.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isCoplanar.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_isCoplanar.setIcon(icon104)
+        icon106 = QtGui.QIcon()
+        icon106.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isCoplanar.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_isCoplanar.setIcon(icon106)
         self.button_isCoplanar.setIconSize(QtCore.QSize(32, 32))
         self.button_isCoplanar.setObjectName(_fromUtf8("button_isCoplanar"))
         self.gridLayout_125.addWidget(self.button_isCoplanar, 2, 0, 1, 1)
         self.button_isArea = QtGui.QPushButton(self.tab_24)
-        icon105 = QtGui.QIcon()
-        icon105.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isArea.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_isArea.setIcon(icon105)
+        icon107 = QtGui.QIcon()
+        icon107.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isArea.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_isArea.setIcon(icon107)
         self.button_isArea.setIconSize(QtCore.QSize(32, 32))
         self.button_isArea.setObjectName(_fromUtf8("button_isArea"))
         self.gridLayout_125.addWidget(self.button_isArea, 7, 0, 1, 1)
         self.button_isPerpendicular = QtGui.QPushButton(self.tab_24)
-        icon106 = QtGui.QIcon()
-        icon106.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isPerpendicular.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_isPerpendicular.setIcon(icon106)
+        icon108 = QtGui.QIcon()
+        icon108.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isPerpendicular.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_isPerpendicular.setIcon(icon108)
         self.button_isPerpendicular.setIconSize(QtCore.QSize(32, 32))
         self.button_isPerpendicular.setObjectName(_fromUtf8("button_isPerpendicular"))
         self.gridLayout_125.addWidget(self.button_isPerpendicular, 1, 0, 1, 1)
         self.button_isClearance = QtGui.QPushButton(self.tab_24)
-        icon107 = QtGui.QIcon()
-        icon107.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isClearance.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_isClearance.setIcon(icon107)
+        icon109 = QtGui.QIcon()
+        icon109.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isClearance.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_isClearance.setIcon(icon109)
         self.button_isClearance.setIconSize(QtCore.QSize(32, 32))
         self.button_isClearance.setObjectName(_fromUtf8("button_isClearance"))
         self.gridLayout_125.addWidget(self.button_isClearance, 3, 0, 1, 1)
         self.button_isRadius = QtGui.QPushButton(self.tab_24)
-        icon108 = QtGui.QIcon()
-        icon108.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isRadius.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_isRadius.setIcon(icon108)
+        icon110 = QtGui.QIcon()
+        icon110.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isRadius.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_isRadius.setIcon(icon110)
         self.button_isRadius.setIconSize(QtCore.QSize(32, 32))
         self.button_isRadius.setObjectName(_fromUtf8("button_isRadius"))
         self.gridLayout_125.addWidget(self.button_isRadius, 8, 0, 1, 1)
-        icon109 = QtGui.QIcon()
-        icon109.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_check.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.tabWidget_7.addTab(self.tab_24, icon109, _fromUtf8(""))
+        icon111 = QtGui.QIcon()
+        icon111.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_check.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.tabWidget_7.addTab(self.tab_24, icon111, _fromUtf8(""))
         self.gridLayout_128.addWidget(self.tabWidget_7, 0, 0, 1, 1)
         self.scrollArea.setWidget(self.scrollAreaWidgetContents)
-        self.gridLayout_34.addWidget(self.scrollArea, 0, 0, 1, 1)
+        self.gridLayout_13.addWidget(self.scrollArea, 0, 0, 1, 1)
         self.horizontalLayout_43 = QtGui.QHBoxLayout()
         self.horizontalLayout_43.setObjectName(_fromUtf8("horizontalLayout_43"))
         self.button_WF_quit = QtGui.QPushButton(Form)
         self.button_WF_quit.setObjectName(_fromUtf8("button_WF_quit"))
         self.horizontalLayout_43.addWidget(self.button_WF_quit)
-        spacerItem25 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
-        self.horizontalLayout_43.addItem(spacerItem25)
+        spacerItem26 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+        self.horizontalLayout_43.addItem(spacerItem26)
         self.label_release = QtGui.QLabel(Form)
         self.label_release.setObjectName(_fromUtf8("label_release"))
         self.horizontalLayout_43.addWidget(self.label_release)
-        self.gridLayout_34.addLayout(self.horizontalLayout_43, 1, 0, 1, 1)
+        self.gridLayout_13.addLayout(self.horizontalLayout_43, 1, 0, 1, 1)
 
         self.retranslateUi(Form)
         self.tabWidget_7.setCurrentIndex(0)
-        self.tabWidget.setCurrentIndex(2)
-        self.tabWidget_2.setCurrentIndex(2)
+        self.tabWidget.setCurrentIndex(0)
+        self.point_proj_comboBox.setCurrentIndex(0)
+        self.tabWidget_2.setCurrentIndex(0)
         self.point_loc_comboBox.setCurrentIndex(1)
         self.tabWidget_8.setCurrentIndex(0)
+        self.point_proj_comboBox_2.setCurrentIndex(0)
         self.tabWidget_3.setCurrentIndex(0)
         self.transition_comboBox.setCurrentIndex(2)
-        self.Image_comboBox_axis_rotate.setCurrentIndex(0)
         self.Image_comboBox_axis_scale.setCurrentIndex(0)
-        self.tabWidget_9.setCurrentIndex(2)
+        self.tabWidget_9.setCurrentIndex(0)
         self.tabWidget_10.setCurrentIndex(0)
         self.ObjRot_comboBox_axis.setCurrentIndex(0)
         self.ObjRot_comboBox_center.setCurrentIndex(2)
         self.tabWidget_11.setCurrentIndex(0)
         self.tabWidget_12.setCurrentIndex(0)
-        self.ObjTrans_comboBox_start.setCurrentIndex(3)
+        self.ObjTrans_comboBox_start.setCurrentIndex(0)
         self.ObjTrans_comboBox_end.setCurrentIndex(0)
         QtCore.QMetaObject.connectSlotsByName(Form)
 
@@ -2283,6 +2347,15 @@ class Ui_Form(object):
 "\n"
 "Be aware that if the plane is not extended enough the intersection Point is still created (as if). ", None))
         self.button_point_face_point.setText(_translate("Form", "Point(s)=(Pt(s),Face(s))", None))
+        self.button_points_projection.setToolTip(_translate("Form", "<html><head/><body><p>Create projected point(s) on the choosen main planes.</p><p>- Select one (or several) Point(s) and/or one (or several) Axis.</p><p>Define the projection plane if needed.</p><p>It can be either</p><p>XY plane,</p><p>YZ plane,</p><p>XZ plane or</p><p>All 3 planes</p></body></html>", None))
+        self.button_points_projection.setText(_translate("Form", "Projected Points", None))
+        self.point_proj_comboBox.setToolTip(_translate("Form", "<html><head/><body><p>The projection plane(s)</p></body></html>", None))
+        self.point_proj_comboBox.setItemText(0, _translate("Form", "All", None))
+        self.point_proj_comboBox.setItemText(1, _translate("Form", "XY plane", None))
+        self.point_proj_comboBox.setItemText(2, _translate("Form", "YZ plane", None))
+        self.point_proj_comboBox.setItemText(3, _translate("Form", "XZ plane", None))
+        self.tabWidget.setTabText(self.tabWidget.indexOf(self.Point_Tab1_3), _translate("Form", "Point 1/3", None))
+        self.tabWidget.setTabToolTip(self.tabWidget.indexOf(self.Point_Tab1_3), _translate("Form", "Create Point(s)", None))
         self.button_point_line_point.setToolTip(_translate("Form", "Point(s)=(Point(s),Line(s)):\n"
 "    Create projection(s) of Point(s) onto Line(s).\n"
 "\n"
@@ -2300,8 +2373,6 @@ class Ui_Form(object):
 "    \n"
 "    Be aware that if the line is not extended enough the intersection Point is still created (as if).", None))
         self.button_point_line_point.setText(_translate("Form", "Point(s)=(Pt(s),Line(s)) ", None))
-        self.tabWidget.setTabText(self.tabWidget.indexOf(self.Point_Tab1_3), _translate("Form", "Point 1/3", None))
-        self.tabWidget.setTabToolTip(self.tabWidget.indexOf(self.Point_Tab1_3), _translate("Form", "Create Point(s)", None))
         self.button_twolines_point.setToolTip(_translate("Form", "Point(s)=(Line(s),Line(s)):\n"
 "Plot one or two Point(s) at minimum distance of two Lines\n"
 "Create a unique Point at intersection of 2 crossing Lines.\n"
@@ -2367,11 +2438,6 @@ class Ui_Form(object):
 "    if you select an Object : many points will be created.\n"
 "- Then click on this button.", None))
         self.button_object_Npoint.setText(_translate("Form", "Object(s) N Point(s)", None))
-        self.button_point_to_sketch.setToolTip(_translate("Form", "Transform Point(s) in Sketch\'s Point(s) by projection onto the Sketch\'s Plane:\n"
-"- First select an existing Sketch;\n"
-"- Select as much as Points needed;\n"
-"Then click on this button.", None))
-        self.button_point_to_sketch.setText(_translate("Form", "Point(s) to Sketch", None))
         self.tabWidget.setTabText(self.tabWidget.indexOf(self.Point_Tab2_3), _translate("Form", "Point 2/3", None))
         self.tabWidget.setTabToolTip(self.tabWidget.indexOf(self.Point_Tab2_3), _translate("Form", "Create Point(s)", None))
         self.button_points_load.setToolTip(_translate("Form", "Load a set of points from an ASCII file:\n"
@@ -2397,6 +2463,11 @@ class Ui_Form(object):
         self.spin_random_points.setToolTip(_translate("Form", "<html><head/><body><p>The number indicates in how many point(s) will be generated  (Max 100).</p></body></html>", None))
         self.distance_random_points.setToolTip(_translate("Form", "<html><head/><body><p>If set to 10.0 return random floats coordinates in the half-open interval [-10.0, 10.0).</p></body></html>", None))
         self.distance_random_points.setText(_translate("Form", "10.0", None))
+        self.button_point_to_sketch.setToolTip(_translate("Form", "Transform Point(s) in Sketch\'s Point(s) by projection onto the Sketch\'s Plane:\n"
+"- First select an existing Sketch;\n"
+"- Select as much as Points needed;\n"
+"Then click on this button.", None))
+        self.button_point_to_sketch.setText(_translate("Form", "Point(s) to Sketch", None))
         self.tabWidget.setTabText(self.tabWidget.indexOf(self.Point_Tab3_3), _translate("Form", "Point 3/3", None))
         self.tabWidget_7.setTabText(self.tabWidget_7.indexOf(self.Point_Tab), _translate("Form", "Point", None))
         self.tabWidget_7.setTabToolTip(self.tabWidget_7.indexOf(self.Point_Tab), _translate("Form", "Create Point(s)", None))
@@ -2609,13 +2680,20 @@ class Ui_Form(object):
         self.button_click_for_axis.setText(_translate("Form", "Click", None))
         self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.Axis_Tab2_3), _translate("Form", "Axis 2/3", None))
         self.tabWidget_7.setTabText(self.tabWidget_7.indexOf(self.Axis_Tab), _translate("Form", "Axis", None))
+        self.button_points_to_polygon.setToolTip(_translate("Form", "<html><head/><body><p>Wire=(N Points):</p><p>Create a Polygon (wire) from a set of points.</p><p>- First select several Points (at least 2);</p><p>- Then push this button</p><p><br/></p></body></html>", None))
+        self.button_points_to_polygon.setText(_translate("Form", "Make Polygon", None))
+        self.button_points_to_convex_2Dpolygon.setToolTip(_translate("Form", "<html><head/><body><p>Wire=(N Points):</p><p>Create a Convex 2D Polygon (wire) from a set of points.</p><p>The Convex Polygon is the outer limit of all selected Points.</p><p> - First select several Points (at least 3);</p><p>    Define the projection plane if needed.</p><p>    It can be either</p><p>    XY plane,</p><p>    YZ plane,</p><p>    XZ plane or</p><p>    All 3 planes</p><p>- Then push the button.</p></body></html>", None))
+        self.button_points_to_convex_2Dpolygon.setText(_translate("Form", "Convex 2D Polygon", None))
+        self.point_proj_comboBox_2.setToolTip(_translate("Form", "<html><head/><body><p>The projection plane(s)</p></body></html>", None))
+        self.point_proj_comboBox_2.setItemText(0, _translate("Form", "All", None))
+        self.point_proj_comboBox_2.setItemText(1, _translate("Form", "XY plane", None))
+        self.point_proj_comboBox_2.setItemText(2, _translate("Form", "YZ plane", None))
+        self.point_proj_comboBox_2.setItemText(3, _translate("Form", "XZ plane", None))
         self.button_4points_bezier.setToolTip(_translate("Form", "Bezier Cubic=(4 Points):\n"
 "Create a Wire (Bezier Cubic) from 4 selected points.\n"
 "- First 4 Points\n"
 "- Then push this button", None))
         self.button_4points_bezier.setText(_translate("Form", "4 Points Bezier Cubic", None))
-        self.button_points_to_polygon.setToolTip(_translate("Form", "<html><head/><body><p>Wire=(N Points):</p><p>Create a Polygon (wire) from a set of points.</p><p>- First select several Points (at least 2);</p><p>- Then push this button</p><p><br/></p></body></html>", None))
-        self.button_points_to_polygon.setText(_translate("Form", "Make Wire", None))
         self.tabWidget_8.setTabText(self.tabWidget_8.indexOf(self.Wire_Tab1_3), _translate("Form", "Wire", None))
         self.button_curves_and_surfaces.setText(_translate("Form", "Launch Curves and Surfaces Menu...", None))
         self.tabWidget_8.setTabText(self.tabWidget_8.indexOf(self.Wire_Tab1_4), _translate("Form", "Curves And Surfaces", None))
@@ -2656,10 +2734,7 @@ class Ui_Form(object):
         self.button_cut_circle.setText(_translate("Form", "Arcs=Cut(Circle)", None))
         self.spin_circle_cut.setToolTip(_translate("Form", "The number indicates in how many parts the selected Circle will be cut  (Max 100).", None))
         self.tabWidget_7.setTabText(self.tabWidget_7.indexOf(self.Circle_Tab), _translate("Form", "Circle", None))
-        self.button_threepoints_plane.setToolTip(_translate("Form", "Plane=(3 Points):\n"
-"Create a Plane crossing 3 Points.\n"
-"- First select 3 different points\n"
-"- Second push this button", None))
+        self.button_threepoints_plane.setToolTip(_translate("Form", "<html><head/><body><p>Plane=(3 Points):</p><p>Create a Plane crossing 3 Points.</p><p> - Select at least 3 Points and/or</p><p>    Select at least 2 Line/Edge(s)</p><p>- Second push this button</p></body></html>", None))
         self.button_threepoints_plane.setText(_translate("Form", "Plane=(3 Points)", None))
         self.button_twopoints_plane.setToolTip(_translate("Form", "Plane=(2 Points):\n"
 "Create a Plane in the middle of 2 points.\n"
@@ -2932,10 +3007,6 @@ class Ui_Form(object):
 "    Authors = 2015 Gaël Ecorchard (Galou)", None))
         self.button_difference.setText(_translate("Form", "Difference", None))
         self.tabWidget_7.setTabText(self.tabWidget_7.indexOf(self.Objects_Tab2_2), _translate("Form", "Object", None))
-        self.button_rotate_image.setText(_translate("Form", "Rotate", None))
-        self.Image_comboBox_axis_rotate.setItemText(0, _translate("Form", "X", None))
-        self.Image_comboBox_axis_rotate.setItemText(1, _translate("Form", "Y", None))
-        self.Image_comboBox_axis_rotate.setItemText(2, _translate("Form", "Z", None))
         self.button_scale_image.setToolTip(_translate("Form", "Copy and Scale Image(s) :\n"
 "Scale an image along desired direction(s) (make a copy first of the original Image).\n"
 "- First define the direction(s) on the right combo (default is XY):\n"
@@ -3196,12 +3267,17 @@ class Ui_Form(object):
 "\n"
 "On the last result the same Sketch is both link to Pad001 but also still to Pad.", None))
         self.ObjTrans_deepCopy.setText(_translate("Form", "Deep", None))
+        self.ObjTrans_button_reset.setText(_translate("Form", "Reset", None))
+        self.ObjTrans_button_apply.setText(_translate("Form", "Apply", None))
         self.groupBox_22.setTitle(_translate("Form", "Starting Point :", None))
+        self.ObjTrans_comboBox_start.setToolTip(_translate("Form", "<html><head/><body><p>Choose here your starting Point(s)</p><p>it can be either:</p><p>  - The Origin point (0,0,0),</p><p>  - The Base point of the selected object(s),</p><p>  - The Center point of the selected object(s),</p><p>  - One selected Point by mouse</p><p>  - One of the extrema of One Segment/Edge</p><p>  - A user defined Points<br/></p></body></html>", None))
         self.ObjTrans_comboBox_start.setItemText(0, _translate("Form", "Origin", None))
         self.ObjTrans_comboBox_start.setItemText(1, _translate("Form", "Base Obj.", None))
         self.ObjTrans_comboBox_start.setItemText(2, _translate("Form", "Center Obj.(s)", None))
         self.ObjTrans_comboBox_start.setItemText(3, _translate("Form", "To select", None))
-        self.ObjTrans_comboBox_start.setItemText(4, _translate("Form", "To define", None))
+        self.ObjTrans_comboBox_start.setItemText(4, _translate("Form", "From Segment", None))
+        self.ObjTrans_comboBox_start.setItemText(5, _translate("Form", "To define", None))
+        self.ObjTrans_button_select_start.setToolTip(_translate("Form", "<html><head/><body><p>Once Point(s) or one Segment selected;</p><p>Click this button to activate the selection !</p></body></html>", None))
         self.ObjTrans_button_select_start.setText(_translate("Form", "Select", None))
         self.label_11.setText(_translate("Form", "X :", None))
         self.ObjTrans_start_x.setToolTip(_translate("Form", "Please Enter a new coordinate and type RETURN to validate!", None))
@@ -3220,6 +3296,7 @@ class Ui_Form(object):
         self.ObjTrans_comboBox_end.setItemText(3, _translate("Form", "To select", None))
         self.ObjTrans_comboBox_end.setItemText(4, _translate("Form", "To define", None))
         self.ObjTrans_comboBox_end.setItemText(5, _translate("Form", "Relative", None))
+        self.ObjTrans_button_select_end.setToolTip(_translate("Form", "<html><head/><body><p>Once Point(s) selected;</p><p>Click this button to activate the selection !</p></body></html>", None))
         self.ObjTrans_button_select_end.setText(_translate("Form", "Select", None))
         self.label_14.setText(_translate("Form", "Z :", None))
         self.ObjTrans_end_z.setToolTip(_translate("Form", "Please Enter a new coordinate and type RETURN to validate!", None))
@@ -3231,8 +3308,11 @@ class Ui_Form(object):
         self.ObjTrans_end_x.setToolTip(_translate("Form", "Please Enter a new coordinate and type RETURN to validate!", None))
         self.ObjTrans_end_x.setText(_translate("Form", "0.0", None))
         self.tabWidget_12.setTabText(self.tabWidget_12.indexOf(self.tab_23), _translate("Form", "End", None))
-        self.ObjTrans_button_reset.setText(_translate("Form", "Reset", None))
-        self.ObjTrans_button_apply.setText(_translate("Form", "Apply", None))
+        self.ObjTrans_horizontalSlider.setToolTip(_translate("Form", "<html><head/><body><p>Once a Segment(s) is selected as starting Point(s),</p><p>This slider define the ending Point(s) by defining the relative distance from the starting Point(s).</p><p>Slider values are : -1000% to 1000%</p><p>100% mean full length of the Segment(s) with one ends as starting point(s)</p><p>-100% mean full length of the Segment(s) by reversing the starting Point(s)</p><p>0% means you do not Translate your selected Object(s)</p><p><br/></p></body></html>", None))
+        self.ObjTrans_lineEdit_length_seg.setToolTip(_translate("Form", "<html><head/><body><p>Enter here a more precise value :</p><p>100% mean full length of the Segment(s) with one ends as starting point(s)</p><p>-100% mean full length of the Segment(s) by reversing the starting Point(s)</p><p>Maximum values allowed [-1000, 1000]</p></body></html>", None))
+        self.ObjTrans_lineEdit_length_seg.setText(_translate("Form", "100.0", None))
+        self.label_length_segment.setText(_translate("Form", " (%)", None))
+        self.tabWidget_12.setTabText(self.tabWidget_12.indexOf(self.tab), _translate("Form", "Seg.", None))
         self.tabWidget_9.setTabText(self.tabWidget_9.indexOf(self.translate_tab_2), _translate("Form", "Translate", None))
         self.tabWidget_7.setTabText(self.tabWidget_7.indexOf(self.Modif_Tab_2), _translate("Form", "Modif.", None))
         self.button_alignview.setToolTip(_translate("Form", "Set the current view perpendicular to the selected Face, \n"
diff --git a/WorkFeature/Ui/WFGui_2015.ui b/WorkFeature/Ui/WFGui_2015.ui
index 33966ed..428ccd3 100644
--- a/WorkFeature/Ui/WFGui_2015.ui
+++ b/WorkFeature/Ui/WFGui_2015.ui
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>396</width>
-    <height>610</height>
+    <height>701</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -17,7 +17,7 @@
    <iconset>
     <normaloff>../Icons/WF_wf.svg</normaloff>../Icons/WF_wf.svg</iconset>
   </property>
-  <layout class="QGridLayout" name="gridLayout_34">
+  <layout class="QGridLayout" name="gridLayout_13">
    <item row="0" column="0">
     <widget class="QScrollArea" name="scrollArea">
      <property name="frameShape">
@@ -40,8 +40,8 @@
        <rect>
         <x>0</x>
         <y>0</y>
-        <width>365</width>
-        <height>593</height>
+        <width>376</width>
+        <height>642</height>
        </rect>
       </property>
       <layout class="QGridLayout" name="gridLayout_128">
@@ -225,7 +225,7 @@
            <item row="0" column="0">
             <widget class="QTabWidget" name="tabWidget">
              <property name="currentIndex">
-              <number>2</number>
+              <number>0</number>
              </property>
              <widget class="QWidget" name="Point_Tab1_3">
               <attribute name="title">
@@ -511,6 +511,95 @@ Be aware that if the plane is not extended enough the intersection Point is stil
                 </widget>
                </item>
                <item row="8" column="0">
+                <layout class="QHBoxLayout" name="horizontalLayout_59">
+                 <item>
+                  <widget class="QPushButton" name="button_points_projection">
+                   <property name="maximumSize">
+                    <size>
+                     <width>16777215</width>
+                     <height>16777215</height>
+                    </size>
+                   </property>
+                   <property name="toolTip">
+                    <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Create projected point(s) on the choosen main planes.&lt;/p&gt;&lt;p&gt;- Select one (or several) Point(s) and/or one (or several) Axis.&lt;/p&gt;&lt;p&gt;Define the projection plane if needed.&lt;/p&gt;&lt;p&gt;It can be either&lt;/p&gt;&lt;p&gt;XY plane,&lt;/p&gt;&lt;p&gt;YZ plane,&lt;/p&gt;&lt;p&gt;XZ plane or&lt;/p&gt;&lt;p&gt;All 3 planes&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+                   </property>
+                   <property name="text">
+                    <string>Projected Points</string>
+                   </property>
+                   <property name="icon">
+                    <iconset>
+                     <normaloff>../Icons/WF_projectedPoint.svg</normaloff>../Icons/WF_projectedPoint.svg</iconset>
+                   </property>
+                   <property name="iconSize">
+                    <size>
+                     <width>32</width>
+                     <height>32</height>
+                    </size>
+                   </property>
+                  </widget>
+                 </item>
+                 <item>
+                  <widget class="QComboBox" name="point_proj_comboBox">
+                   <property name="maximumSize">
+                    <size>
+                     <width>60</width>
+                     <height>16777215</height>
+                    </size>
+                   </property>
+                   <property name="toolTip">
+                    <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The projection plane(s)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+                   </property>
+                   <property name="currentIndex">
+                    <number>0</number>
+                   </property>
+                   <item>
+                    <property name="text">
+                     <string>All</string>
+                    </property>
+                   </item>
+                   <item>
+                    <property name="text">
+                     <string>XY plane</string>
+                    </property>
+                   </item>
+                   <item>
+                    <property name="text">
+                     <string>YZ plane</string>
+                    </property>
+                   </item>
+                   <item>
+                    <property name="text">
+                     <string>XZ plane</string>
+                    </property>
+                   </item>
+                  </widget>
+                 </item>
+                </layout>
+               </item>
+               <item row="9" column="0">
+                <spacer name="verticalSpacer_19">
+                 <property name="orientation">
+                  <enum>Qt::Vertical</enum>
+                 </property>
+                 <property name="sizeHint" stdset="0">
+                  <size>
+                   <width>20</width>
+                   <height>252</height>
+                  </size>
+                 </property>
+                </spacer>
+               </item>
+              </layout>
+             </widget>
+             <widget class="QWidget" name="Point_Tab2_3">
+              <attribute name="title">
+               <string>Point 2/3</string>
+              </attribute>
+              <attribute name="toolTip">
+               <string>Create Point(s)</string>
+              </attribute>
+              <layout class="QGridLayout" name="gridLayout_2">
+               <item row="0" column="0">
                 <widget class="QPushButton" name="button_point_line_point">
                  <property name="toolTip">
                   <string>Point(s)=(Point(s),Line(s)):
@@ -545,30 +634,7 @@ Be aware that if the plane is not extended enough the intersection Point is stil
                  </property>
                 </widget>
                </item>
-               <item row="9" column="0">
-                <spacer name="verticalSpacer_19">
-                 <property name="orientation">
-                  <enum>Qt::Vertical</enum>
-                 </property>
-                 <property name="sizeHint" stdset="0">
-                  <size>
-                   <width>20</width>
-                   <height>252</height>
-                  </size>
-                 </property>
-                </spacer>
-               </item>
-              </layout>
-             </widget>
-             <widget class="QWidget" name="Point_Tab2_3">
-              <attribute name="title">
-               <string>Point 2/3</string>
-              </attribute>
-              <attribute name="toolTip">
-               <string>Create Point(s)</string>
-              </attribute>
-              <layout class="QGridLayout" name="gridLayout_13">
-               <item row="0" column="0">
+               <item row="1" column="0">
                 <widget class="QPushButton" name="button_twolines_point">
                  <property name="toolTip">
                   <string>Point(s)=(Line(s),Line(s)):
@@ -598,7 +664,7 @@ The Vector AB perpendicular to the first and second Line.
                  </property>
                 </widget>
                </item>
-               <item row="1" column="0">
+               <item row="2" column="0">
                 <layout class="QHBoxLayout" name="horizontalLayout_47">
                  <property name="sizeConstraint">
                   <enum>QLayout::SetFixedSize</enum>
@@ -666,7 +732,7 @@ respecting to the choosen reference starting point.</string>
                  </item>
                 </layout>
                </item>
-               <item row="2" column="0">
+               <item row="3" column="0">
                 <layout class="QHBoxLayout" name="horizontalLayout_48">
                  <item>
                   <widget class="QPushButton" name="button_distPoint">
@@ -767,7 +833,7 @@ Can be negative for the reverse direction!</string>
                  </item>
                 </layout>
                </item>
-               <item row="3" column="0">
+               <item row="4" column="0">
                 <layout class="QHBoxLayout" name="horizontalLayout_49">
                  <item>
                   <widget class="QPushButton" name="button_cut_wire_point">
@@ -833,7 +899,7 @@ An object must also be seleted but before any Wire to cut all his edges!	</strin
                  </item>
                 </layout>
                </item>
-               <item row="4" column="0">
+               <item row="5" column="0">
                 <widget class="QRadioButton" name="button_click_for_point">
                  <property name="toolTip">
                   <string>Create a set of Points on a Plane perpendicular to the view at location of mouse clicks.
@@ -862,7 +928,7 @@ MB2 and MB3 can still be used for view zoom and view rotation.
                  </property>
                 </widget>
                </item>
-               <item row="5" column="0">
+               <item row="6" column="0">
                 <widget class="QPushButton" name="button_object_base_point">
                  <property name="toolTip">
                   <string>Create Base Point of all selected Object(s).</string>
@@ -882,7 +948,7 @@ MB2 and MB3 can still be used for view zoom and view rotation.
                  </property>
                 </widget>
                </item>
-               <item row="6" column="0">
+               <item row="7" column="0">
                 <widget class="QPushButton" name="button_object_center_mass_point">
                  <property name="toolTip">
                   <string>Create Center of Mass Point of all selected Object(s).</string>
@@ -902,7 +968,7 @@ MB2 and MB3 can still be used for view zoom and view rotation.
                  </property>
                 </widget>
                </item>
-               <item row="7" column="0">
+               <item row="8" column="0">
                 <widget class="QPushButton" name="button_object_Npoint">
                  <property name="toolTip">
                   <string>Create a set of points from selected Objetcs:
@@ -928,29 +994,6 @@ MB2 and MB3 can still be used for view zoom and view rotation.
                  </property>
                 </widget>
                </item>
-               <item row="8" column="0">
-                <widget class="QPushButton" name="button_point_to_sketch">
-                 <property name="toolTip">
-                  <string>Transform Point(s) in Sketch's Point(s) by projection onto the Sketch's Plane:
-- First select an existing Sketch;
-- Select as much as Points needed;
-Then click on this button.</string>
-                 </property>
-                 <property name="text">
-                  <string>Point(s) to Sketch</string>
-                 </property>
-                 <property name="icon">
-                  <iconset>
-                   <normaloff>../Icons/WF_2Sketch.svg</normaloff>../Icons/WF_2Sketch.svg</iconset>
-                 </property>
-                 <property name="iconSize">
-                  <size>
-                   <width>32</width>
-                   <height>32</height>
-                  </size>
-                 </property>
-                </widget>
-               </item>
                <item row="9" column="0">
                 <spacer name="verticalSpacer_20">
                  <property name="orientation">
@@ -970,7 +1013,7 @@ Then click on this button.</string>
               <attribute name="title">
                <string>Point 3/3</string>
               </attribute>
-              <layout class="QGridLayout" name="gridLayout_2">
+              <layout class="QGridLayout" name="gridLayout_22">
                <item row="0" column="0">
                 <widget class="QPushButton" name="button_points_load">
                  <property name="toolTip">
@@ -1121,6 +1164,29 @@ One (x, y, z) triplet per line seperated by blank.
                 </layout>
                </item>
                <item row="3" column="0">
+                <widget class="QPushButton" name="button_point_to_sketch">
+                 <property name="toolTip">
+                  <string>Transform Point(s) in Sketch's Point(s) by projection onto the Sketch's Plane:
+- First select an existing Sketch;
+- Select as much as Points needed;
+Then click on this button.</string>
+                 </property>
+                 <property name="text">
+                  <string>Point(s) to Sketch</string>
+                 </property>
+                 <property name="icon">
+                  <iconset>
+                   <normaloff>../Icons/WF_2Sketch.svg</normaloff>../Icons/WF_2Sketch.svg</iconset>
+                 </property>
+                 <property name="iconSize">
+                  <size>
+                   <width>32</width>
+                   <height>32</height>
+                  </size>
+                 </property>
+                </widget>
+               </item>
+               <item row="4" column="0">
                 <spacer name="verticalSpacer_35">
                  <property name="orientation">
                   <enum>Qt::Vertical</enum>
@@ -1151,7 +1217,7 @@ One (x, y, z) triplet per line seperated by blank.
            <item row="0" column="0">
             <widget class="QTabWidget" name="tabWidget_2">
              <property name="currentIndex">
-              <number>2</number>
+              <number>0</number>
              </property>
              <widget class="QWidget" name="Axis_Tab1_3">
               <attribute name="title">
@@ -2278,20 +2344,87 @@ MB2 and MB3 can still be used for view zoom and view rotation.</string>
                <string>Wire</string>
               </attribute>
               <layout class="QGridLayout" name="gridLayout_7">
-               <item row="2" column="0">
-                <spacer name="verticalSpacer_3">
-                 <property name="orientation">
-                  <enum>Qt::Vertical</enum>
+               <item row="0" column="0">
+                <widget class="QPushButton" name="button_points_to_polygon">
+                 <property name="toolTip">
+                  <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Wire=(N Points):&lt;/p&gt;&lt;p&gt;Create a Polygon (wire) from a set of points.&lt;/p&gt;&lt;p&gt;- First select several Points (at least 2);&lt;/p&gt;&lt;p&gt;- Then push this button&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
                  </property>
-                 <property name="sizeHint" stdset="0">
+                 <property name="text">
+                  <string>Make Polygon</string>
+                 </property>
+                 <property name="icon">
+                  <iconset>
+                   <normaloff>../Icons/WF_makePolygon.svg</normaloff>../Icons/WF_makePolygon.svg</iconset>
+                 </property>
+                 <property name="iconSize">
                   <size>
-                   <width>20</width>
-                   <height>588</height>
+                   <width>32</width>
+                   <height>32</height>
                   </size>
                  </property>
-                </spacer>
+                </widget>
                </item>
                <item row="1" column="0">
+                <layout class="QHBoxLayout" name="horizontalLayout_6">
+                 <item>
+                  <widget class="QPushButton" name="button_points_to_convex_2Dpolygon">
+                   <property name="toolTip">
+                    <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Wire=(N Points):&lt;/p&gt;&lt;p&gt;Create a Convex 2D Polygon (wire) from a set of points.&lt;/p&gt;&lt;p&gt;The Convex Polygon is the outer limit of all selected Points.&lt;/p&gt;&lt;p&gt; - First select several Points (at least 3);&lt;/p&gt;&lt;p&gt;    Define the projection plane if needed.&lt;/p&gt;&lt;p&gt;    It can be either&lt;/p&gt;&lt;p&gt;    XY plane,&lt;/p&gt;&lt;p&gt;    YZ plane,&lt;/p&gt;&lt;p&gt;    XZ plane or&lt;/p&gt;&lt;p&gt;    All 3 planes&lt;/p&gt;&lt;p&gt;- Then push the button.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+                   </property>
+                   <property name="text">
+                    <string>Convex 2D Polygon</string>
+                   </property>
+                   <property name="icon">
+                    <iconset>
+                     <normaloff>../Icons/WF_convexPolygon.svg</normaloff>../Icons/WF_convexPolygon.svg</iconset>
+                   </property>
+                   <property name="iconSize">
+                    <size>
+                     <width>32</width>
+                     <height>32</height>
+                    </size>
+                   </property>
+                  </widget>
+                 </item>
+                 <item>
+                  <widget class="QComboBox" name="point_proj_comboBox_2">
+                   <property name="maximumSize">
+                    <size>
+                     <width>60</width>
+                     <height>16777215</height>
+                    </size>
+                   </property>
+                   <property name="toolTip">
+                    <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The projection plane(s)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+                   </property>
+                   <property name="currentIndex">
+                    <number>0</number>
+                   </property>
+                   <item>
+                    <property name="text">
+                     <string>All</string>
+                    </property>
+                   </item>
+                   <item>
+                    <property name="text">
+                     <string>XY plane</string>
+                    </property>
+                   </item>
+                   <item>
+                    <property name="text">
+                     <string>YZ plane</string>
+                    </property>
+                   </item>
+                   <item>
+                    <property name="text">
+                     <string>XZ plane</string>
+                    </property>
+                   </item>
+                  </widget>
+                 </item>
+                </layout>
+               </item>
+               <item row="2" column="0">
                 <widget class="QPushButton" name="button_4points_bezier">
                  <property name="toolTip">
                   <string>Bezier Cubic=(4 Points):
@@ -2314,25 +2447,18 @@ Create a Wire (Bezier Cubic) from 4 selected points.
                  </property>
                 </widget>
                </item>
-               <item row="0" column="0">
-                <widget class="QPushButton" name="button_points_to_polygon">
-                 <property name="toolTip">
-                  <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Wire=(N Points):&lt;/p&gt;&lt;p&gt;Create a Polygon (wire) from a set of points.&lt;/p&gt;&lt;p&gt;- First select several Points (at least 2);&lt;/p&gt;&lt;p&gt;- Then push this button&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+               <item row="3" column="0">
+                <spacer name="verticalSpacer_3">
+                 <property name="orientation">
+                  <enum>Qt::Vertical</enum>
                  </property>
-                 <property name="text">
-                  <string>Make Wire</string>
-                 </property>
-                 <property name="icon">
-                  <iconset>
-                   <normaloff>../Icons/WF_makePolygon.svg</normaloff>../Icons/WF_makePolygon.svg</iconset>
-                 </property>
-                 <property name="iconSize">
+                 <property name="sizeHint" stdset="0">
                   <size>
-                   <width>32</width>
-                   <height>32</height>
+                   <width>20</width>
+                   <height>588</height>
                   </size>
                  </property>
-                </widget>
+                </spacer>
                </item>
               </layout>
              </widget>
@@ -2648,10 +2774,7 @@ in &quot;Ori. Pref.&quot;  TAB</string>
                <item row="0" column="0">
                 <widget class="QPushButton" name="button_threepoints_plane">
                  <property name="toolTip">
-                  <string>Plane=(3 Points):
-Create a Plane crossing 3 Points.
-- First select 3 different points
-- Second push this button</string>
+                  <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Plane=(3 Points):&lt;/p&gt;&lt;p&gt;Create a Plane crossing 3 Points.&lt;/p&gt;&lt;p&gt; - Select at least 3 Points and/or&lt;/p&gt;&lt;p&gt;    Select at least 2 Line/Edge(s)&lt;/p&gt;&lt;p&gt;- Second push this button&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
                  </property>
                  <property name="text">
                   <string>Plane=(3 Points)</string>
@@ -4184,60 +4307,6 @@ Original code from HighlightDifference.FCMacro
           </attribute>
           <layout class="QGridLayout" name="gridLayout_8">
            <item row="0" column="0">
-            <layout class="QHBoxLayout" name="horizontalLayout_3">
-             <item>
-              <widget class="QPushButton" name="button_rotate_image">
-               <property name="text">
-                <string>Rotate</string>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QComboBox" name="Image_comboBox_axis_rotate">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="minimumSize">
-                <size>
-                 <width>40</width>
-                 <height>0</height>
-                </size>
-               </property>
-               <property name="maximumSize">
-                <size>
-                 <width>60</width>
-                 <height>16777215</height>
-                </size>
-               </property>
-               <property name="layoutDirection">
-                <enum>Qt::LeftToRight</enum>
-               </property>
-               <property name="currentIndex">
-                <number>0</number>
-               </property>
-               <item>
-                <property name="text">
-                 <string>X</string>
-                </property>
-               </item>
-               <item>
-                <property name="text">
-                 <string>Y</string>
-                </property>
-               </item>
-               <item>
-                <property name="text">
-                 <string>Z</string>
-                </property>
-               </item>
-              </widget>
-             </item>
-            </layout>
-           </item>
-           <item row="1" column="0">
             <layout class="QHBoxLayout" name="horizontalLayout_4">
              <item>
               <widget class="QPushButton" name="button_scale_image">
@@ -4371,7 +4440,7 @@ Note that some options are invalid regarding the image's plane.</string>
              </item>
             </layout>
            </item>
-           <item row="2" column="0">
+           <item row="1" column="0">
             <spacer name="verticalSpacer_4">
              <property name="orientation">
               <enum>Qt::Vertical</enum>
@@ -4394,7 +4463,7 @@ Note that some options are invalid regarding the image's plane.</string>
            <item row="0" column="0">
             <widget class="QTabWidget" name="tabWidget_9">
              <property name="currentIndex">
-              <number>2</number>
+              <number>0</number>
              </property>
              <widget class="QWidget" name="align_tab_2">
               <attribute name="title">
@@ -5532,7 +5601,7 @@ NB:
               <attribute name="title">
                <string>Translate</string>
               </attribute>
-              <layout class="QGridLayout" name="gridLayout_60">
+              <layout class="QGridLayout" name="gridLayout_20">
                <item row="0" column="0">
                 <widget class="QFrame" name="frame_12">
                  <property name="sizePolicy">
@@ -5671,8 +5740,66 @@ On the last result the same Sketch is both link to Pad001 but also still to Pad.
                     </item>
                    </layout>
                   </item>
+                  <item row="3" column="0">
+                   <layout class="QHBoxLayout" name="horizontalLayout_84">
+                    <item>
+                     <widget class="QPushButton" name="ObjTrans_button_reset">
+                      <property name="minimumSize">
+                       <size>
+                        <width>40</width>
+                        <height>0</height>
+                       </size>
+                      </property>
+                      <property name="maximumSize">
+                       <size>
+                        <width>60</width>
+                        <height>16777215</height>
+                       </size>
+                      </property>
+                      <property name="text">
+                       <string>Reset</string>
+                      </property>
+                     </widget>
+                    </item>
+                    <item>
+                     <spacer name="horizontalSpacer_12">
+                      <property name="orientation">
+                       <enum>Qt::Horizontal</enum>
+                      </property>
+                      <property name="sizeHint" stdset="0">
+                       <size>
+                        <width>20</width>
+                        <height>20</height>
+                       </size>
+                      </property>
+                     </spacer>
+                    </item>
+                    <item>
+                     <widget class="QPushButton" name="ObjTrans_button_apply">
+                      <property name="minimumSize">
+                       <size>
+                        <width>40</width>
+                        <height>0</height>
+                       </size>
+                      </property>
+                      <property name="maximumSize">
+                       <size>
+                        <width>60</width>
+                        <height>16777215</height>
+                       </size>
+                      </property>
+                      <property name="text">
+                       <string>Apply</string>
+                      </property>
+                     </widget>
+                    </item>
+                   </layout>
+                  </item>
                   <item row="2" column="0">
                    <widget class="QTabWidget" name="tabWidget_12">
+                    <property name="enabled">
+                     <bool>true</bool>
+                    </property>
                     <property name="currentIndex">
                      <number>0</number>
                     </property>
@@ -5705,7 +5832,7 @@ On the last result the same Sketch is both link to Pad001 but also still to Pad.
                         <property name="flat">
                          <bool>false</bool>
                         </property>
-                        <layout class="QGridLayout" name="gridLayout_113">
+                        <layout class="QGridLayout" name="gridLayout_19">
                          <item row="0" column="0">
                           <widget class="QComboBox" name="ObjTrans_comboBox_start">
                            <property name="enabled">
@@ -5729,8 +5856,11 @@ On the last result the same Sketch is both link to Pad001 but also still to Pad.
                              <height>16777215</height>
                             </size>
                            </property>
+                           <property name="toolTip">
+                            <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Choose here your starting Point(s)&lt;/p&gt;&lt;p&gt;it can be either:&lt;/p&gt;&lt;p&gt;  - The Origin point (0,0,0),&lt;/p&gt;&lt;p&gt;  - The Base point of the selected object(s),&lt;/p&gt;&lt;p&gt;  - The Center point of the selected object(s),&lt;/p&gt;&lt;p&gt;  - One selected Point by mouse&lt;/p&gt;&lt;p&gt;  - One of the extrema of One Segment/Edge&lt;/p&gt;&lt;p&gt;  - A user defined Points&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+                           </property>
                            <property name="currentIndex">
-                            <number>3</number>
+                            <number>0</number>
                            </property>
                            <property name="sizeAdjustPolicy">
                             <enum>QComboBox::AdjustToContentsOnFirstShow</enum>
@@ -5755,6 +5885,11 @@ On the last result the same Sketch is both link to Pad001 but also still to Pad.
                              <string>To select</string>
                             </property>
                            </item>
+                           <item>
+                            <property name="text">
+                             <string>From Segment</string>
+                            </property>
+                           </item>
                            <item>
                             <property name="text">
                              <string>To define</string>
@@ -5769,16 +5904,19 @@ On the last result the same Sketch is both link to Pad001 but also still to Pad.
                            </property>
                            <property name="minimumSize">
                             <size>
-                             <width>50</width>
+                             <width>0</width>
                              <height>0</height>
                             </size>
                            </property>
                            <property name="maximumSize">
                             <size>
-                             <width>120</width>
-                             <height>16777215</height>
+                             <width>100</width>
+                             <height>29</height>
                             </size>
                            </property>
+                           <property name="toolTip">
+                            <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Once Point(s) or one Segment selected;&lt;/p&gt;&lt;p&gt;Click this button to activate the selection !&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+                           </property>
                            <property name="text">
                             <string>Select</string>
                            </property>
@@ -5909,279 +6047,352 @@ On the last result the same Sketch is both link to Pad001 but also still to Pad.
                      <attribute name="title">
                       <string>End</string>
                      </attribute>
-                     <layout class="QGridLayout" name="gridLayout_118">
-                      <item row="0" column="0">
-                       <widget class="QGroupBox" name="groupBox_23">
-                        <property name="minimumSize">
-                         <size>
-                          <width>150</width>
-                          <height>0</height>
-                         </size>
-                        </property>
-                        <property name="title">
-                         <string>Ending Point :</string>
-                        </property>
-                        <property name="flat">
-                         <bool>false</bool>
-                        </property>
-                        <layout class="QGridLayout" name="gridLayout_119">
-                         <item row="0" column="0">
-                          <widget class="QComboBox" name="ObjTrans_comboBox_end">
-                           <property name="enabled">
-                            <bool>true</bool>
-                           </property>
-                           <property name="sizePolicy">
-                            <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
-                             <horstretch>0</horstretch>
-                             <verstretch>0</verstretch>
-                            </sizepolicy>
-                           </property>
-                           <property name="minimumSize">
-                            <size>
-                             <width>100</width>
-                             <height>0</height>
-                            </size>
-                           </property>
-                           <property name="maximumSize">
-                            <size>
-                             <width>120</width>
-                             <height>16777215</height>
-                            </size>
-                           </property>
-                           <property name="currentIndex">
-                            <number>0</number>
-                           </property>
-                           <property name="sizeAdjustPolicy">
-                            <enum>QComboBox::AdjustToContentsOnFirstShow</enum>
-                           </property>
-                           <item>
-                            <property name="text">
-                             <string>Origin</string>
-                            </property>
+                     <widget class="QGroupBox" name="groupBox_23">
+                      <property name="geometry">
+                       <rect>
+                        <x>9</x>
+                        <y>9</y>
+                        <width>183</width>
+                        <height>225</height>
+                       </rect>
+                      </property>
+                      <property name="minimumSize">
+                       <size>
+                        <width>150</width>
+                        <height>0</height>
+                       </size>
+                      </property>
+                      <property name="title">
+                       <string>Ending Point :</string>
+                      </property>
+                      <property name="flat">
+                       <bool>false</bool>
+                      </property>
+                      <layout class="QGridLayout" name="gridLayout_12">
+                       <item row="0" column="0">
+                        <widget class="QComboBox" name="ObjTrans_comboBox_end">
+                         <property name="enabled">
+                          <bool>true</bool>
+                         </property>
+                         <property name="sizePolicy">
+                          <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+                           <horstretch>0</horstretch>
+                           <verstretch>0</verstretch>
+                          </sizepolicy>
+                         </property>
+                         <property name="minimumSize">
+                          <size>
+                           <width>100</width>
+                           <height>0</height>
+                          </size>
+                         </property>
+                         <property name="maximumSize">
+                          <size>
+                           <width>120</width>
+                           <height>16777215</height>
+                          </size>
+                         </property>
+                         <property name="currentIndex">
+                          <number>0</number>
+                         </property>
+                         <property name="sizeAdjustPolicy">
+                          <enum>QComboBox::AdjustToContentsOnFirstShow</enum>
+                         </property>
+                         <item>
+                          <property name="text">
+                           <string>Origin</string>
+                          </property>
+                         </item>
+                         <item>
+                          <property name="text">
+                           <string>Base Obj.</string>
+                          </property>
+                         </item>
+                         <item>
+                          <property name="text">
+                           <string>Center Obj.(s)</string>
+                          </property>
+                         </item>
+                         <item>
+                          <property name="text">
+                           <string>To select</string>
+                          </property>
+                         </item>
+                         <item>
+                          <property name="text">
+                           <string>To define</string>
+                          </property>
+                         </item>
+                         <item>
+                          <property name="text">
+                           <string>Relative</string>
+                          </property>
+                         </item>
+                        </widget>
+                       </item>
+                       <item row="1" column="0">
+                        <widget class="QPushButton" name="ObjTrans_button_select_end">
+                         <property name="enabled">
+                          <bool>true</bool>
+                         </property>
+                         <property name="sizePolicy">
+                          <sizepolicy hsizetype="MinimumExpanding" vsizetype="Minimum">
+                           <horstretch>0</horstretch>
+                           <verstretch>0</verstretch>
+                          </sizepolicy>
+                         </property>
+                         <property name="minimumSize">
+                          <size>
+                           <width>0</width>
+                           <height>0</height>
+                          </size>
+                         </property>
+                         <property name="maximumSize">
+                          <size>
+                           <width>100</width>
+                           <height>29</height>
+                          </size>
+                         </property>
+                         <property name="toolTip">
+                          <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Once Point(s) selected;&lt;/p&gt;&lt;p&gt;Click this button to activate the selection !&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+                         </property>
+                         <property name="text">
+                          <string>Select</string>
+                         </property>
+                        </widget>
+                       </item>
+                       <item row="2" column="0">
+                        <layout class="QGridLayout" name="gridLayout_120">
+                         <item row="2" column="0">
+                          <layout class="QGridLayout" name="gridLayout_121">
+                           <item row="0" column="0">
+                            <widget class="QLabel" name="label_14">
+                             <property name="text">
+                              <string>Z :</string>
+                             </property>
+                            </widget>
                            </item>
-                           <item>
-                            <property name="text">
-                             <string>Base Obj.</string>
-                            </property>
+                           <item row="0" column="1">
+                            <widget class="QLineEdit" name="ObjTrans_end_z">
+                             <property name="enabled">
+                              <bool>false</bool>
+                             </property>
+                             <property name="minimumSize">
+                              <size>
+                               <width>90</width>
+                               <height>0</height>
+                              </size>
+                             </property>
+                             <property name="maximumSize">
+                              <size>
+                               <width>200</width>
+                               <height>16777215</height>
+                              </size>
+                             </property>
+                             <property name="toolTip">
+                              <string>Please Enter a new coordinate and type RETURN to validate!</string>
+                             </property>
+                             <property name="text">
+                              <string>0.0</string>
+                             </property>
+                            </widget>
                            </item>
-                           <item>
-                            <property name="text">
-                             <string>Center Obj.(s)</string>
-                            </property>
-                           </item>
-                           <item>
-                            <property name="text">
-                             <string>To select</string>
-                            </property>
-                           </item>
-                           <item>
-                            <property name="text">
-                             <string>To define</string>
-                            </property>
-                           </item>
-                           <item>
-                            <property name="text">
-                             <string>Relative</string>
-                            </property>
-                           </item>
-                          </widget>
+                          </layout>
                          </item>
                          <item row="1" column="0">
-                          <widget class="QPushButton" name="ObjTrans_button_select_end">
-                           <property name="enabled">
-                            <bool>true</bool>
-                           </property>
-                           <property name="minimumSize">
-                            <size>
-                             <width>100</width>
-                             <height>0</height>
-                            </size>
-                           </property>
-                           <property name="maximumSize">
-                            <size>
-                             <width>120</width>
-                             <height>16777215</height>
-                            </size>
-                           </property>
-                           <property name="text">
-                            <string>Select</string>
-                           </property>
-                          </widget>
-                         </item>
-                         <item row="2" column="0">
-                          <layout class="QGridLayout" name="gridLayout_120">
-                           <item row="2" column="0">
-                            <layout class="QGridLayout" name="gridLayout_121">
-                             <item row="0" column="0">
-                              <widget class="QLabel" name="label_14">
-                               <property name="text">
-                                <string>Z :</string>
-                               </property>
-                              </widget>
-                             </item>
-                             <item row="0" column="1">
-                              <widget class="QLineEdit" name="ObjTrans_end_z">
-                               <property name="enabled">
-                                <bool>false</bool>
-                               </property>
-                               <property name="minimumSize">
-                                <size>
-                                 <width>90</width>
-                                 <height>0</height>
-                                </size>
-                               </property>
-                               <property name="maximumSize">
-                                <size>
-                                 <width>200</width>
-                                 <height>16777215</height>
-                                </size>
-                               </property>
-                               <property name="toolTip">
-                                <string>Please Enter a new coordinate and type RETURN to validate!</string>
-                               </property>
-                               <property name="text">
-                                <string>0.0</string>
-                               </property>
-                              </widget>
-                             </item>
-                            </layout>
-                           </item>
-                           <item row="1" column="0">
-                            <layout class="QGridLayout" name="gridLayout_122">
-                             <item row="0" column="0">
-                              <widget class="QLabel" name="label_15">
-                               <property name="text">
-                                <string>Y :</string>
-                               </property>
-                              </widget>
-                             </item>
-                             <item row="0" column="1">
-                              <widget class="QLineEdit" name="ObjTrans_end_y">
-                               <property name="enabled">
-                                <bool>false</bool>
-                               </property>
-                               <property name="minimumSize">
-                                <size>
-                                 <width>90</width>
-                                 <height>0</height>
-                                </size>
-                               </property>
-                               <property name="maximumSize">
-                                <size>
-                                 <width>200</width>
-                                 <height>16777215</height>
-                                </size>
-                               </property>
-                               <property name="toolTip">
-                                <string>Please Enter a new coordinate and type RETURN to validate!</string>
-                               </property>
-                               <property name="text">
-                                <string>0.0</string>
-                               </property>
-                              </widget>
-                             </item>
-                            </layout>
-                           </item>
+                          <layout class="QGridLayout" name="gridLayout_122">
                            <item row="0" column="0">
-                            <layout class="QGridLayout" name="gridLayout_123">
-                             <item row="0" column="0">
-                              <widget class="QLabel" name="label_16">
-                               <property name="text">
-                                <string>X :</string>
-                               </property>
-                              </widget>
-                             </item>
-                             <item row="0" column="1">
-                              <widget class="QLineEdit" name="ObjTrans_end_x">
-                               <property name="enabled">
-                                <bool>false</bool>
-                               </property>
-                               <property name="minimumSize">
-                                <size>
-                                 <width>90</width>
-                                 <height>0</height>
-                                </size>
-                               </property>
-                               <property name="maximumSize">
-                                <size>
-                                 <width>200</width>
-                                 <height>16777215</height>
-                                </size>
-                               </property>
-                               <property name="toolTip">
-                                <string>Please Enter a new coordinate and type RETURN to validate!</string>
-                               </property>
-                               <property name="text">
-                                <string>0.0</string>
-                               </property>
-                              </widget>
-                             </item>
-                            </layout>
+                            <widget class="QLabel" name="label_15">
+                             <property name="text">
+                              <string>Y :</string>
+                             </property>
+                            </widget>
+                           </item>
+                           <item row="0" column="1">
+                            <widget class="QLineEdit" name="ObjTrans_end_y">
+                             <property name="enabled">
+                              <bool>false</bool>
+                             </property>
+                             <property name="minimumSize">
+                              <size>
+                               <width>90</width>
+                               <height>0</height>
+                              </size>
+                             </property>
+                             <property name="maximumSize">
+                              <size>
+                               <width>200</width>
+                               <height>16777215</height>
+                              </size>
+                             </property>
+                             <property name="toolTip">
+                              <string>Please Enter a new coordinate and type RETURN to validate!</string>
+                             </property>
+                             <property name="text">
+                              <string>0.0</string>
+                             </property>
+                            </widget>
+                           </item>
+                          </layout>
+                         </item>
+                         <item row="0" column="0">
+                          <layout class="QGridLayout" name="gridLayout_123">
+                           <item row="0" column="0">
+                            <widget class="QLabel" name="label_16">
+                             <property name="text">
+                              <string>X :</string>
+                             </property>
+                            </widget>
+                           </item>
+                           <item row="0" column="1">
+                            <widget class="QLineEdit" name="ObjTrans_end_x">
+                             <property name="enabled">
+                              <bool>false</bool>
+                             </property>
+                             <property name="minimumSize">
+                              <size>
+                               <width>90</width>
+                               <height>0</height>
+                              </size>
+                             </property>
+                             <property name="maximumSize">
+                              <size>
+                               <width>200</width>
+                               <height>16777215</height>
+                              </size>
+                             </property>
+                             <property name="toolTip">
+                              <string>Please Enter a new coordinate and type RETURN to validate!</string>
+                             </property>
+                             <property name="text">
+                              <string>0.0</string>
+                             </property>
+                            </widget>
                            </item>
                           </layout>
                          </item>
                         </layout>
-                       </widget>
+                       </item>
+                      </layout>
+                     </widget>
+                    </widget>
+                    <widget class="QWidget" name="tab">
+                     <attribute name="title">
+                      <string>Seg.</string>
+                     </attribute>
+                     <layout class="QGridLayout" name="gridLayout_21">
+                      <item row="0" column="0">
+                       <layout class="QVBoxLayout" name="verticalLayout">
+                        <item>
+                         <widget class="QSlider" name="ObjTrans_horizontalSlider">
+                          <property name="enabled">
+                           <bool>false</bool>
+                          </property>
+                          <property name="minimumSize">
+                           <size>
+                            <width>0</width>
+                            <height>39</height>
+                           </size>
+                          </property>
+                          <property name="maximumSize">
+                           <size>
+                            <width>16777215</width>
+                            <height>16777215</height>
+                           </size>
+                          </property>
+                          <property name="toolTip">
+                           <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Once a Segment(s) is selected as starting Point(s),&lt;/p&gt;&lt;p&gt;This slider define the ending Point(s) by defining the relative distance from the starting Point(s).&lt;/p&gt;&lt;p&gt;Slider values are : -1000% to 1000%&lt;/p&gt;&lt;p&gt;100% mean full length of the Segment(s) with one ends as starting point(s)&lt;/p&gt;&lt;p&gt;-100% mean full length of the Segment(s) by reversing the starting Point(s)&lt;/p&gt;&lt;p&gt;0% means you do not Translate your selected Object(s)&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+                          </property>
+                          <property name="minimum">
+                           <number>-1000</number>
+                          </property>
+                          <property name="maximum">
+                           <number>1000</number>
+                          </property>
+                          <property name="value">
+                           <number>100</number>
+                          </property>
+                          <property name="orientation">
+                           <enum>Qt::Horizontal</enum>
+                          </property>
+                          <property name="tickPosition">
+                           <enum>QSlider::TicksBothSides</enum>
+                          </property>
+                          <property name="tickInterval">
+                           <number>20</number>
+                          </property>
+                         </widget>
+                        </item>
+                        <item>
+                         <layout class="QHBoxLayout" name="horizontalLayout_85">
+                          <item>
+                           <widget class="QLineEdit" name="ObjTrans_lineEdit_length_seg">
+                            <property name="enabled">
+                             <bool>false</bool>
+                            </property>
+                            <property name="sizePolicy">
+                             <sizepolicy hsizetype="Fixed" vsizetype="MinimumExpanding">
+                              <horstretch>0</horstretch>
+                              <verstretch>0</verstretch>
+                             </sizepolicy>
+                            </property>
+                            <property name="minimumSize">
+                             <size>
+                              <width>40</width>
+                              <height>0</height>
+                             </size>
+                            </property>
+                            <property name="maximumSize">
+                             <size>
+                              <width>60</width>
+                              <height>16777215</height>
+                             </size>
+                            </property>
+                            <property name="toolTip">
+                             <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Enter here a more precise value :&lt;/p&gt;&lt;p&gt;100% mean full length of the Segment(s) with one ends as starting point(s)&lt;/p&gt;&lt;p&gt;-100% mean full length of the Segment(s) by reversing the starting Point(s)&lt;/p&gt;&lt;p&gt;Maximum values allowed [-1000, 1000]&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+                            </property>
+                            <property name="text">
+                             <string>100.0</string>
+                            </property>
+                            <property name="maxLength">
+                             <number>32769</number>
+                            </property>
+                           </widget>
+                          </item>
+                          <item>
+                           <widget class="QLabel" name="label_length_segment">
+                            <property name="maximumSize">
+                             <size>
+                              <width>60</width>
+                              <height>16777215</height>
+                             </size>
+                            </property>
+                            <property name="text">
+                             <string> (%)</string>
+                            </property>
+                           </widget>
+                          </item>
+                         </layout>
+                        </item>
+                       </layout>
+                      </item>
+                      <item row="1" column="0">
+                       <spacer name="verticalSpacer">
+                        <property name="orientation">
+                         <enum>Qt::Vertical</enum>
+                        </property>
+                        <property name="sizeHint" stdset="0">
+                         <size>
+                          <width>20</width>
+                          <height>138</height>
+                         </size>
+                        </property>
+                       </spacer>
                       </item>
                      </layout>
                     </widget>
                    </widget>
                   </item>
-                  <item row="3" column="0">
-                   <layout class="QHBoxLayout" name="horizontalLayout_84">
-                    <item>
-                     <widget class="QPushButton" name="ObjTrans_button_reset">
-                      <property name="minimumSize">
-                       <size>
-                        <width>40</width>
-                        <height>0</height>
-                       </size>
-                      </property>
-                      <property name="maximumSize">
-                       <size>
-                        <width>60</width>
-                        <height>16777215</height>
-                       </size>
-                      </property>
-                      <property name="text">
-                       <string>Reset</string>
-                      </property>
-                     </widget>
-                    </item>
-                    <item>
-                     <spacer name="horizontalSpacer_12">
-                      <property name="orientation">
-                       <enum>Qt::Horizontal</enum>
-                      </property>
-                      <property name="sizeHint" stdset="0">
-                       <size>
-                        <width>20</width>
-                        <height>20</height>
-                       </size>
-                      </property>
-                     </spacer>
-                    </item>
-                    <item>
-                     <widget class="QPushButton" name="ObjTrans_button_apply">
-                      <property name="minimumSize">
-                       <size>
-                        <width>40</width>
-                        <height>0</height>
-                       </size>
-                      </property>
-                      <property name="maximumSize">
-                       <size>
-                        <width>60</width>
-                        <height>16777215</height>
-                       </size>
-                      </property>
-                      <property name="text">
-                       <string>Apply</string>
-                      </property>
-                     </widget>
-                    </item>
-                   </layout>
-                  </item>
                  </layout>
                 </widget>
                </item>
diff --git a/WorkFeature/Ui/WF_ObjParCurve2DEditGui_2016.py b/WorkFeature/Ui/WF_ObjParCurve2DEditGui_2016.py
index 732f71c..880619b 100644
--- a/WorkFeature/Ui/WF_ObjParCurve2DEditGui_2016.py
+++ b/WorkFeature/Ui/WF_ObjParCurve2DEditGui_2016.py
@@ -2,7 +2,7 @@
 
 # Form implementation generated from reading ui file 'WF_ObjParCurve2DEditGui_2016.ui'
 #
-# Created: Fri Dec 30 15:42:17 2016
+# Created: Thu Feb  2 19:33:38 2017
 #      by: PySide UI code generator 4.11.3
 #
 # WARNING! All changes made in this file will be lost!
diff --git a/WorkFeature/Ui/WF_ObjParCurve3DEditGui_2016.py b/WorkFeature/Ui/WF_ObjParCurve3DEditGui_2016.py
index 29c0800..f0df547 100644
--- a/WorkFeature/Ui/WF_ObjParCurve3DEditGui_2016.py
+++ b/WorkFeature/Ui/WF_ObjParCurve3DEditGui_2016.py
@@ -2,7 +2,7 @@
 
 # Form implementation generated from reading ui file 'WF_ObjParCurve3DEditGui_2016.ui'
 #
-# Created: Fri Dec 30 15:42:28 2016
+# Created: Thu Feb  2 19:33:38 2017
 #      by: PySide UI code generator 4.11.3
 #
 # WARNING! All changes made in this file will be lost!
diff --git a/WorkFeature/Ui/WF_ObjSurfaceEditGui_2016.py b/WorkFeature/Ui/WF_ObjSurfaceEditGui_2016.py
index 2653875..d73381c 100644
--- a/WorkFeature/Ui/WF_ObjSurfaceEditGui_2016.py
+++ b/WorkFeature/Ui/WF_ObjSurfaceEditGui_2016.py
@@ -2,7 +2,7 @@
 
 # Form implementation generated from reading ui file 'WF_ObjSurfaceEditGui_2016.ui'
 #
-# Created: Fri Dec 30 15:42:38 2016
+# Created: Thu Feb  2 19:33:38 2017
 #      by: PySide UI code generator 4.11.3
 #
 # WARNING! All changes made in this file will be lost!
diff --git a/WorkFeature/Ui/WF_ParCurveGui_2016.py b/WorkFeature/Ui/WF_ParCurveGui_2016.py
deleted file mode 100644
index 9e31544..0000000
--- a/WorkFeature/Ui/WF_ParCurveGui_2016.py
+++ /dev/null
@@ -1,1536 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Form implementation generated from reading ui file 'WF_ParCurveGui_2016.ui'
-#
-# Created: Wed Jan  4 06:51:13 2017
-#      by: PySide UI code generator 4.11.3
-#
-# WARNING! All changes made in this file will be lost!
-
-from PySide import QtCore, QtGui
-
-try:
-    _fromUtf8 = QtCore.QString.fromUtf8
-except AttributeError:
-    def _fromUtf8(s):
-        return s
-
-try:
-    _encoding = QtGui.QApplication.UnicodeUTF8
-    def _translate(context, text, disambig):
-        return QtGui.QApplication.translate(context, text, disambig, _encoding)
-except AttributeError:
-    def _translate(context, text, disambig):
-        return QtGui.QApplication.translate(context, text, disambig)
-
-class Ui_Form(object):
-    def setupUi(self, Form):
-        Form.setObjectName(_fromUtf8("Form"))
-        Form.resize(400, 803)
-        Form.setMinimumSize(QtCore.QSize(0, 0))
-        self.gridLayout_41 = QtGui.QGridLayout(Form)
-        self.gridLayout_41.setObjectName(_fromUtf8("gridLayout_41"))
-        self.tabWidget_6 = QtGui.QTabWidget(Form)
-        self.tabWidget_6.setObjectName(_fromUtf8("tabWidget_6"))
-        self.tab = QtGui.QWidget()
-        self.tab.setObjectName(_fromUtf8("tab"))
-        self.gridLayout_8 = QtGui.QGridLayout(self.tab)
-        self.gridLayout_8.setObjectName(_fromUtf8("gridLayout_8"))
-        self.scrollArea_8 = QtGui.QScrollArea(self.tab)
-        self.scrollArea_8.setWidgetResizable(True)
-        self.scrollArea_8.setObjectName(_fromUtf8("scrollArea_8"))
-        self.scrollAreaWidgetContents_8 = QtGui.QWidget()
-        self.scrollAreaWidgetContents_8.setGeometry(QtCore.QRect(0, 0, 358, 654))
-        self.scrollAreaWidgetContents_8.setObjectName(_fromUtf8("scrollAreaWidgetContents_8"))
-        self.gridLayout_38 = QtGui.QGridLayout(self.scrollAreaWidgetContents_8)
-        self.gridLayout_38.setObjectName(_fromUtf8("gridLayout_38"))
-        self.tabWidget_8 = QtGui.QTabWidget(self.scrollAreaWidgetContents_8)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.MinimumExpanding)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.tabWidget_8.sizePolicy().hasHeightForWidth())
-        self.tabWidget_8.setSizePolicy(sizePolicy)
-        self.tabWidget_8.setObjectName(_fromUtf8("tabWidget_8"))
-        self.Wire_Tab1_3 = QtGui.QWidget()
-        self.Wire_Tab1_3.setObjectName(_fromUtf8("Wire_Tab1_3"))
-        self.gridLayout_20 = QtGui.QGridLayout(self.Wire_Tab1_3)
-        self.gridLayout_20.setObjectName(_fromUtf8("gridLayout_20"))
-        self.tabWidget_4 = QtGui.QTabWidget(self.Wire_Tab1_3)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.MinimumExpanding)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.tabWidget_4.sizePolicy().hasHeightForWidth())
-        self.tabWidget_4.setSizePolicy(sizePolicy)
-        self.tabWidget_4.setObjectName(_fromUtf8("tabWidget_4"))
-        self.tab_5 = QtGui.QWidget()
-        self.tab_5.setObjectName(_fromUtf8("tab_5"))
-        self.gridLayout_19 = QtGui.QGridLayout(self.tab_5)
-        self.gridLayout_19.setObjectName(_fromUtf8("gridLayout_19"))
-        self.Reg2DCurve_button_select_points = QtGui.QPushButton(self.tab_5)
-        self.Reg2DCurve_button_select_points.setObjectName(_fromUtf8("Reg2DCurve_button_select_points"))
-        self.gridLayout_19.addWidget(self.Reg2DCurve_button_select_points, 0, 0, 1, 1)
-        self.Reg2DCurve_input_textEdit = QtGui.QTextEdit(self.tab_5)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.MinimumExpanding)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.Reg2DCurve_input_textEdit.sizePolicy().hasHeightForWidth())
-        self.Reg2DCurve_input_textEdit.setSizePolicy(sizePolicy)
-        self.Reg2DCurve_input_textEdit.setObjectName(_fromUtf8("Reg2DCurve_input_textEdit"))
-        self.gridLayout_19.addWidget(self.Reg2DCurve_input_textEdit, 1, 0, 1, 1)
-        self.tabWidget_4.addTab(self.tab_5, _fromUtf8(""))
-        self.tab_6 = QtGui.QWidget()
-        self.tab_6.setObjectName(_fromUtf8("tab_6"))
-        self.gridLayout_33 = QtGui.QGridLayout(self.tab_6)
-        self.gridLayout_33.setObjectName(_fromUtf8("gridLayout_33"))
-        self.Reg2DCurve_comboBox = QtGui.QComboBox(self.tab_6)
-        self.Reg2DCurve_comboBox.setObjectName(_fromUtf8("Reg2DCurve_comboBox"))
-        self.Reg2DCurve_comboBox.addItem(_fromUtf8(""))
-        self.gridLayout_33.addWidget(self.Reg2DCurve_comboBox, 0, 0, 1, 1)
-        self.horizontalLayout_18 = QtGui.QHBoxLayout()
-        self.horizontalLayout_18.setObjectName(_fromUtf8("horizontalLayout_18"))
-        self.label = QtGui.QLabel(self.tab_6)
-        self.label.setObjectName(_fromUtf8("label"))
-        self.horizontalLayout_18.addWidget(self.label)
-        self.Reg2DCurve_degree_select = QtGui.QSpinBox(self.tab_6)
-        self.Reg2DCurve_degree_select.setMinimum(1)
-        self.Reg2DCurve_degree_select.setProperty("value", 2)
-        self.Reg2DCurve_degree_select.setObjectName(_fromUtf8("Reg2DCurve_degree_select"))
-        self.horizontalLayout_18.addWidget(self.Reg2DCurve_degree_select)
-        self.gridLayout_33.addLayout(self.horizontalLayout_18, 1, 0, 1, 1)
-        spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
-        self.gridLayout_33.addItem(spacerItem, 2, 0, 1, 1)
-        self.groupBox_20 = QtGui.QGroupBox(self.tab_6)
-        self.groupBox_20.setObjectName(_fromUtf8("groupBox_20"))
-        self.gridLayout_34 = QtGui.QGridLayout(self.groupBox_20)
-        self.gridLayout_34.setObjectName(_fromUtf8("gridLayout_34"))
-        self.checkBox_points_reg1 = QtGui.QCheckBox(self.groupBox_20)
-        self.checkBox_points_reg1.setAutoExclusive(True)
-        self.checkBox_points_reg1.setObjectName(_fromUtf8("checkBox_points_reg1"))
-        self.gridLayout_34.addWidget(self.checkBox_points_reg1, 0, 0, 1, 1)
-        self.checkBox_polyline_reg1 = QtGui.QCheckBox(self.groupBox_20)
-        self.checkBox_polyline_reg1.setChecked(True)
-        self.checkBox_polyline_reg1.setAutoExclusive(True)
-        self.checkBox_polyline_reg1.setObjectName(_fromUtf8("checkBox_polyline_reg1"))
-        self.gridLayout_34.addWidget(self.checkBox_polyline_reg1, 0, 1, 1, 1)
-        self.checkBox_bezier_reg1 = QtGui.QCheckBox(self.groupBox_20)
-        self.checkBox_bezier_reg1.setEnabled(True)
-        self.checkBox_bezier_reg1.setChecked(False)
-        self.checkBox_bezier_reg1.setAutoExclusive(True)
-        self.checkBox_bezier_reg1.setObjectName(_fromUtf8("checkBox_bezier_reg1"))
-        self.gridLayout_34.addWidget(self.checkBox_bezier_reg1, 1, 0, 1, 1)
-        self.checkBox_bspline_reg1 = QtGui.QCheckBox(self.groupBox_20)
-        self.checkBox_bspline_reg1.setEnabled(True)
-        self.checkBox_bspline_reg1.setChecked(False)
-        self.checkBox_bspline_reg1.setAutoExclusive(True)
-        self.checkBox_bspline_reg1.setObjectName(_fromUtf8("checkBox_bspline_reg1"))
-        self.gridLayout_34.addWidget(self.checkBox_bspline_reg1, 1, 1, 1, 1)
-        self.gridLayout_33.addWidget(self.groupBox_20, 3, 0, 1, 1)
-        self.tabWidget_4.addTab(self.tab_6, _fromUtf8(""))
-        self.tab_7 = QtGui.QWidget()
-        self.tab_7.setObjectName(_fromUtf8("tab_7"))
-        self.gridLayout_37 = QtGui.QGridLayout(self.tab_7)
-        self.gridLayout_37.setObjectName(_fromUtf8("gridLayout_37"))
-        self.scrollArea_3 = QtGui.QScrollArea(self.tab_7)
-        self.scrollArea_3.setWidgetResizable(True)
-        self.scrollArea_3.setObjectName(_fromUtf8("scrollArea_3"))
-        self.scrollAreaWidgetContents_2 = QtGui.QWidget()
-        self.scrollAreaWidgetContents_2.setGeometry(QtCore.QRect(0, 0, 294, 485))
-        self.scrollAreaWidgetContents_2.setObjectName(_fromUtf8("scrollAreaWidgetContents_2"))
-        self.gridLayout_35 = QtGui.QGridLayout(self.scrollAreaWidgetContents_2)
-        self.gridLayout_35.setObjectName(_fromUtf8("gridLayout_35"))
-        self.Reg2DCurve_function_textEdit = QtGui.QTextEdit(self.scrollAreaWidgetContents_2)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.MinimumExpanding)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.Reg2DCurve_function_textEdit.sizePolicy().hasHeightForWidth())
-        self.Reg2DCurve_function_textEdit.setSizePolicy(sizePolicy)
-        self.Reg2DCurve_function_textEdit.setObjectName(_fromUtf8("Reg2DCurve_function_textEdit"))
-        self.gridLayout_35.addWidget(self.Reg2DCurve_function_textEdit, 0, 0, 1, 1)
-        self.gridLayout_25 = QtGui.QGridLayout()
-        self.gridLayout_25.setObjectName(_fromUtf8("gridLayout_25"))
-        self.horizontalLayout_28 = QtGui.QHBoxLayout()
-        self.horizontalLayout_28.setObjectName(_fromUtf8("horizontalLayout_28"))
-        self.label_regmin_1 = QtGui.QLabel(self.scrollAreaWidgetContents_2)
-        self.label_regmin_1.setMaximumSize(QtCore.QSize(70, 16777215))
-        self.label_regmin_1.setLayoutDirection(QtCore.Qt.LeftToRight)
-        self.label_regmin_1.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_regmin_1.setObjectName(_fromUtf8("label_regmin_1"))
-        self.horizontalLayout_28.addWidget(self.label_regmin_1)
-        self.Reg2DCurve_min = QtGui.QLineEdit(self.scrollAreaWidgetContents_2)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.Reg2DCurve_min.sizePolicy().hasHeightForWidth())
-        self.Reg2DCurve_min.setSizePolicy(sizePolicy)
-        self.Reg2DCurve_min.setMinimumSize(QtCore.QSize(40, 0))
-        self.Reg2DCurve_min.setMaximumSize(QtCore.QSize(150, 16777215))
-        self.Reg2DCurve_min.setText(_fromUtf8(""))
-        self.Reg2DCurve_min.setMaxLength(32769)
-        self.Reg2DCurve_min.setObjectName(_fromUtf8("Reg2DCurve_min"))
-        self.horizontalLayout_28.addWidget(self.Reg2DCurve_min)
-        self.gridLayout_25.addLayout(self.horizontalLayout_28, 0, 0, 1, 1)
-        self.horizontalLayout_29 = QtGui.QHBoxLayout()
-        self.horizontalLayout_29.setObjectName(_fromUtf8("horizontalLayout_29"))
-        self.label_regmax_1 = QtGui.QLabel(self.scrollAreaWidgetContents_2)
-        self.label_regmax_1.setMaximumSize(QtCore.QSize(70, 16777215))
-        self.label_regmax_1.setLayoutDirection(QtCore.Qt.LeftToRight)
-        self.label_regmax_1.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_regmax_1.setObjectName(_fromUtf8("label_regmax_1"))
-        self.horizontalLayout_29.addWidget(self.label_regmax_1)
-        self.Reg2DCurve_max = QtGui.QLineEdit(self.scrollAreaWidgetContents_2)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.Reg2DCurve_max.sizePolicy().hasHeightForWidth())
-        self.Reg2DCurve_max.setSizePolicy(sizePolicy)
-        self.Reg2DCurve_max.setMinimumSize(QtCore.QSize(40, 0))
-        self.Reg2DCurve_max.setMaximumSize(QtCore.QSize(150, 16777215))
-        self.Reg2DCurve_max.setText(_fromUtf8(""))
-        self.Reg2DCurve_max.setMaxLength(32769)
-        self.Reg2DCurve_max.setObjectName(_fromUtf8("Reg2DCurve_max"))
-        self.horizontalLayout_29.addWidget(self.Reg2DCurve_max)
-        self.gridLayout_25.addLayout(self.horizontalLayout_29, 1, 0, 1, 1)
-        self.horizontalLayout_30 = QtGui.QHBoxLayout()
-        self.horizontalLayout_30.setObjectName(_fromUtf8("horizontalLayout_30"))
-        self.label_regstep_1 = QtGui.QLabel(self.scrollAreaWidgetContents_2)
-        self.label_regstep_1.setMaximumSize(QtCore.QSize(70, 16777215))
-        self.label_regstep_1.setLayoutDirection(QtCore.Qt.LeftToRight)
-        self.label_regstep_1.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_regstep_1.setObjectName(_fromUtf8("label_regstep_1"))
-        self.horizontalLayout_30.addWidget(self.label_regstep_1)
-        self.Reg2DCurve_step = QtGui.QLineEdit(self.scrollAreaWidgetContents_2)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.Reg2DCurve_step.sizePolicy().hasHeightForWidth())
-        self.Reg2DCurve_step.setSizePolicy(sizePolicy)
-        self.Reg2DCurve_step.setMinimumSize(QtCore.QSize(40, 0))
-        self.Reg2DCurve_step.setMaximumSize(QtCore.QSize(150, 16777215))
-        self.Reg2DCurve_step.setText(_fromUtf8(""))
-        self.Reg2DCurve_step.setMaxLength(32769)
-        self.Reg2DCurve_step.setObjectName(_fromUtf8("Reg2DCurve_step"))
-        self.horizontalLayout_30.addWidget(self.Reg2DCurve_step)
-        self.gridLayout_25.addLayout(self.horizontalLayout_30, 2, 0, 1, 1)
-        self.gridLayout_35.addLayout(self.gridLayout_25, 1, 0, 1, 1)
-        self.horizontalLayout_32 = QtGui.QHBoxLayout()
-        self.horizontalLayout_32.setObjectName(_fromUtf8("horizontalLayout_32"))
-        self.label_Reg2DCurve_z = QtGui.QLabel(self.scrollAreaWidgetContents_2)
-        self.label_Reg2DCurve_z.setMaximumSize(QtCore.QSize(70, 16777215))
-        self.label_Reg2DCurve_z.setLayoutDirection(QtCore.Qt.LeftToRight)
-        self.label_Reg2DCurve_z.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_Reg2DCurve_z.setObjectName(_fromUtf8("label_Reg2DCurve_z"))
-        self.horizontalLayout_32.addWidget(self.label_Reg2DCurve_z)
-        self.Reg2DCurve_z = QtGui.QLineEdit(self.scrollAreaWidgetContents_2)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.Reg2DCurve_z.sizePolicy().hasHeightForWidth())
-        self.Reg2DCurve_z.setSizePolicy(sizePolicy)
-        self.Reg2DCurve_z.setMinimumSize(QtCore.QSize(40, 0))
-        self.Reg2DCurve_z.setMaximumSize(QtCore.QSize(150, 16777215))
-        self.Reg2DCurve_z.setMaxLength(32769)
-        self.Reg2DCurve_z.setObjectName(_fromUtf8("Reg2DCurve_z"))
-        self.horizontalLayout_32.addWidget(self.Reg2DCurve_z)
-        self.gridLayout_35.addLayout(self.horizontalLayout_32, 2, 0, 1, 1)
-        self.scrollArea_3.setWidget(self.scrollAreaWidgetContents_2)
-        self.gridLayout_37.addWidget(self.scrollArea_3, 0, 0, 1, 1)
-        self.tabWidget_4.addTab(self.tab_7, _fromUtf8(""))
-        self.gridLayout_20.addWidget(self.tabWidget_4, 0, 0, 1, 1)
-        self.horizontalLayout_19 = QtGui.QHBoxLayout()
-        self.horizontalLayout_19.setObjectName(_fromUtf8("horizontalLayout_19"))
-        self.Reg2DCurve_button_apply = QtGui.QPushButton(self.Wire_Tab1_3)
-        self.Reg2DCurve_button_apply.setMinimumSize(QtCore.QSize(40, 0))
-        self.Reg2DCurve_button_apply.setMaximumSize(QtCore.QSize(60, 16777215))
-        self.Reg2DCurve_button_apply.setObjectName(_fromUtf8("Reg2DCurve_button_apply"))
-        self.horizontalLayout_19.addWidget(self.Reg2DCurve_button_apply)
-        spacerItem1 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
-        self.horizontalLayout_19.addItem(spacerItem1)
-        self.gridLayout_20.addLayout(self.horizontalLayout_19, 1, 0, 1, 1)
-        self.tabWidget_8.addTab(self.Wire_Tab1_3, _fromUtf8(""))
-        self.Wire_Tab2_3 = QtGui.QWidget()
-        self.Wire_Tab2_3.setObjectName(_fromUtf8("Wire_Tab2_3"))
-        self.gridLayout_36 = QtGui.QGridLayout(self.Wire_Tab2_3)
-        self.gridLayout_36.setObjectName(_fromUtf8("gridLayout_36"))
-        self.scrollArea_2 = QtGui.QScrollArea(self.Wire_Tab2_3)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.scrollArea_2.sizePolicy().hasHeightForWidth())
-        self.scrollArea_2.setSizePolicy(sizePolicy)
-        self.scrollArea_2.setWidgetResizable(True)
-        self.scrollArea_2.setObjectName(_fromUtf8("scrollArea_2"))
-        self.scrollAreaWidgetContents_5 = QtGui.QWidget()
-        self.scrollAreaWidgetContents_5.setGeometry(QtCore.QRect(0, 0, 303, 652))
-        self.scrollAreaWidgetContents_5.setObjectName(_fromUtf8("scrollAreaWidgetContents_5"))
-        self.gridLayout = QtGui.QGridLayout(self.scrollAreaWidgetContents_5)
-        self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
-        self.horizontalLayout_59 = QtGui.QHBoxLayout()
-        self.horizontalLayout_59.setObjectName(_fromUtf8("horizontalLayout_59"))
-        self.ParCurve_comboBox_2 = QtGui.QComboBox(self.scrollAreaWidgetContents_5)
-        self.ParCurve_comboBox_2.setObjectName(_fromUtf8("ParCurve_comboBox_2"))
-        self.horizontalLayout_59.addWidget(self.ParCurve_comboBox_2)
-        self.ParCurve_button_edit_2 = QtGui.QPushButton(self.scrollAreaWidgetContents_5)
-        self.ParCurve_button_edit_2.setMinimumSize(QtCore.QSize(40, 0))
-        self.ParCurve_button_edit_2.setMaximumSize(QtCore.QSize(60, 16777215))
-        self.ParCurve_button_edit_2.setObjectName(_fromUtf8("ParCurve_button_edit_2"))
-        self.horizontalLayout_59.addWidget(self.ParCurve_button_edit_2)
-        self.gridLayout.addLayout(self.horizontalLayout_59, 0, 0, 1, 1)
-        self.horizontalLayout_60 = QtGui.QHBoxLayout()
-        self.horizontalLayout_60.setObjectName(_fromUtf8("horizontalLayout_60"))
-        self.label_name_2 = QtGui.QLabel(self.scrollAreaWidgetContents_5)
-        self.label_name_2.setFrameShape(QtGui.QFrame.Box)
-        self.label_name_2.setFrameShadow(QtGui.QFrame.Raised)
-        self.label_name_2.setLineWidth(3)
-        self.label_name_2.setAlignment(QtCore.Qt.AlignCenter)
-        self.label_name_2.setObjectName(_fromUtf8("label_name_2"))
-        self.horizontalLayout_60.addWidget(self.label_name_2)
-        self.ParCurve_name_2 = QtGui.QLineEdit(self.scrollAreaWidgetContents_5)
-        self.ParCurve_name_2.setObjectName(_fromUtf8("ParCurve_name_2"))
-        self.horizontalLayout_60.addWidget(self.ParCurve_name_2)
-        self.gridLayout.addLayout(self.horizontalLayout_60, 1, 0, 1, 1)
-        self.horizontalLayout_2 = QtGui.QHBoxLayout()
-        self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
-        self.label_dim_2 = QtGui.QLabel(self.scrollAreaWidgetContents_5)
-        self.label_dim_2.setObjectName(_fromUtf8("label_dim_2"))
-        self.horizontalLayout_2.addWidget(self.label_dim_2)
-        self.ParCurve_combo_dim_2D = QtGui.QComboBox(self.scrollAreaWidgetContents_5)
-        self.ParCurve_combo_dim_2D.setEnabled(False)
-        self.ParCurve_combo_dim_2D.setObjectName(_fromUtf8("ParCurve_combo_dim_2D"))
-        self.ParCurve_combo_dim_2D.addItem(_fromUtf8(""))
-        self.ParCurve_combo_dim_2D.addItem(_fromUtf8(""))
-        self.ParCurve_combo_dim_2D.addItem(_fromUtf8(""))
-        self.ParCurve_combo_dim_2D.addItem(_fromUtf8(""))
-        self.ParCurve_combo_dim_2D.addItem(_fromUtf8(""))
-        self.ParCurve_combo_dim_2D.addItem(_fromUtf8(""))
-        self.horizontalLayout_2.addWidget(self.ParCurve_combo_dim_2D)
-        self.gridLayout.addLayout(self.horizontalLayout_2, 2, 0, 1, 1)
-        self.groupBox_16 = QtGui.QGroupBox(self.scrollAreaWidgetContents_5)
-        self.groupBox_16.setObjectName(_fromUtf8("groupBox_16"))
-        self.gridLayout_2 = QtGui.QGridLayout(self.groupBox_16)
-        self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
-        self.checkBox_points_2 = QtGui.QCheckBox(self.groupBox_16)
-        self.checkBox_points_2.setAutoExclusive(True)
-        self.checkBox_points_2.setObjectName(_fromUtf8("checkBox_points_2"))
-        self.gridLayout_2.addWidget(self.checkBox_points_2, 0, 0, 1, 1)
-        self.checkBox_polyline_2 = QtGui.QCheckBox(self.groupBox_16)
-        self.checkBox_polyline_2.setChecked(True)
-        self.checkBox_polyline_2.setAutoExclusive(True)
-        self.checkBox_polyline_2.setObjectName(_fromUtf8("checkBox_polyline_2"))
-        self.gridLayout_2.addWidget(self.checkBox_polyline_2, 0, 1, 1, 1)
-        self.checkBox_bezier_2 = QtGui.QCheckBox(self.groupBox_16)
-        self.checkBox_bezier_2.setEnabled(True)
-        self.checkBox_bezier_2.setChecked(False)
-        self.checkBox_bezier_2.setAutoExclusive(True)
-        self.checkBox_bezier_2.setObjectName(_fromUtf8("checkBox_bezier_2"))
-        self.gridLayout_2.addWidget(self.checkBox_bezier_2, 1, 0, 1, 1)
-        self.checkBox_bspline_2 = QtGui.QCheckBox(self.groupBox_16)
-        self.checkBox_bspline_2.setEnabled(True)
-        self.checkBox_bspline_2.setChecked(False)
-        self.checkBox_bspline_2.setAutoExclusive(True)
-        self.checkBox_bspline_2.setObjectName(_fromUtf8("checkBox_bspline_2"))
-        self.gridLayout_2.addWidget(self.checkBox_bspline_2, 1, 1, 1, 1)
-        self.gridLayout.addWidget(self.groupBox_16, 4, 0, 1, 1)
-        self.horizontalLayout_61 = QtGui.QHBoxLayout()
-        self.horizontalLayout_61.setObjectName(_fromUtf8("horizontalLayout_61"))
-        self.checkBox_close_2 = QtGui.QCheckBox(self.scrollAreaWidgetContents_5)
-        self.checkBox_close_2.setEnabled(True)
-        self.checkBox_close_2.setObjectName(_fromUtf8("checkBox_close_2"))
-        self.horizontalLayout_61.addWidget(self.checkBox_close_2)
-        self.checkBox_face_2 = QtGui.QCheckBox(self.scrollAreaWidgetContents_5)
-        self.checkBox_face_2.setEnabled(False)
-        self.checkBox_face_2.setObjectName(_fromUtf8("checkBox_face_2"))
-        self.horizontalLayout_61.addWidget(self.checkBox_face_2)
-        self.gridLayout.addLayout(self.horizontalLayout_61, 5, 0, 1, 1)
-        self.horizontalLayout_62 = QtGui.QHBoxLayout()
-        self.horizontalLayout_62.setObjectName(_fromUtf8("horizontalLayout_62"))
-        self.ParCurve_button_store_2 = QtGui.QPushButton(self.scrollAreaWidgetContents_5)
-        self.ParCurve_button_store_2.setMinimumSize(QtCore.QSize(40, 0))
-        self.ParCurve_button_store_2.setMaximumSize(QtCore.QSize(60, 16777215))
-        self.ParCurve_button_store_2.setObjectName(_fromUtf8("ParCurve_button_store_2"))
-        self.horizontalLayout_62.addWidget(self.ParCurve_button_store_2)
-        spacerItem2 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
-        self.horizontalLayout_62.addItem(spacerItem2)
-        self.ParCurve_button_apply_2 = QtGui.QPushButton(self.scrollAreaWidgetContents_5)
-        self.ParCurve_button_apply_2.setMinimumSize(QtCore.QSize(40, 0))
-        self.ParCurve_button_apply_2.setMaximumSize(QtCore.QSize(60, 16777215))
-        self.ParCurve_button_apply_2.setObjectName(_fromUtf8("ParCurve_button_apply_2"))
-        self.horizontalLayout_62.addWidget(self.ParCurve_button_apply_2)
-        self.gridLayout.addLayout(self.horizontalLayout_62, 6, 0, 1, 1)
-        self.tabWidget = QtGui.QTabWidget(self.scrollAreaWidgetContents_5)
-        self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
-        self.Equation_tab_2 = QtGui.QWidget()
-        self.Equation_tab_2.setObjectName(_fromUtf8("Equation_tab_2"))
-        self.gridLayout_23 = QtGui.QGridLayout(self.Equation_tab_2)
-        self.gridLayout_23.setObjectName(_fromUtf8("gridLayout_23"))
-        self.groupBox_14 = QtGui.QGroupBox(self.Equation_tab_2)
-        self.groupBox_14.setToolTip(_fromUtf8(""))
-        self.groupBox_14.setTitle(_fromUtf8(""))
-        self.groupBox_14.setObjectName(_fromUtf8("groupBox_14"))
-        self.gridLayout_22 = QtGui.QGridLayout(self.groupBox_14)
-        self.gridLayout_22.setObjectName(_fromUtf8("gridLayout_22"))
-        self.horizontalLayout_7 = QtGui.QHBoxLayout()
-        self.horizontalLayout_7.setObjectName(_fromUtf8("horizontalLayout_7"))
-        self.verticalLayout_6 = QtGui.QVBoxLayout()
-        self.verticalLayout_6.setObjectName(_fromUtf8("verticalLayout_6"))
-        self.horizontalLayout_3 = QtGui.QHBoxLayout()
-        self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3"))
-        self.label_a_3 = QtGui.QLabel(self.groupBox_14)
-        self.label_a_3.setMaximumSize(QtCore.QSize(70, 16777215))
-        self.label_a_3.setLayoutDirection(QtCore.Qt.LeftToRight)
-        self.label_a_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_a_3.setObjectName(_fromUtf8("label_a_3"))
-        self.horizontalLayout_3.addWidget(self.label_a_3)
-        self.ParCurve_a_2 = QtGui.QLineEdit(self.groupBox_14)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.ParCurve_a_2.sizePolicy().hasHeightForWidth())
-        self.ParCurve_a_2.setSizePolicy(sizePolicy)
-        self.ParCurve_a_2.setMinimumSize(QtCore.QSize(40, 0))
-        self.ParCurve_a_2.setMaximumSize(QtCore.QSize(150, 16777215))
-        self.ParCurve_a_2.setMaxLength(32769)
-        self.ParCurve_a_2.setObjectName(_fromUtf8("ParCurve_a_2"))
-        self.horizontalLayout_3.addWidget(self.ParCurve_a_2)
-        self.verticalLayout_6.addLayout(self.horizontalLayout_3)
-        self.horizontalLayout_4 = QtGui.QHBoxLayout()
-        self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4"))
-        self.label_b_3 = QtGui.QLabel(self.groupBox_14)
-        self.label_b_3.setMaximumSize(QtCore.QSize(70, 16777215))
-        self.label_b_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_b_3.setObjectName(_fromUtf8("label_b_3"))
-        self.horizontalLayout_4.addWidget(self.label_b_3)
-        self.ParCurve_b_2 = QtGui.QLineEdit(self.groupBox_14)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.ParCurve_b_2.sizePolicy().hasHeightForWidth())
-        self.ParCurve_b_2.setSizePolicy(sizePolicy)
-        self.ParCurve_b_2.setMinimumSize(QtCore.QSize(40, 0))
-        self.ParCurve_b_2.setMaximumSize(QtCore.QSize(150, 16777215))
-        self.ParCurve_b_2.setMaxLength(32769)
-        self.ParCurve_b_2.setObjectName(_fromUtf8("ParCurve_b_2"))
-        self.horizontalLayout_4.addWidget(self.ParCurve_b_2)
-        self.verticalLayout_6.addLayout(self.horizontalLayout_4)
-        self.horizontalLayout_7.addLayout(self.verticalLayout_6)
-        self.gridLayout_22.addLayout(self.horizontalLayout_7, 0, 0, 1, 1)
-        self.checkBox_polar_2 = QtGui.QCheckBox(self.groupBox_14)
-        self.checkBox_polar_2.setAutoExclusive(True)
-        self.checkBox_polar_2.setObjectName(_fromUtf8("checkBox_polar_2"))
-        self.gridLayout_22.addWidget(self.checkBox_polar_2, 1, 0, 1, 1)
-        self.gridLayout_4 = QtGui.QGridLayout()
-        self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
-        self.horizontalLayout_6 = QtGui.QHBoxLayout()
-        self.horizontalLayout_6.setObjectName(_fromUtf8("horizontalLayout_6"))
-        self.label_x_2 = QtGui.QLabel(self.groupBox_14)
-        self.label_x_2.setMaximumSize(QtCore.QSize(70, 16777215))
-        self.label_x_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_x_2.setObjectName(_fromUtf8("label_x_2"))
-        self.horizontalLayout_6.addWidget(self.label_x_2)
-        spacerItem3 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
-        self.horizontalLayout_6.addItem(spacerItem3)
-        self.gridLayout_4.addLayout(self.horizontalLayout_6, 0, 0, 1, 1)
-        self.ParCurve_x_2 = QtGui.QLineEdit(self.groupBox_14)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.ParCurve_x_2.sizePolicy().hasHeightForWidth())
-        self.ParCurve_x_2.setSizePolicy(sizePolicy)
-        self.ParCurve_x_2.setMinimumSize(QtCore.QSize(0, 0))
-        self.ParCurve_x_2.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        self.ParCurve_x_2.setMaxLength(32769)
-        self.ParCurve_x_2.setObjectName(_fromUtf8("ParCurve_x_2"))
-        self.gridLayout_4.addWidget(self.ParCurve_x_2, 1, 0, 1, 1)
-        self.gridLayout_22.addLayout(self.gridLayout_4, 2, 0, 1, 1)
-        self.gridLayout_21 = QtGui.QGridLayout()
-        self.gridLayout_21.setObjectName(_fromUtf8("gridLayout_21"))
-        self.horizontalLayout_5 = QtGui.QHBoxLayout()
-        self.horizontalLayout_5.setObjectName(_fromUtf8("horizontalLayout_5"))
-        self.label_y_2 = QtGui.QLabel(self.groupBox_14)
-        self.label_y_2.setMaximumSize(QtCore.QSize(70, 16777215))
-        self.label_y_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_y_2.setObjectName(_fromUtf8("label_y_2"))
-        self.horizontalLayout_5.addWidget(self.label_y_2)
-        spacerItem4 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
-        self.horizontalLayout_5.addItem(spacerItem4)
-        self.gridLayout_21.addLayout(self.horizontalLayout_5, 0, 0, 1, 1)
-        self.ParCurve_y_2 = QtGui.QLineEdit(self.groupBox_14)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.ParCurve_y_2.sizePolicy().hasHeightForWidth())
-        self.ParCurve_y_2.setSizePolicy(sizePolicy)
-        self.ParCurve_y_2.setMinimumSize(QtCore.QSize(0, 0))
-        self.ParCurve_y_2.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        self.ParCurve_y_2.setMaxLength(32769)
-        self.ParCurve_y_2.setObjectName(_fromUtf8("ParCurve_y_2"))
-        self.gridLayout_21.addWidget(self.ParCurve_y_2, 1, 0, 1, 1)
-        self.gridLayout_22.addLayout(self.gridLayout_21, 3, 0, 1, 1)
-        self.gridLayout_23.addWidget(self.groupBox_14, 0, 0, 1, 1)
-        self.tabWidget.addTab(self.Equation_tab_2, _fromUtf8(""))
-        self.Variables_tab_2 = QtGui.QWidget()
-        self.Variables_tab_2.setObjectName(_fromUtf8("Variables_tab_2"))
-        self.gridLayout_6 = QtGui.QGridLayout(self.Variables_tab_2)
-        self.gridLayout_6.setObjectName(_fromUtf8("gridLayout_6"))
-        self.groupBox_15 = QtGui.QGroupBox(self.Variables_tab_2)
-        self.groupBox_15.setTitle(_fromUtf8(""))
-        self.groupBox_15.setObjectName(_fromUtf8("groupBox_15"))
-        self.gridLayout_44 = QtGui.QGridLayout(self.groupBox_15)
-        self.gridLayout_44.setObjectName(_fromUtf8("gridLayout_44"))
-        self.gridLayout_5 = QtGui.QGridLayout()
-        self.gridLayout_5.setObjectName(_fromUtf8("gridLayout_5"))
-        self.horizontalLayout_8 = QtGui.QHBoxLayout()
-        self.horizontalLayout_8.setObjectName(_fromUtf8("horizontalLayout_8"))
-        self.label_tmin_3 = QtGui.QLabel(self.groupBox_15)
-        self.label_tmin_3.setMaximumSize(QtCore.QSize(70, 16777215))
-        self.label_tmin_3.setLayoutDirection(QtCore.Qt.LeftToRight)
-        self.label_tmin_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_tmin_3.setObjectName(_fromUtf8("label_tmin_3"))
-        self.horizontalLayout_8.addWidget(self.label_tmin_3)
-        self.ParCurve_tmin_2 = QtGui.QLineEdit(self.groupBox_15)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.ParCurve_tmin_2.sizePolicy().hasHeightForWidth())
-        self.ParCurve_tmin_2.setSizePolicy(sizePolicy)
-        self.ParCurve_tmin_2.setMinimumSize(QtCore.QSize(40, 0))
-        self.ParCurve_tmin_2.setMaximumSize(QtCore.QSize(150, 16777215))
-        self.ParCurve_tmin_2.setMaxLength(32769)
-        self.ParCurve_tmin_2.setObjectName(_fromUtf8("ParCurve_tmin_2"))
-        self.horizontalLayout_8.addWidget(self.ParCurve_tmin_2)
-        self.gridLayout_5.addLayout(self.horizontalLayout_8, 0, 0, 1, 1)
-        self.horizontalLayout_9 = QtGui.QHBoxLayout()
-        self.horizontalLayout_9.setObjectName(_fromUtf8("horizontalLayout_9"))
-        self.label_tmax_3 = QtGui.QLabel(self.groupBox_15)
-        self.label_tmax_3.setMaximumSize(QtCore.QSize(70, 16777215))
-        self.label_tmax_3.setLayoutDirection(QtCore.Qt.LeftToRight)
-        self.label_tmax_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_tmax_3.setObjectName(_fromUtf8("label_tmax_3"))
-        self.horizontalLayout_9.addWidget(self.label_tmax_3)
-        self.ParCurve_tmax_2 = QtGui.QLineEdit(self.groupBox_15)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.ParCurve_tmax_2.sizePolicy().hasHeightForWidth())
-        self.ParCurve_tmax_2.setSizePolicy(sizePolicy)
-        self.ParCurve_tmax_2.setMinimumSize(QtCore.QSize(40, 0))
-        self.ParCurve_tmax_2.setMaximumSize(QtCore.QSize(150, 16777215))
-        self.ParCurve_tmax_2.setMaxLength(32769)
-        self.ParCurve_tmax_2.setObjectName(_fromUtf8("ParCurve_tmax_2"))
-        self.horizontalLayout_9.addWidget(self.ParCurve_tmax_2)
-        self.gridLayout_5.addLayout(self.horizontalLayout_9, 1, 0, 1, 1)
-        self.horizontalLayout_10 = QtGui.QHBoxLayout()
-        self.horizontalLayout_10.setObjectName(_fromUtf8("horizontalLayout_10"))
-        self.label_tstep_3 = QtGui.QLabel(self.groupBox_15)
-        self.label_tstep_3.setMaximumSize(QtCore.QSize(70, 16777215))
-        self.label_tstep_3.setLayoutDirection(QtCore.Qt.LeftToRight)
-        self.label_tstep_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_tstep_3.setObjectName(_fromUtf8("label_tstep_3"))
-        self.horizontalLayout_10.addWidget(self.label_tstep_3)
-        self.ParCurve_tstep_2 = QtGui.QLineEdit(self.groupBox_15)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.ParCurve_tstep_2.sizePolicy().hasHeightForWidth())
-        self.ParCurve_tstep_2.setSizePolicy(sizePolicy)
-        self.ParCurve_tstep_2.setMinimumSize(QtCore.QSize(40, 0))
-        self.ParCurve_tstep_2.setMaximumSize(QtCore.QSize(150, 16777215))
-        self.ParCurve_tstep_2.setMaxLength(32769)
-        self.ParCurve_tstep_2.setObjectName(_fromUtf8("ParCurve_tstep_2"))
-        self.horizontalLayout_10.addWidget(self.ParCurve_tstep_2)
-        self.gridLayout_5.addLayout(self.horizontalLayout_10, 2, 0, 1, 1)
-        self.gridLayout_44.addLayout(self.gridLayout_5, 0, 0, 1, 1)
-        spacerItem5 = QtGui.QSpacerItem(131, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
-        self.gridLayout_44.addItem(spacerItem5, 0, 1, 1, 1)
-        spacerItem6 = QtGui.QSpacerItem(17, 125, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
-        self.gridLayout_44.addItem(spacerItem6, 1, 0, 1, 1)
-        self.gridLayout_6.addWidget(self.groupBox_15, 0, 0, 1, 1)
-        self.tabWidget.addTab(self.Variables_tab_2, _fromUtf8(""))
-        self.gridLayout.addWidget(self.tabWidget, 3, 0, 1, 1)
-        self.scrollArea_2.setWidget(self.scrollAreaWidgetContents_5)
-        self.gridLayout_36.addWidget(self.scrollArea_2, 0, 0, 1, 1)
-        self.tabWidget_8.addTab(self.Wire_Tab2_3, _fromUtf8(""))
-        self.Wire_Tab3_3 = QtGui.QWidget()
-        self.Wire_Tab3_3.setObjectName(_fromUtf8("Wire_Tab3_3"))
-        self.gridLayout_27 = QtGui.QGridLayout(self.Wire_Tab3_3)
-        self.gridLayout_27.setObjectName(_fromUtf8("gridLayout_27"))
-        self.scrollArea_6 = QtGui.QScrollArea(self.Wire_Tab3_3)
-        self.scrollArea_6.setWidgetResizable(True)
-        self.scrollArea_6.setObjectName(_fromUtf8("scrollArea_6"))
-        self.scrollAreaWidgetContents_4 = QtGui.QWidget()
-        self.scrollAreaWidgetContents_4.setGeometry(QtCore.QRect(0, 0, 316, 579))
-        self.scrollAreaWidgetContents_4.setObjectName(_fromUtf8("scrollAreaWidgetContents_4"))
-        self.gridLayout_15 = QtGui.QGridLayout(self.scrollAreaWidgetContents_4)
-        self.gridLayout_15.setObjectName(_fromUtf8("gridLayout_15"))
-        self.horizontalLayout_63 = QtGui.QHBoxLayout()
-        self.horizontalLayout_63.setObjectName(_fromUtf8("horizontalLayout_63"))
-        self.ParCurve_comboBox_3 = QtGui.QComboBox(self.scrollAreaWidgetContents_4)
-        self.ParCurve_comboBox_3.setObjectName(_fromUtf8("ParCurve_comboBox_3"))
-        self.horizontalLayout_63.addWidget(self.ParCurve_comboBox_3)
-        self.ParCurve_button_edit_3 = QtGui.QPushButton(self.scrollAreaWidgetContents_4)
-        self.ParCurve_button_edit_3.setMinimumSize(QtCore.QSize(40, 0))
-        self.ParCurve_button_edit_3.setMaximumSize(QtCore.QSize(60, 16777215))
-        self.ParCurve_button_edit_3.setObjectName(_fromUtf8("ParCurve_button_edit_3"))
-        self.horizontalLayout_63.addWidget(self.ParCurve_button_edit_3)
-        self.gridLayout_15.addLayout(self.horizontalLayout_63, 0, 0, 1, 1)
-        self.horizontalLayout_64 = QtGui.QHBoxLayout()
-        self.horizontalLayout_64.setObjectName(_fromUtf8("horizontalLayout_64"))
-        self.label_name_3 = QtGui.QLabel(self.scrollAreaWidgetContents_4)
-        self.label_name_3.setFrameShape(QtGui.QFrame.Box)
-        self.label_name_3.setFrameShadow(QtGui.QFrame.Raised)
-        self.label_name_3.setLineWidth(3)
-        self.label_name_3.setAlignment(QtCore.Qt.AlignCenter)
-        self.label_name_3.setObjectName(_fromUtf8("label_name_3"))
-        self.horizontalLayout_64.addWidget(self.label_name_3)
-        self.ParCurve_name_3 = QtGui.QLineEdit(self.scrollAreaWidgetContents_4)
-        self.ParCurve_name_3.setObjectName(_fromUtf8("ParCurve_name_3"))
-        self.horizontalLayout_64.addWidget(self.ParCurve_name_3)
-        self.gridLayout_15.addLayout(self.horizontalLayout_64, 1, 0, 1, 1)
-        self.groupBox_19 = QtGui.QGroupBox(self.scrollAreaWidgetContents_4)
-        self.groupBox_19.setObjectName(_fromUtf8("groupBox_19"))
-        self.gridLayout_3 = QtGui.QGridLayout(self.groupBox_19)
-        self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3"))
-        self.checkBox_points_3 = QtGui.QCheckBox(self.groupBox_19)
-        self.checkBox_points_3.setAutoExclusive(True)
-        self.checkBox_points_3.setObjectName(_fromUtf8("checkBox_points_3"))
-        self.gridLayout_3.addWidget(self.checkBox_points_3, 0, 1, 1, 1)
-        self.checkBox_polyline_3 = QtGui.QCheckBox(self.groupBox_19)
-        self.checkBox_polyline_3.setChecked(True)
-        self.checkBox_polyline_3.setAutoExclusive(True)
-        self.checkBox_polyline_3.setObjectName(_fromUtf8("checkBox_polyline_3"))
-        self.gridLayout_3.addWidget(self.checkBox_polyline_3, 0, 2, 1, 1)
-        self.checkBox_bspline_3 = QtGui.QCheckBox(self.groupBox_19)
-        self.checkBox_bspline_3.setChecked(False)
-        self.checkBox_bspline_3.setAutoExclusive(True)
-        self.checkBox_bspline_3.setObjectName(_fromUtf8("checkBox_bspline_3"))
-        self.gridLayout_3.addWidget(self.checkBox_bspline_3, 1, 2, 1, 1)
-        self.checkBox_bezier_3 = QtGui.QCheckBox(self.groupBox_19)
-        self.checkBox_bezier_3.setEnabled(True)
-        self.checkBox_bezier_3.setChecked(False)
-        self.checkBox_bezier_3.setAutoExclusive(True)
-        self.checkBox_bezier_3.setObjectName(_fromUtf8("checkBox_bezier_3"))
-        self.gridLayout_3.addWidget(self.checkBox_bezier_3, 1, 1, 1, 1)
-        self.gridLayout_15.addWidget(self.groupBox_19, 3, 0, 1, 1)
-        self.checkBox_close_3 = QtGui.QCheckBox(self.scrollAreaWidgetContents_4)
-        self.checkBox_close_3.setObjectName(_fromUtf8("checkBox_close_3"))
-        self.gridLayout_15.addWidget(self.checkBox_close_3, 4, 0, 1, 1)
-        self.horizontalLayout_65 = QtGui.QHBoxLayout()
-        self.horizontalLayout_65.setObjectName(_fromUtf8("horizontalLayout_65"))
-        self.ParCurve_button_store_3 = QtGui.QPushButton(self.scrollAreaWidgetContents_4)
-        self.ParCurve_button_store_3.setMinimumSize(QtCore.QSize(40, 0))
-        self.ParCurve_button_store_3.setMaximumSize(QtCore.QSize(60, 16777215))
-        self.ParCurve_button_store_3.setObjectName(_fromUtf8("ParCurve_button_store_3"))
-        self.horizontalLayout_65.addWidget(self.ParCurve_button_store_3)
-        spacerItem7 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
-        self.horizontalLayout_65.addItem(spacerItem7)
-        self.ParCurve_button_apply_3 = QtGui.QPushButton(self.scrollAreaWidgetContents_4)
-        self.ParCurve_button_apply_3.setMinimumSize(QtCore.QSize(40, 0))
-        self.ParCurve_button_apply_3.setMaximumSize(QtCore.QSize(60, 16777215))
-        self.ParCurve_button_apply_3.setObjectName(_fromUtf8("ParCurve_button_apply_3"))
-        self.horizontalLayout_65.addWidget(self.ParCurve_button_apply_3)
-        self.gridLayout_15.addLayout(self.horizontalLayout_65, 5, 0, 1, 1)
-        self.tabWidget_2 = QtGui.QTabWidget(self.scrollAreaWidgetContents_4)
-        self.tabWidget_2.setObjectName(_fromUtf8("tabWidget_2"))
-        self.Equation_tab_3 = QtGui.QWidget()
-        self.Equation_tab_3.setObjectName(_fromUtf8("Equation_tab_3"))
-        self.gridLayout_18 = QtGui.QGridLayout(self.Equation_tab_3)
-        self.gridLayout_18.setObjectName(_fromUtf8("gridLayout_18"))
-        self.scrollArea_4 = QtGui.QScrollArea(self.Equation_tab_3)
-        self.scrollArea_4.setWidgetResizable(True)
-        self.scrollArea_4.setObjectName(_fromUtf8("scrollArea_4"))
-        self.scrollAreaWidgetContents_3 = QtGui.QWidget()
-        self.scrollAreaWidgetContents_3.setGeometry(QtCore.QRect(0, 0, 305, 383))
-        self.scrollAreaWidgetContents_3.setObjectName(_fromUtf8("scrollAreaWidgetContents_3"))
-        self.gridLayout_14 = QtGui.QGridLayout(self.scrollAreaWidgetContents_3)
-        self.gridLayout_14.setObjectName(_fromUtf8("gridLayout_14"))
-        self.horizontalLayout_14 = QtGui.QHBoxLayout()
-        self.horizontalLayout_14.setObjectName(_fromUtf8("horizontalLayout_14"))
-        self.gridLayout_9 = QtGui.QGridLayout()
-        self.gridLayout_9.setObjectName(_fromUtf8("gridLayout_9"))
-        self.horizontalLayout_11 = QtGui.QHBoxLayout()
-        self.horizontalLayout_11.setObjectName(_fromUtf8("horizontalLayout_11"))
-        self.label_a_4 = QtGui.QLabel(self.scrollAreaWidgetContents_3)
-        self.label_a_4.setMaximumSize(QtCore.QSize(70, 16777215))
-        self.label_a_4.setLayoutDirection(QtCore.Qt.LeftToRight)
-        self.label_a_4.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_a_4.setObjectName(_fromUtf8("label_a_4"))
-        self.horizontalLayout_11.addWidget(self.label_a_4)
-        self.ParCurve_a_3 = QtGui.QLineEdit(self.scrollAreaWidgetContents_3)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.ParCurve_a_3.sizePolicy().hasHeightForWidth())
-        self.ParCurve_a_3.setSizePolicy(sizePolicy)
-        self.ParCurve_a_3.setMinimumSize(QtCore.QSize(40, 0))
-        self.ParCurve_a_3.setMaximumSize(QtCore.QSize(150, 16777215))
-        self.ParCurve_a_3.setMaxLength(32769)
-        self.ParCurve_a_3.setObjectName(_fromUtf8("ParCurve_a_3"))
-        self.horizontalLayout_11.addWidget(self.ParCurve_a_3)
-        self.gridLayout_9.addLayout(self.horizontalLayout_11, 0, 0, 1, 1)
-        self.horizontalLayout_12 = QtGui.QHBoxLayout()
-        self.horizontalLayout_12.setObjectName(_fromUtf8("horizontalLayout_12"))
-        self.label_b_4 = QtGui.QLabel(self.scrollAreaWidgetContents_3)
-        self.label_b_4.setMaximumSize(QtCore.QSize(70, 16777215))
-        self.label_b_4.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_b_4.setObjectName(_fromUtf8("label_b_4"))
-        self.horizontalLayout_12.addWidget(self.label_b_4)
-        self.ParCurve_b_3 = QtGui.QLineEdit(self.scrollAreaWidgetContents_3)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.ParCurve_b_3.sizePolicy().hasHeightForWidth())
-        self.ParCurve_b_3.setSizePolicy(sizePolicy)
-        self.ParCurve_b_3.setMinimumSize(QtCore.QSize(40, 0))
-        self.ParCurve_b_3.setMaximumSize(QtCore.QSize(150, 16777215))
-        self.ParCurve_b_3.setMaxLength(32769)
-        self.ParCurve_b_3.setObjectName(_fromUtf8("ParCurve_b_3"))
-        self.horizontalLayout_12.addWidget(self.ParCurve_b_3)
-        self.gridLayout_9.addLayout(self.horizontalLayout_12, 1, 0, 1, 1)
-        self.horizontalLayout_13 = QtGui.QHBoxLayout()
-        self.horizontalLayout_13.setObjectName(_fromUtf8("horizontalLayout_13"))
-        self.label_c_2 = QtGui.QLabel(self.scrollAreaWidgetContents_3)
-        self.label_c_2.setMaximumSize(QtCore.QSize(70, 16777215))
-        self.label_c_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_c_2.setObjectName(_fromUtf8("label_c_2"))
-        self.horizontalLayout_13.addWidget(self.label_c_2)
-        self.ParCurve_c_3 = QtGui.QLineEdit(self.scrollAreaWidgetContents_3)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.ParCurve_c_3.sizePolicy().hasHeightForWidth())
-        self.ParCurve_c_3.setSizePolicy(sizePolicy)
-        self.ParCurve_c_3.setMinimumSize(QtCore.QSize(40, 0))
-        self.ParCurve_c_3.setMaximumSize(QtCore.QSize(150, 16777215))
-        self.ParCurve_c_3.setMaxLength(32769)
-        self.ParCurve_c_3.setObjectName(_fromUtf8("ParCurve_c_3"))
-        self.horizontalLayout_13.addWidget(self.ParCurve_c_3)
-        self.gridLayout_9.addLayout(self.horizontalLayout_13, 2, 0, 1, 1)
-        self.horizontalLayout_14.addLayout(self.gridLayout_9)
-        self.gridLayout_14.addLayout(self.horizontalLayout_14, 0, 0, 1, 1)
-        self.gridLayout_13 = QtGui.QGridLayout()
-        self.gridLayout_13.setObjectName(_fromUtf8("gridLayout_13"))
-        self.checkBox_cylind_3 = QtGui.QCheckBox(self.scrollAreaWidgetContents_3)
-        self.checkBox_cylind_3.setAutoExclusive(False)
-        self.checkBox_cylind_3.setObjectName(_fromUtf8("checkBox_cylind_3"))
-        self.gridLayout_13.addWidget(self.checkBox_cylind_3, 0, 0, 1, 1)
-        self.checkBox_spheric_3 = QtGui.QCheckBox(self.scrollAreaWidgetContents_3)
-        self.checkBox_spheric_3.setAutoExclusive(False)
-        self.checkBox_spheric_3.setObjectName(_fromUtf8("checkBox_spheric_3"))
-        self.gridLayout_13.addWidget(self.checkBox_spheric_3, 0, 1, 1, 1)
-        self.gridLayout_14.addLayout(self.gridLayout_13, 1, 0, 1, 1)
-        self.gridLayout_12 = QtGui.QGridLayout()
-        self.gridLayout_12.setObjectName(_fromUtf8("gridLayout_12"))
-        self.horizontalLayout_17 = QtGui.QHBoxLayout()
-        self.horizontalLayout_17.setObjectName(_fromUtf8("horizontalLayout_17"))
-        self.label_x_3 = QtGui.QLabel(self.scrollAreaWidgetContents_3)
-        self.label_x_3.setMaximumSize(QtCore.QSize(100, 16777215))
-        self.label_x_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_x_3.setObjectName(_fromUtf8("label_x_3"))
-        self.horizontalLayout_17.addWidget(self.label_x_3)
-        spacerItem8 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
-        self.horizontalLayout_17.addItem(spacerItem8)
-        self.gridLayout_12.addLayout(self.horizontalLayout_17, 0, 0, 1, 1)
-        self.ParCurve_x_3 = QtGui.QLineEdit(self.scrollAreaWidgetContents_3)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.ParCurve_x_3.sizePolicy().hasHeightForWidth())
-        self.ParCurve_x_3.setSizePolicy(sizePolicy)
-        self.ParCurve_x_3.setMinimumSize(QtCore.QSize(40, 0))
-        self.ParCurve_x_3.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        self.ParCurve_x_3.setMaxLength(32769)
-        self.ParCurve_x_3.setObjectName(_fromUtf8("ParCurve_x_3"))
-        self.gridLayout_12.addWidget(self.ParCurve_x_3, 1, 0, 1, 1)
-        self.gridLayout_14.addLayout(self.gridLayout_12, 2, 0, 1, 1)
-        self.gridLayout_11 = QtGui.QGridLayout()
-        self.gridLayout_11.setObjectName(_fromUtf8("gridLayout_11"))
-        self.horizontalLayout_16 = QtGui.QHBoxLayout()
-        self.horizontalLayout_16.setObjectName(_fromUtf8("horizontalLayout_16"))
-        self.label_y_3 = QtGui.QLabel(self.scrollAreaWidgetContents_3)
-        self.label_y_3.setMaximumSize(QtCore.QSize(100, 16777215))
-        self.label_y_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_y_3.setObjectName(_fromUtf8("label_y_3"))
-        self.horizontalLayout_16.addWidget(self.label_y_3)
-        spacerItem9 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
-        self.horizontalLayout_16.addItem(spacerItem9)
-        self.gridLayout_11.addLayout(self.horizontalLayout_16, 0, 0, 1, 1)
-        self.ParCurve_y_3 = QtGui.QLineEdit(self.scrollAreaWidgetContents_3)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.ParCurve_y_3.sizePolicy().hasHeightForWidth())
-        self.ParCurve_y_3.setSizePolicy(sizePolicy)
-        self.ParCurve_y_3.setMinimumSize(QtCore.QSize(40, 0))
-        self.ParCurve_y_3.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        self.ParCurve_y_3.setMaxLength(32769)
-        self.ParCurve_y_3.setObjectName(_fromUtf8("ParCurve_y_3"))
-        self.gridLayout_11.addWidget(self.ParCurve_y_3, 1, 0, 1, 1)
-        self.gridLayout_14.addLayout(self.gridLayout_11, 3, 0, 1, 1)
-        self.gridLayout_10 = QtGui.QGridLayout()
-        self.gridLayout_10.setObjectName(_fromUtf8("gridLayout_10"))
-        self.horizontalLayout_15 = QtGui.QHBoxLayout()
-        self.horizontalLayout_15.setObjectName(_fromUtf8("horizontalLayout_15"))
-        self.label_z_3 = QtGui.QLabel(self.scrollAreaWidgetContents_3)
-        self.label_z_3.setMaximumSize(QtCore.QSize(100, 16777215))
-        self.label_z_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_z_3.setObjectName(_fromUtf8("label_z_3"))
-        self.horizontalLayout_15.addWidget(self.label_z_3)
-        spacerItem10 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
-        self.horizontalLayout_15.addItem(spacerItem10)
-        self.gridLayout_10.addLayout(self.horizontalLayout_15, 0, 0, 1, 1)
-        self.ParCurve_z_3 = QtGui.QLineEdit(self.scrollAreaWidgetContents_3)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.ParCurve_z_3.sizePolicy().hasHeightForWidth())
-        self.ParCurve_z_3.setSizePolicy(sizePolicy)
-        self.ParCurve_z_3.setMinimumSize(QtCore.QSize(40, 0))
-        self.ParCurve_z_3.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        self.ParCurve_z_3.setMaxLength(32769)
-        self.ParCurve_z_3.setObjectName(_fromUtf8("ParCurve_z_3"))
-        self.gridLayout_10.addWidget(self.ParCurve_z_3, 1, 0, 1, 1)
-        self.gridLayout_14.addLayout(self.gridLayout_10, 4, 0, 1, 1)
-        self.scrollArea_4.setWidget(self.scrollAreaWidgetContents_3)
-        self.gridLayout_18.addWidget(self.scrollArea_4, 0, 0, 1, 1)
-        self.tabWidget_2.addTab(self.Equation_tab_3, _fromUtf8(""))
-        self.Variables_tab_3 = QtGui.QWidget()
-        self.Variables_tab_3.setObjectName(_fromUtf8("Variables_tab_3"))
-        self.gridLayout_16 = QtGui.QGridLayout(self.Variables_tab_3)
-        self.gridLayout_16.setObjectName(_fromUtf8("gridLayout_16"))
-        self.gridLayout_17 = QtGui.QGridLayout()
-        self.gridLayout_17.setObjectName(_fromUtf8("gridLayout_17"))
-        self.label_tmin_4 = QtGui.QLabel(self.Variables_tab_3)
-        self.label_tmin_4.setMaximumSize(QtCore.QSize(70, 16777215))
-        self.label_tmin_4.setLayoutDirection(QtCore.Qt.LeftToRight)
-        self.label_tmin_4.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_tmin_4.setObjectName(_fromUtf8("label_tmin_4"))
-        self.gridLayout_17.addWidget(self.label_tmin_4, 0, 0, 1, 1)
-        self.ParCurve_tmin_3 = QtGui.QLineEdit(self.Variables_tab_3)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.ParCurve_tmin_3.sizePolicy().hasHeightForWidth())
-        self.ParCurve_tmin_3.setSizePolicy(sizePolicy)
-        self.ParCurve_tmin_3.setMinimumSize(QtCore.QSize(40, 0))
-        self.ParCurve_tmin_3.setMaximumSize(QtCore.QSize(150, 16777215))
-        self.ParCurve_tmin_3.setMaxLength(32769)
-        self.ParCurve_tmin_3.setObjectName(_fromUtf8("ParCurve_tmin_3"))
-        self.gridLayout_17.addWidget(self.ParCurve_tmin_3, 0, 1, 1, 1)
-        self.label_tmax_4 = QtGui.QLabel(self.Variables_tab_3)
-        self.label_tmax_4.setMaximumSize(QtCore.QSize(70, 16777215))
-        self.label_tmax_4.setLayoutDirection(QtCore.Qt.LeftToRight)
-        self.label_tmax_4.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_tmax_4.setObjectName(_fromUtf8("label_tmax_4"))
-        self.gridLayout_17.addWidget(self.label_tmax_4, 1, 0, 1, 1)
-        self.ParCurve_tmax_3 = QtGui.QLineEdit(self.Variables_tab_3)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.ParCurve_tmax_3.sizePolicy().hasHeightForWidth())
-        self.ParCurve_tmax_3.setSizePolicy(sizePolicy)
-        self.ParCurve_tmax_3.setMinimumSize(QtCore.QSize(40, 0))
-        self.ParCurve_tmax_3.setMaximumSize(QtCore.QSize(150, 16777215))
-        self.ParCurve_tmax_3.setMaxLength(32769)
-        self.ParCurve_tmax_3.setObjectName(_fromUtf8("ParCurve_tmax_3"))
-        self.gridLayout_17.addWidget(self.ParCurve_tmax_3, 1, 1, 1, 1)
-        self.label_tstep_4 = QtGui.QLabel(self.Variables_tab_3)
-        self.label_tstep_4.setMaximumSize(QtCore.QSize(70, 16777215))
-        self.label_tstep_4.setLayoutDirection(QtCore.Qt.LeftToRight)
-        self.label_tstep_4.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_tstep_4.setObjectName(_fromUtf8("label_tstep_4"))
-        self.gridLayout_17.addWidget(self.label_tstep_4, 2, 0, 1, 1)
-        self.ParCurve_tstep_3 = QtGui.QLineEdit(self.Variables_tab_3)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.ParCurve_tstep_3.sizePolicy().hasHeightForWidth())
-        self.ParCurve_tstep_3.setSizePolicy(sizePolicy)
-        self.ParCurve_tstep_3.setMinimumSize(QtCore.QSize(40, 0))
-        self.ParCurve_tstep_3.setMaximumSize(QtCore.QSize(150, 16777215))
-        self.ParCurve_tstep_3.setMaxLength(32769)
-        self.ParCurve_tstep_3.setObjectName(_fromUtf8("ParCurve_tstep_3"))
-        self.gridLayout_17.addWidget(self.ParCurve_tstep_3, 2, 1, 1, 1)
-        self.gridLayout_16.addLayout(self.gridLayout_17, 0, 0, 1, 1)
-        spacerItem11 = QtGui.QSpacerItem(29, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
-        self.gridLayout_16.addItem(spacerItem11, 0, 1, 1, 1)
-        spacerItem12 = QtGui.QSpacerItem(20, 162, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
-        self.gridLayout_16.addItem(spacerItem12, 1, 0, 1, 1)
-        self.tabWidget_2.addTab(self.Variables_tab_3, _fromUtf8(""))
-        self.gridLayout_15.addWidget(self.tabWidget_2, 2, 0, 1, 1)
-        self.scrollArea_6.setWidget(self.scrollAreaWidgetContents_4)
-        self.gridLayout_27.addWidget(self.scrollArea_6, 0, 0, 1, 1)
-        self.tabWidget_8.addTab(self.Wire_Tab3_3, _fromUtf8(""))
-        self.Surface_Tab1 = QtGui.QWidget()
-        self.Surface_Tab1.setObjectName(_fromUtf8("Surface_Tab1"))
-        self.gridLayout_40 = QtGui.QGridLayout(self.Surface_Tab1)
-        self.gridLayout_40.setObjectName(_fromUtf8("gridLayout_40"))
-        self.scrollArea_7 = QtGui.QScrollArea(self.Surface_Tab1)
-        self.scrollArea_7.setWidgetResizable(True)
-        self.scrollArea_7.setObjectName(_fromUtf8("scrollArea_7"))
-        self.scrollAreaWidgetContents_7 = QtGui.QWidget()
-        self.scrollAreaWidgetContents_7.setGeometry(QtCore.QRect(0, 0, 316, 579))
-        self.scrollAreaWidgetContents_7.setObjectName(_fromUtf8("scrollAreaWidgetContents_7"))
-        self.gridLayout_7 = QtGui.QGridLayout(self.scrollAreaWidgetContents_7)
-        self.gridLayout_7.setObjectName(_fromUtf8("gridLayout_7"))
-        self.horizontalLayout_68 = QtGui.QHBoxLayout()
-        self.horizontalLayout_68.setObjectName(_fromUtf8("horizontalLayout_68"))
-        self.Surf_comboBox = QtGui.QComboBox(self.scrollAreaWidgetContents_7)
-        self.Surf_comboBox.setObjectName(_fromUtf8("Surf_comboBox"))
-        self.horizontalLayout_68.addWidget(self.Surf_comboBox)
-        self.Surf_button_edit = QtGui.QPushButton(self.scrollAreaWidgetContents_7)
-        self.Surf_button_edit.setMinimumSize(QtCore.QSize(40, 0))
-        self.Surf_button_edit.setMaximumSize(QtCore.QSize(60, 16777215))
-        self.Surf_button_edit.setObjectName(_fromUtf8("Surf_button_edit"))
-        self.horizontalLayout_68.addWidget(self.Surf_button_edit)
-        self.gridLayout_7.addLayout(self.horizontalLayout_68, 0, 0, 1, 1)
-        self.horizontalLayout_67 = QtGui.QHBoxLayout()
-        self.horizontalLayout_67.setObjectName(_fromUtf8("horizontalLayout_67"))
-        self.label_name_4 = QtGui.QLabel(self.scrollAreaWidgetContents_7)
-        self.label_name_4.setFrameShape(QtGui.QFrame.Box)
-        self.label_name_4.setFrameShadow(QtGui.QFrame.Raised)
-        self.label_name_4.setLineWidth(3)
-        self.label_name_4.setAlignment(QtCore.Qt.AlignCenter)
-        self.label_name_4.setObjectName(_fromUtf8("label_name_4"))
-        self.horizontalLayout_67.addWidget(self.label_name_4)
-        self.Surf_name = QtGui.QLineEdit(self.scrollAreaWidgetContents_7)
-        self.Surf_name.setObjectName(_fromUtf8("Surf_name"))
-        self.horizontalLayout_67.addWidget(self.Surf_name)
-        self.gridLayout_7.addLayout(self.horizontalLayout_67, 1, 0, 1, 1)
-        self.tabWidget_5 = QtGui.QTabWidget(self.scrollAreaWidgetContents_7)
-        self.tabWidget_5.setObjectName(_fromUtf8("tabWidget_5"))
-        self.tab_8 = QtGui.QWidget()
-        self.tab_8.setObjectName(_fromUtf8("tab_8"))
-        self.gridLayout_26 = QtGui.QGridLayout(self.tab_8)
-        self.gridLayout_26.setObjectName(_fromUtf8("gridLayout_26"))
-        self.scrollArea = QtGui.QScrollArea(self.tab_8)
-        self.scrollArea.setWidgetResizable(True)
-        self.scrollArea.setObjectName(_fromUtf8("scrollArea"))
-        self.scrollAreaWidgetContents = QtGui.QWidget()
-        self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 261, 343))
-        self.scrollAreaWidgetContents.setObjectName(_fromUtf8("scrollAreaWidgetContents"))
-        self.gridLayout_24 = QtGui.QGridLayout(self.scrollAreaWidgetContents)
-        self.gridLayout_24.setObjectName(_fromUtf8("gridLayout_24"))
-        self.verticalLayout = QtGui.QVBoxLayout()
-        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
-        self.horizontalLayout_20 = QtGui.QHBoxLayout()
-        self.horizontalLayout_20.setObjectName(_fromUtf8("horizontalLayout_20"))
-        self.label_a_5 = QtGui.QLabel(self.scrollAreaWidgetContents)
-        self.label_a_5.setMaximumSize(QtCore.QSize(70, 16777215))
-        self.label_a_5.setLayoutDirection(QtCore.Qt.LeftToRight)
-        self.label_a_5.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_a_5.setObjectName(_fromUtf8("label_a_5"))
-        self.horizontalLayout_20.addWidget(self.label_a_5)
-        self.Surf_a = QtGui.QLineEdit(self.scrollAreaWidgetContents)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.Surf_a.sizePolicy().hasHeightForWidth())
-        self.Surf_a.setSizePolicy(sizePolicy)
-        self.Surf_a.setMinimumSize(QtCore.QSize(40, 0))
-        self.Surf_a.setMaximumSize(QtCore.QSize(150, 16777215))
-        self.Surf_a.setMaxLength(32769)
-        self.Surf_a.setObjectName(_fromUtf8("Surf_a"))
-        self.horizontalLayout_20.addWidget(self.Surf_a)
-        self.verticalLayout.addLayout(self.horizontalLayout_20)
-        self.horizontalLayout_21 = QtGui.QHBoxLayout()
-        self.horizontalLayout_21.setObjectName(_fromUtf8("horizontalLayout_21"))
-        self.label_b_5 = QtGui.QLabel(self.scrollAreaWidgetContents)
-        self.label_b_5.setMaximumSize(QtCore.QSize(70, 16777215))
-        self.label_b_5.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_b_5.setObjectName(_fromUtf8("label_b_5"))
-        self.horizontalLayout_21.addWidget(self.label_b_5)
-        self.Surf_b = QtGui.QLineEdit(self.scrollAreaWidgetContents)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.Surf_b.sizePolicy().hasHeightForWidth())
-        self.Surf_b.setSizePolicy(sizePolicy)
-        self.Surf_b.setMinimumSize(QtCore.QSize(40, 0))
-        self.Surf_b.setMaximumSize(QtCore.QSize(150, 16777215))
-        self.Surf_b.setMaxLength(32769)
-        self.Surf_b.setObjectName(_fromUtf8("Surf_b"))
-        self.horizontalLayout_21.addWidget(self.Surf_b)
-        self.verticalLayout.addLayout(self.horizontalLayout_21)
-        self.horizontalLayout_22 = QtGui.QHBoxLayout()
-        self.horizontalLayout_22.setObjectName(_fromUtf8("horizontalLayout_22"))
-        self.label_c_3 = QtGui.QLabel(self.scrollAreaWidgetContents)
-        self.label_c_3.setMaximumSize(QtCore.QSize(70, 16777215))
-        self.label_c_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_c_3.setObjectName(_fromUtf8("label_c_3"))
-        self.horizontalLayout_22.addWidget(self.label_c_3)
-        self.Surf_c = QtGui.QLineEdit(self.scrollAreaWidgetContents)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.Surf_c.sizePolicy().hasHeightForWidth())
-        self.Surf_c.setSizePolicy(sizePolicy)
-        self.Surf_c.setMinimumSize(QtCore.QSize(40, 0))
-        self.Surf_c.setMaximumSize(QtCore.QSize(150, 16777215))
-        self.Surf_c.setMaxLength(32769)
-        self.Surf_c.setObjectName(_fromUtf8("Surf_c"))
-        self.horizontalLayout_22.addWidget(self.Surf_c)
-        self.verticalLayout.addLayout(self.horizontalLayout_22)
-        self.gridLayout_24.addLayout(self.verticalLayout, 0, 0, 1, 1)
-        self.gridLayout_29 = QtGui.QGridLayout()
-        self.gridLayout_29.setObjectName(_fromUtf8("gridLayout_29"))
-        self.horizontalLayout_23 = QtGui.QHBoxLayout()
-        self.horizontalLayout_23.setObjectName(_fromUtf8("horizontalLayout_23"))
-        self.label_x_4 = QtGui.QLabel(self.scrollAreaWidgetContents)
-        self.label_x_4.setMaximumSize(QtCore.QSize(80, 16777215))
-        self.label_x_4.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_x_4.setObjectName(_fromUtf8("label_x_4"))
-        self.horizontalLayout_23.addWidget(self.label_x_4)
-        spacerItem13 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
-        self.horizontalLayout_23.addItem(spacerItem13)
-        self.gridLayout_29.addLayout(self.horizontalLayout_23, 0, 0, 1, 1)
-        self.Surf_x = QtGui.QLineEdit(self.scrollAreaWidgetContents)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.Surf_x.sizePolicy().hasHeightForWidth())
-        self.Surf_x.setSizePolicy(sizePolicy)
-        self.Surf_x.setMinimumSize(QtCore.QSize(0, 0))
-        self.Surf_x.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        self.Surf_x.setMaxLength(32769)
-        self.Surf_x.setObjectName(_fromUtf8("Surf_x"))
-        self.gridLayout_29.addWidget(self.Surf_x, 1, 0, 1, 1)
-        self.horizontalLayout_24 = QtGui.QHBoxLayout()
-        self.horizontalLayout_24.setObjectName(_fromUtf8("horizontalLayout_24"))
-        self.label_y_4 = QtGui.QLabel(self.scrollAreaWidgetContents)
-        self.label_y_4.setMaximumSize(QtCore.QSize(80, 16777215))
-        self.label_y_4.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_y_4.setObjectName(_fromUtf8("label_y_4"))
-        self.horizontalLayout_24.addWidget(self.label_y_4)
-        spacerItem14 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
-        self.horizontalLayout_24.addItem(spacerItem14)
-        self.gridLayout_29.addLayout(self.horizontalLayout_24, 2, 0, 1, 1)
-        self.Surf_y = QtGui.QLineEdit(self.scrollAreaWidgetContents)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.Surf_y.sizePolicy().hasHeightForWidth())
-        self.Surf_y.setSizePolicy(sizePolicy)
-        self.Surf_y.setMinimumSize(QtCore.QSize(0, 0))
-        self.Surf_y.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        self.Surf_y.setMaxLength(32769)
-        self.Surf_y.setObjectName(_fromUtf8("Surf_y"))
-        self.gridLayout_29.addWidget(self.Surf_y, 3, 0, 1, 1)
-        self.horizontalLayout_25 = QtGui.QHBoxLayout()
-        self.horizontalLayout_25.setObjectName(_fromUtf8("horizontalLayout_25"))
-        self.label_z_2 = QtGui.QLabel(self.scrollAreaWidgetContents)
-        self.label_z_2.setMaximumSize(QtCore.QSize(80, 16777215))
-        self.label_z_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_z_2.setObjectName(_fromUtf8("label_z_2"))
-        self.horizontalLayout_25.addWidget(self.label_z_2)
-        spacerItem15 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
-        self.horizontalLayout_25.addItem(spacerItem15)
-        self.gridLayout_29.addLayout(self.horizontalLayout_25, 4, 0, 1, 1)
-        self.Surf_z = QtGui.QLineEdit(self.scrollAreaWidgetContents)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.Surf_z.sizePolicy().hasHeightForWidth())
-        self.Surf_z.setSizePolicy(sizePolicy)
-        self.Surf_z.setMinimumSize(QtCore.QSize(0, 0))
-        self.Surf_z.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        self.Surf_z.setMaxLength(32769)
-        self.Surf_z.setObjectName(_fromUtf8("Surf_z"))
-        self.gridLayout_29.addWidget(self.Surf_z, 5, 0, 1, 1)
-        self.gridLayout_24.addLayout(self.gridLayout_29, 1, 0, 1, 1)
-        self.scrollArea.setWidget(self.scrollAreaWidgetContents)
-        self.gridLayout_26.addWidget(self.scrollArea, 0, 0, 1, 1)
-        self.tabWidget_5.addTab(self.tab_8, _fromUtf8(""))
-        self.tab_9 = QtGui.QWidget()
-        self.tab_9.setObjectName(_fromUtf8("tab_9"))
-        self.gridLayout_28 = QtGui.QGridLayout(self.tab_9)
-        self.gridLayout_28.setObjectName(_fromUtf8("gridLayout_28"))
-        self.label_umin = QtGui.QLabel(self.tab_9)
-        self.label_umin.setMaximumSize(QtCore.QSize(70, 16777215))
-        self.label_umin.setLayoutDirection(QtCore.Qt.LeftToRight)
-        self.label_umin.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_umin.setObjectName(_fromUtf8("label_umin"))
-        self.gridLayout_28.addWidget(self.label_umin, 0, 0, 1, 1)
-        self.Surf_umin = QtGui.QLineEdit(self.tab_9)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.Surf_umin.sizePolicy().hasHeightForWidth())
-        self.Surf_umin.setSizePolicy(sizePolicy)
-        self.Surf_umin.setMinimumSize(QtCore.QSize(40, 0))
-        self.Surf_umin.setMaximumSize(QtCore.QSize(150, 16777215))
-        self.Surf_umin.setMaxLength(32769)
-        self.Surf_umin.setObjectName(_fromUtf8("Surf_umin"))
-        self.gridLayout_28.addWidget(self.Surf_umin, 0, 1, 1, 1)
-        self.label_umax = QtGui.QLabel(self.tab_9)
-        self.label_umax.setMaximumSize(QtCore.QSize(70, 16777215))
-        self.label_umax.setLayoutDirection(QtCore.Qt.LeftToRight)
-        self.label_umax.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_umax.setObjectName(_fromUtf8("label_umax"))
-        self.gridLayout_28.addWidget(self.label_umax, 1, 0, 1, 1)
-        self.Surf_umax = QtGui.QLineEdit(self.tab_9)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.Surf_umax.sizePolicy().hasHeightForWidth())
-        self.Surf_umax.setSizePolicy(sizePolicy)
-        self.Surf_umax.setMinimumSize(QtCore.QSize(40, 0))
-        self.Surf_umax.setMaximumSize(QtCore.QSize(150, 16777215))
-        self.Surf_umax.setMaxLength(32769)
-        self.Surf_umax.setObjectName(_fromUtf8("Surf_umax"))
-        self.gridLayout_28.addWidget(self.Surf_umax, 1, 1, 1, 1)
-        self.label_ustep = QtGui.QLabel(self.tab_9)
-        self.label_ustep.setMaximumSize(QtCore.QSize(70, 16777215))
-        self.label_ustep.setLayoutDirection(QtCore.Qt.LeftToRight)
-        self.label_ustep.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_ustep.setObjectName(_fromUtf8("label_ustep"))
-        self.gridLayout_28.addWidget(self.label_ustep, 2, 0, 1, 1)
-        self.Surf_ustep = QtGui.QLineEdit(self.tab_9)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.Surf_ustep.sizePolicy().hasHeightForWidth())
-        self.Surf_ustep.setSizePolicy(sizePolicy)
-        self.Surf_ustep.setMinimumSize(QtCore.QSize(40, 0))
-        self.Surf_ustep.setMaximumSize(QtCore.QSize(150, 16777215))
-        self.Surf_ustep.setMaxLength(32769)
-        self.Surf_ustep.setObjectName(_fromUtf8("Surf_ustep"))
-        self.gridLayout_28.addWidget(self.Surf_ustep, 2, 1, 1, 1)
-        self.label_umin_2 = QtGui.QLabel(self.tab_9)
-        self.label_umin_2.setMaximumSize(QtCore.QSize(70, 16777215))
-        self.label_umin_2.setLayoutDirection(QtCore.Qt.LeftToRight)
-        self.label_umin_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_umin_2.setObjectName(_fromUtf8("label_umin_2"))
-        self.gridLayout_28.addWidget(self.label_umin_2, 3, 0, 1, 1)
-        self.Surf_vmin = QtGui.QLineEdit(self.tab_9)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.Surf_vmin.sizePolicy().hasHeightForWidth())
-        self.Surf_vmin.setSizePolicy(sizePolicy)
-        self.Surf_vmin.setMinimumSize(QtCore.QSize(40, 0))
-        self.Surf_vmin.setMaximumSize(QtCore.QSize(150, 16777215))
-        self.Surf_vmin.setMaxLength(32769)
-        self.Surf_vmin.setObjectName(_fromUtf8("Surf_vmin"))
-        self.gridLayout_28.addWidget(self.Surf_vmin, 3, 1, 1, 1)
-        self.label_umax_2 = QtGui.QLabel(self.tab_9)
-        self.label_umax_2.setMaximumSize(QtCore.QSize(70, 16777215))
-        self.label_umax_2.setLayoutDirection(QtCore.Qt.LeftToRight)
-        self.label_umax_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_umax_2.setObjectName(_fromUtf8("label_umax_2"))
-        self.gridLayout_28.addWidget(self.label_umax_2, 4, 0, 1, 1)
-        self.Surf_vmax = QtGui.QLineEdit(self.tab_9)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.Surf_vmax.sizePolicy().hasHeightForWidth())
-        self.Surf_vmax.setSizePolicy(sizePolicy)
-        self.Surf_vmax.setMinimumSize(QtCore.QSize(40, 0))
-        self.Surf_vmax.setMaximumSize(QtCore.QSize(150, 16777215))
-        self.Surf_vmax.setMaxLength(32769)
-        self.Surf_vmax.setObjectName(_fromUtf8("Surf_vmax"))
-        self.gridLayout_28.addWidget(self.Surf_vmax, 4, 1, 1, 1)
-        self.label_ustep_2 = QtGui.QLabel(self.tab_9)
-        self.label_ustep_2.setMaximumSize(QtCore.QSize(70, 16777215))
-        self.label_ustep_2.setLayoutDirection(QtCore.Qt.LeftToRight)
-        self.label_ustep_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_ustep_2.setObjectName(_fromUtf8("label_ustep_2"))
-        self.gridLayout_28.addWidget(self.label_ustep_2, 5, 0, 1, 1)
-        self.Surf_vstep = QtGui.QLineEdit(self.tab_9)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.Surf_vstep.sizePolicy().hasHeightForWidth())
-        self.Surf_vstep.setSizePolicy(sizePolicy)
-        self.Surf_vstep.setMinimumSize(QtCore.QSize(40, 0))
-        self.Surf_vstep.setMaximumSize(QtCore.QSize(150, 16777215))
-        self.Surf_vstep.setMaxLength(32769)
-        self.Surf_vstep.setObjectName(_fromUtf8("Surf_vstep"))
-        self.gridLayout_28.addWidget(self.Surf_vstep, 5, 1, 1, 1)
-        self.tabWidget_5.addTab(self.tab_9, _fromUtf8(""))
-        self.gridLayout_7.addWidget(self.tabWidget_5, 2, 0, 1, 1)
-        self.groupBox_9 = QtGui.QGroupBox(self.scrollAreaWidgetContents_7)
-        self.groupBox_9.setObjectName(_fromUtf8("groupBox_9"))
-        self.gridLayout_43 = QtGui.QGridLayout(self.groupBox_9)
-        self.gridLayout_43.setObjectName(_fromUtf8("gridLayout_43"))
-        self.gridLayout_31 = QtGui.QGridLayout()
-        self.gridLayout_31.setObjectName(_fromUtf8("gridLayout_31"))
-        self.Surf_points = QtGui.QCheckBox(self.groupBox_9)
-        self.Surf_points.setChecked(False)
-        self.Surf_points.setAutoExclusive(True)
-        self.Surf_points.setObjectName(_fromUtf8("Surf_points"))
-        self.gridLayout_31.addWidget(self.Surf_points, 0, 0, 1, 1)
-        self.Surf_polyline = QtGui.QCheckBox(self.groupBox_9)
-        self.Surf_polyline.setChecked(False)
-        self.Surf_polyline.setAutoExclusive(True)
-        self.Surf_polyline.setObjectName(_fromUtf8("Surf_polyline"))
-        self.gridLayout_31.addWidget(self.Surf_polyline, 0, 1, 1, 1)
-        self.Surf_bspline = QtGui.QCheckBox(self.groupBox_9)
-        self.Surf_bspline.setChecked(False)
-        self.Surf_bspline.setAutoExclusive(True)
-        self.Surf_bspline.setObjectName(_fromUtf8("Surf_bspline"))
-        self.gridLayout_31.addWidget(self.Surf_bspline, 0, 2, 1, 1)
-        self.Surf_bspline_surf = QtGui.QCheckBox(self.groupBox_9)
-        self.Surf_bspline_surf.setChecked(True)
-        self.Surf_bspline_surf.setAutoExclusive(True)
-        self.Surf_bspline_surf.setObjectName(_fromUtf8("Surf_bspline_surf"))
-        self.gridLayout_31.addWidget(self.Surf_bspline_surf, 1, 0, 1, 2)
-        self.Surf_meshes = QtGui.QCheckBox(self.groupBox_9)
-        self.Surf_meshes.setEnabled(False)
-        self.Surf_meshes.setChecked(False)
-        self.Surf_meshes.setAutoExclusive(True)
-        self.Surf_meshes.setObjectName(_fromUtf8("Surf_meshes"))
-        self.gridLayout_31.addWidget(self.Surf_meshes, 1, 2, 1, 1)
-        self.gridLayout_43.addLayout(self.gridLayout_31, 0, 0, 1, 1)
-        self.gridLayout_7.addWidget(self.groupBox_9, 3, 0, 1, 1)
-        self.horizontalLayout_66 = QtGui.QHBoxLayout()
-        self.horizontalLayout_66.setObjectName(_fromUtf8("horizontalLayout_66"))
-        self.Surf_button_store = QtGui.QPushButton(self.scrollAreaWidgetContents_7)
-        self.Surf_button_store.setMinimumSize(QtCore.QSize(40, 0))
-        self.Surf_button_store.setMaximumSize(QtCore.QSize(60, 16777215))
-        self.Surf_button_store.setObjectName(_fromUtf8("Surf_button_store"))
-        self.horizontalLayout_66.addWidget(self.Surf_button_store)
-        spacerItem16 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
-        self.horizontalLayout_66.addItem(spacerItem16)
-        self.Surf_button_apply = QtGui.QPushButton(self.scrollAreaWidgetContents_7)
-        self.Surf_button_apply.setMinimumSize(QtCore.QSize(40, 0))
-        self.Surf_button_apply.setMaximumSize(QtCore.QSize(60, 16777215))
-        self.Surf_button_apply.setObjectName(_fromUtf8("Surf_button_apply"))
-        self.horizontalLayout_66.addWidget(self.Surf_button_apply)
-        self.gridLayout_7.addLayout(self.horizontalLayout_66, 4, 0, 1, 1)
-        self.scrollArea_7.setWidget(self.scrollAreaWidgetContents_7)
-        self.gridLayout_40.addWidget(self.scrollArea_7, 0, 0, 1, 1)
-        self.tabWidget_8.addTab(self.Surface_Tab1, _fromUtf8(""))
-        self.gridLayout_38.addWidget(self.tabWidget_8, 0, 0, 1, 1)
-        self.scrollArea_8.setWidget(self.scrollAreaWidgetContents_8)
-        self.gridLayout_8.addWidget(self.scrollArea_8, 0, 0, 1, 1)
-        self.tabWidget_6.addTab(self.tab, _fromUtf8(""))
-        self.tab_2 = QtGui.QWidget()
-        self.tab_2.setObjectName(_fromUtf8("tab_2"))
-        self.gridLayout_45 = QtGui.QGridLayout(self.tab_2)
-        self.gridLayout_45.setObjectName(_fromUtf8("gridLayout_45"))
-        self.verticalLayout_2 = QtGui.QVBoxLayout()
-        self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
-        self.button_select_point = QtGui.QPushButton(self.tab_2)
-        self.button_select_point.setObjectName(_fromUtf8("button_select_point"))
-        self.verticalLayout_2.addWidget(self.button_select_point)
-        self.verticalLayout_3 = QtGui.QVBoxLayout()
-        self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))
-        self.horizontalLayout_35 = QtGui.QHBoxLayout()
-        self.horizontalLayout_35.setObjectName(_fromUtf8("horizontalLayout_35"))
-        self.label_x_6 = QtGui.QLabel(self.tab_2)
-        self.label_x_6.setMaximumSize(QtCore.QSize(70, 16777215))
-        self.label_x_6.setLayoutDirection(QtCore.Qt.LeftToRight)
-        self.label_x_6.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_x_6.setObjectName(_fromUtf8("label_x_6"))
-        self.horizontalLayout_35.addWidget(self.label_x_6)
-        self.Par_x_ref = QtGui.QLineEdit(self.tab_2)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.Par_x_ref.sizePolicy().hasHeightForWidth())
-        self.Par_x_ref.setSizePolicy(sizePolicy)
-        self.Par_x_ref.setMinimumSize(QtCore.QSize(40, 0))
-        self.Par_x_ref.setMaximumSize(QtCore.QSize(150, 16777215))
-        self.Par_x_ref.setMaxLength(32769)
-        self.Par_x_ref.setObjectName(_fromUtf8("Par_x_ref"))
-        self.horizontalLayout_35.addWidget(self.Par_x_ref)
-        self.verticalLayout_3.addLayout(self.horizontalLayout_35)
-        self.horizontalLayout_36 = QtGui.QHBoxLayout()
-        self.horizontalLayout_36.setObjectName(_fromUtf8("horizontalLayout_36"))
-        self.label_y_6 = QtGui.QLabel(self.tab_2)
-        self.label_y_6.setMaximumSize(QtCore.QSize(70, 16777215))
-        self.label_y_6.setLayoutDirection(QtCore.Qt.LeftToRight)
-        self.label_y_6.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_y_6.setObjectName(_fromUtf8("label_y_6"))
-        self.horizontalLayout_36.addWidget(self.label_y_6)
-        self.Par_y_ref = QtGui.QLineEdit(self.tab_2)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.Par_y_ref.sizePolicy().hasHeightForWidth())
-        self.Par_y_ref.setSizePolicy(sizePolicy)
-        self.Par_y_ref.setMinimumSize(QtCore.QSize(40, 0))
-        self.Par_y_ref.setMaximumSize(QtCore.QSize(150, 16777215))
-        self.Par_y_ref.setMaxLength(32769)
-        self.Par_y_ref.setObjectName(_fromUtf8("Par_y_ref"))
-        self.horizontalLayout_36.addWidget(self.Par_y_ref)
-        self.verticalLayout_3.addLayout(self.horizontalLayout_36)
-        self.horizontalLayout_37 = QtGui.QHBoxLayout()
-        self.horizontalLayout_37.setObjectName(_fromUtf8("horizontalLayout_37"))
-        self.label_z_6 = QtGui.QLabel(self.tab_2)
-        self.label_z_6.setMaximumSize(QtCore.QSize(70, 16777215))
-        self.label_z_6.setLayoutDirection(QtCore.Qt.LeftToRight)
-        self.label_z_6.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.label_z_6.setObjectName(_fromUtf8("label_z_6"))
-        self.horizontalLayout_37.addWidget(self.label_z_6)
-        self.Par_z_ref = QtGui.QLineEdit(self.tab_2)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.Par_z_ref.sizePolicy().hasHeightForWidth())
-        self.Par_z_ref.setSizePolicy(sizePolicy)
-        self.Par_z_ref.setMinimumSize(QtCore.QSize(40, 0))
-        self.Par_z_ref.setMaximumSize(QtCore.QSize(150, 16777215))
-        self.Par_z_ref.setMaxLength(32769)
-        self.Par_z_ref.setObjectName(_fromUtf8("Par_z_ref"))
-        self.horizontalLayout_37.addWidget(self.Par_z_ref)
-        self.verticalLayout_3.addLayout(self.horizontalLayout_37)
-        self.verticalLayout_2.addLayout(self.verticalLayout_3)
-        self.gridLayout_45.addLayout(self.verticalLayout_2, 1, 0, 1, 1)
-        spacerItem17 = QtGui.QSpacerItem(208, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
-        self.gridLayout_45.addItem(spacerItem17, 1, 1, 1, 1)
-        spacerItem18 = QtGui.QSpacerItem(20, 156, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
-        self.gridLayout_45.addItem(spacerItem18, 2, 0, 1, 1)
-        self.lineEdit = QtGui.QLineEdit(self.tab_2)
-        self.lineEdit.setReadOnly(True)
-        self.lineEdit.setObjectName(_fromUtf8("lineEdit"))
-        self.gridLayout_45.addWidget(self.lineEdit, 0, 0, 1, 2)
-        self.tabWidget_6.addTab(self.tab_2, _fromUtf8(""))
-        self.gridLayout_41.addWidget(self.tabWidget_6, 0, 0, 1, 1)
-        self.progressBar = QtGui.QProgressBar(Form)
-        self.progressBar.setProperty("value", 24)
-        self.progressBar.setObjectName(_fromUtf8("progressBar"))
-        self.gridLayout_41.addWidget(self.progressBar, 1, 0, 1, 1)
-        self.horizontalLayout = QtGui.QHBoxLayout()
-        self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
-        self.button_quit = QtGui.QPushButton(Form)
-        self.button_quit.setObjectName(_fromUtf8("button_quit"))
-        self.horizontalLayout.addWidget(self.button_quit)
-        spacerItem19 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
-        self.horizontalLayout.addItem(spacerItem19)
-        self.label_release = QtGui.QLabel(Form)
-        self.label_release.setObjectName(_fromUtf8("label_release"))
-        self.horizontalLayout.addWidget(self.label_release)
-        self.gridLayout_41.addLayout(self.horizontalLayout, 2, 0, 1, 1)
-
-        self.retranslateUi(Form)
-        self.tabWidget_6.setCurrentIndex(0)
-        self.tabWidget_8.setCurrentIndex(0)
-        self.tabWidget_4.setCurrentIndex(0)
-        self.tabWidget.setCurrentIndex(0)
-        self.tabWidget_2.setCurrentIndex(0)
-        self.tabWidget_5.setCurrentIndex(0)
-        QtCore.QMetaObject.connectSlotsByName(Form)
-
-    def retranslateUi(self, Form):
-        Form.setWindowTitle(_translate("Form", "Form", None))
-        self.Reg2DCurve_button_select_points.setToolTip(_translate("Form", "<html><head/><body><p>Select point(s) used for 2D regression.</p><p>- Select as much as Points as needed ;</p><p>- Then click on this button.</p></body></html>", None))
-        self.Reg2DCurve_button_select_points.setText(_translate("Form", "Select 2D Points", None))
-        self.Reg2DCurve_input_textEdit.setHtml(_translate("Form", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
-"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
-"p, li { white-space: pre-wrap; }\n"
-"</style></head><body style=\" font-family:\'Cantarell\'; font-size:11pt; font-weight:400; font-style:normal;\">\n"
-"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><br /></p></body></html>", None))
-        self.tabWidget_4.setTabText(self.tabWidget_4.indexOf(self.tab_5), _translate("Form", "Input Data", None))
-        self.Reg2DCurve_comboBox.setItemText(0, _translate("Form", "Least squares Polynomial Regression", None))
-        self.label.setText(_translate("Form", "Degree", None))
-        self.groupBox_20.setTitle(_translate("Form", "Type of 2D Curve :", None))
-        self.checkBox_points_reg1.setText(_translate("Form", "Points", None))
-        self.checkBox_polyline_reg1.setText(_translate("Form", "Polyline", None))
-        self.checkBox_bezier_reg1.setText(_translate("Form", "Bezier", None))
-        self.checkBox_bspline_reg1.setText(_translate("Form", "Bspline", None))
-        self.tabWidget_4.setTabText(self.tabWidget_4.indexOf(self.tab_6), _translate("Form", "Estimation by", None))
-        self.label_regmin_1.setToolTip(_translate("Form", "Minimum value of the Abscissa to plot", None))
-        self.label_regmin_1.setText(_translate("Form", "absc.  min", None))
-        self.label_regmax_1.setToolTip(_translate("Form", "Maximum value of the Abscissa to plot", None))
-        self.label_regmax_1.setText(_translate("Form", "absc. max", None))
-        self.label_regstep_1.setText(_translate("Form", "step", None))
-        self.label_Reg2DCurve_z.setText(_translate("Form", "Z cst.", None))
-        self.Reg2DCurve_z.setToolTip(_translate("Form", "The constant coordinate value of the 2D curve", None))
-        self.Reg2DCurve_z.setText(_translate("Form", "0.0", None))
-        self.tabWidget_4.setTabText(self.tabWidget_4.indexOf(self.tab_7), _translate("Form", "Function", None))
-        self.Reg2DCurve_button_apply.setToolTip(_translate("Form", "Click to visualize the curve.", None))
-        self.Reg2DCurve_button_apply.setText(_translate("Form", "Apply", None))
-        self.tabWidget_8.setTabText(self.tabWidget_8.indexOf(self.Wire_Tab1_3), _translate("Form", "Regression 2D", None))
-        self.ParCurve_comboBox_2.setToolTip(_translate("Form", "Choose another curve from the list.", None))
-        self.ParCurve_button_edit_2.setToolTip(_translate("Form", "Click to access to a table where you can edit all parameters of all curves and \n"
-"save your custom curves.", None))
-        self.ParCurve_button_edit_2.setText(_translate("Form", "Edit", None))
-        self.label_name_2.setText(_translate("Form", "Name", None))
-        self.ParCurve_name_2.setText(_translate("Form", "Circle", None))
-        self.label_dim_2.setText(_translate("Form", "Select 2 axis", None))
-        self.ParCurve_combo_dim_2D.setItemText(0, _translate("Form", "XY", None))
-        self.ParCurve_combo_dim_2D.setItemText(1, _translate("Form", "YX", None))
-        self.ParCurve_combo_dim_2D.setItemText(2, _translate("Form", "XZ", None))
-        self.ParCurve_combo_dim_2D.setItemText(3, _translate("Form", "ZX", None))
-        self.ParCurve_combo_dim_2D.setItemText(4, _translate("Form", "YZ", None))
-        self.ParCurve_combo_dim_2D.setItemText(5, _translate("Form", "ZY", None))
-        self.groupBox_16.setTitle(_translate("Form", "Type of 2D Curve :", None))
-        self.checkBox_points_2.setText(_translate("Form", "Points", None))
-        self.checkBox_polyline_2.setText(_translate("Form", "Polyline", None))
-        self.checkBox_bezier_2.setText(_translate("Form", "Bezier", None))
-        self.checkBox_bspline_2.setText(_translate("Form", "Bspline", None))
-        self.checkBox_close_2.setText(_translate("Form", "Closed curve", None))
-        self.checkBox_face_2.setText(_translate("Form", "Create Face", None))
-        self.ParCurve_button_store_2.setToolTip(_translate("Form", "Click to store the current edited curve into the table.\n"
-"To save your curve you need to go to \"Edit\".", None))
-        self.ParCurve_button_store_2.setText(_translate("Form", "Store", None))
-        self.ParCurve_button_apply_2.setToolTip(_translate("Form", "Click to visualize the curve.", None))
-        self.ParCurve_button_apply_2.setText(_translate("Form", "Apply", None))
-        self.label_a_3.setText(_translate("Form", "a (t) ", None))
-        self.ParCurve_a_2.setToolTip(_translate("Form", "<html><head/><body><p>The function \'range\' from Python and \'np.arange\' from numpy module can be used here:</p><p>range([start,] stop[, step])</p><p>  start : Starting number of the sequence. <span style=\" vertical-align:top;\">The interval includes this value. The default value is 0</span></p><p>  stop : Generate numbers up to, but not including this number.</p><p>  step : Difference between each number in  the sequence. <span style=\" vertical-align:top;\">The default value is 1.</span></p><p><br/></p><p>np.arange([start,] stop[, step,]dtype=None)</p><p>Return evenly spaced values within a given interval.</p><p>  start : Starting number of the sequence. <span style=\" vertical-align:top;\">The interval includes this value. The default value is 0</span></p><p>  stop : <span style=\" vertical-align:top;\">End of interval. The interval does not include this value, except in some cases where </span><span style=\" font-style:italic; vertical-align:top;\">step</span><span style=\" vertical-align:top;\"> is not an integer and floating point round-off affects the length of </span><span style=\" font-style:italic; vertical-align:top;\">out</span><span style=\" vertical-align:top;\">.</span></p><p>  step : Difference between each number in  the sequence. <span style=\" vertical-align:top;\">For any output </span><span style=\" font-style:italic; vertical-align:top;\">out</span><span style=\" vertical-align:top;\">, this is the distance between two adjacent values. The default value is 1.</span></p><p><span style=\" vertical-align:top;\">If </span><span style=\" font-style:italic; vertical-align:top;\">step</span><span style=\" vertical-align:top;\"> is specified, </span><span style=\" font-style:italic; vertical-align:top;\">start</span><span style=\" vertical-align:top;\"> must also be given.</span></p><p>  dtype : The type of the output array. if dtype <span style=\" vertical-align:top;\">is not given, infer the data type from the other input arguments.</span><br/></p></body></html>", None))
-        self.ParCurve_a_2.setText(_translate("Form", "10    # Radius", None))
-        self.label_b_3.setText(_translate("Form", "b (a, t) ", None))
-        self.ParCurve_b_2.setToolTip(_translate("Form", "<html><head/><body><p>The function \'range\' from Python and \'np.arange\' from numpy module can be used here:</p><p>range([start,] stop[, step])</p><p>start : Starting number of the sequence. <span style=\" vertical-align:top;\">The interval includes this value. The default value is 0</span></p><p>stop : Generate numbers up to, but not including this number.</p><p>step : Difference between each number in the sequence. <span style=\" vertical-align:top;\">The default value is 1.</span></p><p><br/></p><p>np.arange([start,] stop[, step,]dtype=None)</p><p>Return evenly spaced values within a given interval.</p><p>start : Starting number of the sequence. <span style=\" vertical-align:top;\">The interval includes this value. The default value is 0</span></p><p>stop : <span style=\" vertical-align:top;\">End of interval. The interval does not include this value, except in some cases where </span><span style=\" font-style:italic; vertical-align:top;\">step</span><span style=\" vertical-align:top;\"> is not an integer and floating point round-off affects the length of </span><span style=\" font-style:italic; vertical-align:top;\">out</span><span style=\" vertical-align:top;\">.</span></p><p>step : Difference between each number in the sequence. <span style=\" vertical-align:top;\">For any output </span><span style=\" font-style:italic; vertical-align:top;\">out</span><span style=\" vertical-align:top;\">, this is the distance between two adjacent values. The default value is 1.</span></p><p><span style=\" vertical-align:top;\">If </span><span style=\" font-style:italic; vertical-align:top;\">step</span><span style=\" vertical-align:top;\"> is specified, </span><span style=\" font-style:italic; vertical-align:top;\">start</span><span style=\" vertical-align:top;\"> must also be given.</span></p><p>dtype : The type of the output array. if dtype <span style=\" vertical-align:top;\">is not given, infer the data type from the other input arguments.</span></p></body></html>", None))
-        self.ParCurve_b_2.setText(_translate("Form", "a", None))
-        self.checkBox_polar_2.setToolTip(_translate("Form", "Toggle for Polar coordinates:\n"
-"then FIRST input field is interpreted as radius\n"
-" and SECOND input field is interpreted as angle phi\n"
-"\n"
-"Polar coordinates (r, phi) as commonly used in physics: \n"
-" If P(x, y) is the considered point in 3D space;\n"
-"    Radial distance r ( > 0.0 ),  is the Euclidean distance from \n"
-"    the origin O (0, 0) to P(x, y).The symbol rho is often used instead of r.\n"
-"    The azimuthal angle phi (or azimuth) is the signed angle measured from the \n"
-"    azimuth reference direction to the segment OP on the reference plane XY ( 0 <= phi <= pi radians (0 deg and 180 deg)).", None))
-        self.checkBox_polar_2.setText(_translate("Form", " Polar coord.", None))
-        self.label_x_2.setText(_translate("Form", "X (a,b,t) ", None))
-        self.ParCurve_x_2.setToolTip(_translate("Form", "The function from Python math module can be used here:\n"
-"safe_list = [\'acos\', \'asin\', \'atan\', \'atan2\', \'ceil\', \'cos\', \'cosh\',\n"
-" \'degrees\', \'e\', \'exp\', \'fabs\', \'floor\', \'fmod\', \'frexp\', \'hypot\', \'ldexp\',\n"
-" \'log\', \'log10\', \'modf\', \'pi\', \'pow\', \'radians\', \'sin\', \'sinh\', \'sqrt\', \'tan\',\n"
-" \'tanh\']", None))
-        self.ParCurve_x_2.setText(_translate("Form", "a*cos(t)", None))
-        self.label_y_2.setText(_translate("Form", "Y (a,b,t) ", None))
-        self.ParCurve_y_2.setToolTip(_translate("Form", "The function from Python math module can be used here:\n"
-"safe_list = [\'acos\', \'asin\', \'atan\', \'atan2\', \'ceil\', \'cos\', \'cosh\',\n"
-" \'degrees\', \'e\', \'exp\', \'fabs\', \'floor\', \'fmod\', \'frexp\', \'hypot\', \'ldexp\',\n"
-" \'log\', \'log10\', \'modf\', \'pi\', \'pow\', \'radians\', \'sin\', \'sinh\', \'sqrt\', \'tan\',\n"
-" \'tanh\']", None))
-        self.ParCurve_y_2.setText(_translate("Form", "b*sin(t)", None))
-        self.tabWidget.setTabText(self.tabWidget.indexOf(self.Equation_tab_2), _translate("Form", "Equation", None))
-        self.label_tmin_3.setText(_translate("Form", "t min", None))
-        self.ParCurve_tmin_2.setToolTip(_translate("Form", "Minimun value of the t parameter", None))
-        self.ParCurve_tmin_2.setText(_translate("Form", "0", None))
-        self.label_tmax_3.setText(_translate("Form", "t max", None))
-        self.ParCurve_tmax_2.setToolTip(_translate("Form", "Maximun value of the t parameter", None))
-        self.ParCurve_tmax_2.setText(_translate("Form", "2*pi", None))
-        self.label_tstep_3.setText(_translate("Form", "step", None))
-        self.ParCurve_tstep_2.setToolTip(_translate("Form", "Step between two consecutive values of the t parameter", None))
-        self.ParCurve_tstep_2.setText(_translate("Form", "0.01", None))
-        self.tabWidget.setTabText(self.tabWidget.indexOf(self.Variables_tab_2), _translate("Form", "Variables", None))
-        self.tabWidget_8.setTabText(self.tabWidget_8.indexOf(self.Wire_Tab2_3), _translate("Form", "Parametric 2D", None))
-        self.ParCurve_comboBox_3.setToolTip(_translate("Form", "Choose another curve from the list.", None))
-        self.ParCurve_button_edit_3.setToolTip(_translate("Form", "Click to access to a table where you can edit all parameters of all curves and \n"
-"save your custom curves.", None))
-        self.ParCurve_button_edit_3.setText(_translate("Form", "Edit", None))
-        self.label_name_3.setText(_translate("Form", "Name", None))
-        self.ParCurve_name_3.setText(_translate("Form", "Cylindrical helix", None))
-        self.groupBox_19.setTitle(_translate("Form", "Type of 3D Curve :", None))
-        self.checkBox_points_3.setText(_translate("Form", "Points", None))
-        self.checkBox_polyline_3.setText(_translate("Form", "Polyline", None))
-        self.checkBox_bspline_3.setText(_translate("Form", "Bspline", None))
-        self.checkBox_bezier_3.setText(_translate("Form", "Bezier", None))
-        self.checkBox_close_3.setText(_translate("Form", "Closed curve", None))
-        self.ParCurve_button_store_3.setToolTip(_translate("Form", "Click to store the current edited curve into the table.\n"
-"To save your curve you need to go to \"Edit\".", None))
-        self.ParCurve_button_store_3.setText(_translate("Form", "Store", None))
-        self.ParCurve_button_apply_3.setToolTip(_translate("Form", "Click to visualize the curve.", None))
-        self.ParCurve_button_apply_3.setText(_translate("Form", "Apply", None))
-        self.label_a_4.setText(_translate("Form", "a (t) ", None))
-        self.ParCurve_a_3.setToolTip(_translate("Form", "<html><head/><body><p>The function \'range\' from Python and \'np.arange\' from numpy module can be used here:</p><p>range([start,] stop[, step])</p><p>start : Starting number of the sequence. <span style=\" vertical-align:top;\">The interval includes this value. The default value is 0</span></p><p>stop : Generate numbers up to, but not including this number.</p><p>step : Difference between each number in the sequence. <span style=\" vertical-align:top;\">The default value is 1.</span></p><p><br/></p><p>np.arange([start,] stop[, step,]dtype=None)</p><p>Return evenly spaced values within a given interval.</p><p>start : Starting number of the sequence. <span style=\" vertical-align:top;\">The interval includes this value. The default value is 0</span></p><p>stop : <span style=\" vertical-align:top;\">End of interval. The interval does not include this value, except in some cases where </span><span style=\" font-style:italic; vertical-align:top;\">step</span><span style=\" vertical-align:top;\"> is not an integer and floating point round-off affects the length of </span><span style=\" font-style:italic; vertical-align:top;\">out</span><span style=\" vertical-align:top;\">.</span></p><p>step : Difference between each number in the sequence. <span style=\" vertical-align:top;\">For any output </span><span style=\" font-style:italic; vertical-align:top;\">out</span><span style=\" vertical-align:top;\">, this is the distance between two adjacent values. The default value is 1.</span></p><p><span style=\" vertical-align:top;\">If </span><span style=\" font-style:italic; vertical-align:top;\">step</span><span style=\" vertical-align:top;\"> is specified, </span><span style=\" font-style:italic; vertical-align:top;\">start</span><span style=\" vertical-align:top;\"> must also be given.</span></p><p>dtype : The type of the output array. if dtype <span style=\" vertical-align:top;\">is not given, infer the data type from the other input arguments.</span></p></body></html>", None))
-        self.ParCurve_a_3.setText(_translate("Form", "10*0.05 #Vert. step", None))
-        self.label_b_4.setText(_translate("Form", "b (a, t) ", None))
-        self.ParCurve_b_3.setToolTip(_translate("Form", "<html><head/><body><p>The function \'range\' from Python and \'np.arange\' from numpy module can be used here:</p><p>range([start,] stop[, step])</p><p>start : Starting number of the sequence. <span style=\" vertical-align:top;\">The interval includes this value. The default value is 0</span></p><p>stop : Generate numbers up to, but not including this number.</p><p>step : Difference between each number in the sequence. <span style=\" vertical-align:top;\">The default value is 1.</span></p><p><br/></p><p>np.arange([start,] stop[, step,]dtype=None)</p><p>Return evenly spaced values within a given interval.</p><p>start : Starting number of the sequence. <span style=\" vertical-align:top;\">The interval includes this value. The default value is 0</span></p><p>stop : <span style=\" vertical-align:top;\">End of interval. The interval does not include this value, except in some cases where </span><span style=\" font-style:italic; vertical-align:top;\">step</span><span style=\" vertical-align:top;\"> is not an integer and floating point round-off affects the length of </span><span style=\" font-style:italic; vertical-align:top;\">out</span><span style=\" vertical-align:top;\">.</span></p><p>step : Difference between each number in the sequence. <span style=\" vertical-align:top;\">For any output </span><span style=\" font-style:italic; vertical-align:top;\">out</span><span style=\" vertical-align:top;\">, this is the distance between two adjacent values. The default value is 1.</span></p><p><span style=\" vertical-align:top;\">If </span><span style=\" font-style:italic; vertical-align:top;\">step</span><span style=\" vertical-align:top;\"> is specified, </span><span style=\" font-style:italic; vertical-align:top;\">start</span><span style=\" vertical-align:top;\"> must also be given.</span></p><p>dtype : The type of the output array. if dtype <span style=\" vertical-align:top;\">is not given, infer the data type from the other input arguments.</span></p></body></html>", None))
-        self.ParCurve_b_3.setText(_translate("Form", "1", None))
-        self.label_c_2.setText(_translate("Form", "c (a, b, t) ", None))
-        self.ParCurve_c_3.setToolTip(_translate("Form", "<html><head/><body><p>The function \'range\' from Python and \'np.arange\' from numpy module can be used here:</p><p>range([start,] stop[, step])</p><p>start : Starting number of the sequence. <span style=\" vertical-align:top;\">The interval includes this value. The default value is 0</span></p><p>stop : Generate numbers up to, but not including this number.</p><p>step : Difference between each number in the sequence. <span style=\" vertical-align:top;\">The default value is 1.</span></p><p><br/></p><p>np.arange([start,] stop[, step,]dtype=None)</p><p>Return evenly spaced values within a given interval.</p><p>start : Starting number of the sequence. <span style=\" vertical-align:top;\">The interval includes this value. The default value is 0</span></p><p>stop : <span style=\" vertical-align:top;\">End of interval. The interval does not include this value, except in some cases where </span><span style=\" font-style:italic; vertical-align:top;\">step</span><span style=\" vertical-align:top;\"> is not an integer and floating point round-off affects the length of </span><span style=\" font-style:italic; vertical-align:top;\">out</span><span style=\" vertical-align:top;\">.</span></p><p>step : Difference between each number in the sequence. <span style=\" vertical-align:top;\">For any output </span><span style=\" font-style:italic; vertical-align:top;\">out</span><span style=\" vertical-align:top;\">, this is the distance between two adjacent values. The default value is 1.</span></p><p><span style=\" vertical-align:top;\">If </span><span style=\" font-style:italic; vertical-align:top;\">step</span><span style=\" vertical-align:top;\"> is specified, </span><span style=\" font-style:italic; vertical-align:top;\">start</span><span style=\" vertical-align:top;\"> must also be given.</span></p><p>dtype : The type of the output array. if dtype <span style=\" vertical-align:top;\">is not given, infer the data type from the other input arguments.</span></p></body></html>", None))
-        self.ParCurve_c_3.setText(_translate("Form", "10     # Radius", None))
-        self.checkBox_cylind_3.setToolTip(_translate("Form", "Toggle for Cylindrical coordinates:", None))
-        self.checkBox_cylind_3.setText(_translate("Form", " Cylindrical coord.", None))
-        self.checkBox_spheric_3.setToolTip(_translate("Form", "Toggle for Sperical coordinates:", None))
-        self.checkBox_spheric_3.setText(_translate("Form", "Spherical coord.", None))
-        self.label_x_3.setText(_translate("Form", "X (a,b,c,t) ", None))
-        self.ParCurve_x_3.setToolTip(_translate("Form", "The function from Python math module can be used here:\n"
-"safe_list = [\'acos\', \'asin\', \'atan\', \'atan2\', \'ceil\', \'cos\', \'cosh\',\n"
-" \'degrees\', \'e\', \'exp\', \'fabs\', \'floor\', \'fmod\', \'frexp\', \'hypot\', \'ldexp\',\n"
-" \'log\', \'log10\', \'modf\', \'pi\', \'pow\', \'radians\', \'sin\', \'sinh\', \'sqrt\', \'tan\',\n"
-" \'tanh\']", None))
-        self.ParCurve_x_3.setText(_translate("Form", "c*sin(t)", None))
-        self.label_y_3.setText(_translate("Form", "Y (a,b,c,t) ", None))
-        self.ParCurve_y_3.setToolTip(_translate("Form", "The function from Python math module can be used here:\n"
-"safe_list = [\'acos\', \'asin\', \'atan\', \'atan2\', \'ceil\', \'cos\', \'cosh\',\n"
-" \'degrees\', \'e\', \'exp\', \'fabs\', \'floor\', \'fmod\', \'frexp\', \'hypot\', \'ldexp\',\n"
-" \'log\', \'log10\', \'modf\', \'pi\', \'pow\', \'radians\', \'sin\', \'sinh\', \'sqrt\', \'tan\',\n"
-" \'tanh\']", None))
-        self.ParCurve_y_3.setText(_translate("Form", "c*cos(t)", None))
-        self.label_z_3.setText(_translate("Form", "Z (a,b,c,t) ", None))
-        self.ParCurve_z_3.setToolTip(_translate("Form", "The function from Python math module can be used here:\n"
-"safe_list = [\'acos\', \'asin\', \'atan\', \'atan2\', \'ceil\', \'cos\', \'cosh\',\n"
-" \'degrees\', \'e\', \'exp\', \'fabs\', \'floor\', \'fmod\', \'frexp\', \'hypot\', \'ldexp\',\n"
-" \'log\', \'log10\', \'modf\', \'pi\', \'pow\', \'radians\', \'sin\', \'sinh\', \'sqrt\', \'tan\',\n"
-" \'tanh\']", None))
-        self.ParCurve_z_3.setText(_translate("Form", "a*t", None))
-        self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.Equation_tab_3), _translate("Form", "Equation", None))
-        self.label_tmin_4.setText(_translate("Form", "t min", None))
-        self.ParCurve_tmin_3.setText(_translate("Form", "0", None))
-        self.label_tmax_4.setText(_translate("Form", "t max", None))
-        self.ParCurve_tmax_3.setText(_translate("Form", "5*2*pi   #5 circles", None))
-        self.label_tstep_4.setText(_translate("Form", "step", None))
-        self.ParCurve_tstep_3.setText(_translate("Form", "0.01", None))
-        self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.Variables_tab_3), _translate("Form", "Variables", None))
-        self.tabWidget_8.setTabText(self.tabWidget_8.indexOf(self.Wire_Tab3_3), _translate("Form", "Parametric 3D", None))
-        self.Surf_comboBox.setToolTip(_translate("Form", "Choose another curve from the list.", None))
-        self.Surf_button_edit.setToolTip(_translate("Form", "Click to access to a table where you can edit all parameters of all curves and \n"
-"save your custom curves.", None))
-        self.Surf_button_edit.setText(_translate("Form", "Edit", None))
-        self.label_name_4.setText(_translate("Form", "Name", None))
-        self.Surf_name.setText(_translate("Form", "Astroid", None))
-        self.label_a_5.setText(_translate("Form", "a", None))
-        self.Surf_a.setText(_translate("Form", "4", None))
-        self.label_b_5.setText(_translate("Form", "b (a) ", None))
-        self.Surf_b.setText(_translate("Form", "3", None))
-        self.label_c_3.setText(_translate("Form", "c (a, b) ", None))
-        self.Surf_c.setText(_translate("Form", "2", None))
-        self.label_x_4.setText(_translate("Form", "X (a,b,c,u,v) ", None))
-        self.Surf_x.setToolTip(_translate("Form", "<html><head/><body><p>The function from Python math module can be used here:</p><p>safe_list = [\'acos\', \'asin\', \'atan\', \'atan2\', \'ceil\', \'cos\', \'cosh\',</p><p> \'degrees\', \'e\', \'exp\', \'fabs\', \'floor\', \'fmod\', \'frexp\', \'hypot\', \'ldexp\',</p><p> \'log\', \'log10\', \'modf\', \'pi\', \'pow\', \'radians\', \'sin\', \'sinh\', \'sqrt\', \'tan\',</p><p> \'tanh\']</p></body></html>", None))
-        self.Surf_x.setText(_translate("Form", "a*pow(cos(v),3)*pow(cos(u),3)", None))
-        self.label_y_4.setText(_translate("Form", "Y (a,b,c,u,v) ", None))
-        self.Surf_y.setToolTip(_translate("Form", "<html><head/><body><p>The function from Python math module can be used here:</p><p>safe_list = [\'acos\', \'asin\', \'atan\', \'atan2\', \'ceil\', \'cos\', \'cosh\',</p><p> \'degrees\', \'e\', \'exp\', \'fabs\', \'floor\', \'fmod\', \'frexp\', \'hypot\', \'ldexp\',</p><p> \'log\', \'log10\', \'modf\', \'pi\', \'pow\', \'radians\', \'sin\', \'sinh\', \'sqrt\', \'tan\',</p><p> \'tanh\']</p></body></html>", None))
-        self.Surf_y.setText(_translate("Form", "b*pow(cos(v),3)*pow(sin(u),3)", None))
-        self.label_z_2.setText(_translate("Form", "Z (a,b,c,u,v) ", None))
-        self.Surf_z.setToolTip(_translate("Form", "<html><head/><body><p>The function from Python math module can be used here:</p><p>safe_list = [\'acos\', \'asin\', \'atan\', \'atan2\', \'ceil\', \'cos\', \'cosh\',</p><p> \'degrees\', \'e\', \'exp\', \'fabs\', \'floor\', \'fmod\', \'frexp\', \'hypot\', \'ldexp\',</p><p> \'log\', \'log10\', \'modf\', \'pi\', \'pow\', \'radians\', \'sin\', \'sinh\', \'sqrt\', \'tan\',</p><p> \'tanh\']</p></body></html>", None))
-        self.Surf_z.setText(_translate("Form", "c*pow(sin(v),3)", None))
-        self.tabWidget_5.setTabText(self.tabWidget_5.indexOf(self.tab_8), _translate("Form", "Equation", None))
-        self.label_umin.setText(_translate("Form", "u min", None))
-        self.Surf_umin.setText(_translate("Form", "0.0", None))
-        self.label_umax.setText(_translate("Form", "u max", None))
-        self.Surf_umax.setText(_translate("Form", "2*pi", None))
-        self.label_ustep.setText(_translate("Form", "u step", None))
-        self.Surf_ustep.setText(_translate("Form", "0.01", None))
-        self.label_umin_2.setText(_translate("Form", "v min", None))
-        self.Surf_vmin.setText(_translate("Form", "-2", None))
-        self.label_umax_2.setText(_translate("Form", "v max", None))
-        self.Surf_vmax.setText(_translate("Form", "2", None))
-        self.label_ustep_2.setText(_translate("Form", "v step", None))
-        self.Surf_vstep.setText(_translate("Form", "0.01", None))
-        self.tabWidget_5.setTabText(self.tabWidget_5.indexOf(self.tab_9), _translate("Form", "Variables", None))
-        self.groupBox_9.setTitle(_translate("Form", "Type of Surface", None))
-        self.Surf_points.setText(_translate("Form", "Points", None))
-        self.Surf_polyline.setText(_translate("Form", "Polyline", None))
-        self.Surf_bspline.setText(_translate("Form", "Bspline", None))
-        self.Surf_bspline_surf.setText(_translate("Form", "Surf Bspline (Nurbs)", None))
-        self.Surf_meshes.setText(_translate("Form", "Meshes", None))
-        self.Surf_button_store.setToolTip(_translate("Form", "Click to store the current edited curve into the table.\n"
-"To save your curve you need to go to \"Edit\".", None))
-        self.Surf_button_store.setText(_translate("Form", "Store", None))
-        self.Surf_button_apply.setToolTip(_translate("Form", "Click to visualize the curve.", None))
-        self.Surf_button_apply.setText(_translate("Form", "Apply", None))
-        self.tabWidget_8.setTabText(self.tabWidget_8.indexOf(self.Surface_Tab1), _translate("Form", "Surface", None))
-        self.tabWidget_6.setTabText(self.tabWidget_6.indexOf(self.tab), _translate("Form", "Curves and Surfaces", None))
-        self.button_select_point.setToolTip(_translate("Form", "<html><head/><body><p>Select point(s) to define reference locations for parametric curves and surfaces.</p><p>- Select as much as Points as needed ;</p><p>- Then click on this button.<br/></p></body></html>", None))
-        self.button_select_point.setText(_translate("Form", "Select Point(s)", None))
-        self.label_x_6.setText(_translate("Form", "X cst.", None))
-        self.Par_x_ref.setToolTip(_translate("Form", "<html><head/><body><p>Reference point (X value) where to attach the 2D curve.</p></body></html>", None))
-        self.Par_x_ref.setText(_translate("Form", "0.0", None))
-        self.label_y_6.setText(_translate("Form", "Y cst.", None))
-        self.Par_y_ref.setToolTip(_translate("Form", "<html><head/><body><p>Reference point (Y value) where to attach the 2D curve.</p></body></html>", None))
-        self.Par_y_ref.setText(_translate("Form", "0.0", None))
-        self.label_z_6.setText(_translate("Form", "Z cst.", None))
-        self.Par_z_ref.setToolTip(_translate("Form", "<html><head/><body><p>Reference point (Z value) where to attach the 2D curve.</p></body></html>", None))
-        self.Par_z_ref.setText(_translate("Form", "0.0", None))
-        self.lineEdit.setToolTip(_translate("Form", "<html><head/><body><p>Examples </p><p>from http://www.mathcurve.com/ </p><p>and </p><p>https://en.wikipedia.org/wiki/List_of_curves</p></body></html>", None))
-        self.lineEdit.setText(_translate("Form", "Examples from http://www.mathcurve.com/ and https://en.wikipedia.org/wiki/List_of_curves", None))
-        self.tabWidget_6.setTabText(self.tabWidget_6.indexOf(self.tab_2), _translate("Form", "Origin", None))
-        self.button_quit.setText(_translate("Form", "Close", None))
-        self.label_release.setText(_translate("Form", "2016", None))
-
diff --git a/WorkFeature/Ui/WF_ParCurveGui_2016.ui b/WorkFeature/Ui/WF_ParCurveGui_2016.ui
deleted file mode 100644
index 1f515af..0000000
--- a/WorkFeature/Ui/WF_ParCurveGui_2016.ui
+++ /dev/null
@@ -1,3351 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>Form</class>
- <widget class="QWidget" name="Form">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>400</width>
-    <height>803</height>
-   </rect>
-  </property>
-  <property name="minimumSize">
-   <size>
-    <width>0</width>
-    <height>0</height>
-   </size>
-  </property>
-  <property name="windowTitle">
-   <string>Form</string>
-  </property>
-  <layout class="QGridLayout" name="gridLayout_41">
-   <item row="0" column="0">
-    <widget class="QTabWidget" name="tabWidget_6">
-     <property name="currentIndex">
-      <number>0</number>
-     </property>
-     <widget class="QWidget" name="tab">
-      <attribute name="title">
-       <string>Curves and Surfaces</string>
-      </attribute>
-      <layout class="QGridLayout" name="gridLayout_8">
-       <item row="0" column="0">
-        <widget class="QScrollArea" name="scrollArea_8">
-         <property name="widgetResizable">
-          <bool>true</bool>
-         </property>
-         <widget class="QWidget" name="scrollAreaWidgetContents_8">
-          <property name="geometry">
-           <rect>
-            <x>0</x>
-            <y>0</y>
-            <width>358</width>
-            <height>654</height>
-           </rect>
-          </property>
-          <layout class="QGridLayout" name="gridLayout_38">
-           <item row="0" column="0">
-            <widget class="QTabWidget" name="tabWidget_8">
-             <property name="sizePolicy">
-              <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
-               <horstretch>0</horstretch>
-               <verstretch>0</verstretch>
-              </sizepolicy>
-             </property>
-             <property name="currentIndex">
-              <number>0</number>
-             </property>
-             <widget class="QWidget" name="Wire_Tab1_3">
-              <attribute name="title">
-               <string>Regression 2D</string>
-              </attribute>
-              <layout class="QGridLayout" name="gridLayout_20">
-               <item row="0" column="0">
-                <widget class="QTabWidget" name="tabWidget_4">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="currentIndex">
-                  <number>0</number>
-                 </property>
-                 <widget class="QWidget" name="tab_5">
-                  <attribute name="title">
-                   <string>Input Data</string>
-                  </attribute>
-                  <layout class="QGridLayout" name="gridLayout_19">
-                   <item row="0" column="0">
-                    <widget class="QPushButton" name="Reg2DCurve_button_select_points">
-                     <property name="toolTip">
-                      <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Select point(s) used for 2D regression.&lt;/p&gt;&lt;p&gt;- Select as much as Points as needed ;&lt;/p&gt;&lt;p&gt;- Then click on this button.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
-                     </property>
-                     <property name="text">
-                      <string>Select 2D Points</string>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="1" column="0">
-                    <widget class="QTextEdit" name="Reg2DCurve_input_textEdit">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="html">
-                      <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
-&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Cantarell'; font-size:11pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
-                     </property>
-                    </widget>
-                   </item>
-                  </layout>
-                 </widget>
-                 <widget class="QWidget" name="tab_6">
-                  <attribute name="title">
-                   <string>Estimation by</string>
-                  </attribute>
-                  <layout class="QGridLayout" name="gridLayout_33">
-                   <item row="0" column="0">
-                    <widget class="QComboBox" name="Reg2DCurve_comboBox">
-                     <item>
-                      <property name="text">
-                       <string>Least squares Polynomial Regression</string>
-                      </property>
-                     </item>
-                    </widget>
-                   </item>
-                   <item row="1" column="0">
-                    <layout class="QHBoxLayout" name="horizontalLayout_18">
-                     <item>
-                      <widget class="QLabel" name="label">
-                       <property name="text">
-                        <string>Degree</string>
-                       </property>
-                      </widget>
-                     </item>
-                     <item>
-                      <widget class="QSpinBox" name="Reg2DCurve_degree_select">
-                       <property name="minimum">
-                        <number>1</number>
-                       </property>
-                       <property name="value">
-                        <number>2</number>
-                       </property>
-                      </widget>
-                     </item>
-                    </layout>
-                   </item>
-                   <item row="2" column="0">
-                    <spacer name="verticalSpacer_3">
-                     <property name="orientation">
-                      <enum>Qt::Vertical</enum>
-                     </property>
-                     <property name="sizeHint" stdset="0">
-                      <size>
-                       <width>20</width>
-                       <height>40</height>
-                      </size>
-                     </property>
-                    </spacer>
-                   </item>
-                   <item row="3" column="0">
-                    <widget class="QGroupBox" name="groupBox_20">
-                     <property name="title">
-                      <string>Type of 2D Curve :</string>
-                     </property>
-                     <layout class="QGridLayout" name="gridLayout_34">
-                      <item row="0" column="0">
-                       <widget class="QCheckBox" name="checkBox_points_reg1">
-                        <property name="text">
-                         <string>Points</string>
-                        </property>
-                        <property name="autoExclusive">
-                         <bool>true</bool>
-                        </property>
-                       </widget>
-                      </item>
-                      <item row="0" column="1">
-                       <widget class="QCheckBox" name="checkBox_polyline_reg1">
-                        <property name="text">
-                         <string>Polyline</string>
-                        </property>
-                        <property name="checked">
-                         <bool>true</bool>
-                        </property>
-                        <property name="autoExclusive">
-                         <bool>true</bool>
-                        </property>
-                       </widget>
-                      </item>
-                      <item row="1" column="0">
-                       <widget class="QCheckBox" name="checkBox_bezier_reg1">
-                        <property name="enabled">
-                         <bool>true</bool>
-                        </property>
-                        <property name="text">
-                         <string>Bezier</string>
-                        </property>
-                        <property name="checked">
-                         <bool>false</bool>
-                        </property>
-                        <property name="autoExclusive">
-                         <bool>true</bool>
-                        </property>
-                       </widget>
-                      </item>
-                      <item row="1" column="1">
-                       <widget class="QCheckBox" name="checkBox_bspline_reg1">
-                        <property name="enabled">
-                         <bool>true</bool>
-                        </property>
-                        <property name="text">
-                         <string>Bspline</string>
-                        </property>
-                        <property name="checked">
-                         <bool>false</bool>
-                        </property>
-                        <property name="autoExclusive">
-                         <bool>true</bool>
-                        </property>
-                       </widget>
-                      </item>
-                     </layout>
-                    </widget>
-                   </item>
-                  </layout>
-                 </widget>
-                 <widget class="QWidget" name="tab_7">
-                  <attribute name="title">
-                   <string>Function</string>
-                  </attribute>
-                  <layout class="QGridLayout" name="gridLayout_37">
-                   <item row="0" column="0">
-                    <widget class="QScrollArea" name="scrollArea_3">
-                     <property name="widgetResizable">
-                      <bool>true</bool>
-                     </property>
-                     <widget class="QWidget" name="scrollAreaWidgetContents_2">
-                      <property name="geometry">
-                       <rect>
-                        <x>0</x>
-                        <y>0</y>
-                        <width>294</width>
-                        <height>485</height>
-                       </rect>
-                      </property>
-                      <layout class="QGridLayout" name="gridLayout_35">
-                       <item row="0" column="0">
-                        <widget class="QTextEdit" name="Reg2DCurve_function_textEdit">
-                         <property name="sizePolicy">
-                          <sizepolicy hsizetype="Expanding" vsizetype="MinimumExpanding">
-                           <horstretch>0</horstretch>
-                           <verstretch>0</verstretch>
-                          </sizepolicy>
-                         </property>
-                        </widget>
-                       </item>
-                       <item row="1" column="0">
-                        <layout class="QGridLayout" name="gridLayout_25">
-                         <item row="0" column="0">
-                          <layout class="QHBoxLayout" name="horizontalLayout_28">
-                           <item>
-                            <widget class="QLabel" name="label_regmin_1">
-                             <property name="maximumSize">
-                              <size>
-                               <width>70</width>
-                               <height>16777215</height>
-                              </size>
-                             </property>
-                             <property name="toolTip">
-                              <string>Minimum value of the Abscissa to plot</string>
-                             </property>
-                             <property name="layoutDirection">
-                              <enum>Qt::LeftToRight</enum>
-                             </property>
-                             <property name="text">
-                              <string>absc.  min</string>
-                             </property>
-                             <property name="alignment">
-                              <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                             </property>
-                            </widget>
-                           </item>
-                           <item>
-                            <widget class="QLineEdit" name="Reg2DCurve_min">
-                             <property name="sizePolicy">
-                              <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                               <horstretch>0</horstretch>
-                               <verstretch>0</verstretch>
-                              </sizepolicy>
-                             </property>
-                             <property name="minimumSize">
-                              <size>
-                               <width>40</width>
-                               <height>0</height>
-                              </size>
-                             </property>
-                             <property name="maximumSize">
-                              <size>
-                               <width>150</width>
-                               <height>16777215</height>
-                              </size>
-                             </property>
-                             <property name="text">
-                              <string/>
-                             </property>
-                             <property name="maxLength">
-                              <number>32769</number>
-                             </property>
-                            </widget>
-                           </item>
-                          </layout>
-                         </item>
-                         <item row="1" column="0">
-                          <layout class="QHBoxLayout" name="horizontalLayout_29">
-                           <item>
-                            <widget class="QLabel" name="label_regmax_1">
-                             <property name="maximumSize">
-                              <size>
-                               <width>70</width>
-                               <height>16777215</height>
-                              </size>
-                             </property>
-                             <property name="toolTip">
-                              <string>Maximum value of the Abscissa to plot</string>
-                             </property>
-                             <property name="layoutDirection">
-                              <enum>Qt::LeftToRight</enum>
-                             </property>
-                             <property name="text">
-                              <string>absc. max</string>
-                             </property>
-                             <property name="alignment">
-                              <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                             </property>
-                            </widget>
-                           </item>
-                           <item>
-                            <widget class="QLineEdit" name="Reg2DCurve_max">
-                             <property name="sizePolicy">
-                              <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                               <horstretch>0</horstretch>
-                               <verstretch>0</verstretch>
-                              </sizepolicy>
-                             </property>
-                             <property name="minimumSize">
-                              <size>
-                               <width>40</width>
-                               <height>0</height>
-                              </size>
-                             </property>
-                             <property name="maximumSize">
-                              <size>
-                               <width>150</width>
-                               <height>16777215</height>
-                              </size>
-                             </property>
-                             <property name="text">
-                              <string/>
-                             </property>
-                             <property name="maxLength">
-                              <number>32769</number>
-                             </property>
-                            </widget>
-                           </item>
-                          </layout>
-                         </item>
-                         <item row="2" column="0">
-                          <layout class="QHBoxLayout" name="horizontalLayout_30">
-                           <item>
-                            <widget class="QLabel" name="label_regstep_1">
-                             <property name="maximumSize">
-                              <size>
-                               <width>70</width>
-                               <height>16777215</height>
-                              </size>
-                             </property>
-                             <property name="layoutDirection">
-                              <enum>Qt::LeftToRight</enum>
-                             </property>
-                             <property name="text">
-                              <string>step</string>
-                             </property>
-                             <property name="alignment">
-                              <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                             </property>
-                            </widget>
-                           </item>
-                           <item>
-                            <widget class="QLineEdit" name="Reg2DCurve_step">
-                             <property name="sizePolicy">
-                              <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                               <horstretch>0</horstretch>
-                               <verstretch>0</verstretch>
-                              </sizepolicy>
-                             </property>
-                             <property name="minimumSize">
-                              <size>
-                               <width>40</width>
-                               <height>0</height>
-                              </size>
-                             </property>
-                             <property name="maximumSize">
-                              <size>
-                               <width>150</width>
-                               <height>16777215</height>
-                              </size>
-                             </property>
-                             <property name="text">
-                              <string/>
-                             </property>
-                             <property name="maxLength">
-                              <number>32769</number>
-                             </property>
-                            </widget>
-                           </item>
-                          </layout>
-                         </item>
-                        </layout>
-                       </item>
-                       <item row="2" column="0">
-                        <layout class="QHBoxLayout" name="horizontalLayout_32">
-                         <item>
-                          <widget class="QLabel" name="label_Reg2DCurve_z">
-                           <property name="maximumSize">
-                            <size>
-                             <width>70</width>
-                             <height>16777215</height>
-                            </size>
-                           </property>
-                           <property name="layoutDirection">
-                            <enum>Qt::LeftToRight</enum>
-                           </property>
-                           <property name="text">
-                            <string>Z cst.</string>
-                           </property>
-                           <property name="alignment">
-                            <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                           </property>
-                          </widget>
-                         </item>
-                         <item>
-                          <widget class="QLineEdit" name="Reg2DCurve_z">
-                           <property name="sizePolicy">
-                            <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                             <horstretch>0</horstretch>
-                             <verstretch>0</verstretch>
-                            </sizepolicy>
-                           </property>
-                           <property name="minimumSize">
-                            <size>
-                             <width>40</width>
-                             <height>0</height>
-                            </size>
-                           </property>
-                           <property name="maximumSize">
-                            <size>
-                             <width>150</width>
-                             <height>16777215</height>
-                            </size>
-                           </property>
-                           <property name="toolTip">
-                            <string>The constant coordinate value of the 2D curve</string>
-                           </property>
-                           <property name="text">
-                            <string>0.0</string>
-                           </property>
-                           <property name="maxLength">
-                            <number>32769</number>
-                           </property>
-                          </widget>
-                         </item>
-                        </layout>
-                       </item>
-                      </layout>
-                     </widget>
-                    </widget>
-                   </item>
-                  </layout>
-                 </widget>
-                </widget>
-               </item>
-               <item row="1" column="0">
-                <layout class="QHBoxLayout" name="horizontalLayout_19">
-                 <item>
-                  <widget class="QPushButton" name="Reg2DCurve_button_apply">
-                   <property name="minimumSize">
-                    <size>
-                     <width>40</width>
-                     <height>0</height>
-                    </size>
-                   </property>
-                   <property name="maximumSize">
-                    <size>
-                     <width>60</width>
-                     <height>16777215</height>
-                    </size>
-                   </property>
-                   <property name="toolTip">
-                    <string>Click to visualize the curve.</string>
-                   </property>
-                   <property name="text">
-                    <string>Apply</string>
-                   </property>
-                  </widget>
-                 </item>
-                 <item>
-                  <spacer name="horizontalSpacer_3">
-                   <property name="orientation">
-                    <enum>Qt::Horizontal</enum>
-                   </property>
-                   <property name="sizeHint" stdset="0">
-                    <size>
-                     <width>40</width>
-                     <height>20</height>
-                    </size>
-                   </property>
-                  </spacer>
-                 </item>
-                </layout>
-               </item>
-              </layout>
-             </widget>
-             <widget class="QWidget" name="Wire_Tab2_3">
-              <attribute name="title">
-               <string>Parametric 2D</string>
-              </attribute>
-              <layout class="QGridLayout" name="gridLayout_36">
-               <item row="0" column="0">
-                <widget class="QScrollArea" name="scrollArea_2">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="widgetResizable">
-                  <bool>true</bool>
-                 </property>
-                 <widget class="QWidget" name="scrollAreaWidgetContents_5">
-                  <property name="geometry">
-                   <rect>
-                    <x>0</x>
-                    <y>0</y>
-                    <width>303</width>
-                    <height>652</height>
-                   </rect>
-                  </property>
-                  <layout class="QGridLayout" name="gridLayout">
-                   <item row="0" column="0">
-                    <layout class="QHBoxLayout" name="horizontalLayout_59">
-                     <item>
-                      <widget class="QComboBox" name="ParCurve_comboBox_2">
-                       <property name="toolTip">
-                        <string>Choose another curve from the list.</string>
-                       </property>
-                      </widget>
-                     </item>
-                     <item>
-                      <widget class="QPushButton" name="ParCurve_button_edit_2">
-                       <property name="minimumSize">
-                        <size>
-                         <width>40</width>
-                         <height>0</height>
-                        </size>
-                       </property>
-                       <property name="maximumSize">
-                        <size>
-                         <width>60</width>
-                         <height>16777215</height>
-                        </size>
-                       </property>
-                       <property name="toolTip">
-                        <string>Click to access to a table where you can edit all parameters of all curves and 
-save your custom curves.</string>
-                       </property>
-                       <property name="text">
-                        <string>Edit</string>
-                       </property>
-                      </widget>
-                     </item>
-                    </layout>
-                   </item>
-                   <item row="1" column="0">
-                    <layout class="QHBoxLayout" name="horizontalLayout_60">
-                     <item>
-                      <widget class="QLabel" name="label_name_2">
-                       <property name="frameShape">
-                        <enum>QFrame::Box</enum>
-                       </property>
-                       <property name="frameShadow">
-                        <enum>QFrame::Raised</enum>
-                       </property>
-                       <property name="lineWidth">
-                        <number>3</number>
-                       </property>
-                       <property name="text">
-                        <string>Name</string>
-                       </property>
-                       <property name="alignment">
-                        <set>Qt::AlignCenter</set>
-                       </property>
-                      </widget>
-                     </item>
-                     <item>
-                      <widget class="QLineEdit" name="ParCurve_name_2">
-                       <property name="text">
-                        <string>Circle</string>
-                       </property>
-                      </widget>
-                     </item>
-                    </layout>
-                   </item>
-                   <item row="2" column="0">
-                    <layout class="QHBoxLayout" name="horizontalLayout_2">
-                     <item>
-                      <widget class="QLabel" name="label_dim_2">
-                       <property name="text">
-                        <string>Select 2 axis</string>
-                       </property>
-                      </widget>
-                     </item>
-                     <item>
-                      <widget class="QComboBox" name="ParCurve_combo_dim_2D">
-                       <property name="enabled">
-                        <bool>false</bool>
-                       </property>
-                       <item>
-                        <property name="text">
-                         <string>XY</string>
-                        </property>
-                       </item>
-                       <item>
-                        <property name="text">
-                         <string>YX</string>
-                        </property>
-                       </item>
-                       <item>
-                        <property name="text">
-                         <string>XZ</string>
-                        </property>
-                       </item>
-                       <item>
-                        <property name="text">
-                         <string>ZX</string>
-                        </property>
-                       </item>
-                       <item>
-                        <property name="text">
-                         <string>YZ</string>
-                        </property>
-                       </item>
-                       <item>
-                        <property name="text">
-                         <string>ZY</string>
-                        </property>
-                       </item>
-                      </widget>
-                     </item>
-                    </layout>
-                   </item>
-                   <item row="4" column="0">
-                    <widget class="QGroupBox" name="groupBox_16">
-                     <property name="title">
-                      <string>Type of 2D Curve :</string>
-                     </property>
-                     <layout class="QGridLayout" name="gridLayout_2">
-                      <item row="0" column="0">
-                       <widget class="QCheckBox" name="checkBox_points_2">
-                        <property name="text">
-                         <string>Points</string>
-                        </property>
-                        <property name="autoExclusive">
-                         <bool>true</bool>
-                        </property>
-                       </widget>
-                      </item>
-                      <item row="0" column="1">
-                       <widget class="QCheckBox" name="checkBox_polyline_2">
-                        <property name="text">
-                         <string>Polyline</string>
-                        </property>
-                        <property name="checked">
-                         <bool>true</bool>
-                        </property>
-                        <property name="autoExclusive">
-                         <bool>true</bool>
-                        </property>
-                       </widget>
-                      </item>
-                      <item row="1" column="0">
-                       <widget class="QCheckBox" name="checkBox_bezier_2">
-                        <property name="enabled">
-                         <bool>true</bool>
-                        </property>
-                        <property name="text">
-                         <string>Bezier</string>
-                        </property>
-                        <property name="checked">
-                         <bool>false</bool>
-                        </property>
-                        <property name="autoExclusive">
-                         <bool>true</bool>
-                        </property>
-                       </widget>
-                      </item>
-                      <item row="1" column="1">
-                       <widget class="QCheckBox" name="checkBox_bspline_2">
-                        <property name="enabled">
-                         <bool>true</bool>
-                        </property>
-                        <property name="text">
-                         <string>Bspline</string>
-                        </property>
-                        <property name="checked">
-                         <bool>false</bool>
-                        </property>
-                        <property name="autoExclusive">
-                         <bool>true</bool>
-                        </property>
-                       </widget>
-                      </item>
-                     </layout>
-                    </widget>
-                   </item>
-                   <item row="5" column="0">
-                    <layout class="QHBoxLayout" name="horizontalLayout_61">
-                     <item>
-                      <widget class="QCheckBox" name="checkBox_close_2">
-                       <property name="enabled">
-                        <bool>true</bool>
-                       </property>
-                       <property name="text">
-                        <string>Closed curve</string>
-                       </property>
-                      </widget>
-                     </item>
-                     <item>
-                      <widget class="QCheckBox" name="checkBox_face_2">
-                       <property name="enabled">
-                        <bool>false</bool>
-                       </property>
-                       <property name="text">
-                        <string>Create Face</string>
-                       </property>
-                      </widget>
-                     </item>
-                    </layout>
-                   </item>
-                   <item row="6" column="0">
-                    <layout class="QHBoxLayout" name="horizontalLayout_62">
-                     <item>
-                      <widget class="QPushButton" name="ParCurve_button_store_2">
-                       <property name="minimumSize">
-                        <size>
-                         <width>40</width>
-                         <height>0</height>
-                        </size>
-                       </property>
-                       <property name="maximumSize">
-                        <size>
-                         <width>60</width>
-                         <height>16777215</height>
-                        </size>
-                       </property>
-                       <property name="toolTip">
-                        <string>Click to store the current edited curve into the table.
-To save your curve you need to go to &quot;Edit&quot;.</string>
-                       </property>
-                       <property name="text">
-                        <string>Store</string>
-                       </property>
-                      </widget>
-                     </item>
-                     <item>
-                      <spacer name="horizontalSpacer_8">
-                       <property name="orientation">
-                        <enum>Qt::Horizontal</enum>
-                       </property>
-                       <property name="sizeHint" stdset="0">
-                        <size>
-                         <width>40</width>
-                         <height>20</height>
-                        </size>
-                       </property>
-                      </spacer>
-                     </item>
-                     <item>
-                      <widget class="QPushButton" name="ParCurve_button_apply_2">
-                       <property name="minimumSize">
-                        <size>
-                         <width>40</width>
-                         <height>0</height>
-                        </size>
-                       </property>
-                       <property name="maximumSize">
-                        <size>
-                         <width>60</width>
-                         <height>16777215</height>
-                        </size>
-                       </property>
-                       <property name="toolTip">
-                        <string>Click to visualize the curve.</string>
-                       </property>
-                       <property name="text">
-                        <string>Apply</string>
-                       </property>
-                      </widget>
-                     </item>
-                    </layout>
-                   </item>
-                   <item row="3" column="0">
-                    <widget class="QTabWidget" name="tabWidget">
-                     <property name="currentIndex">
-                      <number>0</number>
-                     </property>
-                     <widget class="QWidget" name="Equation_tab_2">
-                      <attribute name="title">
-                       <string>Equation</string>
-                      </attribute>
-                      <layout class="QGridLayout" name="gridLayout_23">
-                       <item row="0" column="0">
-                        <widget class="QGroupBox" name="groupBox_14">
-                         <property name="toolTip">
-                          <string/>
-                         </property>
-                         <property name="title">
-                          <string/>
-                         </property>
-                         <layout class="QGridLayout" name="gridLayout_22">
-                          <item row="0" column="0">
-                           <layout class="QHBoxLayout" name="horizontalLayout_7">
-                            <item>
-                             <layout class="QVBoxLayout" name="verticalLayout_6">
-                              <item>
-                               <layout class="QHBoxLayout" name="horizontalLayout_3">
-                                <item>
-                                 <widget class="QLabel" name="label_a_3">
-                                  <property name="maximumSize">
-                                   <size>
-                                    <width>70</width>
-                                    <height>16777215</height>
-                                   </size>
-                                  </property>
-                                  <property name="layoutDirection">
-                                   <enum>Qt::LeftToRight</enum>
-                                  </property>
-                                  <property name="text">
-                                   <string>a (t) </string>
-                                  </property>
-                                  <property name="alignment">
-                                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                                  </property>
-                                 </widget>
-                                </item>
-                                <item>
-                                 <widget class="QLineEdit" name="ParCurve_a_2">
-                                  <property name="sizePolicy">
-                                   <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                                    <horstretch>0</horstretch>
-                                    <verstretch>0</verstretch>
-                                   </sizepolicy>
-                                  </property>
-                                  <property name="minimumSize">
-                                   <size>
-                                    <width>40</width>
-                                    <height>0</height>
-                                   </size>
-                                  </property>
-                                  <property name="maximumSize">
-                                   <size>
-                                    <width>150</width>
-                                    <height>16777215</height>
-                                   </size>
-                                  </property>
-                                  <property name="toolTip">
-                                   <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The function 'range' from Python and 'np.arange' from numpy module can be used here:&lt;/p&gt;&lt;p&gt;range([start,] stop[, step])&lt;/p&gt;&lt;p&gt;  start : Starting number of the sequence. &lt;span style=&quot; vertical-align:top;&quot;&gt;The interval includes this value. The default value is 0&lt;/span&gt;&lt;/p&gt;&lt;p&gt;  stop : Generate numbers up to, but not including this number.&lt;/p&gt;&lt;p&gt;  step : Difference between each number in  the sequence. &lt;span style=&quot; vertical-align:top;&quot;&gt;The default value is 1.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;np.arange([start,] stop[, step,]dtype=None)&lt;/p&gt;&lt;p&gt;Return evenly spaced values within a given interval.&lt;/p&gt;&lt;p&gt;  start : Starting number of the sequence. &lt;span style=&quot; vertical-align:top;&quot;&gt;The interval includes this value. The default value is 0&lt;/span&gt;&lt;/p&gt;&lt;p&gt;  stop : &lt;span style=&quot; vertical-align:top;&quot;&gt;End of interval. The interval does not include this value, except in some cases where &lt;/span&gt;&lt;span style=&quot; font-style:italic; vertical-align:top;&quot;&gt;step&lt;/span&gt;&lt;span style=&quot; vertical-align:top;&quot;&gt; is not an integer and floating point round-off affects the length of &lt;/span&gt;&lt;span style=&quot; font-style:italic; vertical-align:top;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot; vertical-align:top;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;  step : Difference between each number in  the sequence. &lt;span style=&quot; vertical-align:top;&quot;&gt;For any output &lt;/span&gt;&lt;span style=&quot; font-style:italic; vertical-align:top;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot; vertical-align:top;&quot;&gt;, this is the distance between two adjacent values. The default value is 1.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; vertical-align:top;&quot;&gt;If &lt;/span&gt;&lt;span style=&quot; font-style:italic; vertical-align:top;&quot;&gt;step&lt;/span&gt;&lt;span style=&quot; vertical-align:top;&quot;&gt; is specified, &lt;/span&gt;&lt;span style=&quot; font-style:italic; vertical-align:top;&quot;&gt;start&lt;/span&gt;&lt;span style=&quot; vertical-align:top;&quot;&gt; must also be given.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;  dtype : The type of the output array. if dtype &lt;span style=&quot; vertical-align:top;&quot;&gt;is not given, infer the data type from the other input arguments.&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
-                                  </property>
-                                  <property name="text">
-                                   <string>10    # Radius</string>
-                                  </property>
-                                  <property name="maxLength">
-                                   <number>32769</number>
-                                  </property>
-                                 </widget>
-                                </item>
-                               </layout>
-                              </item>
-                              <item>
-                               <layout class="QHBoxLayout" name="horizontalLayout_4">
-                                <item>
-                                 <widget class="QLabel" name="label_b_3">
-                                  <property name="maximumSize">
-                                   <size>
-                                    <width>70</width>
-                                    <height>16777215</height>
-                                   </size>
-                                  </property>
-                                  <property name="text">
-                                   <string>b (a, t) </string>
-                                  </property>
-                                  <property name="alignment">
-                                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                                  </property>
-                                 </widget>
-                                </item>
-                                <item>
-                                 <widget class="QLineEdit" name="ParCurve_b_2">
-                                  <property name="sizePolicy">
-                                   <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                                    <horstretch>0</horstretch>
-                                    <verstretch>0</verstretch>
-                                   </sizepolicy>
-                                  </property>
-                                  <property name="minimumSize">
-                                   <size>
-                                    <width>40</width>
-                                    <height>0</height>
-                                   </size>
-                                  </property>
-                                  <property name="maximumSize">
-                                   <size>
-                                    <width>150</width>
-                                    <height>16777215</height>
-                                   </size>
-                                  </property>
-                                  <property name="toolTip">
-                                   <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The function 'range' from Python and 'np.arange' from numpy module can be used here:&lt;/p&gt;&lt;p&gt;range([start,] stop[, step])&lt;/p&gt;&lt;p&gt;start : Starting number of the sequence. &lt;span style=&quot; vertical-align:top;&quot;&gt;The interval includes this value. The default value is 0&lt;/span&gt;&lt;/p&gt;&lt;p&gt;stop : Generate numbers up to, but not including this number.&lt;/p&gt;&lt;p&gt;step : Difference between each number in the sequence. &lt;span style=&quot; vertical-align:top;&quot;&gt;The default value is 1.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;np.arange([start,] stop[, step,]dtype=None)&lt;/p&gt;&lt;p&gt;Return evenly spaced values within a given interval.&lt;/p&gt;&lt;p&gt;start : Starting number of the sequence. &lt;span style=&quot; vertical-align:top;&quot;&gt;The interval includes this value. The default value is 0&lt;/span&gt;&lt;/p&gt;&lt;p&gt;stop : &lt;span style=&quot; vertical-align:top;&quot;&gt;End of interval. The interval does not include this value, except in some cases where &lt;/span&gt;&lt;span style=&quot; font-style:italic; vertical-align:top;&quot;&gt;step&lt;/span&gt;&lt;span style=&quot; vertical-align:top;&quot;&gt; is not an integer and floating point round-off affects the length of &lt;/span&gt;&lt;span style=&quot; font-style:italic; vertical-align:top;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot; vertical-align:top;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;step : Difference between each number in the sequence. &lt;span style=&quot; vertical-align:top;&quot;&gt;For any output &lt;/span&gt;&lt;span style=&quot; font-style:italic; vertical-align:top;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot; vertical-align:top;&quot;&gt;, this is the distance between two adjacent values. The default value is 1.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; vertical-align:top;&quot;&gt;If &lt;/span&gt;&lt;span style=&quot; font-style:italic; vertical-align:top;&quot;&gt;step&lt;/span&gt;&lt;span style=&quot; vertical-align:top;&quot;&gt; is specified, &lt;/span&gt;&lt;span style=&quot; font-style:italic; vertical-align:top;&quot;&gt;start&lt;/span&gt;&lt;span style=&quot; vertical-align:top;&quot;&gt; must also be given.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;dtype : The type of the output array. if dtype &lt;span style=&quot; vertical-align:top;&quot;&gt;is not given, infer the data type from the other input arguments.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
-                                  </property>
-                                  <property name="text">
-                                   <string>a</string>
-                                  </property>
-                                  <property name="maxLength">
-                                   <number>32769</number>
-                                  </property>
-                                 </widget>
-                                </item>
-                               </layout>
-                              </item>
-                             </layout>
-                            </item>
-                           </layout>
-                          </item>
-                          <item row="1" column="0">
-                           <widget class="QCheckBox" name="checkBox_polar_2">
-                            <property name="toolTip">
-                             <string>Toggle for Polar coordinates:
-then FIRST input field is interpreted as radius
- and SECOND input field is interpreted as angle phi
-
-Polar coordinates (r, phi) as commonly used in physics: 
- If P(x, y) is the considered point in 3D space;
-    Radial distance r ( &gt; 0.0 ),  is the Euclidean distance from 
-    the origin O (0, 0) to P(x, y).The symbol rho is often used instead of r.
-    The azimuthal angle phi (or azimuth) is the signed angle measured from the 
-    azimuth reference direction to the segment OP on the reference plane XY ( 0 &lt;= phi &lt;= pi radians (0 deg and 180 deg)).</string>
-                            </property>
-                            <property name="text">
-                             <string> Polar coord.</string>
-                            </property>
-                            <property name="autoExclusive">
-                             <bool>true</bool>
-                            </property>
-                           </widget>
-                          </item>
-                          <item row="2" column="0">
-                           <layout class="QGridLayout" name="gridLayout_4">
-                            <item row="0" column="0">
-                             <layout class="QHBoxLayout" name="horizontalLayout_6">
-                              <item>
-                               <widget class="QLabel" name="label_x_2">
-                                <property name="maximumSize">
-                                 <size>
-                                  <width>70</width>
-                                  <height>16777215</height>
-                                 </size>
-                                </property>
-                                <property name="text">
-                                 <string>X (a,b,t) </string>
-                                </property>
-                                <property name="alignment">
-                                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                                </property>
-                               </widget>
-                              </item>
-                              <item>
-                               <spacer name="horizontalSpacer_2">
-                                <property name="orientation">
-                                 <enum>Qt::Horizontal</enum>
-                                </property>
-                                <property name="sizeHint" stdset="0">
-                                 <size>
-                                  <width>40</width>
-                                  <height>20</height>
-                                 </size>
-                                </property>
-                               </spacer>
-                              </item>
-                             </layout>
-                            </item>
-                            <item row="1" column="0">
-                             <widget class="QLineEdit" name="ParCurve_x_2">
-                              <property name="sizePolicy">
-                               <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
-                                <horstretch>0</horstretch>
-                                <verstretch>0</verstretch>
-                               </sizepolicy>
-                              </property>
-                              <property name="minimumSize">
-                               <size>
-                                <width>0</width>
-                                <height>0</height>
-                               </size>
-                              </property>
-                              <property name="maximumSize">
-                               <size>
-                                <width>16777215</width>
-                                <height>16777215</height>
-                               </size>
-                              </property>
-                              <property name="toolTip">
-                               <string>The function from Python math module can be used here:
-safe_list = ['acos', 'asin', 'atan', 'atan2', 'ceil', 'cos', 'cosh',
- 'degrees', 'e', 'exp', 'fabs', 'floor', 'fmod', 'frexp', 'hypot', 'ldexp',
- 'log', 'log10', 'modf', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan',
- 'tanh']</string>
-                              </property>
-                              <property name="text">
-                               <string>a*cos(t)</string>
-                              </property>
-                              <property name="maxLength">
-                               <number>32769</number>
-                              </property>
-                             </widget>
-                            </item>
-                           </layout>
-                          </item>
-                          <item row="3" column="0">
-                           <layout class="QGridLayout" name="gridLayout_21">
-                            <item row="0" column="0">
-                             <layout class="QHBoxLayout" name="horizontalLayout_5">
-                              <item>
-                               <widget class="QLabel" name="label_y_2">
-                                <property name="maximumSize">
-                                 <size>
-                                  <width>70</width>
-                                  <height>16777215</height>
-                                 </size>
-                                </property>
-                                <property name="text">
-                                 <string>Y (a,b,t) </string>
-                                </property>
-                                <property name="alignment">
-                                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                                </property>
-                               </widget>
-                              </item>
-                              <item>
-                               <spacer name="horizontalSpacer">
-                                <property name="orientation">
-                                 <enum>Qt::Horizontal</enum>
-                                </property>
-                                <property name="sizeHint" stdset="0">
-                                 <size>
-                                  <width>40</width>
-                                  <height>20</height>
-                                 </size>
-                                </property>
-                               </spacer>
-                              </item>
-                             </layout>
-                            </item>
-                            <item row="1" column="0">
-                             <widget class="QLineEdit" name="ParCurve_y_2">
-                              <property name="sizePolicy">
-                               <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
-                                <horstretch>0</horstretch>
-                                <verstretch>0</verstretch>
-                               </sizepolicy>
-                              </property>
-                              <property name="minimumSize">
-                               <size>
-                                <width>0</width>
-                                <height>0</height>
-                               </size>
-                              </property>
-                              <property name="maximumSize">
-                               <size>
-                                <width>16777215</width>
-                                <height>16777215</height>
-                               </size>
-                              </property>
-                              <property name="toolTip">
-                               <string>The function from Python math module can be used here:
-safe_list = ['acos', 'asin', 'atan', 'atan2', 'ceil', 'cos', 'cosh',
- 'degrees', 'e', 'exp', 'fabs', 'floor', 'fmod', 'frexp', 'hypot', 'ldexp',
- 'log', 'log10', 'modf', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan',
- 'tanh']</string>
-                              </property>
-                              <property name="text">
-                               <string>b*sin(t)</string>
-                              </property>
-                              <property name="maxLength">
-                               <number>32769</number>
-                              </property>
-                             </widget>
-                            </item>
-                           </layout>
-                          </item>
-                         </layout>
-                        </widget>
-                       </item>
-                      </layout>
-                     </widget>
-                     <widget class="QWidget" name="Variables_tab_2">
-                      <attribute name="title">
-                       <string>Variables</string>
-                      </attribute>
-                      <layout class="QGridLayout" name="gridLayout_6">
-                       <item row="0" column="0">
-                        <widget class="QGroupBox" name="groupBox_15">
-                         <property name="title">
-                          <string/>
-                         </property>
-                         <layout class="QGridLayout" name="gridLayout_44">
-                          <item row="0" column="0">
-                           <layout class="QGridLayout" name="gridLayout_5">
-                            <item row="0" column="0">
-                             <layout class="QHBoxLayout" name="horizontalLayout_8">
-                              <item>
-                               <widget class="QLabel" name="label_tmin_3">
-                                <property name="maximumSize">
-                                 <size>
-                                  <width>70</width>
-                                  <height>16777215</height>
-                                 </size>
-                                </property>
-                                <property name="layoutDirection">
-                                 <enum>Qt::LeftToRight</enum>
-                                </property>
-                                <property name="text">
-                                 <string>t min</string>
-                                </property>
-                                <property name="alignment">
-                                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                                </property>
-                               </widget>
-                              </item>
-                              <item>
-                               <widget class="QLineEdit" name="ParCurve_tmin_2">
-                                <property name="sizePolicy">
-                                 <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                                  <horstretch>0</horstretch>
-                                  <verstretch>0</verstretch>
-                                 </sizepolicy>
-                                </property>
-                                <property name="minimumSize">
-                                 <size>
-                                  <width>40</width>
-                                  <height>0</height>
-                                 </size>
-                                </property>
-                                <property name="maximumSize">
-                                 <size>
-                                  <width>150</width>
-                                  <height>16777215</height>
-                                 </size>
-                                </property>
-                                <property name="toolTip">
-                                 <string>Minimun value of the t parameter</string>
-                                </property>
-                                <property name="text">
-                                 <string>0</string>
-                                </property>
-                                <property name="maxLength">
-                                 <number>32769</number>
-                                </property>
-                               </widget>
-                              </item>
-                             </layout>
-                            </item>
-                            <item row="1" column="0">
-                             <layout class="QHBoxLayout" name="horizontalLayout_9">
-                              <item>
-                               <widget class="QLabel" name="label_tmax_3">
-                                <property name="maximumSize">
-                                 <size>
-                                  <width>70</width>
-                                  <height>16777215</height>
-                                 </size>
-                                </property>
-                                <property name="layoutDirection">
-                                 <enum>Qt::LeftToRight</enum>
-                                </property>
-                                <property name="text">
-                                 <string>t max</string>
-                                </property>
-                                <property name="alignment">
-                                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                                </property>
-                               </widget>
-                              </item>
-                              <item>
-                               <widget class="QLineEdit" name="ParCurve_tmax_2">
-                                <property name="sizePolicy">
-                                 <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                                  <horstretch>0</horstretch>
-                                  <verstretch>0</verstretch>
-                                 </sizepolicy>
-                                </property>
-                                <property name="minimumSize">
-                                 <size>
-                                  <width>40</width>
-                                  <height>0</height>
-                                 </size>
-                                </property>
-                                <property name="maximumSize">
-                                 <size>
-                                  <width>150</width>
-                                  <height>16777215</height>
-                                 </size>
-                                </property>
-                                <property name="toolTip">
-                                 <string>Maximun value of the t parameter</string>
-                                </property>
-                                <property name="text">
-                                 <string>2*pi</string>
-                                </property>
-                                <property name="maxLength">
-                                 <number>32769</number>
-                                </property>
-                               </widget>
-                              </item>
-                             </layout>
-                            </item>
-                            <item row="2" column="0">
-                             <layout class="QHBoxLayout" name="horizontalLayout_10">
-                              <item>
-                               <widget class="QLabel" name="label_tstep_3">
-                                <property name="maximumSize">
-                                 <size>
-                                  <width>70</width>
-                                  <height>16777215</height>
-                                 </size>
-                                </property>
-                                <property name="layoutDirection">
-                                 <enum>Qt::LeftToRight</enum>
-                                </property>
-                                <property name="text">
-                                 <string>step</string>
-                                </property>
-                                <property name="alignment">
-                                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                                </property>
-                               </widget>
-                              </item>
-                              <item>
-                               <widget class="QLineEdit" name="ParCurve_tstep_2">
-                                <property name="sizePolicy">
-                                 <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                                  <horstretch>0</horstretch>
-                                  <verstretch>0</verstretch>
-                                 </sizepolicy>
-                                </property>
-                                <property name="minimumSize">
-                                 <size>
-                                  <width>40</width>
-                                  <height>0</height>
-                                 </size>
-                                </property>
-                                <property name="maximumSize">
-                                 <size>
-                                  <width>150</width>
-                                  <height>16777215</height>
-                                 </size>
-                                </property>
-                                <property name="toolTip">
-                                 <string>Step between two consecutive values of the t parameter</string>
-                                </property>
-                                <property name="text">
-                                 <string>0.01</string>
-                                </property>
-                                <property name="maxLength">
-                                 <number>32769</number>
-                                </property>
-                               </widget>
-                              </item>
-                             </layout>
-                            </item>
-                           </layout>
-                          </item>
-                          <item row="0" column="1">
-                           <spacer name="horizontalSpacer_4">
-                            <property name="orientation">
-                             <enum>Qt::Horizontal</enum>
-                            </property>
-                            <property name="sizeHint" stdset="0">
-                             <size>
-                              <width>131</width>
-                              <height>20</height>
-                             </size>
-                            </property>
-                           </spacer>
-                          </item>
-                          <item row="1" column="0">
-                           <spacer name="verticalSpacer_4">
-                            <property name="orientation">
-                             <enum>Qt::Vertical</enum>
-                            </property>
-                            <property name="sizeHint" stdset="0">
-                             <size>
-                              <width>17</width>
-                              <height>125</height>
-                             </size>
-                            </property>
-                           </spacer>
-                          </item>
-                         </layout>
-                        </widget>
-                       </item>
-                      </layout>
-                     </widget>
-                    </widget>
-                   </item>
-                  </layout>
-                 </widget>
-                </widget>
-               </item>
-              </layout>
-             </widget>
-             <widget class="QWidget" name="Wire_Tab3_3">
-              <attribute name="title">
-               <string>Parametric 3D</string>
-              </attribute>
-              <layout class="QGridLayout" name="gridLayout_27">
-               <item row="0" column="0">
-                <widget class="QScrollArea" name="scrollArea_6">
-                 <property name="widgetResizable">
-                  <bool>true</bool>
-                 </property>
-                 <widget class="QWidget" name="scrollAreaWidgetContents_4">
-                  <property name="geometry">
-                   <rect>
-                    <x>0</x>
-                    <y>0</y>
-                    <width>316</width>
-                    <height>579</height>
-                   </rect>
-                  </property>
-                  <layout class="QGridLayout" name="gridLayout_15">
-                   <item row="0" column="0">
-                    <layout class="QHBoxLayout" name="horizontalLayout_63">
-                     <item>
-                      <widget class="QComboBox" name="ParCurve_comboBox_3">
-                       <property name="toolTip">
-                        <string>Choose another curve from the list.</string>
-                       </property>
-                      </widget>
-                     </item>
-                     <item>
-                      <widget class="QPushButton" name="ParCurve_button_edit_3">
-                       <property name="minimumSize">
-                        <size>
-                         <width>40</width>
-                         <height>0</height>
-                        </size>
-                       </property>
-                       <property name="maximumSize">
-                        <size>
-                         <width>60</width>
-                         <height>16777215</height>
-                        </size>
-                       </property>
-                       <property name="toolTip">
-                        <string>Click to access to a table where you can edit all parameters of all curves and 
-save your custom curves.</string>
-                       </property>
-                       <property name="text">
-                        <string>Edit</string>
-                       </property>
-                      </widget>
-                     </item>
-                    </layout>
-                   </item>
-                   <item row="1" column="0">
-                    <layout class="QHBoxLayout" name="horizontalLayout_64">
-                     <item>
-                      <widget class="QLabel" name="label_name_3">
-                       <property name="frameShape">
-                        <enum>QFrame::Box</enum>
-                       </property>
-                       <property name="frameShadow">
-                        <enum>QFrame::Raised</enum>
-                       </property>
-                       <property name="lineWidth">
-                        <number>3</number>
-                       </property>
-                       <property name="text">
-                        <string>Name</string>
-                       </property>
-                       <property name="alignment">
-                        <set>Qt::AlignCenter</set>
-                       </property>
-                      </widget>
-                     </item>
-                     <item>
-                      <widget class="QLineEdit" name="ParCurve_name_3">
-                       <property name="text">
-                        <string>Cylindrical helix</string>
-                       </property>
-                      </widget>
-                     </item>
-                    </layout>
-                   </item>
-                   <item row="3" column="0">
-                    <widget class="QGroupBox" name="groupBox_19">
-                     <property name="title">
-                      <string>Type of 3D Curve :</string>
-                     </property>
-                     <layout class="QGridLayout" name="gridLayout_3">
-                      <item row="0" column="1">
-                       <widget class="QCheckBox" name="checkBox_points_3">
-                        <property name="text">
-                         <string>Points</string>
-                        </property>
-                        <property name="autoExclusive">
-                         <bool>true</bool>
-                        </property>
-                       </widget>
-                      </item>
-                      <item row="0" column="2">
-                       <widget class="QCheckBox" name="checkBox_polyline_3">
-                        <property name="text">
-                         <string>Polyline</string>
-                        </property>
-                        <property name="checked">
-                         <bool>true</bool>
-                        </property>
-                        <property name="autoExclusive">
-                         <bool>true</bool>
-                        </property>
-                       </widget>
-                      </item>
-                      <item row="1" column="2">
-                       <widget class="QCheckBox" name="checkBox_bspline_3">
-                        <property name="text">
-                         <string>Bspline</string>
-                        </property>
-                        <property name="checked">
-                         <bool>false</bool>
-                        </property>
-                        <property name="autoExclusive">
-                         <bool>true</bool>
-                        </property>
-                       </widget>
-                      </item>
-                      <item row="1" column="1">
-                       <widget class="QCheckBox" name="checkBox_bezier_3">
-                        <property name="enabled">
-                         <bool>true</bool>
-                        </property>
-                        <property name="text">
-                         <string>Bezier</string>
-                        </property>
-                        <property name="checked">
-                         <bool>false</bool>
-                        </property>
-                        <property name="autoExclusive">
-                         <bool>true</bool>
-                        </property>
-                       </widget>
-                      </item>
-                     </layout>
-                    </widget>
-                   </item>
-                   <item row="4" column="0">
-                    <widget class="QCheckBox" name="checkBox_close_3">
-                     <property name="text">
-                      <string>Closed curve</string>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="5" column="0">
-                    <layout class="QHBoxLayout" name="horizontalLayout_65">
-                     <item>
-                      <widget class="QPushButton" name="ParCurve_button_store_3">
-                       <property name="minimumSize">
-                        <size>
-                         <width>40</width>
-                         <height>0</height>
-                        </size>
-                       </property>
-                       <property name="maximumSize">
-                        <size>
-                         <width>60</width>
-                         <height>16777215</height>
-                        </size>
-                       </property>
-                       <property name="toolTip">
-                        <string>Click to store the current edited curve into the table.
-To save your curve you need to go to &quot;Edit&quot;.</string>
-                       </property>
-                       <property name="text">
-                        <string>Store</string>
-                       </property>
-                      </widget>
-                     </item>
-                     <item>
-                      <spacer name="horizontalSpacer_9">
-                       <property name="orientation">
-                        <enum>Qt::Horizontal</enum>
-                       </property>
-                       <property name="sizeHint" stdset="0">
-                        <size>
-                         <width>40</width>
-                         <height>20</height>
-                        </size>
-                       </property>
-                      </spacer>
-                     </item>
-                     <item>
-                      <widget class="QPushButton" name="ParCurve_button_apply_3">
-                       <property name="minimumSize">
-                        <size>
-                         <width>40</width>
-                         <height>0</height>
-                        </size>
-                       </property>
-                       <property name="maximumSize">
-                        <size>
-                         <width>60</width>
-                         <height>16777215</height>
-                        </size>
-                       </property>
-                       <property name="toolTip">
-                        <string>Click to visualize the curve.</string>
-                       </property>
-                       <property name="text">
-                        <string>Apply</string>
-                       </property>
-                      </widget>
-                     </item>
-                    </layout>
-                   </item>
-                   <item row="2" column="0">
-                    <widget class="QTabWidget" name="tabWidget_2">
-                     <property name="currentIndex">
-                      <number>0</number>
-                     </property>
-                     <widget class="QWidget" name="Equation_tab_3">
-                      <attribute name="title">
-                       <string>Equation</string>
-                      </attribute>
-                      <layout class="QGridLayout" name="gridLayout_18">
-                       <item row="0" column="0">
-                        <widget class="QScrollArea" name="scrollArea_4">
-                         <property name="widgetResizable">
-                          <bool>true</bool>
-                         </property>
-                         <widget class="QWidget" name="scrollAreaWidgetContents_3">
-                          <property name="geometry">
-                           <rect>
-                            <x>0</x>
-                            <y>0</y>
-                            <width>305</width>
-                            <height>383</height>
-                           </rect>
-                          </property>
-                          <layout class="QGridLayout" name="gridLayout_14">
-                           <item row="0" column="0">
-                            <layout class="QHBoxLayout" name="horizontalLayout_14">
-                             <item>
-                              <layout class="QGridLayout" name="gridLayout_9">
-                               <item row="0" column="0">
-                                <layout class="QHBoxLayout" name="horizontalLayout_11">
-                                 <item>
-                                  <widget class="QLabel" name="label_a_4">
-                                   <property name="maximumSize">
-                                    <size>
-                                     <width>70</width>
-                                     <height>16777215</height>
-                                    </size>
-                                   </property>
-                                   <property name="layoutDirection">
-                                    <enum>Qt::LeftToRight</enum>
-                                   </property>
-                                   <property name="text">
-                                    <string>a (t) </string>
-                                   </property>
-                                   <property name="alignment">
-                                    <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                                   </property>
-                                  </widget>
-                                 </item>
-                                 <item>
-                                  <widget class="QLineEdit" name="ParCurve_a_3">
-                                   <property name="sizePolicy">
-                                    <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                                     <horstretch>0</horstretch>
-                                     <verstretch>0</verstretch>
-                                    </sizepolicy>
-                                   </property>
-                                   <property name="minimumSize">
-                                    <size>
-                                     <width>40</width>
-                                     <height>0</height>
-                                    </size>
-                                   </property>
-                                   <property name="maximumSize">
-                                    <size>
-                                     <width>150</width>
-                                     <height>16777215</height>
-                                    </size>
-                                   </property>
-                                   <property name="toolTip">
-                                    <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The function 'range' from Python and 'np.arange' from numpy module can be used here:&lt;/p&gt;&lt;p&gt;range([start,] stop[, step])&lt;/p&gt;&lt;p&gt;start : Starting number of the sequence. &lt;span style=&quot; vertical-align:top;&quot;&gt;The interval includes this value. The default value is 0&lt;/span&gt;&lt;/p&gt;&lt;p&gt;stop : Generate numbers up to, but not including this number.&lt;/p&gt;&lt;p&gt;step : Difference between each number in the sequence. &lt;span style=&quot; vertical-align:top;&quot;&gt;The default value is 1.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;np.arange([start,] stop[, step,]dtype=None)&lt;/p&gt;&lt;p&gt;Return evenly spaced values within a given interval.&lt;/p&gt;&lt;p&gt;start : Starting number of the sequence. &lt;span style=&quot; vertical-align:top;&quot;&gt;The interval includes this value. The default value is 0&lt;/span&gt;&lt;/p&gt;&lt;p&gt;stop : &lt;span style=&quot; vertical-align:top;&quot;&gt;End of interval. The interval does not include this value, except in some cases where &lt;/span&gt;&lt;span style=&quot; font-style:italic; vertical-align:top;&quot;&gt;step&lt;/span&gt;&lt;span style=&quot; vertical-align:top;&quot;&gt; is not an integer and floating point round-off affects the length of &lt;/span&gt;&lt;span style=&quot; font-style:italic; vertical-align:top;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot; vertical-align:top;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;step : Difference between each number in the sequence. &lt;span style=&quot; vertical-align:top;&quot;&gt;For any output &lt;/span&gt;&lt;span style=&quot; font-style:italic; vertical-align:top;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot; vertical-align:top;&quot;&gt;, this is the distance between two adjacent values. The default value is 1.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; vertical-align:top;&quot;&gt;If &lt;/span&gt;&lt;span style=&quot; font-style:italic; vertical-align:top;&quot;&gt;step&lt;/span&gt;&lt;span style=&quot; vertical-align:top;&quot;&gt; is specified, &lt;/span&gt;&lt;span style=&quot; font-style:italic; vertical-align:top;&quot;&gt;start&lt;/span&gt;&lt;span style=&quot; vertical-align:top;&quot;&gt; must also be given.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;dtype : The type of the output array. if dtype &lt;span style=&quot; vertical-align:top;&quot;&gt;is not given, infer the data type from the other input arguments.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
-                                   </property>
-                                   <property name="text">
-                                    <string>10*0.05 #Vert. step</string>
-                                   </property>
-                                   <property name="maxLength">
-                                    <number>32769</number>
-                                   </property>
-                                  </widget>
-                                 </item>
-                                </layout>
-                               </item>
-                               <item row="1" column="0">
-                                <layout class="QHBoxLayout" name="horizontalLayout_12">
-                                 <item>
-                                  <widget class="QLabel" name="label_b_4">
-                                   <property name="maximumSize">
-                                    <size>
-                                     <width>70</width>
-                                     <height>16777215</height>
-                                    </size>
-                                   </property>
-                                   <property name="text">
-                                    <string>b (a, t) </string>
-                                   </property>
-                                   <property name="alignment">
-                                    <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                                   </property>
-                                  </widget>
-                                 </item>
-                                 <item>
-                                  <widget class="QLineEdit" name="ParCurve_b_3">
-                                   <property name="sizePolicy">
-                                    <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                                     <horstretch>0</horstretch>
-                                     <verstretch>0</verstretch>
-                                    </sizepolicy>
-                                   </property>
-                                   <property name="minimumSize">
-                                    <size>
-                                     <width>40</width>
-                                     <height>0</height>
-                                    </size>
-                                   </property>
-                                   <property name="maximumSize">
-                                    <size>
-                                     <width>150</width>
-                                     <height>16777215</height>
-                                    </size>
-                                   </property>
-                                   <property name="toolTip">
-                                    <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The function 'range' from Python and 'np.arange' from numpy module can be used here:&lt;/p&gt;&lt;p&gt;range([start,] stop[, step])&lt;/p&gt;&lt;p&gt;start : Starting number of the sequence. &lt;span style=&quot; vertical-align:top;&quot;&gt;The interval includes this value. The default value is 0&lt;/span&gt;&lt;/p&gt;&lt;p&gt;stop : Generate numbers up to, but not including this number.&lt;/p&gt;&lt;p&gt;step : Difference between each number in the sequence. &lt;span style=&quot; vertical-align:top;&quot;&gt;The default value is 1.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;np.arange([start,] stop[, step,]dtype=None)&lt;/p&gt;&lt;p&gt;Return evenly spaced values within a given interval.&lt;/p&gt;&lt;p&gt;start : Starting number of the sequence. &lt;span style=&quot; vertical-align:top;&quot;&gt;The interval includes this value. The default value is 0&lt;/span&gt;&lt;/p&gt;&lt;p&gt;stop : &lt;span style=&quot; vertical-align:top;&quot;&gt;End of interval. The interval does not include this value, except in some cases where &lt;/span&gt;&lt;span style=&quot; font-style:italic; vertical-align:top;&quot;&gt;step&lt;/span&gt;&lt;span style=&quot; vertical-align:top;&quot;&gt; is not an integer and floating point round-off affects the length of &lt;/span&gt;&lt;span style=&quot; font-style:italic; vertical-align:top;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot; vertical-align:top;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;step : Difference between each number in the sequence. &lt;span style=&quot; vertical-align:top;&quot;&gt;For any output &lt;/span&gt;&lt;span style=&quot; font-style:italic; vertical-align:top;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot; vertical-align:top;&quot;&gt;, this is the distance between two adjacent values. The default value is 1.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; vertical-align:top;&quot;&gt;If &lt;/span&gt;&lt;span style=&quot; font-style:italic; vertical-align:top;&quot;&gt;step&lt;/span&gt;&lt;span style=&quot; vertical-align:top;&quot;&gt; is specified, &lt;/span&gt;&lt;span style=&quot; font-style:italic; vertical-align:top;&quot;&gt;start&lt;/span&gt;&lt;span style=&quot; vertical-align:top;&quot;&gt; must also be given.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;dtype : The type of the output array. if dtype &lt;span style=&quot; vertical-align:top;&quot;&gt;is not given, infer the data type from the other input arguments.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
-                                   </property>
-                                   <property name="text">
-                                    <string>1</string>
-                                   </property>
-                                   <property name="maxLength">
-                                    <number>32769</number>
-                                   </property>
-                                  </widget>
-                                 </item>
-                                </layout>
-                               </item>
-                               <item row="2" column="0">
-                                <layout class="QHBoxLayout" name="horizontalLayout_13">
-                                 <item>
-                                  <widget class="QLabel" name="label_c_2">
-                                   <property name="maximumSize">
-                                    <size>
-                                     <width>70</width>
-                                     <height>16777215</height>
-                                    </size>
-                                   </property>
-                                   <property name="text">
-                                    <string>c (a, b, t) </string>
-                                   </property>
-                                   <property name="alignment">
-                                    <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                                   </property>
-                                  </widget>
-                                 </item>
-                                 <item>
-                                  <widget class="QLineEdit" name="ParCurve_c_3">
-                                   <property name="sizePolicy">
-                                    <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                                     <horstretch>0</horstretch>
-                                     <verstretch>0</verstretch>
-                                    </sizepolicy>
-                                   </property>
-                                   <property name="minimumSize">
-                                    <size>
-                                     <width>40</width>
-                                     <height>0</height>
-                                    </size>
-                                   </property>
-                                   <property name="maximumSize">
-                                    <size>
-                                     <width>150</width>
-                                     <height>16777215</height>
-                                    </size>
-                                   </property>
-                                   <property name="toolTip">
-                                    <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The function 'range' from Python and 'np.arange' from numpy module can be used here:&lt;/p&gt;&lt;p&gt;range([start,] stop[, step])&lt;/p&gt;&lt;p&gt;start : Starting number of the sequence. &lt;span style=&quot; vertical-align:top;&quot;&gt;The interval includes this value. The default value is 0&lt;/span&gt;&lt;/p&gt;&lt;p&gt;stop : Generate numbers up to, but not including this number.&lt;/p&gt;&lt;p&gt;step : Difference between each number in the sequence. &lt;span style=&quot; vertical-align:top;&quot;&gt;The default value is 1.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;np.arange([start,] stop[, step,]dtype=None)&lt;/p&gt;&lt;p&gt;Return evenly spaced values within a given interval.&lt;/p&gt;&lt;p&gt;start : Starting number of the sequence. &lt;span style=&quot; vertical-align:top;&quot;&gt;The interval includes this value. The default value is 0&lt;/span&gt;&lt;/p&gt;&lt;p&gt;stop : &lt;span style=&quot; vertical-align:top;&quot;&gt;End of interval. The interval does not include this value, except in some cases where &lt;/span&gt;&lt;span style=&quot; font-style:italic; vertical-align:top;&quot;&gt;step&lt;/span&gt;&lt;span style=&quot; vertical-align:top;&quot;&gt; is not an integer and floating point round-off affects the length of &lt;/span&gt;&lt;span style=&quot; font-style:italic; vertical-align:top;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot; vertical-align:top;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;step : Difference between each number in the sequence. &lt;span style=&quot; vertical-align:top;&quot;&gt;For any output &lt;/span&gt;&lt;span style=&quot; font-style:italic; vertical-align:top;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot; vertical-align:top;&quot;&gt;, this is the distance between two adjacent values. The default value is 1.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; vertical-align:top;&quot;&gt;If &lt;/span&gt;&lt;span style=&quot; font-style:italic; vertical-align:top;&quot;&gt;step&lt;/span&gt;&lt;span style=&quot; vertical-align:top;&quot;&gt; is specified, &lt;/span&gt;&lt;span style=&quot; font-style:italic; vertical-align:top;&quot;&gt;start&lt;/span&gt;&lt;span style=&quot; vertical-align:top;&quot;&gt; must also be given.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;dtype : The type of the output array. if dtype &lt;span style=&quot; vertical-align:top;&quot;&gt;is not given, infer the data type from the other input arguments.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
-                                   </property>
-                                   <property name="text">
-                                    <string>10     # Radius</string>
-                                   </property>
-                                   <property name="maxLength">
-                                    <number>32769</number>
-                                   </property>
-                                  </widget>
-                                 </item>
-                                </layout>
-                               </item>
-                              </layout>
-                             </item>
-                            </layout>
-                           </item>
-                           <item row="1" column="0">
-                            <layout class="QGridLayout" name="gridLayout_13">
-                             <item row="0" column="0">
-                              <widget class="QCheckBox" name="checkBox_cylind_3">
-                               <property name="toolTip">
-                                <string>Toggle for Cylindrical coordinates:</string>
-                               </property>
-                               <property name="text">
-                                <string> Cylindrical coord.</string>
-                               </property>
-                               <property name="autoExclusive">
-                                <bool>false</bool>
-                               </property>
-                              </widget>
-                             </item>
-                             <item row="0" column="1">
-                              <widget class="QCheckBox" name="checkBox_spheric_3">
-                               <property name="toolTip">
-                                <string>Toggle for Sperical coordinates:</string>
-                               </property>
-                               <property name="text">
-                                <string>Spherical coord.</string>
-                               </property>
-                               <property name="autoExclusive">
-                                <bool>false</bool>
-                               </property>
-                              </widget>
-                             </item>
-                            </layout>
-                           </item>
-                           <item row="2" column="0">
-                            <layout class="QGridLayout" name="gridLayout_12">
-                             <item row="0" column="0">
-                              <layout class="QHBoxLayout" name="horizontalLayout_17">
-                               <item>
-                                <widget class="QLabel" name="label_x_3">
-                                 <property name="maximumSize">
-                                  <size>
-                                   <width>100</width>
-                                   <height>16777215</height>
-                                  </size>
-                                 </property>
-                                 <property name="text">
-                                  <string>X (a,b,c,t) </string>
-                                 </property>
-                                 <property name="alignment">
-                                  <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                                 </property>
-                                </widget>
-                               </item>
-                               <item>
-                                <spacer name="horizontalSpacer_11">
-                                 <property name="orientation">
-                                  <enum>Qt::Horizontal</enum>
-                                 </property>
-                                 <property name="sizeHint" stdset="0">
-                                  <size>
-                                   <width>40</width>
-                                   <height>20</height>
-                                  </size>
-                                 </property>
-                                </spacer>
-                               </item>
-                              </layout>
-                             </item>
-                             <item row="1" column="0">
-                              <widget class="QLineEdit" name="ParCurve_x_3">
-                               <property name="sizePolicy">
-                                <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
-                                 <horstretch>0</horstretch>
-                                 <verstretch>0</verstretch>
-                                </sizepolicy>
-                               </property>
-                               <property name="minimumSize">
-                                <size>
-                                 <width>40</width>
-                                 <height>0</height>
-                                </size>
-                               </property>
-                               <property name="maximumSize">
-                                <size>
-                                 <width>16777215</width>
-                                 <height>16777215</height>
-                                </size>
-                               </property>
-                               <property name="toolTip">
-                                <string>The function from Python math module can be used here:
-safe_list = ['acos', 'asin', 'atan', 'atan2', 'ceil', 'cos', 'cosh',
- 'degrees', 'e', 'exp', 'fabs', 'floor', 'fmod', 'frexp', 'hypot', 'ldexp',
- 'log', 'log10', 'modf', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan',
- 'tanh']</string>
-                               </property>
-                               <property name="text">
-                                <string>c*sin(t)</string>
-                               </property>
-                               <property name="maxLength">
-                                <number>32769</number>
-                               </property>
-                              </widget>
-                             </item>
-                            </layout>
-                           </item>
-                           <item row="3" column="0">
-                            <layout class="QGridLayout" name="gridLayout_11">
-                             <item row="0" column="0">
-                              <layout class="QHBoxLayout" name="horizontalLayout_16">
-                               <item>
-                                <widget class="QLabel" name="label_y_3">
-                                 <property name="maximumSize">
-                                  <size>
-                                   <width>100</width>
-                                   <height>16777215</height>
-                                  </size>
-                                 </property>
-                                 <property name="text">
-                                  <string>Y (a,b,c,t) </string>
-                                 </property>
-                                 <property name="alignment">
-                                  <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                                 </property>
-                                </widget>
-                               </item>
-                               <item>
-                                <spacer name="horizontalSpacer_10">
-                                 <property name="orientation">
-                                  <enum>Qt::Horizontal</enum>
-                                 </property>
-                                 <property name="sizeHint" stdset="0">
-                                  <size>
-                                   <width>40</width>
-                                   <height>20</height>
-                                  </size>
-                                 </property>
-                                </spacer>
-                               </item>
-                              </layout>
-                             </item>
-                             <item row="1" column="0">
-                              <widget class="QLineEdit" name="ParCurve_y_3">
-                               <property name="sizePolicy">
-                                <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
-                                 <horstretch>0</horstretch>
-                                 <verstretch>0</verstretch>
-                                </sizepolicy>
-                               </property>
-                               <property name="minimumSize">
-                                <size>
-                                 <width>40</width>
-                                 <height>0</height>
-                                </size>
-                               </property>
-                               <property name="maximumSize">
-                                <size>
-                                 <width>16777215</width>
-                                 <height>16777215</height>
-                                </size>
-                               </property>
-                               <property name="toolTip">
-                                <string>The function from Python math module can be used here:
-safe_list = ['acos', 'asin', 'atan', 'atan2', 'ceil', 'cos', 'cosh',
- 'degrees', 'e', 'exp', 'fabs', 'floor', 'fmod', 'frexp', 'hypot', 'ldexp',
- 'log', 'log10', 'modf', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan',
- 'tanh']</string>
-                               </property>
-                               <property name="text">
-                                <string>c*cos(t)</string>
-                               </property>
-                               <property name="maxLength">
-                                <number>32769</number>
-                               </property>
-                              </widget>
-                             </item>
-                            </layout>
-                           </item>
-                           <item row="4" column="0">
-                            <layout class="QGridLayout" name="gridLayout_10">
-                             <item row="0" column="0">
-                              <layout class="QHBoxLayout" name="horizontalLayout_15">
-                               <item>
-                                <widget class="QLabel" name="label_z_3">
-                                 <property name="maximumSize">
-                                  <size>
-                                   <width>100</width>
-                                   <height>16777215</height>
-                                  </size>
-                                 </property>
-                                 <property name="text">
-                                  <string>Z (a,b,c,t) </string>
-                                 </property>
-                                 <property name="alignment">
-                                  <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                                 </property>
-                                </widget>
-                               </item>
-                               <item>
-                                <spacer name="horizontalSpacer_7">
-                                 <property name="orientation">
-                                  <enum>Qt::Horizontal</enum>
-                                 </property>
-                                 <property name="sizeHint" stdset="0">
-                                  <size>
-                                   <width>40</width>
-                                   <height>20</height>
-                                  </size>
-                                 </property>
-                                </spacer>
-                               </item>
-                              </layout>
-                             </item>
-                             <item row="1" column="0">
-                              <widget class="QLineEdit" name="ParCurve_z_3">
-                               <property name="sizePolicy">
-                                <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
-                                 <horstretch>0</horstretch>
-                                 <verstretch>0</verstretch>
-                                </sizepolicy>
-                               </property>
-                               <property name="minimumSize">
-                                <size>
-                                 <width>40</width>
-                                 <height>0</height>
-                                </size>
-                               </property>
-                               <property name="maximumSize">
-                                <size>
-                                 <width>16777215</width>
-                                 <height>16777215</height>
-                                </size>
-                               </property>
-                               <property name="toolTip">
-                                <string>The function from Python math module can be used here:
-safe_list = ['acos', 'asin', 'atan', 'atan2', 'ceil', 'cos', 'cosh',
- 'degrees', 'e', 'exp', 'fabs', 'floor', 'fmod', 'frexp', 'hypot', 'ldexp',
- 'log', 'log10', 'modf', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan',
- 'tanh']</string>
-                               </property>
-                               <property name="text">
-                                <string>a*t</string>
-                               </property>
-                               <property name="maxLength">
-                                <number>32769</number>
-                               </property>
-                              </widget>
-                             </item>
-                            </layout>
-                           </item>
-                          </layout>
-                         </widget>
-                        </widget>
-                       </item>
-                      </layout>
-                     </widget>
-                     <widget class="QWidget" name="Variables_tab_3">
-                      <attribute name="title">
-                       <string>Variables</string>
-                      </attribute>
-                      <layout class="QGridLayout" name="gridLayout_16">
-                       <item row="0" column="0">
-                        <layout class="QGridLayout" name="gridLayout_17">
-                         <item row="0" column="0">
-                          <widget class="QLabel" name="label_tmin_4">
-                           <property name="maximumSize">
-                            <size>
-                             <width>70</width>
-                             <height>16777215</height>
-                            </size>
-                           </property>
-                           <property name="layoutDirection">
-                            <enum>Qt::LeftToRight</enum>
-                           </property>
-                           <property name="text">
-                            <string>t min</string>
-                           </property>
-                           <property name="alignment">
-                            <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                           </property>
-                          </widget>
-                         </item>
-                         <item row="0" column="1">
-                          <widget class="QLineEdit" name="ParCurve_tmin_3">
-                           <property name="sizePolicy">
-                            <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                             <horstretch>0</horstretch>
-                             <verstretch>0</verstretch>
-                            </sizepolicy>
-                           </property>
-                           <property name="minimumSize">
-                            <size>
-                             <width>40</width>
-                             <height>0</height>
-                            </size>
-                           </property>
-                           <property name="maximumSize">
-                            <size>
-                             <width>150</width>
-                             <height>16777215</height>
-                            </size>
-                           </property>
-                           <property name="text">
-                            <string>0</string>
-                           </property>
-                           <property name="maxLength">
-                            <number>32769</number>
-                           </property>
-                          </widget>
-                         </item>
-                         <item row="1" column="0">
-                          <widget class="QLabel" name="label_tmax_4">
-                           <property name="maximumSize">
-                            <size>
-                             <width>70</width>
-                             <height>16777215</height>
-                            </size>
-                           </property>
-                           <property name="layoutDirection">
-                            <enum>Qt::LeftToRight</enum>
-                           </property>
-                           <property name="text">
-                            <string>t max</string>
-                           </property>
-                           <property name="alignment">
-                            <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                           </property>
-                          </widget>
-                         </item>
-                         <item row="1" column="1">
-                          <widget class="QLineEdit" name="ParCurve_tmax_3">
-                           <property name="sizePolicy">
-                            <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                             <horstretch>0</horstretch>
-                             <verstretch>0</verstretch>
-                            </sizepolicy>
-                           </property>
-                           <property name="minimumSize">
-                            <size>
-                             <width>40</width>
-                             <height>0</height>
-                            </size>
-                           </property>
-                           <property name="maximumSize">
-                            <size>
-                             <width>150</width>
-                             <height>16777215</height>
-                            </size>
-                           </property>
-                           <property name="text">
-                            <string>5*2*pi   #5 circles</string>
-                           </property>
-                           <property name="maxLength">
-                            <number>32769</number>
-                           </property>
-                          </widget>
-                         </item>
-                         <item row="2" column="0">
-                          <widget class="QLabel" name="label_tstep_4">
-                           <property name="maximumSize">
-                            <size>
-                             <width>70</width>
-                             <height>16777215</height>
-                            </size>
-                           </property>
-                           <property name="layoutDirection">
-                            <enum>Qt::LeftToRight</enum>
-                           </property>
-                           <property name="text">
-                            <string>step</string>
-                           </property>
-                           <property name="alignment">
-                            <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                           </property>
-                          </widget>
-                         </item>
-                         <item row="2" column="1">
-                          <widget class="QLineEdit" name="ParCurve_tstep_3">
-                           <property name="sizePolicy">
-                            <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                             <horstretch>0</horstretch>
-                             <verstretch>0</verstretch>
-                            </sizepolicy>
-                           </property>
-                           <property name="minimumSize">
-                            <size>
-                             <width>40</width>
-                             <height>0</height>
-                            </size>
-                           </property>
-                           <property name="maximumSize">
-                            <size>
-                             <width>150</width>
-                             <height>16777215</height>
-                            </size>
-                           </property>
-                           <property name="text">
-                            <string>0.01</string>
-                           </property>
-                           <property name="maxLength">
-                            <number>32769</number>
-                           </property>
-                          </widget>
-                         </item>
-                        </layout>
-                       </item>
-                       <item row="0" column="1">
-                        <spacer name="horizontalSpacer_12">
-                         <property name="orientation">
-                          <enum>Qt::Horizontal</enum>
-                         </property>
-                         <property name="sizeHint" stdset="0">
-                          <size>
-                           <width>29</width>
-                           <height>20</height>
-                          </size>
-                         </property>
-                        </spacer>
-                       </item>
-                       <item row="1" column="0">
-                        <spacer name="verticalSpacer_2">
-                         <property name="orientation">
-                          <enum>Qt::Vertical</enum>
-                         </property>
-                         <property name="sizeHint" stdset="0">
-                          <size>
-                           <width>20</width>
-                           <height>162</height>
-                          </size>
-                         </property>
-                        </spacer>
-                       </item>
-                      </layout>
-                     </widget>
-                    </widget>
-                   </item>
-                  </layout>
-                 </widget>
-                </widget>
-               </item>
-              </layout>
-             </widget>
-             <widget class="QWidget" name="Surface_Tab1">
-              <attribute name="title">
-               <string>Surface</string>
-              </attribute>
-              <layout class="QGridLayout" name="gridLayout_40">
-               <item row="0" column="0">
-                <widget class="QScrollArea" name="scrollArea_7">
-                 <property name="widgetResizable">
-                  <bool>true</bool>
-                 </property>
-                 <widget class="QWidget" name="scrollAreaWidgetContents_7">
-                  <property name="geometry">
-                   <rect>
-                    <x>0</x>
-                    <y>0</y>
-                    <width>316</width>
-                    <height>579</height>
-                   </rect>
-                  </property>
-                  <layout class="QGridLayout" name="gridLayout_7">
-                   <item row="0" column="0">
-                    <layout class="QHBoxLayout" name="horizontalLayout_68">
-                     <item>
-                      <widget class="QComboBox" name="Surf_comboBox">
-                       <property name="toolTip">
-                        <string>Choose another curve from the list.</string>
-                       </property>
-                      </widget>
-                     </item>
-                     <item>
-                      <widget class="QPushButton" name="Surf_button_edit">
-                       <property name="minimumSize">
-                        <size>
-                         <width>40</width>
-                         <height>0</height>
-                        </size>
-                       </property>
-                       <property name="maximumSize">
-                        <size>
-                         <width>60</width>
-                         <height>16777215</height>
-                        </size>
-                       </property>
-                       <property name="toolTip">
-                        <string>Click to access to a table where you can edit all parameters of all curves and 
-save your custom curves.</string>
-                       </property>
-                       <property name="text">
-                        <string>Edit</string>
-                       </property>
-                      </widget>
-                     </item>
-                    </layout>
-                   </item>
-                   <item row="1" column="0">
-                    <layout class="QHBoxLayout" name="horizontalLayout_67">
-                     <item>
-                      <widget class="QLabel" name="label_name_4">
-                       <property name="frameShape">
-                        <enum>QFrame::Box</enum>
-                       </property>
-                       <property name="frameShadow">
-                        <enum>QFrame::Raised</enum>
-                       </property>
-                       <property name="lineWidth">
-                        <number>3</number>
-                       </property>
-                       <property name="text">
-                        <string>Name</string>
-                       </property>
-                       <property name="alignment">
-                        <set>Qt::AlignCenter</set>
-                       </property>
-                      </widget>
-                     </item>
-                     <item>
-                      <widget class="QLineEdit" name="Surf_name">
-                       <property name="text">
-                        <string>Astroid</string>
-                       </property>
-                      </widget>
-                     </item>
-                    </layout>
-                   </item>
-                   <item row="2" column="0">
-                    <widget class="QTabWidget" name="tabWidget_5">
-                     <property name="currentIndex">
-                      <number>0</number>
-                     </property>
-                     <widget class="QWidget" name="tab_8">
-                      <attribute name="title">
-                       <string>Equation</string>
-                      </attribute>
-                      <layout class="QGridLayout" name="gridLayout_26">
-                       <item row="0" column="0">
-                        <widget class="QScrollArea" name="scrollArea">
-                         <property name="widgetResizable">
-                          <bool>true</bool>
-                         </property>
-                         <widget class="QWidget" name="scrollAreaWidgetContents">
-                          <property name="geometry">
-                           <rect>
-                            <x>0</x>
-                            <y>0</y>
-                            <width>261</width>
-                            <height>343</height>
-                           </rect>
-                          </property>
-                          <layout class="QGridLayout" name="gridLayout_24">
-                           <item row="0" column="0">
-                            <layout class="QVBoxLayout" name="verticalLayout">
-                             <item>
-                              <layout class="QHBoxLayout" name="horizontalLayout_20">
-                               <item>
-                                <widget class="QLabel" name="label_a_5">
-                                 <property name="maximumSize">
-                                  <size>
-                                   <width>70</width>
-                                   <height>16777215</height>
-                                  </size>
-                                 </property>
-                                 <property name="layoutDirection">
-                                  <enum>Qt::LeftToRight</enum>
-                                 </property>
-                                 <property name="text">
-                                  <string>a</string>
-                                 </property>
-                                 <property name="alignment">
-                                  <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                                 </property>
-                                </widget>
-                               </item>
-                               <item>
-                                <widget class="QLineEdit" name="Surf_a">
-                                 <property name="sizePolicy">
-                                  <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                                   <horstretch>0</horstretch>
-                                   <verstretch>0</verstretch>
-                                  </sizepolicy>
-                                 </property>
-                                 <property name="minimumSize">
-                                  <size>
-                                   <width>40</width>
-                                   <height>0</height>
-                                  </size>
-                                 </property>
-                                 <property name="maximumSize">
-                                  <size>
-                                   <width>150</width>
-                                   <height>16777215</height>
-                                  </size>
-                                 </property>
-                                 <property name="text">
-                                  <string>4</string>
-                                 </property>
-                                 <property name="maxLength">
-                                  <number>32769</number>
-                                 </property>
-                                </widget>
-                               </item>
-                              </layout>
-                             </item>
-                             <item>
-                              <layout class="QHBoxLayout" name="horizontalLayout_21">
-                               <item>
-                                <widget class="QLabel" name="label_b_5">
-                                 <property name="maximumSize">
-                                  <size>
-                                   <width>70</width>
-                                   <height>16777215</height>
-                                  </size>
-                                 </property>
-                                 <property name="text">
-                                  <string>b (a) </string>
-                                 </property>
-                                 <property name="alignment">
-                                  <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                                 </property>
-                                </widget>
-                               </item>
-                               <item>
-                                <widget class="QLineEdit" name="Surf_b">
-                                 <property name="sizePolicy">
-                                  <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                                   <horstretch>0</horstretch>
-                                   <verstretch>0</verstretch>
-                                  </sizepolicy>
-                                 </property>
-                                 <property name="minimumSize">
-                                  <size>
-                                   <width>40</width>
-                                   <height>0</height>
-                                  </size>
-                                 </property>
-                                 <property name="maximumSize">
-                                  <size>
-                                   <width>150</width>
-                                   <height>16777215</height>
-                                  </size>
-                                 </property>
-                                 <property name="text">
-                                  <string>3</string>
-                                 </property>
-                                 <property name="maxLength">
-                                  <number>32769</number>
-                                 </property>
-                                </widget>
-                               </item>
-                              </layout>
-                             </item>
-                             <item>
-                              <layout class="QHBoxLayout" name="horizontalLayout_22">
-                               <item>
-                                <widget class="QLabel" name="label_c_3">
-                                 <property name="maximumSize">
-                                  <size>
-                                   <width>70</width>
-                                   <height>16777215</height>
-                                  </size>
-                                 </property>
-                                 <property name="text">
-                                  <string>c (a, b) </string>
-                                 </property>
-                                 <property name="alignment">
-                                  <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                                 </property>
-                                </widget>
-                               </item>
-                               <item>
-                                <widget class="QLineEdit" name="Surf_c">
-                                 <property name="sizePolicy">
-                                  <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                                   <horstretch>0</horstretch>
-                                   <verstretch>0</verstretch>
-                                  </sizepolicy>
-                                 </property>
-                                 <property name="minimumSize">
-                                  <size>
-                                   <width>40</width>
-                                   <height>0</height>
-                                  </size>
-                                 </property>
-                                 <property name="maximumSize">
-                                  <size>
-                                   <width>150</width>
-                                   <height>16777215</height>
-                                  </size>
-                                 </property>
-                                 <property name="text">
-                                  <string>2</string>
-                                 </property>
-                                 <property name="maxLength">
-                                  <number>32769</number>
-                                 </property>
-                                </widget>
-                               </item>
-                              </layout>
-                             </item>
-                            </layout>
-                           </item>
-                           <item row="1" column="0">
-                            <layout class="QGridLayout" name="gridLayout_29">
-                             <item row="0" column="0">
-                              <layout class="QHBoxLayout" name="horizontalLayout_23">
-                               <item>
-                                <widget class="QLabel" name="label_x_4">
-                                 <property name="maximumSize">
-                                  <size>
-                                   <width>80</width>
-                                   <height>16777215</height>
-                                  </size>
-                                 </property>
-                                 <property name="text">
-                                  <string>X (a,b,c,u,v) </string>
-                                 </property>
-                                 <property name="alignment">
-                                  <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                                 </property>
-                                </widget>
-                               </item>
-                               <item>
-                                <spacer name="horizontalSpacer_5">
-                                 <property name="orientation">
-                                  <enum>Qt::Horizontal</enum>
-                                 </property>
-                                 <property name="sizeHint" stdset="0">
-                                  <size>
-                                   <width>40</width>
-                                   <height>20</height>
-                                  </size>
-                                 </property>
-                                </spacer>
-                               </item>
-                              </layout>
-                             </item>
-                             <item row="1" column="0">
-                              <widget class="QLineEdit" name="Surf_x">
-                               <property name="sizePolicy">
-                                <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
-                                 <horstretch>0</horstretch>
-                                 <verstretch>0</verstretch>
-                                </sizepolicy>
-                               </property>
-                               <property name="minimumSize">
-                                <size>
-                                 <width>0</width>
-                                 <height>0</height>
-                                </size>
-                               </property>
-                               <property name="maximumSize">
-                                <size>
-                                 <width>16777215</width>
-                                 <height>16777215</height>
-                                </size>
-                               </property>
-                               <property name="toolTip">
-                                <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The function from Python math module can be used here:&lt;/p&gt;&lt;p&gt;safe_list = ['acos', 'asin', 'atan', 'atan2', 'ceil', 'cos', 'cosh',&lt;/p&gt;&lt;p&gt; 'degrees', 'e', 'exp', 'fabs', 'floor', 'fmod', 'frexp', 'hypot', 'ldexp',&lt;/p&gt;&lt;p&gt; 'log', 'log10', 'modf', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan',&lt;/p&gt;&lt;p&gt; 'tanh']&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
-                               </property>
-                               <property name="text">
-                                <string>a*pow(cos(v),3)*pow(cos(u),3)</string>
-                               </property>
-                               <property name="maxLength">
-                                <number>32769</number>
-                               </property>
-                              </widget>
-                             </item>
-                             <item row="2" column="0">
-                              <layout class="QHBoxLayout" name="horizontalLayout_24">
-                               <item>
-                                <widget class="QLabel" name="label_y_4">
-                                 <property name="maximumSize">
-                                  <size>
-                                   <width>80</width>
-                                   <height>16777215</height>
-                                  </size>
-                                 </property>
-                                 <property name="text">
-                                  <string>Y (a,b,c,u,v) </string>
-                                 </property>
-                                 <property name="alignment">
-                                  <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                                 </property>
-                                </widget>
-                               </item>
-                               <item>
-                                <spacer name="horizontalSpacer_13">
-                                 <property name="orientation">
-                                  <enum>Qt::Horizontal</enum>
-                                 </property>
-                                 <property name="sizeHint" stdset="0">
-                                  <size>
-                                   <width>40</width>
-                                   <height>20</height>
-                                  </size>
-                                 </property>
-                                </spacer>
-                               </item>
-                              </layout>
-                             </item>
-                             <item row="3" column="0">
-                              <widget class="QLineEdit" name="Surf_y">
-                               <property name="sizePolicy">
-                                <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
-                                 <horstretch>0</horstretch>
-                                 <verstretch>0</verstretch>
-                                </sizepolicy>
-                               </property>
-                               <property name="minimumSize">
-                                <size>
-                                 <width>0</width>
-                                 <height>0</height>
-                                </size>
-                               </property>
-                               <property name="maximumSize">
-                                <size>
-                                 <width>16777215</width>
-                                 <height>16777215</height>
-                                </size>
-                               </property>
-                               <property name="toolTip">
-                                <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The function from Python math module can be used here:&lt;/p&gt;&lt;p&gt;safe_list = ['acos', 'asin', 'atan', 'atan2', 'ceil', 'cos', 'cosh',&lt;/p&gt;&lt;p&gt; 'degrees', 'e', 'exp', 'fabs', 'floor', 'fmod', 'frexp', 'hypot', 'ldexp',&lt;/p&gt;&lt;p&gt; 'log', 'log10', 'modf', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan',&lt;/p&gt;&lt;p&gt; 'tanh']&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
-                               </property>
-                               <property name="text">
-                                <string>b*pow(cos(v),3)*pow(sin(u),3)</string>
-                               </property>
-                               <property name="maxLength">
-                                <number>32769</number>
-                               </property>
-                              </widget>
-                             </item>
-                             <item row="4" column="0">
-                              <layout class="QHBoxLayout" name="horizontalLayout_25">
-                               <item>
-                                <widget class="QLabel" name="label_z_2">
-                                 <property name="maximumSize">
-                                  <size>
-                                   <width>80</width>
-                                   <height>16777215</height>
-                                  </size>
-                                 </property>
-                                 <property name="text">
-                                  <string>Z (a,b,c,u,v) </string>
-                                 </property>
-                                 <property name="alignment">
-                                  <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                                 </property>
-                                </widget>
-                               </item>
-                               <item>
-                                <spacer name="horizontalSpacer_14">
-                                 <property name="orientation">
-                                  <enum>Qt::Horizontal</enum>
-                                 </property>
-                                 <property name="sizeHint" stdset="0">
-                                  <size>
-                                   <width>40</width>
-                                   <height>20</height>
-                                  </size>
-                                 </property>
-                                </spacer>
-                               </item>
-                              </layout>
-                             </item>
-                             <item row="5" column="0">
-                              <widget class="QLineEdit" name="Surf_z">
-                               <property name="sizePolicy">
-                                <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
-                                 <horstretch>0</horstretch>
-                                 <verstretch>0</verstretch>
-                                </sizepolicy>
-                               </property>
-                               <property name="minimumSize">
-                                <size>
-                                 <width>0</width>
-                                 <height>0</height>
-                                </size>
-                               </property>
-                               <property name="maximumSize">
-                                <size>
-                                 <width>16777215</width>
-                                 <height>16777215</height>
-                                </size>
-                               </property>
-                               <property name="toolTip">
-                                <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The function from Python math module can be used here:&lt;/p&gt;&lt;p&gt;safe_list = ['acos', 'asin', 'atan', 'atan2', 'ceil', 'cos', 'cosh',&lt;/p&gt;&lt;p&gt; 'degrees', 'e', 'exp', 'fabs', 'floor', 'fmod', 'frexp', 'hypot', 'ldexp',&lt;/p&gt;&lt;p&gt; 'log', 'log10', 'modf', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan',&lt;/p&gt;&lt;p&gt; 'tanh']&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
-                               </property>
-                               <property name="text">
-                                <string>c*pow(sin(v),3)</string>
-                               </property>
-                               <property name="maxLength">
-                                <number>32769</number>
-                               </property>
-                              </widget>
-                             </item>
-                            </layout>
-                           </item>
-                          </layout>
-                         </widget>
-                        </widget>
-                       </item>
-                      </layout>
-                     </widget>
-                     <widget class="QWidget" name="tab_9">
-                      <attribute name="title">
-                       <string>Variables</string>
-                      </attribute>
-                      <layout class="QGridLayout" name="gridLayout_28">
-                       <item row="0" column="0">
-                        <widget class="QLabel" name="label_umin">
-                         <property name="maximumSize">
-                          <size>
-                           <width>70</width>
-                           <height>16777215</height>
-                          </size>
-                         </property>
-                         <property name="layoutDirection">
-                          <enum>Qt::LeftToRight</enum>
-                         </property>
-                         <property name="text">
-                          <string>u min</string>
-                         </property>
-                         <property name="alignment">
-                          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                         </property>
-                        </widget>
-                       </item>
-                       <item row="0" column="1">
-                        <widget class="QLineEdit" name="Surf_umin">
-                         <property name="sizePolicy">
-                          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                           <horstretch>0</horstretch>
-                           <verstretch>0</verstretch>
-                          </sizepolicy>
-                         </property>
-                         <property name="minimumSize">
-                          <size>
-                           <width>40</width>
-                           <height>0</height>
-                          </size>
-                         </property>
-                         <property name="maximumSize">
-                          <size>
-                           <width>150</width>
-                           <height>16777215</height>
-                          </size>
-                         </property>
-                         <property name="text">
-                          <string>0.0</string>
-                         </property>
-                         <property name="maxLength">
-                          <number>32769</number>
-                         </property>
-                        </widget>
-                       </item>
-                       <item row="1" column="0">
-                        <widget class="QLabel" name="label_umax">
-                         <property name="maximumSize">
-                          <size>
-                           <width>70</width>
-                           <height>16777215</height>
-                          </size>
-                         </property>
-                         <property name="layoutDirection">
-                          <enum>Qt::LeftToRight</enum>
-                         </property>
-                         <property name="text">
-                          <string>u max</string>
-                         </property>
-                         <property name="alignment">
-                          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                         </property>
-                        </widget>
-                       </item>
-                       <item row="1" column="1">
-                        <widget class="QLineEdit" name="Surf_umax">
-                         <property name="sizePolicy">
-                          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                           <horstretch>0</horstretch>
-                           <verstretch>0</verstretch>
-                          </sizepolicy>
-                         </property>
-                         <property name="minimumSize">
-                          <size>
-                           <width>40</width>
-                           <height>0</height>
-                          </size>
-                         </property>
-                         <property name="maximumSize">
-                          <size>
-                           <width>150</width>
-                           <height>16777215</height>
-                          </size>
-                         </property>
-                         <property name="text">
-                          <string>2*pi</string>
-                         </property>
-                         <property name="maxLength">
-                          <number>32769</number>
-                         </property>
-                        </widget>
-                       </item>
-                       <item row="2" column="0">
-                        <widget class="QLabel" name="label_ustep">
-                         <property name="maximumSize">
-                          <size>
-                           <width>70</width>
-                           <height>16777215</height>
-                          </size>
-                         </property>
-                         <property name="layoutDirection">
-                          <enum>Qt::LeftToRight</enum>
-                         </property>
-                         <property name="text">
-                          <string>u step</string>
-                         </property>
-                         <property name="alignment">
-                          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                         </property>
-                        </widget>
-                       </item>
-                       <item row="2" column="1">
-                        <widget class="QLineEdit" name="Surf_ustep">
-                         <property name="sizePolicy">
-                          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                           <horstretch>0</horstretch>
-                           <verstretch>0</verstretch>
-                          </sizepolicy>
-                         </property>
-                         <property name="minimumSize">
-                          <size>
-                           <width>40</width>
-                           <height>0</height>
-                          </size>
-                         </property>
-                         <property name="maximumSize">
-                          <size>
-                           <width>150</width>
-                           <height>16777215</height>
-                          </size>
-                         </property>
-                         <property name="text">
-                          <string>0.01</string>
-                         </property>
-                         <property name="maxLength">
-                          <number>32769</number>
-                         </property>
-                        </widget>
-                       </item>
-                       <item row="3" column="0">
-                        <widget class="QLabel" name="label_umin_2">
-                         <property name="maximumSize">
-                          <size>
-                           <width>70</width>
-                           <height>16777215</height>
-                          </size>
-                         </property>
-                         <property name="layoutDirection">
-                          <enum>Qt::LeftToRight</enum>
-                         </property>
-                         <property name="text">
-                          <string>v min</string>
-                         </property>
-                         <property name="alignment">
-                          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                         </property>
-                        </widget>
-                       </item>
-                       <item row="3" column="1">
-                        <widget class="QLineEdit" name="Surf_vmin">
-                         <property name="sizePolicy">
-                          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                           <horstretch>0</horstretch>
-                           <verstretch>0</verstretch>
-                          </sizepolicy>
-                         </property>
-                         <property name="minimumSize">
-                          <size>
-                           <width>40</width>
-                           <height>0</height>
-                          </size>
-                         </property>
-                         <property name="maximumSize">
-                          <size>
-                           <width>150</width>
-                           <height>16777215</height>
-                          </size>
-                         </property>
-                         <property name="text">
-                          <string>-2</string>
-                         </property>
-                         <property name="maxLength">
-                          <number>32769</number>
-                         </property>
-                        </widget>
-                       </item>
-                       <item row="4" column="0">
-                        <widget class="QLabel" name="label_umax_2">
-                         <property name="maximumSize">
-                          <size>
-                           <width>70</width>
-                           <height>16777215</height>
-                          </size>
-                         </property>
-                         <property name="layoutDirection">
-                          <enum>Qt::LeftToRight</enum>
-                         </property>
-                         <property name="text">
-                          <string>v max</string>
-                         </property>
-                         <property name="alignment">
-                          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                         </property>
-                        </widget>
-                       </item>
-                       <item row="4" column="1">
-                        <widget class="QLineEdit" name="Surf_vmax">
-                         <property name="sizePolicy">
-                          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                           <horstretch>0</horstretch>
-                           <verstretch>0</verstretch>
-                          </sizepolicy>
-                         </property>
-                         <property name="minimumSize">
-                          <size>
-                           <width>40</width>
-                           <height>0</height>
-                          </size>
-                         </property>
-                         <property name="maximumSize">
-                          <size>
-                           <width>150</width>
-                           <height>16777215</height>
-                          </size>
-                         </property>
-                         <property name="text">
-                          <string>2</string>
-                         </property>
-                         <property name="maxLength">
-                          <number>32769</number>
-                         </property>
-                        </widget>
-                       </item>
-                       <item row="5" column="0">
-                        <widget class="QLabel" name="label_ustep_2">
-                         <property name="maximumSize">
-                          <size>
-                           <width>70</width>
-                           <height>16777215</height>
-                          </size>
-                         </property>
-                         <property name="layoutDirection">
-                          <enum>Qt::LeftToRight</enum>
-                         </property>
-                         <property name="text">
-                          <string>v step</string>
-                         </property>
-                         <property name="alignment">
-                          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                         </property>
-                        </widget>
-                       </item>
-                       <item row="5" column="1">
-                        <widget class="QLineEdit" name="Surf_vstep">
-                         <property name="sizePolicy">
-                          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                           <horstretch>0</horstretch>
-                           <verstretch>0</verstretch>
-                          </sizepolicy>
-                         </property>
-                         <property name="minimumSize">
-                          <size>
-                           <width>40</width>
-                           <height>0</height>
-                          </size>
-                         </property>
-                         <property name="maximumSize">
-                          <size>
-                           <width>150</width>
-                           <height>16777215</height>
-                          </size>
-                         </property>
-                         <property name="text">
-                          <string>0.01</string>
-                         </property>
-                         <property name="maxLength">
-                          <number>32769</number>
-                         </property>
-                        </widget>
-                       </item>
-                      </layout>
-                     </widget>
-                    </widget>
-                   </item>
-                   <item row="3" column="0">
-                    <widget class="QGroupBox" name="groupBox_9">
-                     <property name="title">
-                      <string>Type of Surface</string>
-                     </property>
-                     <layout class="QGridLayout" name="gridLayout_43">
-                      <item row="0" column="0">
-                       <layout class="QGridLayout" name="gridLayout_31">
-                        <item row="0" column="0">
-                         <widget class="QCheckBox" name="Surf_points">
-                          <property name="text">
-                           <string>Points</string>
-                          </property>
-                          <property name="checked">
-                           <bool>false</bool>
-                          </property>
-                          <property name="autoExclusive">
-                           <bool>true</bool>
-                          </property>
-                         </widget>
-                        </item>
-                        <item row="0" column="1">
-                         <widget class="QCheckBox" name="Surf_polyline">
-                          <property name="text">
-                           <string>Polyline</string>
-                          </property>
-                          <property name="checked">
-                           <bool>false</bool>
-                          </property>
-                          <property name="autoExclusive">
-                           <bool>true</bool>
-                          </property>
-                         </widget>
-                        </item>
-                        <item row="0" column="2">
-                         <widget class="QCheckBox" name="Surf_bspline">
-                          <property name="text">
-                           <string>Bspline</string>
-                          </property>
-                          <property name="checked">
-                           <bool>false</bool>
-                          </property>
-                          <property name="autoExclusive">
-                           <bool>true</bool>
-                          </property>
-                         </widget>
-                        </item>
-                        <item row="1" column="0" colspan="2">
-                         <widget class="QCheckBox" name="Surf_bspline_surf">
-                          <property name="text">
-                           <string>Surf Bspline (Nurbs)</string>
-                          </property>
-                          <property name="checked">
-                           <bool>true</bool>
-                          </property>
-                          <property name="autoExclusive">
-                           <bool>true</bool>
-                          </property>
-                         </widget>
-                        </item>
-                        <item row="1" column="2">
-                         <widget class="QCheckBox" name="Surf_meshes">
-                          <property name="enabled">
-                           <bool>false</bool>
-                          </property>
-                          <property name="text">
-                           <string>Meshes</string>
-                          </property>
-                          <property name="checked">
-                           <bool>false</bool>
-                          </property>
-                          <property name="autoExclusive">
-                           <bool>true</bool>
-                          </property>
-                         </widget>
-                        </item>
-                       </layout>
-                      </item>
-                     </layout>
-                    </widget>
-                   </item>
-                   <item row="4" column="0">
-                    <layout class="QHBoxLayout" name="horizontalLayout_66">
-                     <item>
-                      <widget class="QPushButton" name="Surf_button_store">
-                       <property name="minimumSize">
-                        <size>
-                         <width>40</width>
-                         <height>0</height>
-                        </size>
-                       </property>
-                       <property name="maximumSize">
-                        <size>
-                         <width>60</width>
-                         <height>16777215</height>
-                        </size>
-                       </property>
-                       <property name="toolTip">
-                        <string>Click to store the current edited curve into the table.
-To save your curve you need to go to &quot;Edit&quot;.</string>
-                       </property>
-                       <property name="text">
-                        <string>Store</string>
-                       </property>
-                      </widget>
-                     </item>
-                     <item>
-                      <spacer name="horizontalSpacer_15">
-                       <property name="orientation">
-                        <enum>Qt::Horizontal</enum>
-                       </property>
-                       <property name="sizeHint" stdset="0">
-                        <size>
-                         <width>40</width>
-                         <height>20</height>
-                        </size>
-                       </property>
-                      </spacer>
-                     </item>
-                     <item>
-                      <widget class="QPushButton" name="Surf_button_apply">
-                       <property name="minimumSize">
-                        <size>
-                         <width>40</width>
-                         <height>0</height>
-                        </size>
-                       </property>
-                       <property name="maximumSize">
-                        <size>
-                         <width>60</width>
-                         <height>16777215</height>
-                        </size>
-                       </property>
-                       <property name="toolTip">
-                        <string>Click to visualize the curve.</string>
-                       </property>
-                       <property name="text">
-                        <string>Apply</string>
-                       </property>
-                      </widget>
-                     </item>
-                    </layout>
-                   </item>
-                  </layout>
-                 </widget>
-                </widget>
-               </item>
-              </layout>
-             </widget>
-            </widget>
-           </item>
-          </layout>
-         </widget>
-        </widget>
-       </item>
-      </layout>
-     </widget>
-     <widget class="QWidget" name="tab_2">
-      <attribute name="title">
-       <string>Origin</string>
-      </attribute>
-      <layout class="QGridLayout" name="gridLayout_45">
-       <item row="1" column="0">
-        <layout class="QVBoxLayout" name="verticalLayout_2">
-         <item>
-          <widget class="QPushButton" name="button_select_point">
-           <property name="toolTip">
-            <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Select point(s) to define reference locations for parametric curves and surfaces.&lt;/p&gt;&lt;p&gt;- Select as much as Points as needed ;&lt;/p&gt;&lt;p&gt;- Then click on this button.&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
-           </property>
-           <property name="text">
-            <string>Select Point(s)</string>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <layout class="QVBoxLayout" name="verticalLayout_3">
-           <item>
-            <layout class="QHBoxLayout" name="horizontalLayout_35">
-             <item>
-              <widget class="QLabel" name="label_x_6">
-               <property name="maximumSize">
-                <size>
-                 <width>70</width>
-                 <height>16777215</height>
-                </size>
-               </property>
-               <property name="layoutDirection">
-                <enum>Qt::LeftToRight</enum>
-               </property>
-               <property name="text">
-                <string>X cst.</string>
-               </property>
-               <property name="alignment">
-                <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QLineEdit" name="Par_x_ref">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="minimumSize">
-                <size>
-                 <width>40</width>
-                 <height>0</height>
-                </size>
-               </property>
-               <property name="maximumSize">
-                <size>
-                 <width>150</width>
-                 <height>16777215</height>
-                </size>
-               </property>
-               <property name="toolTip">
-                <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Reference point (X value) where to attach the 2D curve.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
-               </property>
-               <property name="text">
-                <string>0.0</string>
-               </property>
-               <property name="maxLength">
-                <number>32769</number>
-               </property>
-              </widget>
-             </item>
-            </layout>
-           </item>
-           <item>
-            <layout class="QHBoxLayout" name="horizontalLayout_36">
-             <item>
-              <widget class="QLabel" name="label_y_6">
-               <property name="maximumSize">
-                <size>
-                 <width>70</width>
-                 <height>16777215</height>
-                </size>
-               </property>
-               <property name="layoutDirection">
-                <enum>Qt::LeftToRight</enum>
-               </property>
-               <property name="text">
-                <string>Y cst.</string>
-               </property>
-               <property name="alignment">
-                <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QLineEdit" name="Par_y_ref">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="minimumSize">
-                <size>
-                 <width>40</width>
-                 <height>0</height>
-                </size>
-               </property>
-               <property name="maximumSize">
-                <size>
-                 <width>150</width>
-                 <height>16777215</height>
-                </size>
-               </property>
-               <property name="toolTip">
-                <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Reference point (Y value) where to attach the 2D curve.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
-               </property>
-               <property name="text">
-                <string>0.0</string>
-               </property>
-               <property name="maxLength">
-                <number>32769</number>
-               </property>
-              </widget>
-             </item>
-            </layout>
-           </item>
-           <item>
-            <layout class="QHBoxLayout" name="horizontalLayout_37">
-             <item>
-              <widget class="QLabel" name="label_z_6">
-               <property name="maximumSize">
-                <size>
-                 <width>70</width>
-                 <height>16777215</height>
-                </size>
-               </property>
-               <property name="layoutDirection">
-                <enum>Qt::LeftToRight</enum>
-               </property>
-               <property name="text">
-                <string>Z cst.</string>
-               </property>
-               <property name="alignment">
-                <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QLineEdit" name="Par_z_ref">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="minimumSize">
-                <size>
-                 <width>40</width>
-                 <height>0</height>
-                </size>
-               </property>
-               <property name="maximumSize">
-                <size>
-                 <width>150</width>
-                 <height>16777215</height>
-                </size>
-               </property>
-               <property name="toolTip">
-                <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Reference point (Z value) where to attach the 2D curve.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
-               </property>
-               <property name="text">
-                <string>0.0</string>
-               </property>
-               <property name="maxLength">
-                <number>32769</number>
-               </property>
-              </widget>
-             </item>
-            </layout>
-           </item>
-          </layout>
-         </item>
-        </layout>
-       </item>
-       <item row="1" column="1">
-        <spacer name="horizontalSpacer_16">
-         <property name="orientation">
-          <enum>Qt::Horizontal</enum>
-         </property>
-         <property name="sizeHint" stdset="0">
-          <size>
-           <width>208</width>
-           <height>20</height>
-          </size>
-         </property>
-        </spacer>
-       </item>
-       <item row="2" column="0">
-        <spacer name="verticalSpacer_5">
-         <property name="orientation">
-          <enum>Qt::Vertical</enum>
-         </property>
-         <property name="sizeHint" stdset="0">
-          <size>
-           <width>20</width>
-           <height>156</height>
-          </size>
-         </property>
-        </spacer>
-       </item>
-       <item row="0" column="0" colspan="2">
-        <widget class="QLineEdit" name="lineEdit">
-         <property name="toolTip">
-          <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Examples &lt;/p&gt;&lt;p&gt;from http://www.mathcurve.com/ &lt;/p&gt;&lt;p&gt;and &lt;/p&gt;&lt;p&gt;https://en.wikipedia.org/wiki/List_of_curves&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
-         </property>
-         <property name="text">
-          <string>Examples from http://www.mathcurve.com/ and https://en.wikipedia.org/wiki/List_of_curves</string>
-         </property>
-         <property name="readOnly">
-          <bool>true</bool>
-         </property>
-        </widget>
-       </item>
-      </layout>
-      <zorder>lineEdit</zorder>
-      <zorder>verticalSpacer_5</zorder>
-      <zorder></zorder>
-      <zorder>horizontalSpacer_16</zorder>
-     </widget>
-    </widget>
-   </item>
-   <item row="1" column="0">
-    <widget class="QProgressBar" name="progressBar">
-     <property name="value">
-      <number>24</number>
-     </property>
-    </widget>
-   </item>
-   <item row="2" column="0">
-    <layout class="QHBoxLayout" name="horizontalLayout">
-     <item>
-      <widget class="QPushButton" name="button_quit">
-       <property name="text">
-        <string>Close</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <spacer name="horizontalSpacer_6">
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>40</width>
-         <height>20</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QLabel" name="label_release">
-       <property name="text">
-        <string>2016</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
-  </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
diff --git a/WorkFeature/Ui/sh_ui2pySide b/WorkFeature/Ui/sh_ui2pySide
index 9b338b4..d31cd39 100644
--- a/WorkFeature/Ui/sh_ui2pySide
+++ b/WorkFeature/Ui/sh_ui2pySide
@@ -1,10 +1,15 @@
 #!/bin/sh
+m_list_of_ui=`ls -1 *.ui`
 
-m_ui_file=$1
+for m_ui in ${m_list_of_ui} ; do
+#m_ui_file=$1
+m_ui_file=${m_ui}
 m_ui_base=`basename ${m_ui_file} .ui`
 pyuic4 ${m_ui_base}.ui > ${m_ui_base}.py
 cat ${m_ui_base}.py | sed 's#Icons/#icons:#g ' | sed 's#PyQt4#PySide#g ' | sed 's#QtCore.QString.fromUtf8(#_fromUtf8(#g ' | sed 's#../icons:#icons:#g '>tmp.py
 mv tmp.py ${m_ui_base}.py
 cp ${m_ui_base}.py ../${m_ui_base}.py
 
+done
+
 
diff --git a/WorkFeature/WFGui_2015.py b/WorkFeature/WFGui_2015.py
index 9addb83..e4fd344 100644
--- a/WorkFeature/WFGui_2015.py
+++ b/WorkFeature/WFGui_2015.py
@@ -2,7 +2,7 @@
 
 # Form implementation generated from reading ui file 'WFGui_2015.ui'
 #
-# Created: Sat Dec 31 14:55:16 2016
+# Created: Sun Jan 29 18:27:25 2017
 #      by: PySide UI code generator 4.11.3
 #
 # WARNING! All changes made in this file will be lost!
@@ -26,12 +26,12 @@ except AttributeError:
 class Ui_Form(object):
     def setupUi(self, Form):
         Form.setObjectName(_fromUtf8("Form"))
-        Form.resize(396, 610)
+        Form.resize(396, 701)
         icon = QtGui.QIcon()
         icon.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_wf.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
         Form.setWindowIcon(icon)
-        self.gridLayout_34 = QtGui.QGridLayout(Form)
-        self.gridLayout_34.setObjectName(_fromUtf8("gridLayout_34"))
+        self.gridLayout_13 = QtGui.QGridLayout(Form)
+        self.gridLayout_13.setObjectName(_fromUtf8("gridLayout_13"))
         self.scrollArea = QtGui.QScrollArea(Form)
         self.scrollArea.setFrameShape(QtGui.QFrame.StyledPanel)
         self.scrollArea.setFrameShadow(QtGui.QFrame.Sunken)
@@ -40,7 +40,7 @@ class Ui_Form(object):
         self.scrollArea.setWidgetResizable(True)
         self.scrollArea.setObjectName(_fromUtf8("scrollArea"))
         self.scrollAreaWidgetContents = QtGui.QWidget()
-        self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 365, 593))
+        self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 376, 642))
         self.scrollAreaWidgetContents.setObjectName(_fromUtf8("scrollAreaWidgetContents"))
         self.gridLayout_128 = QtGui.QGridLayout(self.scrollAreaWidgetContents)
         self.gridLayout_128.setObjectName(_fromUtf8("gridLayout_128"))
@@ -179,27 +179,46 @@ class Ui_Form(object):
         self.button_point_face_point.setIconSize(QtCore.QSize(32, 32))
         self.button_point_face_point.setObjectName(_fromUtf8("button_point_face_point"))
         self.gridLayout_11.addWidget(self.button_point_face_point, 7, 0, 1, 1)
-        self.button_point_line_point = QtGui.QPushButton(self.Point_Tab1_3)
+        self.horizontalLayout_59 = QtGui.QHBoxLayout()
+        self.horizontalLayout_59.setObjectName(_fromUtf8("horizontalLayout_59"))
+        self.button_points_projection = QtGui.QPushButton(self.Point_Tab1_3)
+        self.button_points_projection.setMaximumSize(QtCore.QSize(16777215, 16777215))
         icon10 = QtGui.QIcon()
-        icon10.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_pointLinePoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_point_line_point.setIcon(icon10)
-        self.button_point_line_point.setIconSize(QtCore.QSize(32, 32))
-        self.button_point_line_point.setObjectName(_fromUtf8("button_point_line_point"))
-        self.gridLayout_11.addWidget(self.button_point_line_point, 8, 0, 1, 1)
+        icon10.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_projectedPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_points_projection.setIcon(icon10)
+        self.button_points_projection.setIconSize(QtCore.QSize(32, 32))
+        self.button_points_projection.setObjectName(_fromUtf8("button_points_projection"))
+        self.horizontalLayout_59.addWidget(self.button_points_projection)
+        self.point_proj_comboBox = QtGui.QComboBox(self.Point_Tab1_3)
+        self.point_proj_comboBox.setMaximumSize(QtCore.QSize(60, 16777215))
+        self.point_proj_comboBox.setObjectName(_fromUtf8("point_proj_comboBox"))
+        self.point_proj_comboBox.addItem(_fromUtf8(""))
+        self.point_proj_comboBox.addItem(_fromUtf8(""))
+        self.point_proj_comboBox.addItem(_fromUtf8(""))
+        self.point_proj_comboBox.addItem(_fromUtf8(""))
+        self.horizontalLayout_59.addWidget(self.point_proj_comboBox)
+        self.gridLayout_11.addLayout(self.horizontalLayout_59, 8, 0, 1, 1)
         spacerItem1 = QtGui.QSpacerItem(20, 252, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
         self.gridLayout_11.addItem(spacerItem1, 9, 0, 1, 1)
         self.tabWidget.addTab(self.Point_Tab1_3, _fromUtf8(""))
         self.Point_Tab2_3 = QtGui.QWidget()
         self.Point_Tab2_3.setObjectName(_fromUtf8("Point_Tab2_3"))
-        self.gridLayout_13 = QtGui.QGridLayout(self.Point_Tab2_3)
-        self.gridLayout_13.setObjectName(_fromUtf8("gridLayout_13"))
-        self.button_twolines_point = QtGui.QPushButton(self.Point_Tab2_3)
+        self.gridLayout_2 = QtGui.QGridLayout(self.Point_Tab2_3)
+        self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
+        self.button_point_line_point = QtGui.QPushButton(self.Point_Tab2_3)
         icon11 = QtGui.QIcon()
-        icon11.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_lineLinePoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_twolines_point.setIcon(icon11)
+        icon11.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_pointLinePoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_point_line_point.setIcon(icon11)
+        self.button_point_line_point.setIconSize(QtCore.QSize(32, 32))
+        self.button_point_line_point.setObjectName(_fromUtf8("button_point_line_point"))
+        self.gridLayout_2.addWidget(self.button_point_line_point, 0, 0, 1, 1)
+        self.button_twolines_point = QtGui.QPushButton(self.Point_Tab2_3)
+        icon12 = QtGui.QIcon()
+        icon12.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_lineLinePoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_twolines_point.setIcon(icon12)
         self.button_twolines_point.setIconSize(QtCore.QSize(32, 32))
         self.button_twolines_point.setObjectName(_fromUtf8("button_twolines_point"))
-        self.gridLayout_13.addWidget(self.button_twolines_point, 0, 0, 1, 1)
+        self.gridLayout_2.addWidget(self.button_twolines_point, 1, 0, 1, 1)
         self.horizontalLayout_47 = QtGui.QHBoxLayout()
         self.horizontalLayout_47.setSizeConstraint(QtGui.QLayout.SetFixedSize)
         self.horizontalLayout_47.setObjectName(_fromUtf8("horizontalLayout_47"))
@@ -210,9 +229,9 @@ class Ui_Form(object):
         sizePolicy.setHeightForWidth(self.button_point_on_line.sizePolicy().hasHeightForWidth())
         self.button_point_on_line.setSizePolicy(sizePolicy)
         self.button_point_on_line.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        icon12 = QtGui.QIcon()
-        icon12.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_alongLinePoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_point_on_line.setIcon(icon12)
+        icon13 = QtGui.QIcon()
+        icon13.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_alongLinePoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_point_on_line.setIcon(icon13)
         self.button_point_on_line.setIconSize(QtCore.QSize(32, 32))
         self.button_point_on_line.setObjectName(_fromUtf8("button_point_on_line"))
         self.horizontalLayout_47.addWidget(self.button_point_on_line)
@@ -226,13 +245,13 @@ class Ui_Form(object):
         self.distance_point_on_line.setMaximumSize(QtCore.QSize(60, 16777215))
         self.distance_point_on_line.setObjectName(_fromUtf8("distance_point_on_line"))
         self.horizontalLayout_47.addWidget(self.distance_point_on_line)
-        self.gridLayout_13.addLayout(self.horizontalLayout_47, 1, 0, 1, 1)
+        self.gridLayout_2.addLayout(self.horizontalLayout_47, 2, 0, 1, 1)
         self.horizontalLayout_48 = QtGui.QHBoxLayout()
         self.horizontalLayout_48.setObjectName(_fromUtf8("horizontalLayout_48"))
         self.button_distPoint = QtGui.QPushButton(self.Point_Tab2_3)
-        icon13 = QtGui.QIcon()
-        icon13.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_distPointPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_distPoint.setIcon(icon13)
+        icon14 = QtGui.QIcon()
+        icon14.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_distPointPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_distPoint.setIcon(icon14)
         self.button_distPoint.setIconSize(QtCore.QSize(32, 32))
         self.button_distPoint.setObjectName(_fromUtf8("button_distPoint"))
         self.horizontalLayout_48.addWidget(self.button_distPoint)
@@ -257,14 +276,14 @@ class Ui_Form(object):
         self.spin_dist_point.setProperty("value", 1)
         self.spin_dist_point.setObjectName(_fromUtf8("spin_dist_point"))
         self.horizontalLayout_48.addWidget(self.spin_dist_point)
-        self.gridLayout_13.addLayout(self.horizontalLayout_48, 2, 0, 1, 1)
+        self.gridLayout_2.addLayout(self.horizontalLayout_48, 3, 0, 1, 1)
         self.horizontalLayout_49 = QtGui.QHBoxLayout()
         self.horizontalLayout_49.setObjectName(_fromUtf8("horizontalLayout_49"))
         self.button_cut_wire_point = QtGui.QPushButton(self.Point_Tab2_3)
         self.button_cut_wire_point.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        icon14 = QtGui.QIcon()
-        icon14.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cutWirePoints.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_cut_wire_point.setIcon(icon14)
+        icon15 = QtGui.QIcon()
+        icon15.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cutWirePoints.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_cut_wire_point.setIcon(icon15)
         self.button_cut_wire_point.setIconSize(QtCore.QSize(32, 32))
         self.button_cut_wire_point.setObjectName(_fromUtf8("button_cut_wire_point"))
         self.horizontalLayout_49.addWidget(self.button_cut_wire_point)
@@ -276,64 +295,57 @@ class Ui_Form(object):
         self.spin_wire_cut_point.setSingleStep(1)
         self.spin_wire_cut_point.setObjectName(_fromUtf8("spin_wire_cut_point"))
         self.horizontalLayout_49.addWidget(self.spin_wire_cut_point)
-        self.gridLayout_13.addLayout(self.horizontalLayout_49, 3, 0, 1, 1)
+        self.gridLayout_2.addLayout(self.horizontalLayout_49, 4, 0, 1, 1)
         self.button_click_for_point = QtGui.QRadioButton(self.Point_Tab2_3)
-        icon15 = QtGui.QIcon()
-        icon15.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_clickPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_click_for_point.setIcon(icon15)
+        icon16 = QtGui.QIcon()
+        icon16.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_clickPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_click_for_point.setIcon(icon16)
         self.button_click_for_point.setIconSize(QtCore.QSize(32, 32))
         self.button_click_for_point.setCheckable(True)
         self.button_click_for_point.setObjectName(_fromUtf8("button_click_for_point"))
-        self.gridLayout_13.addWidget(self.button_click_for_point, 4, 0, 1, 1)
+        self.gridLayout_2.addWidget(self.button_click_for_point, 5, 0, 1, 1)
         self.button_object_base_point = QtGui.QPushButton(self.Point_Tab2_3)
-        icon16 = QtGui.QIcon()
-        icon16.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectBasePoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_object_base_point.setIcon(icon16)
+        icon17 = QtGui.QIcon()
+        icon17.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectBasePoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_object_base_point.setIcon(icon17)
         self.button_object_base_point.setIconSize(QtCore.QSize(32, 32))
         self.button_object_base_point.setObjectName(_fromUtf8("button_object_base_point"))
-        self.gridLayout_13.addWidget(self.button_object_base_point, 5, 0, 1, 1)
+        self.gridLayout_2.addWidget(self.button_object_base_point, 6, 0, 1, 1)
         self.button_object_center_mass_point = QtGui.QPushButton(self.Point_Tab2_3)
-        icon17 = QtGui.QIcon()
-        icon17.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectCenterMassPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_object_center_mass_point.setIcon(icon17)
+        icon18 = QtGui.QIcon()
+        icon18.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectCenterMassPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_object_center_mass_point.setIcon(icon18)
         self.button_object_center_mass_point.setIconSize(QtCore.QSize(32, 32))
         self.button_object_center_mass_point.setObjectName(_fromUtf8("button_object_center_mass_point"))
-        self.gridLayout_13.addWidget(self.button_object_center_mass_point, 6, 0, 1, 1)
+        self.gridLayout_2.addWidget(self.button_object_center_mass_point, 7, 0, 1, 1)
         self.button_object_Npoint = QtGui.QPushButton(self.Point_Tab2_3)
-        icon18 = QtGui.QIcon()
-        icon18.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectNPoints.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_object_Npoint.setIcon(icon18)
+        icon19 = QtGui.QIcon()
+        icon19.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectNPoints.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_object_Npoint.setIcon(icon19)
         self.button_object_Npoint.setIconSize(QtCore.QSize(32, 32))
         self.button_object_Npoint.setObjectName(_fromUtf8("button_object_Npoint"))
-        self.gridLayout_13.addWidget(self.button_object_Npoint, 7, 0, 1, 1)
-        self.button_point_to_sketch = QtGui.QPushButton(self.Point_Tab2_3)
-        icon19 = QtGui.QIcon()
-        icon19.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_2Sketch.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_point_to_sketch.setIcon(icon19)
-        self.button_point_to_sketch.setIconSize(QtCore.QSize(32, 32))
-        self.button_point_to_sketch.setObjectName(_fromUtf8("button_point_to_sketch"))
-        self.gridLayout_13.addWidget(self.button_point_to_sketch, 8, 0, 1, 1)
+        self.gridLayout_2.addWidget(self.button_object_Npoint, 8, 0, 1, 1)
         spacerItem2 = QtGui.QSpacerItem(20, 255, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
-        self.gridLayout_13.addItem(spacerItem2, 9, 0, 1, 1)
+        self.gridLayout_2.addItem(spacerItem2, 9, 0, 1, 1)
         self.tabWidget.addTab(self.Point_Tab2_3, _fromUtf8(""))
         self.Point_Tab3_3 = QtGui.QWidget()
         self.Point_Tab3_3.setObjectName(_fromUtf8("Point_Tab3_3"))
-        self.gridLayout_2 = QtGui.QGridLayout(self.Point_Tab3_3)
-        self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
+        self.gridLayout_22 = QtGui.QGridLayout(self.Point_Tab3_3)
+        self.gridLayout_22.setObjectName(_fromUtf8("gridLayout_22"))
         self.button_points_load = QtGui.QPushButton(self.Point_Tab3_3)
         icon20 = QtGui.QIcon()
         icon20.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_pointsSetLoad.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
         self.button_points_load.setIcon(icon20)
         self.button_points_load.setIconSize(QtCore.QSize(32, 32))
         self.button_points_load.setObjectName(_fromUtf8("button_points_load"))
-        self.gridLayout_2.addWidget(self.button_points_load, 0, 0, 1, 1)
+        self.gridLayout_22.addWidget(self.button_points_load, 0, 0, 1, 1)
         self.button_points_save = QtGui.QPushButton(self.Point_Tab3_3)
         icon21 = QtGui.QIcon()
         icon21.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_pointsSetSave.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
         self.button_points_save.setIcon(icon21)
         self.button_points_save.setIconSize(QtCore.QSize(32, 32))
         self.button_points_save.setObjectName(_fromUtf8("button_points_save"))
-        self.gridLayout_2.addWidget(self.button_points_save, 1, 0, 1, 1)
+        self.gridLayout_22.addWidget(self.button_points_save, 1, 0, 1, 1)
         self.horizontalLayout_5 = QtGui.QHBoxLayout()
         self.horizontalLayout_5.setObjectName(_fromUtf8("horizontalLayout_5"))
         self.button_points_random = QtGui.QPushButton(self.Point_Tab3_3)
@@ -368,14 +380,21 @@ class Ui_Form(object):
         self.distance_random_points.setMaximumSize(QtCore.QSize(60, 16777215))
         self.distance_random_points.setObjectName(_fromUtf8("distance_random_points"))
         self.horizontalLayout_5.addWidget(self.distance_random_points)
-        self.gridLayout_2.addLayout(self.horizontalLayout_5, 2, 0, 1, 1)
+        self.gridLayout_22.addLayout(self.horizontalLayout_5, 2, 0, 1, 1)
+        self.button_point_to_sketch = QtGui.QPushButton(self.Point_Tab3_3)
+        icon23 = QtGui.QIcon()
+        icon23.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_2Sketch.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_point_to_sketch.setIcon(icon23)
+        self.button_point_to_sketch.setIconSize(QtCore.QSize(32, 32))
+        self.button_point_to_sketch.setObjectName(_fromUtf8("button_point_to_sketch"))
+        self.gridLayout_22.addWidget(self.button_point_to_sketch, 3, 0, 1, 1)
         spacerItem3 = QtGui.QSpacerItem(20, 579, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
-        self.gridLayout_2.addItem(spacerItem3, 3, 0, 1, 1)
+        self.gridLayout_22.addItem(spacerItem3, 4, 0, 1, 1)
         self.tabWidget.addTab(self.Point_Tab3_3, _fromUtf8(""))
         self.gridLayout_10.addWidget(self.tabWidget, 0, 0, 1, 1)
-        icon23 = QtGui.QIcon()
-        icon23.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_point.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.tabWidget_7.addTab(self.Point_Tab, icon23, _fromUtf8(""))
+        icon24 = QtGui.QIcon()
+        icon24.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_point.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.tabWidget_7.addTab(self.Point_Tab, icon24, _fromUtf8(""))
         self.Axis_Tab = QtGui.QWidget()
         self.Axis_Tab.setObjectName(_fromUtf8("Axis_Tab"))
         self.gridLayout_14 = QtGui.QGridLayout(self.Axis_Tab)
@@ -395,9 +414,9 @@ class Ui_Form(object):
         sizePolicy.setHeightForWidth(self.button_twopoints_axis.sizePolicy().hasHeightForWidth())
         self.button_twopoints_axis.setSizePolicy(sizePolicy)
         self.button_twopoints_axis.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        icon24 = QtGui.QIcon()
-        icon24.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_2pointsLine.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_twopoints_axis.setIcon(icon24)
+        icon25 = QtGui.QIcon()
+        icon25.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_2pointsLine.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_twopoints_axis.setIcon(icon25)
         self.button_twopoints_axis.setIconSize(QtCore.QSize(32, 32))
         self.button_twopoints_axis.setObjectName(_fromUtf8("button_twopoints_axis"))
         self.horizontalLayout.addWidget(self.button_twopoints_axis)
@@ -409,9 +428,9 @@ class Ui_Form(object):
         spacerItem4 = QtGui.QSpacerItem(20, 233, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
         self.gridLayout_15.addItem(spacerItem4, 7, 0, 1, 1)
         self.button_object_axis = QtGui.QPushButton(self.Axis_Tab1_3)
-        icon25 = QtGui.QIcon()
-        icon25.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_centerObjectsAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_object_axis.setIcon(icon25)
+        icon26 = QtGui.QIcon()
+        icon26.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_centerObjectsAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_object_axis.setIcon(icon26)
         self.button_object_axis.setIconSize(QtCore.QSize(32, 32))
         self.button_object_axis.setObjectName(_fromUtf8("button_object_axis"))
         self.gridLayout_15.addWidget(self.button_object_axis, 0, 0, 1, 1)
@@ -425,9 +444,9 @@ class Ui_Form(object):
         self.button_line_point_axis.setSizePolicy(sizePolicy)
         self.button_line_point_axis.setMinimumSize(QtCore.QSize(0, 0))
         self.button_line_point_axis.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        icon26 = QtGui.QIcon()
-        icon26.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePointAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_line_point_axis.setIcon(icon26)
+        icon27 = QtGui.QIcon()
+        icon27.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePointAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_line_point_axis.setIcon(icon27)
         self.button_line_point_axis.setIconSize(QtCore.QSize(32, 32))
         self.button_line_point_axis.setObjectName(_fromUtf8("button_line_point_axis"))
         self.horizontalLayout_53.addWidget(self.button_line_point_axis)
@@ -437,9 +456,9 @@ class Ui_Form(object):
         self.horizontalLayout_53.addWidget(self.extension_line_point_axis)
         self.gridLayout_15.addLayout(self.horizontalLayout_53, 5, 0, 1, 1)
         self.button_Npoints_axis = QtGui.QPushButton(self.Axis_Tab1_3)
-        icon27 = QtGui.QIcon()
-        icon27.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_NpointsLine.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_Npoints_axis.setIcon(icon27)
+        icon28 = QtGui.QIcon()
+        icon28.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_NpointsLine.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_Npoints_axis.setIcon(icon28)
         self.button_Npoints_axis.setIconSize(QtCore.QSize(32, 32))
         self.button_Npoints_axis.setObjectName(_fromUtf8("button_Npoints_axis"))
         self.gridLayout_15.addWidget(self.button_Npoints_axis, 2, 0, 1, 1)
@@ -447,9 +466,9 @@ class Ui_Form(object):
         self.horizontalLayout_52.setObjectName(_fromUtf8("horizontalLayout_52"))
         self.button_point_line_axis = QtGui.QPushButton(self.Axis_Tab1_3)
         self.button_point_line_axis.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        icon28 = QtGui.QIcon()
-        icon28.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_pointLineAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_point_line_axis.setIcon(icon28)
+        icon29 = QtGui.QIcon()
+        icon29.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_pointLineAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_point_line_axis.setIcon(icon29)
         self.button_point_line_axis.setIconSize(QtCore.QSize(32, 32))
         self.button_point_line_axis.setObjectName(_fromUtf8("button_point_line_axis"))
         self.horizontalLayout_52.addWidget(self.button_point_line_axis)
@@ -471,17 +490,17 @@ class Ui_Form(object):
         self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))
         self.button_cylinder_axis = QtGui.QPushButton(self.Axis_Tab1_3)
         self.button_cylinder_axis.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        icon29 = QtGui.QIcon()
-        icon29.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cylinderAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_cylinder_axis.setIcon(icon29)
+        icon30 = QtGui.QIcon()
+        icon30.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cylinderAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_cylinder_axis.setIcon(icon30)
         self.button_cylinder_axis.setIconSize(QtCore.QSize(32, 32))
         self.button_cylinder_axis.setObjectName(_fromUtf8("button_cylinder_axis"))
         self.verticalLayout_3.addWidget(self.button_cylinder_axis)
         self.button_plane_axis = QtGui.QPushButton(self.Axis_Tab1_3)
         self.button_plane_axis.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        icon30 = QtGui.QIcon()
-        icon30.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_FaceAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_plane_axis.setIcon(icon30)
+        icon31 = QtGui.QIcon()
+        icon31.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_FaceAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_plane_axis.setIcon(icon31)
         self.button_plane_axis.setIconSize(QtCore.QSize(32, 32))
         self.button_plane_axis.setObjectName(_fromUtf8("button_plane_axis"))
         self.verticalLayout_3.addWidget(self.button_plane_axis)
@@ -492,9 +511,9 @@ class Ui_Form(object):
         sizePolicy.setHeightForWidth(self.button_face_normal.sizePolicy().hasHeightForWidth())
         self.button_face_normal.setSizePolicy(sizePolicy)
         self.button_face_normal.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        icon31 = QtGui.QIcon()
-        icon31.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_FaceNormal.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_face_normal.setIcon(icon31)
+        icon32 = QtGui.QIcon()
+        icon32.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_FaceNormal.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_face_normal.setIcon(icon32)
         self.button_face_normal.setIconSize(QtCore.QSize(32, 32))
         self.button_face_normal.setObjectName(_fromUtf8("button_face_normal"))
         self.verticalLayout_3.addWidget(self.button_face_normal)
@@ -515,9 +534,9 @@ class Ui_Form(object):
         self.horizontalLayout_51.addWidget(self.frame_8)
         self.gridLayout_15.addLayout(self.horizontalLayout_51, 3, 0, 1, 1)
         self.button_twolines_axis = QtGui.QPushButton(self.Axis_Tab1_3)
-        icon32 = QtGui.QIcon()
-        icon32.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_twoLinesAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_twolines_axis.setIcon(icon32)
+        icon33 = QtGui.QIcon()
+        icon33.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_twoLinesAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_twolines_axis.setIcon(icon33)
         self.button_twolines_axis.setIconSize(QtCore.QSize(32, 32))
         self.button_twolines_axis.setObjectName(_fromUtf8("button_twolines_axis"))
         self.gridLayout_15.addWidget(self.button_twolines_axis, 6, 0, 1, 1)
@@ -527,30 +546,30 @@ class Ui_Form(object):
         self.gridLayout_16 = QtGui.QGridLayout(self.Axis_Tab31_3)
         self.gridLayout_16.setObjectName(_fromUtf8("gridLayout_16"))
         self.button_object_base_axes = QtGui.QPushButton(self.Axis_Tab31_3)
-        icon33 = QtGui.QIcon()
-        icon33.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_baseObjectsAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_object_base_axes.setIcon(icon33)
+        icon34 = QtGui.QIcon()
+        icon34.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_baseObjectsAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_object_base_axes.setIcon(icon34)
         self.button_object_base_axes.setIconSize(QtCore.QSize(32, 32))
         self.button_object_base_axes.setObjectName(_fromUtf8("button_object_base_axes"))
         self.gridLayout_16.addWidget(self.button_object_base_axes, 0, 0, 1, 1)
         self.button_object_Naxes = QtGui.QPushButton(self.Axis_Tab31_3)
-        icon34 = QtGui.QIcon()
-        icon34.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectNAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_object_Naxes.setIcon(icon34)
+        icon35 = QtGui.QIcon()
+        icon35.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectNAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_object_Naxes.setIcon(icon35)
         self.button_object_Naxes.setIconSize(QtCore.QSize(32, 32))
         self.button_object_Naxes.setObjectName(_fromUtf8("button_object_Naxes"))
         self.gridLayout_16.addWidget(self.button_object_Naxes, 1, 0, 1, 1)
         spacerItem5 = QtGui.QSpacerItem(20, 483, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
         self.gridLayout_16.addItem(spacerItem5, 4, 0, 1, 1)
         self.button_line_to_sketch = QtGui.QPushButton(self.Axis_Tab31_3)
-        self.button_line_to_sketch.setIcon(icon19)
+        self.button_line_to_sketch.setIcon(icon23)
         self.button_line_to_sketch.setIconSize(QtCore.QSize(32, 32))
         self.button_line_to_sketch.setObjectName(_fromUtf8("button_line_to_sketch"))
         self.gridLayout_16.addWidget(self.button_line_to_sketch, 3, 0, 1, 1)
         self.button_object_3axes = QtGui.QPushButton(self.Axis_Tab31_3)
-        icon35 = QtGui.QIcon()
-        icon35.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_object3Axes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_object_3axes.setIcon(icon35)
+        icon36 = QtGui.QIcon()
+        icon36.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_object3Axes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_object_3axes.setIcon(icon36)
         self.button_object_3axes.setIconSize(QtCore.QSize(32, 32))
         self.button_object_3axes.setObjectName(_fromUtf8("button_object_3axes"))
         self.gridLayout_16.addWidget(self.button_object_3axes, 2, 0, 1, 1)
@@ -560,32 +579,32 @@ class Ui_Form(object):
         self.gridLayout_4 = QtGui.QGridLayout(self.Axis_Tab2_3)
         self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
         self.button_plane_point_line_axis = QtGui.QPushButton(self.Axis_Tab2_3)
-        icon36 = QtGui.QIcon()
-        icon36.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_planeLinePointAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_plane_point_line_axis.setIcon(icon36)
+        icon37 = QtGui.QIcon()
+        icon37.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_planeLinePointAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_plane_point_line_axis.setIcon(icon37)
         self.button_plane_point_line_axis.setIconSize(QtCore.QSize(32, 32))
         self.button_plane_point_line_axis.setObjectName(_fromUtf8("button_plane_point_line_axis"))
         self.gridLayout_4.addWidget(self.button_plane_point_line_axis, 0, 0, 1, 1)
         self.button_line_plane_axis = QtGui.QPushButton(self.Axis_Tab2_3)
-        icon37 = QtGui.QIcon()
-        icon37.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePlaneAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_line_plane_axis.setIcon(icon37)
+        icon38 = QtGui.QIcon()
+        icon38.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePlaneAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_line_plane_axis.setIcon(icon38)
         self.button_line_plane_axis.setIconSize(QtCore.QSize(32, 32))
         self.button_line_plane_axis.setObjectName(_fromUtf8("button_line_plane_axis"))
         self.gridLayout_4.addWidget(self.button_line_plane_axis, 1, 0, 1, 1)
         self.button_twoplanes_axis = QtGui.QPushButton(self.Axis_Tab2_3)
-        icon38 = QtGui.QIcon()
-        icon38.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_2PlanesAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_twoplanes_axis.setIcon(icon38)
+        icon39 = QtGui.QIcon()
+        icon39.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_2PlanesAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_twoplanes_axis.setIcon(icon39)
         self.button_twoplanes_axis.setIconSize(QtCore.QSize(32, 32))
         self.button_twoplanes_axis.setObjectName(_fromUtf8("button_twoplanes_axis"))
         self.gridLayout_4.addWidget(self.button_twoplanes_axis, 2, 0, 1, 1)
         self.horizontalLayout_54 = QtGui.QHBoxLayout()
         self.horizontalLayout_54.setObjectName(_fromUtf8("horizontalLayout_54"))
         self.button_distLine = QtGui.QPushButton(self.Axis_Tab2_3)
-        icon39 = QtGui.QIcon()
-        icon39.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_distAxisAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_distLine.setIcon(icon39)
+        icon40 = QtGui.QIcon()
+        icon40.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_distAxisAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_distLine.setIcon(icon40)
         self.button_distLine.setIconSize(QtCore.QSize(32, 32))
         self.button_distLine.setObjectName(_fromUtf8("button_distLine"))
         self.horizontalLayout_54.addWidget(self.button_distLine)
@@ -614,9 +633,9 @@ class Ui_Form(object):
         self.horizontalLayout_55 = QtGui.QHBoxLayout()
         self.horizontalLayout_55.setObjectName(_fromUtf8("horizontalLayout_55"))
         self.button_angleLine = QtGui.QPushButton(self.Axis_Tab2_3)
-        icon40 = QtGui.QIcon()
-        icon40.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_angleAxisAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_angleLine.setIcon(icon40)
+        icon41 = QtGui.QIcon()
+        icon41.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_angleAxisAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_angleLine.setIcon(icon41)
         self.button_angleLine.setIconSize(QtCore.QSize(32, 32))
         self.button_angleLine.setObjectName(_fromUtf8("button_angleLine"))
         self.horizontalLayout_55.addWidget(self.button_angleLine)
@@ -646,9 +665,9 @@ class Ui_Form(object):
         self.horizontalLayout_56.setObjectName(_fromUtf8("horizontalLayout_56"))
         self.button_cut_wire_axis = QtGui.QPushButton(self.Axis_Tab2_3)
         self.button_cut_wire_axis.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        icon41 = QtGui.QIcon()
-        icon41.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cutWireAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_cut_wire_axis.setIcon(icon41)
+        icon42 = QtGui.QIcon()
+        icon42.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cutWireAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_cut_wire_axis.setIcon(icon42)
         self.button_cut_wire_axis.setIconSize(QtCore.QSize(32, 32))
         self.button_cut_wire_axis.setObjectName(_fromUtf8("button_cut_wire_axis"))
         self.horizontalLayout_56.addWidget(self.button_cut_wire_axis)
@@ -665,9 +684,9 @@ class Ui_Form(object):
         self.horizontalLayout_57.setObjectName(_fromUtf8("horizontalLayout_57"))
         self.button_cut_axis = QtGui.QPushButton(self.Axis_Tab2_3)
         self.button_cut_axis.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        icon42 = QtGui.QIcon()
-        icon42.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cutAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_cut_axis.setIcon(icon42)
+        icon43 = QtGui.QIcon()
+        icon43.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cutAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_cut_axis.setIcon(icon43)
         self.button_cut_axis.setIconSize(QtCore.QSize(32, 32))
         self.button_cut_axis.setObjectName(_fromUtf8("button_cut_axis"))
         self.horizontalLayout_57.addWidget(self.button_cut_axis)
@@ -688,9 +707,9 @@ class Ui_Form(object):
         sizePolicy.setVerticalStretch(0)
         sizePolicy.setHeightForWidth(self.button_extension_axis.sizePolicy().hasHeightForWidth())
         self.button_extension_axis.setSizePolicy(sizePolicy)
-        icon43 = QtGui.QIcon()
-        icon43.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_enlargeLine.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_extension_axis.setIcon(icon43)
+        icon44 = QtGui.QIcon()
+        icon44.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_enlargeLine.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_extension_axis.setIcon(icon44)
         self.button_extension_axis.setIconSize(QtCore.QSize(32, 32))
         self.button_extension_axis.setObjectName(_fromUtf8("button_extension_axis"))
         self.horizontalLayout_58.addWidget(self.button_extension_axis)
@@ -706,9 +725,9 @@ class Ui_Form(object):
         self.horizontalLayout_58.addWidget(self.extension_axis)
         self.gridLayout_4.addLayout(self.horizontalLayout_58, 7, 0, 1, 1)
         self.button_click_for_axis = QtGui.QRadioButton(self.Axis_Tab2_3)
-        icon44 = QtGui.QIcon()
-        icon44.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_clickLine.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_click_for_axis.setIcon(icon44)
+        icon45 = QtGui.QIcon()
+        icon45.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_clickLine.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_click_for_axis.setIcon(icon45)
         self.button_click_for_axis.setIconSize(QtCore.QSize(32, 32))
         self.button_click_for_axis.setObjectName(_fromUtf8("button_click_for_axis"))
         self.gridLayout_4.addWidget(self.button_click_for_axis, 8, 0, 1, 1)
@@ -716,9 +735,9 @@ class Ui_Form(object):
         self.gridLayout_4.addItem(spacerItem6, 9, 0, 1, 1)
         self.tabWidget_2.addTab(self.Axis_Tab2_3, _fromUtf8(""))
         self.gridLayout_14.addWidget(self.tabWidget_2, 0, 0, 1, 1)
-        icon45 = QtGui.QIcon()
-        icon45.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_axis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.tabWidget_7.addTab(self.Axis_Tab, icon45, _fromUtf8(""))
+        icon46 = QtGui.QIcon()
+        icon46.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_axis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.tabWidget_7.addTab(self.Axis_Tab, icon46, _fromUtf8(""))
         self.Wire_Tab = QtGui.QWidget()
         self.Wire_Tab.setObjectName(_fromUtf8("Wire_Tab"))
         self.gridLayout_74 = QtGui.QGridLayout(self.Wire_Tab)
@@ -734,15 +753,6 @@ class Ui_Form(object):
         self.Wire_Tab1_3.setObjectName(_fromUtf8("Wire_Tab1_3"))
         self.gridLayout_7 = QtGui.QGridLayout(self.Wire_Tab1_3)
         self.gridLayout_7.setObjectName(_fromUtf8("gridLayout_7"))
-        spacerItem7 = QtGui.QSpacerItem(20, 588, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
-        self.gridLayout_7.addItem(spacerItem7, 2, 0, 1, 1)
-        self.button_4points_bezier = QtGui.QPushButton(self.Wire_Tab1_3)
-        icon46 = QtGui.QIcon()
-        icon46.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_bezierCubic2nodes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_4points_bezier.setIcon(icon46)
-        self.button_4points_bezier.setIconSize(QtCore.QSize(32, 32))
-        self.button_4points_bezier.setObjectName(_fromUtf8("button_4points_bezier"))
-        self.gridLayout_7.addWidget(self.button_4points_bezier, 1, 0, 1, 1)
         self.button_points_to_polygon = QtGui.QPushButton(self.Wire_Tab1_3)
         icon47 = QtGui.QIcon()
         icon47.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_makePolygon.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
@@ -750,6 +760,33 @@ class Ui_Form(object):
         self.button_points_to_polygon.setIconSize(QtCore.QSize(32, 32))
         self.button_points_to_polygon.setObjectName(_fromUtf8("button_points_to_polygon"))
         self.gridLayout_7.addWidget(self.button_points_to_polygon, 0, 0, 1, 1)
+        self.horizontalLayout_6 = QtGui.QHBoxLayout()
+        self.horizontalLayout_6.setObjectName(_fromUtf8("horizontalLayout_6"))
+        self.button_points_to_convex_2Dpolygon = QtGui.QPushButton(self.Wire_Tab1_3)
+        icon48 = QtGui.QIcon()
+        icon48.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_convexPolygon.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_points_to_convex_2Dpolygon.setIcon(icon48)
+        self.button_points_to_convex_2Dpolygon.setIconSize(QtCore.QSize(32, 32))
+        self.button_points_to_convex_2Dpolygon.setObjectName(_fromUtf8("button_points_to_convex_2Dpolygon"))
+        self.horizontalLayout_6.addWidget(self.button_points_to_convex_2Dpolygon)
+        self.point_proj_comboBox_2 = QtGui.QComboBox(self.Wire_Tab1_3)
+        self.point_proj_comboBox_2.setMaximumSize(QtCore.QSize(60, 16777215))
+        self.point_proj_comboBox_2.setObjectName(_fromUtf8("point_proj_comboBox_2"))
+        self.point_proj_comboBox_2.addItem(_fromUtf8(""))
+        self.point_proj_comboBox_2.addItem(_fromUtf8(""))
+        self.point_proj_comboBox_2.addItem(_fromUtf8(""))
+        self.point_proj_comboBox_2.addItem(_fromUtf8(""))
+        self.horizontalLayout_6.addWidget(self.point_proj_comboBox_2)
+        self.gridLayout_7.addLayout(self.horizontalLayout_6, 1, 0, 1, 1)
+        self.button_4points_bezier = QtGui.QPushButton(self.Wire_Tab1_3)
+        icon49 = QtGui.QIcon()
+        icon49.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_bezierCubic2nodes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_4points_bezier.setIcon(icon49)
+        self.button_4points_bezier.setIconSize(QtCore.QSize(32, 32))
+        self.button_4points_bezier.setObjectName(_fromUtf8("button_4points_bezier"))
+        self.gridLayout_7.addWidget(self.button_4points_bezier, 2, 0, 1, 1)
+        spacerItem7 = QtGui.QSpacerItem(20, 588, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+        self.gridLayout_7.addItem(spacerItem7, 3, 0, 1, 1)
         self.tabWidget_8.addTab(self.Wire_Tab1_3, _fromUtf8(""))
         self.Wire_Tab1_4 = QtGui.QWidget()
         self.Wire_Tab1_4.setObjectName(_fromUtf8("Wire_Tab1_4"))
@@ -767,9 +804,9 @@ class Ui_Form(object):
         self.gridLayout_3.addItem(spacerItem8, 1, 0, 1, 1)
         self.tabWidget_8.addTab(self.Wire_Tab1_4, _fromUtf8(""))
         self.gridLayout_74.addWidget(self.tabWidget_8, 0, 0, 1, 1)
-        icon48 = QtGui.QIcon()
-        icon48.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_wire.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.tabWidget_7.addTab(self.Wire_Tab, icon48, _fromUtf8(""))
+        icon50 = QtGui.QIcon()
+        icon50.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_wire.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.tabWidget_7.addTab(self.Wire_Tab, icon50, _fromUtf8(""))
         self.Circle_Tab = QtGui.QWidget()
         self.Circle_Tab.setObjectName(_fromUtf8("Circle_Tab"))
         self.gridLayout = QtGui.QGridLayout(self.Circle_Tab)
@@ -777,9 +814,9 @@ class Ui_Form(object):
         self.horizontalLayout_66 = QtGui.QHBoxLayout()
         self.horizontalLayout_66.setObjectName(_fromUtf8("horizontalLayout_66"))
         self.button_linecenter_circle = QtGui.QPushButton(self.Circle_Tab)
-        icon49 = QtGui.QIcon()
-        icon49.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_lineCenterCircle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_linecenter_circle.setIcon(icon49)
+        icon51 = QtGui.QIcon()
+        icon51.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_lineCenterCircle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_linecenter_circle.setIcon(icon51)
         self.button_linecenter_circle.setIconSize(QtCore.QSize(32, 32))
         self.button_linecenter_circle.setObjectName(_fromUtf8("button_linecenter_circle"))
         self.horizontalLayout_66.addWidget(self.button_linecenter_circle)
@@ -790,48 +827,48 @@ class Ui_Form(object):
         self.horizontalLayout_66.addWidget(self.radius_circle)
         self.gridLayout.addLayout(self.horizontalLayout_66, 0, 0, 1, 1)
         self.button_linepoint_circle = QtGui.QPushButton(self.Circle_Tab)
-        icon50 = QtGui.QIcon()
-        icon50.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePointCircle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_linepoint_circle.setIcon(icon50)
+        icon52 = QtGui.QIcon()
+        icon52.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePointCircle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_linepoint_circle.setIcon(icon52)
         self.button_linepoint_circle.setIconSize(QtCore.QSize(32, 32))
         self.button_linepoint_circle.setObjectName(_fromUtf8("button_linepoint_circle"))
         self.gridLayout.addWidget(self.button_linepoint_circle, 1, 0, 1, 1)
         spacerItem9 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
         self.gridLayout.addItem(spacerItem9, 7, 0, 1, 1)
         self.button_3points_ellipse = QtGui.QPushButton(self.Circle_Tab)
-        icon51 = QtGui.QIcon()
-        icon51.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_3pointsEllipse.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_3points_ellipse.setIcon(icon51)
+        icon53 = QtGui.QIcon()
+        icon53.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_3pointsEllipse.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_3points_ellipse.setIcon(icon53)
         self.button_3points_ellipse.setIconSize(QtCore.QSize(32, 32))
         self.button_3points_ellipse.setObjectName(_fromUtf8("button_3points_ellipse"))
         self.gridLayout.addWidget(self.button_3points_ellipse, 4, 0, 1, 1)
         self.button_circle_to_sketch = QtGui.QPushButton(self.Circle_Tab)
-        self.button_circle_to_sketch.setIcon(icon19)
+        self.button_circle_to_sketch.setIcon(icon23)
         self.button_circle_to_sketch.setIconSize(QtCore.QSize(32, 32))
         self.button_circle_to_sketch.setObjectName(_fromUtf8("button_circle_to_sketch"))
         self.gridLayout.addWidget(self.button_circle_to_sketch, 8, 0, 1, 1)
         spacerItem10 = QtGui.QSpacerItem(20, 121, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
         self.gridLayout.addItem(spacerItem10, 9, 0, 1, 1)
         self.button_3points_arc = QtGui.QPushButton(self.Circle_Tab)
-        icon52 = QtGui.QIcon()
-        icon52.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_3pointsArc.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_3points_arc.setIcon(icon52)
+        icon54 = QtGui.QIcon()
+        icon54.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_3pointsArc.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_3points_arc.setIcon(icon54)
         self.button_3points_arc.setIconSize(QtCore.QSize(32, 32))
         self.button_3points_arc.setObjectName(_fromUtf8("button_3points_arc"))
         self.gridLayout.addWidget(self.button_3points_arc, 5, 0, 1, 1)
         self.button_3points_circle = QtGui.QPushButton(self.Circle_Tab)
-        icon53 = QtGui.QIcon()
-        icon53.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_3pointsCircle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_3points_circle.setIcon(icon53)
+        icon55 = QtGui.QIcon()
+        icon55.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_3pointsCircle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_3points_circle.setIcon(icon55)
         self.button_3points_circle.setIconSize(QtCore.QSize(32, 32))
         self.button_3points_circle.setObjectName(_fromUtf8("button_3points_circle"))
         self.gridLayout.addWidget(self.button_3points_circle, 2, 0, 1, 1)
         self.horizontalLayout_67 = QtGui.QHBoxLayout()
         self.horizontalLayout_67.setObjectName(_fromUtf8("horizontalLayout_67"))
         self.button_cut_circle = QtGui.QPushButton(self.Circle_Tab)
-        icon54 = QtGui.QIcon()
-        icon54.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cutCircle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_cut_circle.setIcon(icon54)
+        icon56 = QtGui.QIcon()
+        icon56.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cutCircle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_cut_circle.setIcon(icon56)
         self.button_cut_circle.setIconSize(QtCore.QSize(32, 32))
         self.button_cut_circle.setObjectName(_fromUtf8("button_cut_circle"))
         self.horizontalLayout_67.addWidget(self.button_cut_circle)
@@ -844,9 +881,9 @@ class Ui_Form(object):
         self.spin_circle_cut.setObjectName(_fromUtf8("spin_circle_cut"))
         self.horizontalLayout_67.addWidget(self.spin_circle_cut)
         self.gridLayout.addLayout(self.horizontalLayout_67, 6, 0, 1, 1)
-        icon55 = QtGui.QIcon()
-        icon55.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_circle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.tabWidget_7.addTab(self.Circle_Tab, icon55, _fromUtf8(""))
+        icon57 = QtGui.QIcon()
+        icon57.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_circle.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.tabWidget_7.addTab(self.Circle_Tab, icon57, _fromUtf8(""))
         self.Plane_Tab = QtGui.QWidget()
         self.Plane_Tab.setObjectName(_fromUtf8("Plane_Tab"))
         self.gridLayout_17 = QtGui.QGridLayout(self.Plane_Tab)
@@ -858,46 +895,46 @@ class Ui_Form(object):
         self.gridLayout_18 = QtGui.QGridLayout(self.Plane_Tab1_2)
         self.gridLayout_18.setObjectName(_fromUtf8("gridLayout_18"))
         self.button_threepoints_plane = QtGui.QPushButton(self.Plane_Tab1_2)
-        icon56 = QtGui.QIcon()
-        icon56.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_threePointsPlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_threepoints_plane.setIcon(icon56)
+        icon58 = QtGui.QIcon()
+        icon58.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_threePointsPlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_threepoints_plane.setIcon(icon58)
         self.button_threepoints_plane.setIconSize(QtCore.QSize(32, 32))
         self.button_threepoints_plane.setObjectName(_fromUtf8("button_threepoints_plane"))
         self.gridLayout_18.addWidget(self.button_threepoints_plane, 0, 0, 1, 1)
         self.button_twopoints_plane = QtGui.QPushButton(self.Plane_Tab1_2)
-        icon57 = QtGui.QIcon()
-        icon57.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_twoPointsPlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_twopoints_plane.setIcon(icon57)
+        icon59 = QtGui.QIcon()
+        icon59.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_twoPointsPlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_twopoints_plane.setIcon(icon59)
         self.button_twopoints_plane.setIconSize(QtCore.QSize(32, 32))
         self.button_twopoints_plane.setObjectName(_fromUtf8("button_twopoints_plane"))
         self.gridLayout_18.addWidget(self.button_twopoints_plane, 1, 0, 1, 1)
         self.button_Npoints_plane = QtGui.QPushButton(self.Plane_Tab1_2)
-        icon58 = QtGui.QIcon()
-        icon58.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_NpointsPlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_Npoints_plane.setIcon(icon58)
+        icon60 = QtGui.QIcon()
+        icon60.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_NpointsPlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_Npoints_plane.setIcon(icon60)
         self.button_Npoints_plane.setIconSize(QtCore.QSize(32, 32))
         self.button_Npoints_plane.setObjectName(_fromUtf8("button_Npoints_plane"))
         self.gridLayout_18.addWidget(self.button_Npoints_plane, 2, 0, 1, 1)
         self.button_axisandpoint_plane = QtGui.QPushButton(self.Plane_Tab1_2)
-        icon59 = QtGui.QIcon()
-        icon59.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePointPlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_axisandpoint_plane.setIcon(icon59)
+        icon61 = QtGui.QIcon()
+        icon61.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePointPlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_axisandpoint_plane.setIcon(icon61)
         self.button_axisandpoint_plane.setIconSize(QtCore.QSize(32, 32))
         self.button_axisandpoint_plane.setObjectName(_fromUtf8("button_axisandpoint_plane"))
         self.gridLayout_18.addWidget(self.button_axisandpoint_plane, 3, 0, 1, 1)
         self.button_axis_point_plane = QtGui.QPushButton(self.Plane_Tab1_2)
-        icon60 = QtGui.QIcon()
-        icon60.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePointPlane2.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_axis_point_plane.setIcon(icon60)
+        icon62 = QtGui.QIcon()
+        icon62.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_linePointPlane2.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_axis_point_plane.setIcon(icon62)
         self.button_axis_point_plane.setIconSize(QtCore.QSize(32, 32))
         self.button_axis_point_plane.setObjectName(_fromUtf8("button_axis_point_plane"))
         self.gridLayout_18.addWidget(self.button_axis_point_plane, 4, 0, 1, 1)
         self.gridLayout_90 = QtGui.QGridLayout()
         self.gridLayout_90.setObjectName(_fromUtf8("gridLayout_90"))
         self.button_planeandpoint_plane = QtGui.QPushButton(self.Plane_Tab1_2)
-        icon61 = QtGui.QIcon()
-        icon61.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_pointPlanePlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_planeandpoint_plane.setIcon(icon61)
+        icon63 = QtGui.QIcon()
+        icon63.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_pointPlanePlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_planeandpoint_plane.setIcon(icon63)
         self.button_planeandpoint_plane.setIconSize(QtCore.QSize(32, 32))
         self.button_planeandpoint_plane.setObjectName(_fromUtf8("button_planeandpoint_plane"))
         self.gridLayout_90.addWidget(self.button_planeandpoint_plane, 0, 0, 1, 1)
@@ -915,9 +952,9 @@ class Ui_Form(object):
         sizePolicy.setVerticalStretch(0)
         sizePolicy.setHeightForWidth(self.button_planeandaxis_plane.sizePolicy().hasHeightForWidth())
         self.button_planeandaxis_plane.setSizePolicy(sizePolicy)
-        icon62 = QtGui.QIcon()
-        icon62.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_planeLinePlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_planeandaxis_plane.setIcon(icon62)
+        icon64 = QtGui.QIcon()
+        icon64.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_planeLinePlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_planeandaxis_plane.setIcon(icon64)
         self.button_planeandaxis_plane.setIconSize(QtCore.QSize(32, 32))
         self.button_planeandaxis_plane.setObjectName(_fromUtf8("button_planeandaxis_plane"))
         self.gridLayout_89.addWidget(self.button_planeandaxis_plane, 0, 0, 1, 1)
@@ -935,9 +972,9 @@ class Ui_Form(object):
         self.horizontalLayout_70 = QtGui.QHBoxLayout()
         self.horizontalLayout_70.setObjectName(_fromUtf8("horizontalLayout_70"))
         self.button_distPlane = QtGui.QPushButton(self.Plane_Tab1_2)
-        icon63 = QtGui.QIcon()
-        icon63.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_distPlanePlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_distPlane.setIcon(icon63)
+        icon65 = QtGui.QIcon()
+        icon65.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_distPlanePlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_distPlane.setIcon(icon65)
         self.button_distPlane.setIconSize(QtCore.QSize(32, 32))
         self.button_distPlane.setObjectName(_fromUtf8("button_distPlane"))
         self.horizontalLayout_70.addWidget(self.button_distPlane)
@@ -971,9 +1008,9 @@ class Ui_Form(object):
         sizePolicy.setVerticalStretch(0)
         sizePolicy.setHeightForWidth(self.button_face_tangent.sizePolicy().hasHeightForWidth())
         self.button_face_tangent.setSizePolicy(sizePolicy)
-        icon64 = QtGui.QIcon()
-        icon64.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_FaceTangent.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_face_tangent.setIcon(icon64)
+        icon66 = QtGui.QIcon()
+        icon66.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_FaceTangent.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_face_tangent.setIcon(icon66)
         self.button_face_tangent.setIconSize(QtCore.QSize(32, 32))
         self.button_face_tangent.setObjectName(_fromUtf8("button_face_tangent"))
         self.horizontalLayout_69.addWidget(self.button_face_tangent)
@@ -1013,9 +1050,9 @@ class Ui_Form(object):
         sizePolicy.setVerticalStretch(0)
         sizePolicy.setHeightForWidth(self.button_click_for_plane.sizePolicy().hasHeightForWidth())
         self.button_click_for_plane.setSizePolicy(sizePolicy)
-        icon65 = QtGui.QIcon()
-        icon65.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_clickPlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_click_for_plane.setIcon(icon65)
+        icon67 = QtGui.QIcon()
+        icon67.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_clickPlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_click_for_plane.setIcon(icon67)
         self.button_click_for_plane.setIconSize(QtCore.QSize(32, 32))
         self.button_click_for_plane.setObjectName(_fromUtf8("button_click_for_plane"))
         self.horizontalLayout_68.addWidget(self.button_click_for_plane)
@@ -1048,9 +1085,9 @@ class Ui_Form(object):
         sizePolicy.setVerticalStretch(0)
         sizePolicy.setHeightForWidth(self.button_extension_plane.sizePolicy().hasHeightForWidth())
         self.button_extension_plane.setSizePolicy(sizePolicy)
-        icon66 = QtGui.QIcon()
-        icon66.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_enlargePlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_extension_plane.setIcon(icon66)
+        icon68 = QtGui.QIcon()
+        icon68.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_enlargePlane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_extension_plane.setIcon(icon68)
         self.button_extension_plane.setIconSize(QtCore.QSize(32, 32))
         self.button_extension_plane.setObjectName(_fromUtf8("button_extension_plane"))
         self.horizontalLayout_71.addWidget(self.button_extension_plane)
@@ -1066,9 +1103,9 @@ class Ui_Form(object):
         self.horizontalLayout_71.addWidget(self.extension_plane)
         self.gridLayout_36.addLayout(self.horizontalLayout_71, 1, 0, 1, 1)
         self.button_object_center_planes = QtGui.QPushButton(self.Plane_Tab2_2)
-        icon67 = QtGui.QIcon()
-        icon67.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_centerObjectsPlanes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_object_center_planes.setIcon(icon67)
+        icon69 = QtGui.QIcon()
+        icon69.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_centerObjectsPlanes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_object_center_planes.setIcon(icon69)
         self.button_object_center_planes.setIconSize(QtCore.QSize(32, 32))
         self.button_object_center_planes.setObjectName(_fromUtf8("button_object_center_planes"))
         self.gridLayout_36.addWidget(self.button_object_center_planes, 2, 0, 1, 1)
@@ -1076,9 +1113,9 @@ class Ui_Form(object):
         self.gridLayout_36.addItem(spacerItem12, 3, 0, 1, 1)
         self.tabWidget_3.addTab(self.Plane_Tab2_2, _fromUtf8(""))
         self.gridLayout_17.addWidget(self.tabWidget_3, 0, 0, 1, 1)
-        icon68 = QtGui.QIcon()
-        icon68.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_plane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.tabWidget_7.addTab(self.Plane_Tab, icon68, _fromUtf8(""))
+        icon70 = QtGui.QIcon()
+        icon70.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_plane.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.tabWidget_7.addTab(self.Plane_Tab, icon70, _fromUtf8(""))
         self.Sweep_Tab = QtGui.QWidget()
         self.Sweep_Tab.setObjectName(_fromUtf8("Sweep_Tab"))
         self.gridLayout_6 = QtGui.QGridLayout(self.Sweep_Tab)
@@ -1115,9 +1152,9 @@ class Ui_Form(object):
         self.gridLayout_87.addWidget(self.radioButton_Frenet, 1, 1, 1, 1)
         self.gridLayout_86.addLayout(self.gridLayout_87, 0, 0, 1, 1)
         self.button_sweep = QtGui.QPushButton(self.frame_9)
-        icon69 = QtGui.QIcon()
-        icon69.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Sweep.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_sweep.setIcon(icon69)
+        icon71 = QtGui.QIcon()
+        icon71.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Sweep.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_sweep.setIcon(icon71)
         self.button_sweep.setIconSize(QtCore.QSize(32, 32))
         self.button_sweep.setObjectName(_fromUtf8("button_sweep"))
         self.gridLayout_86.addWidget(self.button_sweep, 1, 0, 1, 1)
@@ -1125,20 +1162,20 @@ class Ui_Form(object):
         spacerItem13 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
         self.gridLayout_6.addItem(spacerItem13, 3, 0, 1, 1)
         self.button_beam = QtGui.QPushButton(self.Sweep_Tab)
-        icon70 = QtGui.QIcon()
-        icon70.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Beam.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_beam.setIcon(icon70)
+        icon72 = QtGui.QIcon()
+        icon72.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Beam.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_beam.setIcon(icon72)
         self.button_beam.setIconSize(QtCore.QSize(32, 32))
         self.button_beam.setObjectName(_fromUtf8("button_beam"))
         self.gridLayout_6.addWidget(self.button_beam, 1, 0, 1, 1)
         self.button_beam_cut_miter = QtGui.QPushButton(self.Sweep_Tab)
-        icon71 = QtGui.QIcon()
-        icon71.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_BeamMiterCut.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_beam_cut_miter.setIcon(icon71)
+        icon73 = QtGui.QIcon()
+        icon73.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_BeamMiterCut.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_beam_cut_miter.setIcon(icon73)
         self.button_beam_cut_miter.setIconSize(QtCore.QSize(32, 32))
         self.button_beam_cut_miter.setObjectName(_fromUtf8("button_beam_cut_miter"))
         self.gridLayout_6.addWidget(self.button_beam_cut_miter, 2, 0, 1, 1)
-        self.tabWidget_7.addTab(self.Sweep_Tab, icon70, _fromUtf8(""))
+        self.tabWidget_7.addTab(self.Sweep_Tab, icon72, _fromUtf8(""))
         self.Objects_Tab2_2 = QtGui.QWidget()
         self.Objects_Tab2_2.setEnabled(True)
         self.Objects_Tab2_2.setMinimumSize(QtCore.QSize(0, 0))
@@ -1151,17 +1188,17 @@ class Ui_Form(object):
         self.verticalLayout_4.setObjectName(_fromUtf8("verticalLayout_4"))
         self.button_boundingboxes = QtGui.QPushButton(self.Objects_Tab2_2)
         self.button_boundingboxes.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        icon72 = QtGui.QIcon()
-        icon72.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_boundingBoxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_boundingboxes.setIcon(icon72)
+        icon74 = QtGui.QIcon()
+        icon74.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_boundingBoxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_boundingboxes.setIcon(icon74)
         self.button_boundingboxes.setIconSize(QtCore.QSize(32, 32))
         self.button_boundingboxes.setObjectName(_fromUtf8("button_boundingboxes"))
         self.verticalLayout_4.addWidget(self.button_boundingboxes)
         self.button_boundingbox = QtGui.QPushButton(self.Objects_Tab2_2)
         self.button_boundingbox.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        icon73 = QtGui.QIcon()
-        icon73.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_boundingBox.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_boundingbox.setIcon(icon73)
+        icon75 = QtGui.QIcon()
+        icon75.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_boundingBox.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_boundingbox.setIcon(icon75)
         self.button_boundingbox.setIconSize(QtCore.QSize(32, 32))
         self.button_boundingbox.setObjectName(_fromUtf8("button_boundingbox"))
         self.verticalLayout_4.addWidget(self.button_boundingbox)
@@ -1182,9 +1219,9 @@ class Ui_Form(object):
         self.gridLayout_93 = QtGui.QGridLayout()
         self.gridLayout_93.setObjectName(_fromUtf8("gridLayout_93"))
         self.button_cylinder_create = QtGui.QPushButton(self.Objects_Tab2_2)
-        icon74 = QtGui.QIcon()
-        icon74.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cylinder.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_cylinder_create.setIcon(icon74)
+        icon76 = QtGui.QIcon()
+        icon76.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cylinder.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_cylinder_create.setIcon(icon76)
         self.button_cylinder_create.setIconSize(QtCore.QSize(32, 32))
         self.button_cylinder_create.setObjectName(_fromUtf8("button_cylinder_create"))
         self.gridLayout_93.addWidget(self.button_cylinder_create, 0, 0, 1, 1)
@@ -1212,9 +1249,9 @@ class Ui_Form(object):
         self.horizontalLayout_73 = QtGui.QHBoxLayout()
         self.horizontalLayout_73.setObjectName(_fromUtf8("horizontalLayout_73"))
         self.button_cube_create = QtGui.QPushButton(self.Objects_Tab2_2)
-        icon75 = QtGui.QIcon()
-        icon75.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cube.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_cube_create.setIcon(icon75)
+        icon77 = QtGui.QIcon()
+        icon77.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_cube.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_cube_create.setIcon(icon77)
         self.button_cube_create.setIconSize(QtCore.QSize(32, 32))
         self.button_cube_create.setObjectName(_fromUtf8("button_cube_create"))
         self.horizontalLayout_73.addWidget(self.button_cube_create)
@@ -1242,9 +1279,9 @@ class Ui_Form(object):
         self.horizontalLayout_74 = QtGui.QHBoxLayout()
         self.horizontalLayout_74.setObjectName(_fromUtf8("horizontalLayout_74"))
         self.button_sphere_create = QtGui.QPushButton(self.Objects_Tab2_2)
-        icon76 = QtGui.QIcon()
-        icon76.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_sphere.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_sphere_create.setIcon(icon76)
+        icon78 = QtGui.QIcon()
+        icon78.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_sphere.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_sphere_create.setIcon(icon78)
         self.button_sphere_create.setIconSize(QtCore.QSize(32, 32))
         self.button_sphere_create.setObjectName(_fromUtf8("button_sphere_create"))
         self.horizontalLayout_74.addWidget(self.button_sphere_create)
@@ -1262,9 +1299,9 @@ class Ui_Form(object):
         self.horizontalLayout_77 = QtGui.QHBoxLayout()
         self.horizontalLayout_77.setObjectName(_fromUtf8("horizontalLayout_77"))
         self.button_dome_create = QtGui.QPushButton(self.Objects_Tab2_2)
-        icon77 = QtGui.QIcon()
-        icon77.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_dome.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_dome_create.setIcon(icon77)
+        icon79 = QtGui.QIcon()
+        icon79.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_dome.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_dome_create.setIcon(icon79)
         self.button_dome_create.setIconSize(QtCore.QSize(32, 32))
         self.button_dome_create.setObjectName(_fromUtf8("button_dome_create"))
         self.horizontalLayout_77.addWidget(self.button_dome_create)
@@ -1291,9 +1328,9 @@ class Ui_Form(object):
         self.horizontalLayout_75 = QtGui.QHBoxLayout()
         self.horizontalLayout_75.setObjectName(_fromUtf8("horizontalLayout_75"))
         self.button_letter = QtGui.QPushButton(self.Objects_Tab2_2)
-        icon78 = QtGui.QIcon()
-        icon78.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_pointText.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_letter.setIcon(icon78)
+        icon80 = QtGui.QIcon()
+        icon80.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_pointText.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_letter.setIcon(icon80)
         self.button_letter.setIconSize(QtCore.QSize(32, 32))
         self.button_letter.setObjectName(_fromUtf8("button_letter"))
         self.horizontalLayout_75.addWidget(self.button_letter)
@@ -1315,9 +1352,9 @@ class Ui_Form(object):
         self.horizontalLayout_76 = QtGui.QHBoxLayout()
         self.horizontalLayout_76.setObjectName(_fromUtf8("horizontalLayout_76"))
         self.button_revolve = QtGui.QPushButton(self.Objects_Tab2_2)
-        icon79 = QtGui.QIcon()
-        icon79.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Revolve.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_revolve.setIcon(icon79)
+        icon81 = QtGui.QIcon()
+        icon81.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Revolve.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_revolve.setIcon(icon81)
         self.button_revolve.setIconSize(QtCore.QSize(32, 32))
         self.button_revolve.setObjectName(_fromUtf8("button_revolve"))
         self.horizontalLayout_76.addWidget(self.button_revolve)
@@ -1333,31 +1370,31 @@ class Ui_Form(object):
         self.horizontalLayout_76.addWidget(self.angle_revolve)
         self.gridLayout_5.addLayout(self.horizontalLayout_76, 7, 0, 1, 1)
         self.button_copy_objects = QtGui.QPushButton(self.Objects_Tab2_2)
-        icon80 = QtGui.QIcon()
-        icon80.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectCopy.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_copy_objects.setIcon(icon80)
+        icon82 = QtGui.QIcon()
+        icon82.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectCopy.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_copy_objects.setIcon(icon82)
         self.button_copy_objects.setIconSize(QtCore.QSize(32, 32))
         self.button_copy_objects.setObjectName(_fromUtf8("button_copy_objects"))
         self.gridLayout_5.addWidget(self.button_copy_objects, 8, 0, 1, 1)
         self.button_common = QtGui.QPushButton(self.Objects_Tab2_2)
-        icon81 = QtGui.QIcon()
-        icon81.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Common.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_common.setIcon(icon81)
+        icon83 = QtGui.QIcon()
+        icon83.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Common.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_common.setIcon(icon83)
         self.button_common.setIconSize(QtCore.QSize(32, 32))
         self.button_common.setObjectName(_fromUtf8("button_common"))
         self.gridLayout_5.addWidget(self.button_common, 9, 0, 1, 1)
         self.button_difference = QtGui.QPushButton(self.Objects_Tab2_2)
-        icon82 = QtGui.QIcon()
-        icon82.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Difference.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_difference.setIcon(icon82)
+        icon84 = QtGui.QIcon()
+        icon84.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Difference.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_difference.setIcon(icon84)
         self.button_difference.setIconSize(QtCore.QSize(32, 32))
         self.button_difference.setObjectName(_fromUtf8("button_difference"))
         self.gridLayout_5.addWidget(self.button_difference, 10, 0, 1, 1)
         spacerItem14 = QtGui.QSpacerItem(17, 8, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
         self.gridLayout_5.addItem(spacerItem14, 11, 0, 1, 1)
-        icon83 = QtGui.QIcon()
-        icon83.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_box.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.tabWidget_7.addTab(self.Objects_Tab2_2, icon83, _fromUtf8(""))
+        icon85 = QtGui.QIcon()
+        icon85.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_box.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.tabWidget_7.addTab(self.Objects_Tab2_2, icon85, _fromUtf8(""))
         self.tab_2 = QtGui.QWidget()
         self.tab_2.setObjectName(_fromUtf8("tab_2"))
         self.gridLayout_8 = QtGui.QGridLayout(self.tab_2)
@@ -1385,9 +1422,9 @@ class Ui_Form(object):
         self.horizontalLayout_4 = QtGui.QHBoxLayout()
         self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4"))
         self.button_scale_image = QtGui.QPushButton(self.tab_2)
-        icon84 = QtGui.QIcon()
-        icon84.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_ImageScale.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_scale_image.setIcon(icon84)
+        icon86 = QtGui.QIcon()
+        icon86.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_ImageScale.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_scale_image.setIcon(icon86)
         self.button_scale_image.setIconSize(QtCore.QSize(32, 32))
         self.button_scale_image.setObjectName(_fromUtf8("button_scale_image"))
         self.horizontalLayout_4.addWidget(self.button_scale_image)
@@ -1439,9 +1476,9 @@ class Ui_Form(object):
         sizePolicy.setHeightForWidth(self.button_alignface2view.sizePolicy().hasHeightForWidth())
         self.button_alignface2view.setSizePolicy(sizePolicy)
         self.button_alignface2view.setMaximumSize(QtCore.QSize(220, 16777215))
-        icon85 = QtGui.QIcon()
-        icon85.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_viewAlignFace.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_alignface2view.setIcon(icon85)
+        icon87 = QtGui.QIcon()
+        icon87.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_viewAlignFace.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_alignface2view.setIcon(icon87)
         self.button_alignface2view.setIconSize(QtCore.QSize(32, 32))
         self.button_alignface2view.setObjectName(_fromUtf8("button_alignface2view"))
         self.gridLayout_9.addWidget(self.button_alignface2view, 0, 0, 1, 1)
@@ -1449,9 +1486,9 @@ class Ui_Form(object):
         self.horizontalLayout_78.setObjectName(_fromUtf8("horizontalLayout_78"))
         self.button_align_faces = QtGui.QPushButton(self.align_tab_2)
         self.button_align_faces.setMaximumSize(QtCore.QSize(220, 16777215))
-        icon86 = QtGui.QIcon()
-        icon86.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectAlignFaces.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_align_faces.setIcon(icon86)
+        icon88 = QtGui.QIcon()
+        icon88.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectAlignFaces.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_align_faces.setIcon(icon88)
         self.button_align_faces.setIconSize(QtCore.QSize(32, 32))
         self.button_align_faces.setObjectName(_fromUtf8("button_align_faces"))
         self.horizontalLayout_78.addWidget(self.button_align_faces)
@@ -1470,9 +1507,9 @@ class Ui_Form(object):
         self.horizontalLayout_79.setObjectName(_fromUtf8("horizontalLayout_79"))
         self.button_align_edges = QtGui.QPushButton(self.align_tab_2)
         self.button_align_edges.setMaximumSize(QtCore.QSize(220, 16777215))
-        icon87 = QtGui.QIcon()
-        icon87.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectAlignAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_align_edges.setIcon(icon87)
+        icon89 = QtGui.QIcon()
+        icon89.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectAlignAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_align_edges.setIcon(icon89)
         self.button_align_edges.setIconSize(QtCore.QSize(32, 32))
         self.button_align_edges.setObjectName(_fromUtf8("button_align_edges"))
         self.horizontalLayout_79.addWidget(self.button_align_edges)
@@ -1490,9 +1527,9 @@ class Ui_Form(object):
         self.horizontalLayout_2 = QtGui.QHBoxLayout()
         self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
         self.button_align_main_axis = QtGui.QPushButton(self.align_tab_2)
-        icon88 = QtGui.QIcon()
-        icon88.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectAlignMainAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_align_main_axis.setIcon(icon88)
+        icon90 = QtGui.QIcon()
+        icon90.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectAlignMainAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_align_main_axis.setIcon(icon90)
         self.button_align_main_axis.setIconSize(QtCore.QSize(32, 32))
         self.button_align_main_axis.setObjectName(_fromUtf8("button_align_main_axis"))
         self.horizontalLayout_2.addWidget(self.button_align_main_axis)
@@ -1508,16 +1545,16 @@ class Ui_Form(object):
         self.horizontalLayout_2.addWidget(self.angle_align_main_axis)
         self.gridLayout_9.addLayout(self.horizontalLayout_2, 3, 0, 1, 1)
         self.button_joint_points = QtGui.QPushButton(self.align_tab_2)
-        icon89 = QtGui.QIcon()
-        icon89.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectJointPoints.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_joint_points.setIcon(icon89)
+        icon91 = QtGui.QIcon()
+        icon91.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectJointPoints.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_joint_points.setIcon(icon91)
         self.button_joint_points.setIconSize(QtCore.QSize(32, 32))
         self.button_joint_points.setObjectName(_fromUtf8("button_joint_points"))
         self.gridLayout_9.addWidget(self.button_joint_points, 4, 0, 1, 1)
         self.button_joint_faces = QtGui.QPushButton(self.align_tab_2)
-        icon90 = QtGui.QIcon()
-        icon90.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectJointFaces.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_joint_faces.setIcon(icon90)
+        icon92 = QtGui.QIcon()
+        icon92.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectJointFaces.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_joint_faces.setIcon(icon92)
         self.button_joint_faces.setIconSize(QtCore.QSize(32, 32))
         self.button_joint_faces.setObjectName(_fromUtf8("button_joint_faces"))
         self.gridLayout_9.addWidget(self.button_joint_faces, 5, 0, 1, 1)
@@ -1689,9 +1726,9 @@ class Ui_Form(object):
         self.ObjRot_button_select_axis.setMaximumSize(QtCore.QSize(80, 16777215))
         self.ObjRot_button_select_axis.setObjectName(_fromUtf8("ObjRot_button_select_axis"))
         self.gridLayout_105.addWidget(self.ObjRot_button_select_axis, 1, 0, 1, 1)
-        icon91 = QtGui.QIcon()
-        icon91.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_rotationAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.tabWidget_10.addTab(self.tab_18, icon91, _fromUtf8(""))
+        icon93 = QtGui.QIcon()
+        icon93.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_rotationAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.tabWidget_10.addTab(self.tab_18, icon93, _fromUtf8(""))
         self.tab_19 = QtGui.QWidget()
         self.tab_19.setObjectName(_fromUtf8("tab_19"))
         self.gridLayout_106 = QtGui.QGridLayout(self.tab_19)
@@ -1718,9 +1755,9 @@ class Ui_Form(object):
         self.ObjRot_button_select_center.setMaximumSize(QtCore.QSize(80, 16777215))
         self.ObjRot_button_select_center.setObjectName(_fromUtf8("ObjRot_button_select_center"))
         self.gridLayout_106.addWidget(self.ObjRot_button_select_center, 1, 0, 1, 1)
-        icon92 = QtGui.QIcon()
-        icon92.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_rotationPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.tabWidget_10.addTab(self.tab_19, icon92, _fromUtf8(""))
+        icon94 = QtGui.QIcon()
+        icon94.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_rotationPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.tabWidget_10.addTab(self.tab_19, icon94, _fromUtf8(""))
         self.gridLayout_104.addWidget(self.tabWidget_10, 1, 0, 1, 1)
         self.groupBox_21 = QtGui.QGroupBox(self.frame_11)
         self.groupBox_21.setMinimumSize(QtCore.QSize(150, 67))
@@ -1756,9 +1793,9 @@ class Ui_Form(object):
         self.ObjRot_button_select_angle.setMaximumSize(QtCore.QSize(80, 16777215))
         self.ObjRot_button_select_angle.setObjectName(_fromUtf8("ObjRot_button_select_angle"))
         self.gridLayout_109.addWidget(self.ObjRot_button_select_angle, 0, 0, 1, 1)
-        icon93 = QtGui.QIcon()
-        icon93.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_click.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.tabWidget_11.addTab(self.tab_21, icon93, _fromUtf8(""))
+        icon95 = QtGui.QIcon()
+        icon95.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_click.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.tabWidget_11.addTab(self.tab_21, icon95, _fromUtf8(""))
         self.gridLayout_107.addWidget(self.tabWidget_11, 0, 0, 1, 1)
         self.horizontalLayout_81 = QtGui.QHBoxLayout()
         self.horizontalLayout_81.setObjectName(_fromUtf8("horizontalLayout_81"))
@@ -1800,8 +1837,8 @@ class Ui_Form(object):
         self.tabWidget_9.addTab(self.rotate_tab_2, _fromUtf8(""))
         self.translate_tab_2 = QtGui.QWidget()
         self.translate_tab_2.setObjectName(_fromUtf8("translate_tab_2"))
-        self.gridLayout_60 = QtGui.QGridLayout(self.translate_tab_2)
-        self.gridLayout_60.setObjectName(_fromUtf8("gridLayout_60"))
+        self.gridLayout_20 = QtGui.QGridLayout(self.translate_tab_2)
+        self.gridLayout_20.setObjectName(_fromUtf8("gridLayout_20"))
         self.frame_12 = QtGui.QFrame(self.translate_tab_2)
         sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
         sizePolicy.setHorizontalStretch(0)
@@ -1837,7 +1874,23 @@ class Ui_Form(object):
         self.ObjTrans_deepCopy.setObjectName(_fromUtf8("ObjTrans_deepCopy"))
         self.horizontalLayout_83.addWidget(self.ObjTrans_deepCopy)
         self.gridLayout_111.addLayout(self.horizontalLayout_83, 1, 0, 1, 1)
+        self.horizontalLayout_84 = QtGui.QHBoxLayout()
+        self.horizontalLayout_84.setObjectName(_fromUtf8("horizontalLayout_84"))
+        self.ObjTrans_button_reset = QtGui.QPushButton(self.frame_12)
+        self.ObjTrans_button_reset.setMinimumSize(QtCore.QSize(40, 0))
+        self.ObjTrans_button_reset.setMaximumSize(QtCore.QSize(60, 16777215))
+        self.ObjTrans_button_reset.setObjectName(_fromUtf8("ObjTrans_button_reset"))
+        self.horizontalLayout_84.addWidget(self.ObjTrans_button_reset)
+        spacerItem21 = QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+        self.horizontalLayout_84.addItem(spacerItem21)
+        self.ObjTrans_button_apply = QtGui.QPushButton(self.frame_12)
+        self.ObjTrans_button_apply.setMinimumSize(QtCore.QSize(40, 0))
+        self.ObjTrans_button_apply.setMaximumSize(QtCore.QSize(60, 16777215))
+        self.ObjTrans_button_apply.setObjectName(_fromUtf8("ObjTrans_button_apply"))
+        self.horizontalLayout_84.addWidget(self.ObjTrans_button_apply)
+        self.gridLayout_111.addLayout(self.horizontalLayout_84, 3, 0, 1, 1)
         self.tabWidget_12 = QtGui.QTabWidget(self.frame_12)
+        self.tabWidget_12.setEnabled(True)
         self.tabWidget_12.setObjectName(_fromUtf8("tabWidget_12"))
         self.tab_22 = QtGui.QWidget()
         self.tab_22.setObjectName(_fromUtf8("tab_22"))
@@ -1852,8 +1905,8 @@ class Ui_Form(object):
         self.groupBox_22.setMinimumSize(QtCore.QSize(150, 0))
         self.groupBox_22.setFlat(False)
         self.groupBox_22.setObjectName(_fromUtf8("groupBox_22"))
-        self.gridLayout_113 = QtGui.QGridLayout(self.groupBox_22)
-        self.gridLayout_113.setObjectName(_fromUtf8("gridLayout_113"))
+        self.gridLayout_19 = QtGui.QGridLayout(self.groupBox_22)
+        self.gridLayout_19.setObjectName(_fromUtf8("gridLayout_19"))
         self.ObjTrans_comboBox_start = QtGui.QComboBox(self.groupBox_22)
         self.ObjTrans_comboBox_start.setEnabled(True)
         sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed)
@@ -1870,13 +1923,14 @@ class Ui_Form(object):
         self.ObjTrans_comboBox_start.addItem(_fromUtf8(""))
         self.ObjTrans_comboBox_start.addItem(_fromUtf8(""))
         self.ObjTrans_comboBox_start.addItem(_fromUtf8(""))
-        self.gridLayout_113.addWidget(self.ObjTrans_comboBox_start, 0, 0, 1, 1)
+        self.ObjTrans_comboBox_start.addItem(_fromUtf8(""))
+        self.gridLayout_19.addWidget(self.ObjTrans_comboBox_start, 0, 0, 1, 1)
         self.ObjTrans_button_select_start = QtGui.QPushButton(self.groupBox_22)
         self.ObjTrans_button_select_start.setEnabled(True)
-        self.ObjTrans_button_select_start.setMinimumSize(QtCore.QSize(50, 0))
-        self.ObjTrans_button_select_start.setMaximumSize(QtCore.QSize(120, 16777215))
+        self.ObjTrans_button_select_start.setMinimumSize(QtCore.QSize(0, 0))
+        self.ObjTrans_button_select_start.setMaximumSize(QtCore.QSize(100, 29))
         self.ObjTrans_button_select_start.setObjectName(_fromUtf8("ObjTrans_button_select_start"))
-        self.gridLayout_113.addWidget(self.ObjTrans_button_select_start, 1, 0, 1, 1)
+        self.gridLayout_19.addWidget(self.ObjTrans_button_select_start, 1, 0, 1, 1)
         self.gridLayout_114 = QtGui.QGridLayout()
         self.gridLayout_114.setObjectName(_fromUtf8("gridLayout_114"))
         self.gridLayout_115 = QtGui.QGridLayout()
@@ -1915,21 +1969,20 @@ class Ui_Form(object):
         self.ObjTrans_start_z.setObjectName(_fromUtf8("ObjTrans_start_z"))
         self.gridLayout_117.addWidget(self.ObjTrans_start_z, 0, 1, 1, 1)
         self.gridLayout_114.addLayout(self.gridLayout_117, 2, 0, 1, 1)
-        self.gridLayout_113.addLayout(self.gridLayout_114, 2, 0, 1, 1)
+        self.gridLayout_19.addLayout(self.gridLayout_114, 2, 0, 1, 1)
         self.gridLayout_112.addWidget(self.groupBox_22, 0, 0, 1, 1)
-        icon94 = QtGui.QIcon()
-        icon94.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_startPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.tabWidget_12.addTab(self.tab_22, icon94, _fromUtf8(""))
+        icon96 = QtGui.QIcon()
+        icon96.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_startPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.tabWidget_12.addTab(self.tab_22, icon96, _fromUtf8(""))
         self.tab_23 = QtGui.QWidget()
         self.tab_23.setObjectName(_fromUtf8("tab_23"))
-        self.gridLayout_118 = QtGui.QGridLayout(self.tab_23)
-        self.gridLayout_118.setObjectName(_fromUtf8("gridLayout_118"))
         self.groupBox_23 = QtGui.QGroupBox(self.tab_23)
+        self.groupBox_23.setGeometry(QtCore.QRect(9, 9, 183, 225))
         self.groupBox_23.setMinimumSize(QtCore.QSize(150, 0))
         self.groupBox_23.setFlat(False)
         self.groupBox_23.setObjectName(_fromUtf8("groupBox_23"))
-        self.gridLayout_119 = QtGui.QGridLayout(self.groupBox_23)
-        self.gridLayout_119.setObjectName(_fromUtf8("gridLayout_119"))
+        self.gridLayout_12 = QtGui.QGridLayout(self.groupBox_23)
+        self.gridLayout_12.setObjectName(_fromUtf8("gridLayout_12"))
         self.ObjTrans_comboBox_end = QtGui.QComboBox(self.groupBox_23)
         self.ObjTrans_comboBox_end.setEnabled(True)
         sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed)
@@ -1947,13 +2000,18 @@ class Ui_Form(object):
         self.ObjTrans_comboBox_end.addItem(_fromUtf8(""))
         self.ObjTrans_comboBox_end.addItem(_fromUtf8(""))
         self.ObjTrans_comboBox_end.addItem(_fromUtf8(""))
-        self.gridLayout_119.addWidget(self.ObjTrans_comboBox_end, 0, 0, 1, 1)
+        self.gridLayout_12.addWidget(self.ObjTrans_comboBox_end, 0, 0, 1, 1)
         self.ObjTrans_button_select_end = QtGui.QPushButton(self.groupBox_23)
         self.ObjTrans_button_select_end.setEnabled(True)
-        self.ObjTrans_button_select_end.setMinimumSize(QtCore.QSize(100, 0))
-        self.ObjTrans_button_select_end.setMaximumSize(QtCore.QSize(120, 16777215))
+        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Minimum)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.ObjTrans_button_select_end.sizePolicy().hasHeightForWidth())
+        self.ObjTrans_button_select_end.setSizePolicy(sizePolicy)
+        self.ObjTrans_button_select_end.setMinimumSize(QtCore.QSize(0, 0))
+        self.ObjTrans_button_select_end.setMaximumSize(QtCore.QSize(100, 29))
         self.ObjTrans_button_select_end.setObjectName(_fromUtf8("ObjTrans_button_select_end"))
-        self.gridLayout_119.addWidget(self.ObjTrans_button_select_end, 1, 0, 1, 1)
+        self.gridLayout_12.addWidget(self.ObjTrans_button_select_end, 1, 0, 1, 1)
         self.gridLayout_120 = QtGui.QGridLayout()
         self.gridLayout_120.setObjectName(_fromUtf8("gridLayout_120"))
         self.gridLayout_121 = QtGui.QGridLayout()
@@ -1992,30 +2050,55 @@ class Ui_Form(object):
         self.ObjTrans_end_x.setObjectName(_fromUtf8("ObjTrans_end_x"))
         self.gridLayout_123.addWidget(self.ObjTrans_end_x, 0, 1, 1, 1)
         self.gridLayout_120.addLayout(self.gridLayout_123, 0, 0, 1, 1)
-        self.gridLayout_119.addLayout(self.gridLayout_120, 2, 0, 1, 1)
-        self.gridLayout_118.addWidget(self.groupBox_23, 0, 0, 1, 1)
-        icon95 = QtGui.QIcon()
-        icon95.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_endPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.tabWidget_12.addTab(self.tab_23, icon95, _fromUtf8(""))
+        self.gridLayout_12.addLayout(self.gridLayout_120, 2, 0, 1, 1)
+        icon97 = QtGui.QIcon()
+        icon97.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_endPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.tabWidget_12.addTab(self.tab_23, icon97, _fromUtf8(""))
+        self.tab = QtGui.QWidget()
+        self.tab.setObjectName(_fromUtf8("tab"))
+        self.gridLayout_21 = QtGui.QGridLayout(self.tab)
+        self.gridLayout_21.setObjectName(_fromUtf8("gridLayout_21"))
+        self.verticalLayout = QtGui.QVBoxLayout()
+        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
+        self.ObjTrans_horizontalSlider = QtGui.QSlider(self.tab)
+        self.ObjTrans_horizontalSlider.setEnabled(False)
+        self.ObjTrans_horizontalSlider.setMinimumSize(QtCore.QSize(0, 39))
+        self.ObjTrans_horizontalSlider.setMaximumSize(QtCore.QSize(16777215, 16777215))
+        self.ObjTrans_horizontalSlider.setMinimum(-1000)
+        self.ObjTrans_horizontalSlider.setMaximum(1000)
+        self.ObjTrans_horizontalSlider.setProperty("value", 100)
+        self.ObjTrans_horizontalSlider.setOrientation(QtCore.Qt.Horizontal)
+        self.ObjTrans_horizontalSlider.setTickPosition(QtGui.QSlider.TicksBothSides)
+        self.ObjTrans_horizontalSlider.setTickInterval(20)
+        self.ObjTrans_horizontalSlider.setObjectName(_fromUtf8("ObjTrans_horizontalSlider"))
+        self.verticalLayout.addWidget(self.ObjTrans_horizontalSlider)
+        self.horizontalLayout_85 = QtGui.QHBoxLayout()
+        self.horizontalLayout_85.setObjectName(_fromUtf8("horizontalLayout_85"))
+        self.ObjTrans_lineEdit_length_seg = QtGui.QLineEdit(self.tab)
+        self.ObjTrans_lineEdit_length_seg.setEnabled(False)
+        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.MinimumExpanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.ObjTrans_lineEdit_length_seg.sizePolicy().hasHeightForWidth())
+        self.ObjTrans_lineEdit_length_seg.setSizePolicy(sizePolicy)
+        self.ObjTrans_lineEdit_length_seg.setMinimumSize(QtCore.QSize(40, 0))
+        self.ObjTrans_lineEdit_length_seg.setMaximumSize(QtCore.QSize(60, 16777215))
+        self.ObjTrans_lineEdit_length_seg.setMaxLength(32769)
+        self.ObjTrans_lineEdit_length_seg.setObjectName(_fromUtf8("ObjTrans_lineEdit_length_seg"))
+        self.horizontalLayout_85.addWidget(self.ObjTrans_lineEdit_length_seg)
+        self.label_length_segment = QtGui.QLabel(self.tab)
+        self.label_length_segment.setMaximumSize(QtCore.QSize(60, 16777215))
+        self.label_length_segment.setObjectName(_fromUtf8("label_length_segment"))
+        self.horizontalLayout_85.addWidget(self.label_length_segment)
+        self.verticalLayout.addLayout(self.horizontalLayout_85)
+        self.gridLayout_21.addLayout(self.verticalLayout, 0, 0, 1, 1)
+        spacerItem22 = QtGui.QSpacerItem(20, 138, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+        self.gridLayout_21.addItem(spacerItem22, 1, 0, 1, 1)
+        self.tabWidget_12.addTab(self.tab, _fromUtf8(""))
         self.gridLayout_111.addWidget(self.tabWidget_12, 2, 0, 1, 1)
-        self.horizontalLayout_84 = QtGui.QHBoxLayout()
-        self.horizontalLayout_84.setObjectName(_fromUtf8("horizontalLayout_84"))
-        self.ObjTrans_button_reset = QtGui.QPushButton(self.frame_12)
-        self.ObjTrans_button_reset.setMinimumSize(QtCore.QSize(40, 0))
-        self.ObjTrans_button_reset.setMaximumSize(QtCore.QSize(60, 16777215))
-        self.ObjTrans_button_reset.setObjectName(_fromUtf8("ObjTrans_button_reset"))
-        self.horizontalLayout_84.addWidget(self.ObjTrans_button_reset)
-        spacerItem21 = QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
-        self.horizontalLayout_84.addItem(spacerItem21)
-        self.ObjTrans_button_apply = QtGui.QPushButton(self.frame_12)
-        self.ObjTrans_button_apply.setMinimumSize(QtCore.QSize(40, 0))
-        self.ObjTrans_button_apply.setMaximumSize(QtCore.QSize(60, 16777215))
-        self.ObjTrans_button_apply.setObjectName(_fromUtf8("ObjTrans_button_apply"))
-        self.horizontalLayout_84.addWidget(self.ObjTrans_button_apply)
-        self.gridLayout_111.addLayout(self.horizontalLayout_84, 3, 0, 1, 1)
-        self.gridLayout_60.addWidget(self.frame_12, 0, 0, 1, 1)
-        spacerItem22 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
-        self.gridLayout_60.addItem(spacerItem22, 1, 0, 1, 1)
+        self.gridLayout_20.addWidget(self.frame_12, 0, 0, 1, 1)
+        spacerItem23 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+        self.gridLayout_20.addItem(spacerItem23, 1, 0, 1, 1)
         self.tabWidget_9.addTab(self.translate_tab_2, _fromUtf8(""))
         self.gridLayout_94.addWidget(self.tabWidget_9, 0, 0, 1, 1)
         self.tabWidget_7.addTab(self.Modif_Tab_2, _fromUtf8(""))
@@ -2030,135 +2113,137 @@ class Ui_Form(object):
         sizePolicy.setHeightForWidth(self.button_alignview.sizePolicy().hasHeightForWidth())
         self.button_alignview.setSizePolicy(sizePolicy)
         self.button_alignview.setMaximumSize(QtCore.QSize(16777215, 16777215))
-        icon96 = QtGui.QIcon()
-        icon96.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_viewAlign.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_alignview.setIcon(icon96)
+        icon98 = QtGui.QIcon()
+        icon98.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_viewAlign.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_alignview.setIcon(icon98)
         self.button_alignview.setIconSize(QtCore.QSize(32, 32))
         self.button_alignview.setObjectName(_fromUtf8("button_alignview"))
         self.gridLayout_124.addWidget(self.button_alignview, 0, 0, 1, 1)
-        spacerItem23 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
-        self.gridLayout_124.addItem(spacerItem23, 2, 0, 1, 1)
+        spacerItem24 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+        self.gridLayout_124.addItem(spacerItem24, 2, 0, 1, 1)
         self.button_trackcamera = QtGui.QPushButton(self.View_Tab_2)
-        icon97 = QtGui.QIcon()
-        icon97.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_trackCamera.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_trackcamera.setIcon(icon97)
+        icon99 = QtGui.QIcon()
+        icon99.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_trackCamera.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_trackcamera.setIcon(icon99)
         self.button_trackcamera.setIconSize(QtCore.QSize(32, 32))
         self.button_trackcamera.setObjectName(_fromUtf8("button_trackcamera"))
         self.gridLayout_124.addWidget(self.button_trackcamera, 1, 0, 1, 1)
-        icon98 = QtGui.QIcon()
-        icon98.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_view.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.tabWidget_7.addTab(self.View_Tab_2, icon98, _fromUtf8(""))
+        icon100 = QtGui.QIcon()
+        icon100.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_view.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.tabWidget_7.addTab(self.View_Tab_2, icon100, _fromUtf8(""))
         self.tab_24 = QtGui.QWidget()
         self.tab_24.setObjectName(_fromUtf8("tab_24"))
         self.gridLayout_125 = QtGui.QGridLayout(self.tab_24)
         self.gridLayout_125.setObjectName(_fromUtf8("gridLayout_125"))
         self.button_isView = QtGui.QPushButton(self.tab_24)
-        icon99 = QtGui.QIcon()
-        icon99.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_FCCamera_02.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_isView.setIcon(icon99)
+        icon101 = QtGui.QIcon()
+        icon101.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_FCCamera_02.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_isView.setIcon(icon101)
         self.button_isView.setIconSize(QtCore.QSize(32, 32))
         self.button_isView.setObjectName(_fromUtf8("button_isView"))
         self.gridLayout_125.addWidget(self.button_isView, 9, 0, 1, 1)
-        spacerItem24 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
-        self.gridLayout_125.addItem(spacerItem24, 10, 0, 1, 1)
+        spacerItem25 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+        self.gridLayout_125.addItem(spacerItem25, 10, 0, 1, 1)
         self.button_isParallel = QtGui.QPushButton(self.tab_24)
-        icon100 = QtGui.QIcon()
-        icon100.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isParallel.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_isParallel.setIcon(icon100)
+        icon102 = QtGui.QIcon()
+        icon102.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isParallel.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_isParallel.setIcon(icon102)
         self.button_isParallel.setIconSize(QtCore.QSize(32, 32))
         self.button_isParallel.setObjectName(_fromUtf8("button_isParallel"))
         self.gridLayout_125.addWidget(self.button_isParallel, 0, 0, 1, 1)
         self.button_isAngle = QtGui.QPushButton(self.tab_24)
-        icon101 = QtGui.QIcon()
-        icon101.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_angleBetween.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_isAngle.setIcon(icon101)
+        icon103 = QtGui.QIcon()
+        icon103.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_angleBetween.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_isAngle.setIcon(icon103)
         self.button_isAngle.setIconSize(QtCore.QSize(32, 32))
         self.button_isAngle.setObjectName(_fromUtf8("button_isAngle"))
         self.gridLayout_125.addWidget(self.button_isAngle, 4, 0, 1, 1)
         self.button_isLength = QtGui.QPushButton(self.tab_24)
-        icon102 = QtGui.QIcon()
-        icon102.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isLength.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_isLength.setIcon(icon102)
+        icon104 = QtGui.QIcon()
+        icon104.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isLength.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_isLength.setIcon(icon104)
         self.button_isLength.setIconSize(QtCore.QSize(32, 32))
         self.button_isLength.setObjectName(_fromUtf8("button_isLength"))
         self.gridLayout_125.addWidget(self.button_isLength, 6, 0, 1, 1)
         self.button_isDistance = QtGui.QPushButton(self.tab_24)
-        icon103 = QtGui.QIcon()
-        icon103.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_distanceBetween.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_isDistance.setIcon(icon103)
+        icon105 = QtGui.QIcon()
+        icon105.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_distanceBetween.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_isDistance.setIcon(icon105)
         self.button_isDistance.setIconSize(QtCore.QSize(32, 32))
         self.button_isDistance.setObjectName(_fromUtf8("button_isDistance"))
         self.gridLayout_125.addWidget(self.button_isDistance, 5, 0, 1, 1)
         self.button_isCoplanar = QtGui.QPushButton(self.tab_24)
-        icon104 = QtGui.QIcon()
-        icon104.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isCoplanar.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_isCoplanar.setIcon(icon104)
+        icon106 = QtGui.QIcon()
+        icon106.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isCoplanar.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_isCoplanar.setIcon(icon106)
         self.button_isCoplanar.setIconSize(QtCore.QSize(32, 32))
         self.button_isCoplanar.setObjectName(_fromUtf8("button_isCoplanar"))
         self.gridLayout_125.addWidget(self.button_isCoplanar, 2, 0, 1, 1)
         self.button_isArea = QtGui.QPushButton(self.tab_24)
-        icon105 = QtGui.QIcon()
-        icon105.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isArea.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_isArea.setIcon(icon105)
+        icon107 = QtGui.QIcon()
+        icon107.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isArea.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_isArea.setIcon(icon107)
         self.button_isArea.setIconSize(QtCore.QSize(32, 32))
         self.button_isArea.setObjectName(_fromUtf8("button_isArea"))
         self.gridLayout_125.addWidget(self.button_isArea, 7, 0, 1, 1)
         self.button_isPerpendicular = QtGui.QPushButton(self.tab_24)
-        icon106 = QtGui.QIcon()
-        icon106.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isPerpendicular.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_isPerpendicular.setIcon(icon106)
+        icon108 = QtGui.QIcon()
+        icon108.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isPerpendicular.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_isPerpendicular.setIcon(icon108)
         self.button_isPerpendicular.setIconSize(QtCore.QSize(32, 32))
         self.button_isPerpendicular.setObjectName(_fromUtf8("button_isPerpendicular"))
         self.gridLayout_125.addWidget(self.button_isPerpendicular, 1, 0, 1, 1)
         self.button_isClearance = QtGui.QPushButton(self.tab_24)
-        icon107 = QtGui.QIcon()
-        icon107.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isClearance.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_isClearance.setIcon(icon107)
+        icon109 = QtGui.QIcon()
+        icon109.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isClearance.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_isClearance.setIcon(icon109)
         self.button_isClearance.setIconSize(QtCore.QSize(32, 32))
         self.button_isClearance.setObjectName(_fromUtf8("button_isClearance"))
         self.gridLayout_125.addWidget(self.button_isClearance, 3, 0, 1, 1)
         self.button_isRadius = QtGui.QPushButton(self.tab_24)
-        icon108 = QtGui.QIcon()
-        icon108.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isRadius.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.button_isRadius.setIcon(icon108)
+        icon110 = QtGui.QIcon()
+        icon110.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isRadius.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.button_isRadius.setIcon(icon110)
         self.button_isRadius.setIconSize(QtCore.QSize(32, 32))
         self.button_isRadius.setObjectName(_fromUtf8("button_isRadius"))
         self.gridLayout_125.addWidget(self.button_isRadius, 8, 0, 1, 1)
-        icon109 = QtGui.QIcon()
-        icon109.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_check.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.tabWidget_7.addTab(self.tab_24, icon109, _fromUtf8(""))
+        icon111 = QtGui.QIcon()
+        icon111.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_check.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.tabWidget_7.addTab(self.tab_24, icon111, _fromUtf8(""))
         self.gridLayout_128.addWidget(self.tabWidget_7, 0, 0, 1, 1)
         self.scrollArea.setWidget(self.scrollAreaWidgetContents)
-        self.gridLayout_34.addWidget(self.scrollArea, 0, 0, 1, 1)
+        self.gridLayout_13.addWidget(self.scrollArea, 0, 0, 1, 1)
         self.horizontalLayout_43 = QtGui.QHBoxLayout()
         self.horizontalLayout_43.setObjectName(_fromUtf8("horizontalLayout_43"))
         self.button_WF_quit = QtGui.QPushButton(Form)
         self.button_WF_quit.setObjectName(_fromUtf8("button_WF_quit"))
         self.horizontalLayout_43.addWidget(self.button_WF_quit)
-        spacerItem25 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
-        self.horizontalLayout_43.addItem(spacerItem25)
+        spacerItem26 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+        self.horizontalLayout_43.addItem(spacerItem26)
         self.label_release = QtGui.QLabel(Form)
         self.label_release.setObjectName(_fromUtf8("label_release"))
         self.horizontalLayout_43.addWidget(self.label_release)
-        self.gridLayout_34.addLayout(self.horizontalLayout_43, 1, 0, 1, 1)
+        self.gridLayout_13.addLayout(self.horizontalLayout_43, 1, 0, 1, 1)
 
         self.retranslateUi(Form)
         self.tabWidget_7.setCurrentIndex(0)
-        self.tabWidget.setCurrentIndex(2)
-        self.tabWidget_2.setCurrentIndex(2)
+        self.tabWidget.setCurrentIndex(0)
+        self.point_proj_comboBox.setCurrentIndex(0)
+        self.tabWidget_2.setCurrentIndex(0)
         self.point_loc_comboBox.setCurrentIndex(1)
         self.tabWidget_8.setCurrentIndex(0)
+        self.point_proj_comboBox_2.setCurrentIndex(0)
         self.tabWidget_3.setCurrentIndex(0)
         self.transition_comboBox.setCurrentIndex(2)
         self.Image_comboBox_axis_rotate.setCurrentIndex(0)
         self.Image_comboBox_axis_scale.setCurrentIndex(0)
-        self.tabWidget_9.setCurrentIndex(2)
+        self.tabWidget_9.setCurrentIndex(0)
         self.tabWidget_10.setCurrentIndex(0)
         self.ObjRot_comboBox_axis.setCurrentIndex(0)
         self.ObjRot_comboBox_center.setCurrentIndex(2)
         self.tabWidget_11.setCurrentIndex(0)
         self.tabWidget_12.setCurrentIndex(0)
-        self.ObjTrans_comboBox_start.setCurrentIndex(3)
+        self.ObjTrans_comboBox_start.setCurrentIndex(0)
         self.ObjTrans_comboBox_end.setCurrentIndex(0)
         QtCore.QMetaObject.connectSlotsByName(Form)
 
@@ -2283,6 +2368,15 @@ class Ui_Form(object):
 "\n"
 "Be aware that if the plane is not extended enough the intersection Point is still created (as if). ", None))
         self.button_point_face_point.setText(_translate("Form", "Point(s)=(Pt(s),Face(s))", None))
+        self.button_points_projection.setToolTip(_translate("Form", "<html><head/><body><p>Create projected point(s) on the choosen main planes.</p><p>- Select one (or several) Point(s) and/or one (or several) Axis.</p><p>Define the projection plane if needed.</p><p>It can be either</p><p>XY plane,</p><p>YZ plane,</p><p>XZ plane or</p><p>All 3 planes</p></body></html>", None))
+        self.button_points_projection.setText(_translate("Form", "Projected Points", None))
+        self.point_proj_comboBox.setToolTip(_translate("Form", "<html><head/><body><p>The projection plane(s)</p></body></html>", None))
+        self.point_proj_comboBox.setItemText(0, _translate("Form", "All", None))
+        self.point_proj_comboBox.setItemText(1, _translate("Form", "XY plane", None))
+        self.point_proj_comboBox.setItemText(2, _translate("Form", "YZ plane", None))
+        self.point_proj_comboBox.setItemText(3, _translate("Form", "XZ plane", None))
+        self.tabWidget.setTabText(self.tabWidget.indexOf(self.Point_Tab1_3), _translate("Form", "Point 1/3", None))
+        self.tabWidget.setTabToolTip(self.tabWidget.indexOf(self.Point_Tab1_3), _translate("Form", "Create Point(s)", None))
         self.button_point_line_point.setToolTip(_translate("Form", "Point(s)=(Point(s),Line(s)):\n"
 "    Create projection(s) of Point(s) onto Line(s).\n"
 "\n"
@@ -2300,8 +2394,6 @@ class Ui_Form(object):
 "    \n"
 "    Be aware that if the line is not extended enough the intersection Point is still created (as if).", None))
         self.button_point_line_point.setText(_translate("Form", "Point(s)=(Pt(s),Line(s)) ", None))
-        self.tabWidget.setTabText(self.tabWidget.indexOf(self.Point_Tab1_3), _translate("Form", "Point 1/3", None))
-        self.tabWidget.setTabToolTip(self.tabWidget.indexOf(self.Point_Tab1_3), _translate("Form", "Create Point(s)", None))
         self.button_twolines_point.setToolTip(_translate("Form", "Point(s)=(Line(s),Line(s)):\n"
 "Plot one or two Point(s) at minimum distance of two Lines\n"
 "Create a unique Point at intersection of 2 crossing Lines.\n"
@@ -2367,11 +2459,6 @@ class Ui_Form(object):
 "    if you select an Object : many points will be created.\n"
 "- Then click on this button.", None))
         self.button_object_Npoint.setText(_translate("Form", "Object(s) N Point(s)", None))
-        self.button_point_to_sketch.setToolTip(_translate("Form", "Transform Point(s) in Sketch\'s Point(s) by projection onto the Sketch\'s Plane:\n"
-"- First select an existing Sketch;\n"
-"- Select as much as Points needed;\n"
-"Then click on this button.", None))
-        self.button_point_to_sketch.setText(_translate("Form", "Point(s) to Sketch", None))
         self.tabWidget.setTabText(self.tabWidget.indexOf(self.Point_Tab2_3), _translate("Form", "Point 2/3", None))
         self.tabWidget.setTabToolTip(self.tabWidget.indexOf(self.Point_Tab2_3), _translate("Form", "Create Point(s)", None))
         self.button_points_load.setToolTip(_translate("Form", "Load a set of points from an ASCII file:\n"
@@ -2397,6 +2484,11 @@ class Ui_Form(object):
         self.spin_random_points.setToolTip(_translate("Form", "<html><head/><body><p>The number indicates in how many point(s) will be generated  (Max 100).</p></body></html>", None))
         self.distance_random_points.setToolTip(_translate("Form", "<html><head/><body><p>If set to 10.0 return random floats coordinates in the half-open interval [-10.0, 10.0).</p></body></html>", None))
         self.distance_random_points.setText(_translate("Form", "10.0", None))
+        self.button_point_to_sketch.setToolTip(_translate("Form", "Transform Point(s) in Sketch\'s Point(s) by projection onto the Sketch\'s Plane:\n"
+"- First select an existing Sketch;\n"
+"- Select as much as Points needed;\n"
+"Then click on this button.", None))
+        self.button_point_to_sketch.setText(_translate("Form", "Point(s) to Sketch", None))
         self.tabWidget.setTabText(self.tabWidget.indexOf(self.Point_Tab3_3), _translate("Form", "Point 3/3", None))
         self.tabWidget_7.setTabText(self.tabWidget_7.indexOf(self.Point_Tab), _translate("Form", "Point", None))
         self.tabWidget_7.setTabToolTip(self.tabWidget_7.indexOf(self.Point_Tab), _translate("Form", "Create Point(s)", None))
@@ -2609,13 +2701,20 @@ class Ui_Form(object):
         self.button_click_for_axis.setText(_translate("Form", "Click", None))
         self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.Axis_Tab2_3), _translate("Form", "Axis 2/3", None))
         self.tabWidget_7.setTabText(self.tabWidget_7.indexOf(self.Axis_Tab), _translate("Form", "Axis", None))
+        self.button_points_to_polygon.setToolTip(_translate("Form", "<html><head/><body><p>Wire=(N Points):</p><p>Create a Polygon (wire) from a set of points.</p><p>- First select several Points (at least 2);</p><p>- Then push this button</p><p><br/></p></body></html>", None))
+        self.button_points_to_polygon.setText(_translate("Form", "Make Polygon", None))
+        self.button_points_to_convex_2Dpolygon.setToolTip(_translate("Form", "<html><head/><body><p>Wire=(N Points):</p><p>Create a Convex 2D Polygon (wire) from a set of points.</p><p>The Convex Polygon is the outer limit of all selected Points.</p><p> - First select several Points (at least 3);</p><p>    Define the projection plane if needed.</p><p>    It can be either</p><p>    XY plane,</p><p>    YZ plane,</p><p>    XZ plane or</p><p>    All 3 planes</p><p>- Then push the button.</p></body></html>", None))
+        self.button_points_to_convex_2Dpolygon.setText(_translate("Form", "Convex 2D Polygon", None))
+        self.point_proj_comboBox_2.setToolTip(_translate("Form", "<html><head/><body><p>The projection plane(s)</p></body></html>", None))
+        self.point_proj_comboBox_2.setItemText(0, _translate("Form", "All", None))
+        self.point_proj_comboBox_2.setItemText(1, _translate("Form", "XY plane", None))
+        self.point_proj_comboBox_2.setItemText(2, _translate("Form", "YZ plane", None))
+        self.point_proj_comboBox_2.setItemText(3, _translate("Form", "XZ plane", None))
         self.button_4points_bezier.setToolTip(_translate("Form", "Bezier Cubic=(4 Points):\n"
 "Create a Wire (Bezier Cubic) from 4 selected points.\n"
 "- First 4 Points\n"
 "- Then push this button", None))
         self.button_4points_bezier.setText(_translate("Form", "4 Points Bezier Cubic", None))
-        self.button_points_to_polygon.setToolTip(_translate("Form", "<html><head/><body><p>Wire=(N Points):</p><p>Create a Polygon (wire) from a set of points.</p><p>- First select several Points (at least 2);</p><p>- Then push this button</p><p><br/></p></body></html>", None))
-        self.button_points_to_polygon.setText(_translate("Form", "Make Wire", None))
         self.tabWidget_8.setTabText(self.tabWidget_8.indexOf(self.Wire_Tab1_3), _translate("Form", "Wire", None))
         self.button_curves_and_surfaces.setText(_translate("Form", "Launch Curves and Surfaces Menu...", None))
         self.tabWidget_8.setTabText(self.tabWidget_8.indexOf(self.Wire_Tab1_4), _translate("Form", "Curves And Surfaces", None))
@@ -2656,10 +2755,7 @@ class Ui_Form(object):
         self.button_cut_circle.setText(_translate("Form", "Arcs=Cut(Circle)", None))
         self.spin_circle_cut.setToolTip(_translate("Form", "The number indicates in how many parts the selected Circle will be cut  (Max 100).", None))
         self.tabWidget_7.setTabText(self.tabWidget_7.indexOf(self.Circle_Tab), _translate("Form", "Circle", None))
-        self.button_threepoints_plane.setToolTip(_translate("Form", "Plane=(3 Points):\n"
-"Create a Plane crossing 3 Points.\n"
-"- First select 3 different points\n"
-"- Second push this button", None))
+        self.button_threepoints_plane.setToolTip(_translate("Form", "<html><head/><body><p>Plane=(3 Points):</p><p>Create a Plane crossing 3 Points.</p><p> - Select at least 3 Points and/or</p><p>    Select at least 2 Line/Edge(s)</p><p>- Second push this button</p></body></html>", None))
         self.button_threepoints_plane.setText(_translate("Form", "Plane=(3 Points)", None))
         self.button_twopoints_plane.setToolTip(_translate("Form", "Plane=(2 Points):\n"
 "Create a Plane in the middle of 2 points.\n"
@@ -3196,12 +3292,17 @@ class Ui_Form(object):
 "\n"
 "On the last result the same Sketch is both link to Pad001 but also still to Pad.", None))
         self.ObjTrans_deepCopy.setText(_translate("Form", "Deep", None))
+        self.ObjTrans_button_reset.setText(_translate("Form", "Reset", None))
+        self.ObjTrans_button_apply.setText(_translate("Form", "Apply", None))
         self.groupBox_22.setTitle(_translate("Form", "Starting Point :", None))
+        self.ObjTrans_comboBox_start.setToolTip(_translate("Form", "<html><head/><body><p>Choose here your starting Point(s)</p><p>it can be either:</p><p>  - The Origin point (0,0,0),</p><p>  - The Base point of the selected object(s),</p><p>  - The Center point of the selected object(s),</p><p>  - One selected Point by mouse</p><p>  - One of the extrema of One Segment/Edge</p><p>  - A user defined Points<br/></p></body></html>", None))
         self.ObjTrans_comboBox_start.setItemText(0, _translate("Form", "Origin", None))
         self.ObjTrans_comboBox_start.setItemText(1, _translate("Form", "Base Obj.", None))
         self.ObjTrans_comboBox_start.setItemText(2, _translate("Form", "Center Obj.(s)", None))
         self.ObjTrans_comboBox_start.setItemText(3, _translate("Form", "To select", None))
-        self.ObjTrans_comboBox_start.setItemText(4, _translate("Form", "To define", None))
+        self.ObjTrans_comboBox_start.setItemText(4, _translate("Form", "From Segment", None))
+        self.ObjTrans_comboBox_start.setItemText(5, _translate("Form", "To define", None))
+        self.ObjTrans_button_select_start.setToolTip(_translate("Form", "<html><head/><body><p>Once Point(s) or one Segment selected;</p><p>Click this button to activate the selection !</p></body></html>", None))
         self.ObjTrans_button_select_start.setText(_translate("Form", "Select", None))
         self.label_11.setText(_translate("Form", "X :", None))
         self.ObjTrans_start_x.setToolTip(_translate("Form", "Please Enter a new coordinate and type RETURN to validate!", None))
@@ -3220,6 +3321,7 @@ class Ui_Form(object):
         self.ObjTrans_comboBox_end.setItemText(3, _translate("Form", "To select", None))
         self.ObjTrans_comboBox_end.setItemText(4, _translate("Form", "To define", None))
         self.ObjTrans_comboBox_end.setItemText(5, _translate("Form", "Relative", None))
+        self.ObjTrans_button_select_end.setToolTip(_translate("Form", "<html><head/><body><p>Once Point(s) selected;</p><p>Click this button to activate the selection !</p></body></html>", None))
         self.ObjTrans_button_select_end.setText(_translate("Form", "Select", None))
         self.label_14.setText(_translate("Form", "Z :", None))
         self.ObjTrans_end_z.setToolTip(_translate("Form", "Please Enter a new coordinate and type RETURN to validate!", None))
@@ -3231,8 +3333,11 @@ class Ui_Form(object):
         self.ObjTrans_end_x.setToolTip(_translate("Form", "Please Enter a new coordinate and type RETURN to validate!", None))
         self.ObjTrans_end_x.setText(_translate("Form", "0.0", None))
         self.tabWidget_12.setTabText(self.tabWidget_12.indexOf(self.tab_23), _translate("Form", "End", None))
-        self.ObjTrans_button_reset.setText(_translate("Form", "Reset", None))
-        self.ObjTrans_button_apply.setText(_translate("Form", "Apply", None))
+        self.ObjTrans_horizontalSlider.setToolTip(_translate("Form", "<html><head/><body><p>Once a Segment(s) is selected as starting Point(s),</p><p>This slider define the ending Point(s) by defining the relative distance from the starting Point(s).</p><p>Slider values are : -1000% to 1000%</p><p>100% mean full length of the Segment(s) with one ends as starting point(s)</p><p>-100% mean full length of the Segment(s) by reversing the starting Point(s)</p><p>0% means you do not Translate your selected Object(s)</p><p><br/></p></body></html>", None))
+        self.ObjTrans_lineEdit_length_seg.setToolTip(_translate("Form", "<html><head/><body><p>Enter here a more precise value :</p><p>100% mean full length of the Segment(s) with one ends as starting point(s)</p><p>-100% mean full length of the Segment(s) by reversing the starting Point(s)</p><p>Maximum values allowed [-1000, 1000]</p></body></html>", None))
+        self.ObjTrans_lineEdit_length_seg.setText(_translate("Form", "100.0", None))
+        self.label_length_segment.setText(_translate("Form", " (%)", None))
+        self.tabWidget_12.setTabText(self.tabWidget_12.indexOf(self.tab), _translate("Form", "Seg.", None))
         self.tabWidget_9.setTabText(self.tabWidget_9.indexOf(self.translate_tab_2), _translate("Form", "Translate", None))
         self.tabWidget_7.setTabText(self.tabWidget_7.indexOf(self.Modif_Tab_2), _translate("Form", "Modif.", None))
         self.button_alignview.setToolTip(_translate("Form", "Set the current view perpendicular to the selected Face, \n"
diff --git a/WorkFeature/WF_2015.py b/WorkFeature/WF_2015.py
index 31b8049..d9e9116 100644
--- a/WorkFeature/WF_2015.py
+++ b/WorkFeature/WF_2015.py
@@ -68,7 +68,7 @@ from   WF_ObjRot_2015 import *
 from   WF_Utils_2015 import *
 
 global myRelease
-myRelease = "2016_12_30"
+myRelease = "2017_02_05"
 
 
 import time
@@ -169,6 +169,8 @@ m_widthPlane = 10.0
 m_extensionPlane = 50.0
 m_extensionAxis = 50.0
 m_attach_point = "Mid"
+m_projection_plane = "All"
+m_projection_plane2 = "All"
 m_letter = "A"
 
 m_cut_selectObjects = []
@@ -4489,7 +4491,6 @@ def plot_points_random():
     - Then push the button.
     """
     msg=verbose
-    msg = 1
     import numpy as np
     
     error_msg = """Unable to create random Point(s) :
@@ -4527,22 +4528,182 @@ def plot_points_random():
         Number_of_Points, Point_List = m_sel.get_points(getfrom=["Points"])
         if msg != 0:
             print_msg("Number_of_Points=" + str(Number_of_Points))
-    
+        Number_of_Edges, Edge_List = m_sel.get_segments(getfrom=["Segments","Curves"])
+        if msg != 0:        
+            print_msg("Number_of_Edges=" + str(Number_of_Edges))
+     
     m_limit = m_distanceRandomPoints/2
     if (Number_of_Points >= 1):
-        m_Point = Point_List[-1]
-        for m_point_id in range(m_numberRandomPoint):
-            x, y, z = m_distanceRandomPoints* np.random.random_sample((3,)) - m_limit
-            x -= m_Point.Point.x
-            y -= m_Point.Point.y
-            z -= m_Point.Point.z
-            plot_point(Base.Vector(x, y, z), part, name, str(m_dir))
+        for m_Point in Point_List:
+        #m_Point = Point_List[-1]
+            try :
+                for m_point_id in range(m_numberRandomPoint):
+                    x, y, z = m_distanceRandomPoints* np.random.random_sample((3,)) - m_limit
+                    x += m_Point.Point.x
+                    y += m_Point.Point.y
+                    z += m_Point.Point.z
+                    Point_User_Name = plot_point(Base.Vector(x, y, z), part, name, str(m_dir))
+                    print_point(Base.Vector(x, y, z),str(Point_User_Name) + result_msg + " at :")
+            except:
+                printError_msg(error_msg)
+    elif (Number_of_Edges >= 1):
+        for m_line in Edge_List:
+            try:
+                if not hasattr(m_line,'discretize'):
+                    break
+                m_points = m_line.discretize(m_numberRandomPoint)
+                for m_point in m_points:
+                    x, y, z = m_distanceRandomPoints* np.random.random_sample((3,)) - m_limit
+                    x += m_point.x
+                    y += m_point.y
+                    z += m_point.z
+                    Point_User_Name = plot_point(Base.Vector(x, y, z), part, name, str(m_dir))
+                    print_point(Base.Vector(x, y, z),str(Point_User_Name) + result_msg + " at :")
+            except:
+                printError_msg(error_msg)
     else:
-        for m_point_id in range(m_numberRandomPoint):
-            x, y, z = m_distanceRandomPoints* np.random.random_sample((3,)) - m_limit
-            plot_point(Base.Vector(x, y, z), part, name, str(m_dir))
-       
-              
+        try:
+            for m_point_id in range(m_numberRandomPoint):
+                x, y, z = m_distanceRandomPoints* np.random.random_sample((3,)) - m_limit
+                Point_User_Name = plot_point(Base.Vector(x, y, z), part, name, str(m_dir))
+                print_point(Base.Vector(x, y, z),str(Point_User_Name) + result_msg + " at :")
+        except:
+            printError_msg(error_msg)
+
+
+def sel_projection(*argc):
+    """ Projection plane by combo box.
+    Options :
+    All
+    XY plane
+    YZ plane
+    XZ plane
+    """
+    global m_projection_plane
+    global verbose
+    msg=verbose
+    if msg != 0:
+        print_msg("Projection plane location by combo box !")
+    m_projection_plane = "All"    
+    if str(*argc) == "XY plane":
+        m_projection_plane = "XY"
+    if str(*argc) == "YZ plane":
+        m_projection_plane = "YZ"
+    if str(*argc) == "XZ plane":
+        m_projection_plane = "XZ"
+        
+    if msg != 0:
+        print_msg("argc is " + str(*argc) + " and Projection plane " + str(m_attach_point) + " selected !")    
+
+
+def plot_projected_points():
+    """Create projected point(s) on the choosen main planes.
+    - Select one (or several) Point(s) and/or one (or several) Axis.
+    Define the projection plane if needed.
+    It can be either
+    XY plane,
+    YZ plane,
+    XZ plane or
+    All 3 planes
+    """
+    msg=verbose
+    
+    error_msg = """Unable to create projected Point(s) :
+    - Select one (or several) Point(s) and/or one (or several) Axis.
+    Define the projection plane if needed.
+    It can be either
+    XY plane,
+    YZ plane,
+    XZ plane or
+    All 3 planes
+    - Then push the button.
+    """
+    result_msg = " : projected Point(s) created !"
+    
+    createFolders('WorkPoints')   
+    m_dir = 'Set' 
+    name = "ProjectedPoint"
+    part = "Part::Feature"
+        
+    m_actDoc = get_ActiveDocument(info=msg)
+    if m_actDoc == None:
+        return None 
+    
+    try:
+        m_r = App.ActiveDocument.getObject("WorkPoints").newObject("App::DocumentObjectGroup", str(m_dir))
+    except:
+        printError_msg("Could not Create '"+ str(m_dir) +"' Objects Group!")
+        return None
+    m_dir = m_r.Name
+    
+    m_selEx = Gui.Selection.getSelectionEx(m_actDoc.Name)
+    if msg != 0:
+        print_msg(str(m_selEx))
+    m_sel = Selection(m_selEx)
+    if not m_sel :
+        print_msg("Unable to create a Selection Object !") 
+        return  None      
+    if msg != 0:
+        print_msg(str(m_sel))
+
+    try:        
+        Number_of_Points, Point_List = m_sel.get_points(getfrom=["Points"])
+        if msg != 0:
+            print_msg("Number_of_Points=" + str(Number_of_Points)) 
+        Number_of_Edges, Edge_List = m_sel.get_segments(getfrom=["Segments","Curves","Planes","Objects"])
+        if msg != 0:        
+            print_msg("Number_of_Edges=" + str(Number_of_Edges))           
+          
+        my_point_list = []
+        if (Number_of_Edges >= 1):
+            for Selected_Edge in Edge_List:
+                Vector_A = Selected_Edge.valueAt( 0.0 )
+                Vector_B = Selected_Edge.valueAt( Edge_List[0].Length )
+                my_point_list.append(Vector_A)
+                my_point_list.append(Vector_B)
+                    
+        if (Number_of_Points >= 1):
+            for Selected_Point in Point_List:
+                my_point_list.append(Selected_Point.Point)
+                
+        for m_point in my_point_list:        
+            x = m_point.x
+            y = m_point.y
+            z = m_point.z
+            if m_projection_plane == "All" or  m_projection_plane == "XY":
+                Vector_A = Base.Vector(x, y, 0.0)
+                Vector_B = Base.Vector(x, y, z)
+                Point_User_Name = plot_point(Vector_A, part, name, str(m_dir))
+                print_point(Vector_A,str(Point_User_Name) + result_msg + " at :")            
+                Axis_User_Name, axis = plot_axis(Vector_A, Vector_B, part="Part::Feature", name="Axis_ProjectionToXY", grp=str(m_dir))
+                try:
+                    Gui.ActiveDocument.getObject(Axis_User_Name).DrawStyle = "Dotted"
+                except:
+                    print_msg("Not able to set DrawStyle !")
+            if m_projection_plane == "All" or  m_projection_plane == "YZ":
+                Vector_A = Base.Vector(0.0, y, z)
+                Vector_B = Base.Vector(x, y, z)      
+                Point_User_Name = plot_point(Vector_A, part, name, str(m_dir))
+                print_point(Vector_A,str(Point_User_Name) + result_msg + " at :")
+                Axis_User_Name, axis = plot_axis(Vector_A, Vector_B, part="Part::Feature", name="Axis_ProjectionToYZ", grp=str(m_dir))
+                try:
+                    Gui.ActiveDocument.getObject(Axis_User_Name).DrawStyle = "Dotted"
+                except:
+                    print_msg("Not able to set DrawStyle !")
+            if m_projection_plane == "All" or  m_projection_plane == "XZ":
+                Vector_A = Base.Vector(x, 0.0, z)
+                Vector_B = Base.Vector(x, y, z)       
+                Point_User_Name = plot_point(Vector_A, part, name, str(m_dir))
+                print_point(Vector_A,str(Point_User_Name) + result_msg + " at :")
+                Axis_User_Name, axis = plot_axis(Vector_A, Vector_B, part="Part::Feature", name="Axis_ProjectionToXZ", grp=str(m_dir))
+                try:
+                    Gui.ActiveDocument.getObject(Axis_User_Name).DrawStyle = "Dotted"
+                except:
+                    print_msg("Not able to set DrawStyle !")  
+    except:
+        printError_msg(error_msg)          
+
+
 def plot_centerObjectAxes():
     """ Create 3 Axes XY, and Z at center point of all selected objects.
     """
@@ -6225,7 +6386,7 @@ def numberLine2(value):
             return
         m_numberLine2  = int(value)
         if m_numberLine2 == 0:
-           m_numberLine2 = 1 
+            m_numberLine2 = 1 
         if msg != 0:
             print_msg("New number is :" + str(m_numberLine2))
     except ValueError:
@@ -6478,7 +6639,7 @@ def vertexToSketch(points,sketch):
         m_p2 = App.Base.Vector(m_point.Point)
         # App.Base.Placement.multVec
         # multVector(Vector) -> Vector
-	  # Compute the transformed vector using the placement
+	    # Compute the transformed vector using the placement
         Projection1 = m_rec1.Placement.multVec(m_p1)
         Projection2 = m_p2.projectToPlane(m_sketch.Placement.Base, m_rec2N)
         # Append the Projection
@@ -6608,7 +6769,7 @@ def circleToSketch(circles, sketch):
         m_p3 = App.Base.Vector(m_Vertex2.Point)
         m_p4 = App.Base.Vector(m_Vertex2.Point)    
     
-    	  # Compute the transformed vector using the placement
+    	# Compute the transformed vector using the placement
         Projection1 = m_rec1.Placement.multVec(m_p1)
         Projection2 = m_p2.projectToPlane(m_sketch.Placement.Base, m_rec2N)
         Projection3 = m_rec1.Placement.multVec(m_p3)
@@ -6648,7 +6809,6 @@ options = {'Edge' : edgeToSketch, 'Vertex' : vertexToSketch, 'Face' : faceToSket
 def toSketch():
 
     msg=verbose
-    msg =1
     
     m_actDoc=get_ActiveDocument(info=msg)
     m_selEx = Gui.Selection.getSelectionEx(m_actDoc.Name)
@@ -6667,7 +6827,6 @@ def circle_toSketch():
     Then click on this button.
     """
     msg=verbose
-    msg=1
     m_tolerance=1e-12
 
     m_actDoc = get_ActiveDocument(info=msg)
@@ -6838,7 +6997,7 @@ def circle_toSketch():
         else:
             printError_msg(error_msg)
     else:
-       printError_msg(error_msg)
+        printError_msg(error_msg)
     return
 
 
@@ -6919,7 +7078,7 @@ def line_toSketch():
         else:
             printError_msg(error_msg)
     else:
-       printError_msg(error_msg)
+        printError_msg(error_msg)
     return
 
 
@@ -7006,7 +7165,7 @@ def line_toSketch_old():
         else:
             printError_msg(error_msg)
     else:
-       printError_msg(error_msg)
+        printError_msg(error_msg)
     return
     
     
@@ -7029,7 +7188,8 @@ def plot_linecenterCircle():
     centered on the Point, perpendicular to the Axis 
     with the given radius.
     """
-    msg=0
+    msg=verbose
+    
     global m_radiusCircle
     createFolders('WorkCircles')
     error_msg = "Unable to create a Circle : \nSelect one Edge and one Point only!"
@@ -7069,7 +7229,8 @@ def plot_linepointCircle():
     """Select an Axis and a Point to create a Circle
     centered on the Axis and tangenting the Point.
     """
-    msg=0
+    msg=verbose
+        
     createFolders('WorkCircles')
     error_msg = "Unable to create a Circle : \nSelect one Edge and one Point only!"
     result_msg = " : Circle tangented to a Point created !"
@@ -7109,7 +7270,8 @@ def plot_linepointCircle():
 def plot_3pointsArc():
     """Select 3 Points to create an Arc.
     """
-    msg=0
+    msg=verbose
+    
     createFolders('WorkArcs')
     error_msg = "Unable to create an Arc: \nSelect 3 Points only!"
     result_msg = " : Arc from 3 points created !"
@@ -7151,7 +7313,8 @@ def plot_3pointsArc():
 def plot_3pointsCircle():
     """Select 3 Points to create a Circle.
     """
-    msg=0
+    msg=verbose
+    
     createFolders('WorkCircles')
     error_msg = "Unable to create a Circle : \nSelect 3 Points only!"
     result_msg = " : Circle from 3 points created !"
@@ -7298,8 +7461,8 @@ def plot_cutCircle():
                 for i in range(m_numberCircleCut):
                     pivot2 = pivot1 + pivot0
                     if msg != 0:
-                       print_msg("Start at =" +str(pivot1))
-                       print_msg("End   at =" +str(pivot2))     
+                        print_msg("Start at =" +str(pivot1))
+                        print_msg("End   at =" +str(pivot2))     
                     Arc_User_Name, arc = plot_arc(center, normal, radius, pivot1, pivot2, part, name)
                     if biColor != 0:
                         if red == 0:
@@ -7360,8 +7523,8 @@ def plot_cutCircle():
                 for i in range(m_numberCircleCut):
                     pivot2 = pivot1 + pivot0
                     if msg != 0:
-                       print_msg("Start at =" +str(pivot1))
-                       print_msg("End   at =" +str(pivot2))     
+                        print_msg("Start at =" +str(pivot1))
+                        print_msg("End   at =" +str(pivot2))     
                     Arc_User_Name, arc = plot_arc(center, normal, radius, pivot1, pivot2, part, name)
                     if biColor != 0:
                         if red == 0:
@@ -7382,7 +7545,8 @@ def plot_cutCircle():
 def plot_3pointsEllipse():
     """Select a center and 2 Points to create an Ellipse.
     """
-    msg=0
+    msg=verbose
+    
     createFolders('WorkCircles')
     error_msg = "Unable to create a Ellipse : \nSelect one Center and 2 Points only!"
     result_msg = " : Ellipse from 3 points created !"
@@ -7413,11 +7577,102 @@ def plot_3pointsEllipse():
     except:
         printError_msg(error_msg)
 
-    
+ 
 def plot_3PointsPlane():
+    """ Plane=(3 Points):
+    Create a Plane crossing 3 Points.
+     - Select at least 3 Points and/or
+    Select at least 2 Line/Edge(s)
+    """    
+    msg=verbose
+    
+    error_msg = """Unable to create Plane(s) :
+    Select at least 3 Points and/or
+    Select at least 2 Line/Edge(s) !"""
+    result_msg = " : Plane(s) created !"
+    
+    createFolders('WorkPlanes')
+    m_dir = 'Set'
+    name = "WorkPlane"
+    part = "Part::Feature"
+    
+    m_actDoc = get_ActiveDocument(info=msg)
+    if m_actDoc == None:
+        return None
+    
+    try:
+        m_r = App.ActiveDocument.getObject("WorkPoints").newObject("App::DocumentObjectGroup", str(m_dir))
+    except:
+        printError_msg("Could not Create '"+ str(m_dir) +"' Objects Group!")
+        return None
+    m_dir = m_r.Name
+        
+    m_selEx = Gui.Selection.getSelectionEx(m_actDoc.Name)
+    if msg != 0:
+        print_msg(str(m_selEx))
+    m_sel = Selection(m_selEx)
+    if not m_sel :
+        print_msg("Unable to create a Selection Object !") 
+        return  None      
+    if msg != 0:
+        print_msg(str(m_sel))
+    
+    
+
+    try:
+        Number_of_Points, Point_List = m_sel.get_points(getfrom=["Points","Segments","Curves"])
+        if msg != 0:
+            print_msg("Number_of_Points=" + str(Number_of_Points))
+
+        points = []
+        m_i=0
+        if Number_of_Points < 3 :
+            printError_msg(error_msg)
+            
+        for m_i in xrange(0,Number_of_Points,3):
+            if m_i+1 > Number_of_Points or  m_i+2 > Number_of_Points:
+                break    
+            Point_A = Point_List[m_i+0].Point
+            points.append(Point_A)
+            Point_B = Point_List[m_i+1].Point
+            points.append(Point_B)
+            Point_C = Point_List[m_i+2].Point
+            points.append(Point_C)
+            if msg != 0:
+                print_point(Point_A, msg="Point_A : ")
+                print_point(Point_B, msg="Point_B : ")
+                print_point(Point_C, msg="Point_C : ")
+            
+            Vector_Center = meanVectorsPoint(points,info=msg)
+            #Vector_Center = centerBBVectorsPoint(points, info=0)
+            xmax, xmin, ymax, ymin, zmax, zmin = minMaxVectorsLimits(points,info=0)
+            #print_point(Vector_Center, msg="Center of A, B and C : ")
+  
+            length = xmax - xmin
+            if (ymax - ymin) > length:
+                length = ymax - ymin
+            if (zmax - zmin) > length:
+                length = zmax - zmin
+            print_msg("length = " +str(length))
+            
+            Edge_Vector = Point_B - Point_A
+            #Edge_Length = Edge_Vector.Length
+            Edge_Length = length * 1.5
+            AC_Vector = Point_C - Point_A
+            Plane_Point = Vector_Center
+            Plane_Normal = Edge_Vector.cross( AC_Vector )
+            
+            Plane_User_Name, plane = plot_plane(Edge_Length, Edge_Length, Plane_Point, Plane_Normal, part, name, str(m_dir))
+            print_msg(str(Plane_User_Name) + result_msg )
+    except:
+        printError_msg(error_msg)
+
+    
+def plot_3PointsPlane_old():
     """ Create a Plane from 3 Points.
     """
-    msg=0
+    msg=verbose
+    
     createFolders('WorkPlanes')
     error_msg = "Unable to create Plane : \nSelect three points only !"
     result_msg = " : Plane created !"
@@ -7474,7 +7729,8 @@ def plot_3PointsPlane():
 def plot_2PointsPlane():
     """ Create a Plane from 2 Points.
     """
-    msg=0
+    msg=verbose
+    
     createFolders('WorkPlanes')
     error_msg = "Unable to create Plane : \nSelect two points only !"
     result_msg = " : Plane created !"
@@ -7529,7 +7785,6 @@ def plot_NPointsPlane():
     - First select several Points (at least 3).
     """
     msg=verbose
-    msg=1
     
     try:
         import numpy as np
@@ -7618,6 +7873,7 @@ def plot_axisPointPlane():
     """
     global verbose
     msg=verbose
+    
     createFolders('WorkPlanes')
     error_msg = "Unable to create Plane : \nSelect one Line and one Point only, \nwith the Point NOT on the Line !"
     result_msg = " : Plane created !"
@@ -7679,7 +7935,8 @@ def plot_axisPointPlane():
 def plot_perpendicularAxisPointPlane():
     """ Create a Plane perpendicular to a Line a crossing a Point.
     """    
-    msg=0
+    msg=verbose
+    
     createFolders('WorkPlanes')
     error_msg = "Unable to create Plane : \nSelect one Line and one point only !"
     result_msg = " : Plane created !"
@@ -7734,7 +7991,8 @@ def extensionPlanePointPlane(value):
 def plot_planePointPlane():
     """ Create a plane passing through a Point and parallel to a given Plane.
     """    
-    msg=0
+    msg=verbose
+    
     createFolders('WorkPlanes')
     error_msg = "Unable to create Plane : \nSelect one Plane and one Point only !"
     result_msg = " : Plane created !"
@@ -7784,7 +8042,8 @@ def plot_planeAxisPlane():
     """ Use a plane and a line to create Plane perpedicular 
     to the first Plane and crossing the Line
     """
-    msg=0
+    msg=verbose
+    
     createFolders('WorkPlanes')
     error_msg = "Unable to create Planes : \nSelect one Line and one Plane only !"
     result_msg = " : Plane created !"
@@ -7866,7 +8125,7 @@ def numberPlane(value):
             return
         m_numberPlane  = int(value)
         if m_numberPlane == 0:
-           m_numberPlane = 1 
+            m_numberPlane = 1 
         if msg != 0:
             print_msg("New number is :" + str(m_numberPlane))
     except ValueError:
@@ -7877,7 +8136,8 @@ def distPlane(value):
     """ Respond to the change in Distance between plane value from the text box.
     """
     global verbose
-    msg=verbose        
+    msg=verbose
+            
     try:
         # First we check if a valid number have been entered
         global m_distPlane
@@ -7907,6 +8167,7 @@ def plot_distPlane():
     global m_numberPlane
     global m_distPlane
     msg=verbose
+    
     createFolders('WorkPlanes')
     error_msg = "Unable to create Plane(s) : \nSelect at least one Plane !"
     result_msg = " : Plane(s) created !"
@@ -8070,6 +8331,7 @@ def plot_extensionPlane():
     """
     global verbose
     msg=verbose
+    
     createFolders('WorkPlanes')
     error_msg = "Unable to create Plane : \nSelect Plane(s) only !"
     result_msg = " : Plane created !"
@@ -8117,6 +8379,7 @@ def plot_clickForPlane2():
     a radius of 20 mm
     """
     msg=verbose
+    
     createFolders('WorkPlanes')
 
     m_actDoc = get_ActiveDocument(info=msg)
@@ -8192,7 +8455,8 @@ def plot_clickForPlane2():
 def plot_centerObjectPlanes():
     """ Create 3 Planes XY, YZ and XZ at center point of all selected objects.
     """
-    msg=0
+    msg=verbose
+    
     createFolders('WorkPlanes')
     error_msg = "Unable to create Planes : \nSelect at least one object !"
     result_msg = " : Planes created !"
@@ -8364,15 +8628,15 @@ def plot_bezier():
 
 def points_toPolygon():
     """ Create a polygon from a set of points.
-    - First select several Points
+    - First select several Points (at least 2).
     
     """
-    msg=verbose
+    msg = verbose
     m_close = False
     m_face = False
 
     error_msg = """Unable to create Polygon :
-    Select at least two points !"""
+    Select at least 2 points !"""
     result_msg = " : Polygon created !"
     
     createFolders('WorkWires')
@@ -8421,10 +8685,176 @@ def points_toPolygon():
             printError_msg(error_msg)
     except:
         printError_msg(error_msg) 
-           
+
+def sel_projection2(*argc):
+    """ Projection plane by combo box.
+    Options :
+    All
+    XY plane
+    YZ plane
+    XZ plane
+    """
+    global m_projection_plane2
+    global verbose
+    msg=verbose
     
+    if msg != 0:
+        print_msg("Projection plane location by combo box !")
+    m_projection_plane2 = "All"    
+    if str(*argc) == "XY plane":
+        m_projection_plane2 = "XY"
+    if str(*argc) == "YZ plane":
+        m_projection_plane2 = "YZ"
+    if str(*argc) == "XZ plane":
+        m_projection_plane2 = "XZ"
+        
+    if msg != 0:
+        print_msg("argc is " + str(*argc) + " and Projection plane " + str(m_attach_point) + " selected !")    
+
+
+
+def Plot_convex2Dpolygon():
+    """Create a Convex 2D Polygon (wire) from a set of points.
+    The Convex Polygon is the outer limit of all selected Points.
+    - First select several Points (at least 3);
+    Define the projection plane if needed.
+    It can be either
+    XY plane,
+    YZ plane,
+    XZ plane or
+    All 3 planes
+    - Then push the button.
+    """
+    def isLeftTurn(p1, p2, p3):
+        """ Return True if 3 2D points can be reached with a left turn. 
+        """
+        return (p1[0] - p3[0]) * (p2[1] - p3[1]) - (p1[1] - p3[1]) * (p2[0] - p3[0]) > tolerance
+    
+    def convex2Dpolygon (m_array): 
+        # Sort on x
+        m_array.sort(key=lambda tup: tup[0])
+        m_top = []
+        m_bottom = []
+        for m_p in m_array :
+            while len(m_top) >= 2 and not isLeftTurn(m_p, m_top[-1], m_top[-2]) :
+                m_top.pop()
+            m_top.append(m_p)
+            while len(m_bottom) >=2 and not isLeftTurn(m_bottom[-2], m_bottom[-1], m_p):
+                m_bottom.pop()
+            m_bottom.append(m_p)
+        return m_bottom[:-1] + m_top[:0:-1]
+    
+    msg = verbose
+    msg = 1
+    m_close = True
+    m_face = False
+
+    error_msg = """Unable to create Polygon :
+    Select at least 3 points !
+    Define the projection plane if needed.
+    It can be either
+    XY plane,
+    YZ plane,
+    XZ plane or
+    All 3 planes
+    - Then push the button."""
+    result_msg = " : Convex Polygon(s) created !"
+    
+    createFolders('WorkWires')
+    m_dir = 'Set'
+    name = "Convex_2DPolygon_from_N_Points"
+    part = "Part::Feature"
+    
+    m_actDoc = get_ActiveDocument(info=msg)
+    if m_actDoc == None:
+        return None
+        
+    try:
+        m_r = App.ActiveDocument.getObject("WorkWires").newObject("App::DocumentObjectGroup", str(m_dir))
+    except:
+        printError_msg("Could not Create '"+ str(m_dir) +"' Objects Group!")
+        return None
+    m_dir = m_r.Name
+    
+    Selection = get_SelectedObjects(info=msg, printError=False)
+    try:
+        SelectedObjects = Selection        
+        Number_of_Points = SelectedObjects[0]
+        if msg != 0:
+            print_msg("Number_of_Points=" + str(Number_of_Points))
+        if Number_of_Points > 2:
+            m_x = 0.0
+            m_y = 0.0
+            m_z = 0.0
+            m_array = []
+            m_polygon = []
+            matriz = []
+            Point_List = SelectedObjects[3]
+            if msg != 0:
+                print_msg("Point_List=" + str(Point_List))     
+            if m_projection_plane2 == "All" or  m_projection_plane2 == "XY":
+                for m_point in Point_List:
+                    x = m_point.Point.x
+                    y = m_point.Point.y
+                    z = m_point.Point.z
+                    m_array.append((x,y))
+                if msg != 0:
+                    print_msg("m_array=" + str(m_array))
+                m_polygon = convex2Dpolygon (m_array)
+                for m_2Dpoint in m_polygon:
+                    m_x = m_2Dpoint[0]
+                    m_y = m_2Dpoint[1]
+                    m_z = 0.0
+                    matriz.append(FreeCAD.Vector(m_x,m_y,m_z))       
+                curve_User_Name, curve = plot_curve(matriz, m_close, m_face, part, name, str(m_dir))
+                print_msg(str(curve_User_Name) + result_msg + " into : " + str(m_dir))
+            m_array = []
+            m_polygon = []
+            matriz = []
+            if m_projection_plane2 == "All" or  m_projection_plane2 == "YZ":
+                for m_point in Point_List:
+                    x = m_point.Point.x
+                    y = m_point.Point.y
+                    z = m_point.Point.z
+                    m_array.append((y,z))
+                if msg != 0:
+                    print_msg("m_array=" + str(m_array))
+                m_polygon = convex2Dpolygon (m_array)
+                for m_2Dpoint in m_polygon:
+                    m_x = 0.0
+                    m_y = m_2Dpoint[0]
+                    m_z = m_2Dpoint[1]
+                    matriz.append(FreeCAD.Vector(m_x,m_y,m_z))       
+                curve_User_Name, curve = plot_curve(matriz, m_close, m_face, part, name, str(m_dir))
+                print_msg(str(curve_User_Name) + result_msg + " into : " + str(m_dir))
+            m_array = []
+            m_polygon = []
+            matriz = []
+            if m_projection_plane2 == "All" or  m_projection_plane2 == "XZ":
+                for m_point in Point_List:
+                    x = m_point.Point.x
+                    y = m_point.Point.y
+                    z = m_point.Point.z
+                    m_array.append((x,z))
+                if msg != 0:
+                    print_msg("m_array=" + str(m_array))
+                m_polygon = convex2Dpolygon (m_array)
+                for m_2Dpoint in m_polygon:
+                    m_x = m_2Dpoint[0]
+                    m_y = 0.0
+                    m_z = m_2Dpoint[1]
+                    matriz.append(FreeCAD.Vector(m_x,m_y,m_z))       
+                curve_User_Name, curve = plot_curve(matriz, m_close, m_face, part, name, str(m_dir))
+                print_msg(str(curve_User_Name) + result_msg + " into : " + str(m_dir))
+                 
+        else:
+            printError_msg(error_msg)
+    except:
+        printError_msg(error_msg)
+        
+                    
 def plot_4points_bezier():
-    msg=1
+    msg=verbose
     
     def Bezier_Cubic_curve(poles): 
         #draws a degree 3 rational bspline from first to last point,
@@ -8562,7 +8992,8 @@ def volumBBox_toggled(flag):
 def plot_boundingBoxes():
     """Create bounding boxes around each of selected object(s).
     """
-    msg=verbose    
+    msg=verbose
+        
     createVol=BBox_volum
     
     createFolders('WorkBoxes')
@@ -8624,7 +9055,8 @@ def plot_boundingBoxes():
 def plot_boundingBox():
     """ Create one bounding box around all of selected object(s).
     """
-    msg=verbose  
+    msg=verbose
+      
     createVol=BBox_volum
     
     createFolders('WorkBoxes')
@@ -8695,7 +9127,7 @@ def plot_axisPointCylinder():
     selected point.
     """
     msg=verbose
-    msg=1
+
     createFolders('WorkObjects')
     error_msg = "Unable to create a Cylinder : \n"\
                 "Select one or several couple of one Axis and one point!"  
@@ -8783,7 +9215,7 @@ def plot_axisPointCube():
     selected point.
     """
     msg=verbose
-    msg=1
+ 
     createFolders('WorkObjects')
     error_msg = "Unable to create a Cube : \n"\
                 "Select or several couple of one Axis and one point!"  
@@ -8859,6 +9291,7 @@ def plot_centerSphere():
         at the selected point(s).
     """
     msg=verbose
+    
     createFolders('WorkObjects')
 
     error_msg =\
@@ -9113,12 +9546,12 @@ def makeDome(point, radius, frequency):
     m_new_icoPts = []
     m_icoPts.append(Base.Vector(0.0, 0.0, m_radius))
     for i in range(10):
-      m_icoCos = m_latRad * math.cos(i*m_ang36)
-      m_icoSin = m_latRad * math.sin(i*m_ang36)
-      if i%2 == 0:
-        m_icoPts.append(Base.Vector(m_icoSin, m_icoCos, m_icoLat))
-      else:
-        m_icoPts.append(Base.Vector(m_icoSin, m_icoCos, -1 * m_icoLat))
+        m_icoCos = m_latRad * math.cos(i*m_ang36)
+        m_icoSin = m_latRad * math.sin(i*m_ang36)
+        if i%2 == 0:
+            m_icoPts.append(Base.Vector(m_icoSin, m_icoCos, m_icoLat))
+        else:
+            m_icoPts.append(Base.Vector(m_icoSin, m_icoCos, -1 * m_icoLat))
 
     m_icoPts.append(Base.Vector(0.0, 0.0, -1 * m_radius))
     if msg != 0:
@@ -9237,6 +9670,7 @@ def plot_centerDome():
     Original code from : Ulrich Brammer
     """
     msg=verbose
+    
     createFolders('WorkObjects')
 
     error_msg =\
@@ -9315,7 +9749,8 @@ def letter(value):
     """ Respond to the change in letter from the text box.
     """
     global verbose
-    msg=verbose        
+    msg=verbose
+            
     try:
         # First we check if a valid number have been entered
         global m_letter
@@ -9336,9 +9771,12 @@ def plot_letter():
     NB:
         Change the text and his size if needed
     """
+    msg=verbose
+    
     import Draft
                     
-    def text_at(Plane_Point,Plane_Normal):                            
+    def text_at(Plane_Point,Plane_Normal):
+        msg=verbose                            
         text_User_Name, text = plot_text(m_letter, m_sizeLetter, part, name, grp="WorkObjects")
         text_Point = text.Shape.BoundBox.Center
         text_Normal = text.Shape.Faces[0].normalAt(0,0)
@@ -9366,8 +9804,6 @@ def plot_letter():
         m_newplace = App.Placement(m_base.add(m_move), m_rot )
         text.Placement = m_newplace
     
-    msg=verbose
-    msg=1
 
     createFolders('WorkObjects')
     error_msg = "Unable to create Text : \nSelect one Plane and one Point !"
@@ -9469,10 +9905,10 @@ def plot_revolution():
     if m_actDoc.Name:     
         m_sel = Gui.Selection.getSelection(m_actDoc.Name)
         if msg != 0:
-             print_msg("m_sel=" + str(m_sel))
+            print_msg("m_sel=" + str(m_sel))
         m_num_objs = len(m_sel)
         if msg != 0:
-             print_msg("m_num_objs=" + str(m_num_objs))
+            print_msg("m_num_objs=" + str(m_num_objs))
 
     Selection = get_SelectedObjects(info=msg, printError=False)
     try:
@@ -9556,6 +9992,7 @@ def sel_transition(*argc):
     """
     global sweep_transition
     msg=verbose
+    
     if msg != 0:
         print_msg("Transition between profiles choice by combo box !")
     sweep_transition = 2    
@@ -9800,7 +10237,6 @@ def plot_sectionBeam():
     """
     import WorkFeature.Beam.beam as BM
     msg=verbose
-    msg=1
     
     createFolders('WorkObjects')
     error_msg =\
@@ -9857,10 +10293,9 @@ def plot_sectionSweep2():
       Or if the Section wire is not closed, only a shell will be created.
     """
     msg=verbose
-    msg=1
 
     # variable makeSolid = 1 to create solid, 0 to create surfaces
-    makeSolid=ssweep_solid
+    makeSolid=sweep_solid
     isFrenet=sweep_frenet
     transition=sweep_transition
     
@@ -10031,6 +10466,7 @@ def sel_imageAxisScale(*argc):
     """
     global imageAxisScale
     msg=verbose
+    
     if msg != 0:
         print_msg("Axis or Plane of Scaling for image choice by combo box !")
     #imageAxisScale = "XY"
@@ -10056,7 +10492,6 @@ def lengthImage(value):
 
 def scale_image():
     msg=verbose
-    msg=1
         
     error_msg = "Unable to scale Image : \n"\
                 "Select at least \n"\
@@ -10316,7 +10751,7 @@ def view_trackCamera():
     try:
         SelectedObjects = m_sel
         if msg != 0:
-             print_msg("SelectedObjects=" + str(SelectedObjects))
+            print_msg("SelectedObjects=" + str(SelectedObjects))
              
         m_edges_num = 0
         for m_obj in SelectedObjects :
@@ -10428,7 +10863,8 @@ def cut_selectObject():
     """
     global myDialog
     global m_cut_selectObjects
-    msg=0
+    msg=verbose
+    
     error_msg = "Select in order:\n"+ \
                 "First, one Object to cut and click 'Select Object' button,\n"+ \
                 "Second, one cutting Line and click 'Select Cut Line' button,\n"+ \
@@ -10452,7 +10888,8 @@ def cut_selectLine():
     """
     global myDialog
     global m_cut_selectObjects
-    msg=0
+    msg=verbose
+    
     error_msg = "Select in order:\n"+ \
                 "First, one Object to cut and click 'Select Object' button,\n"+ \
                 "Second, one cutting Line and click 'Select Cut Line' button,\n"+ \
@@ -10477,7 +10914,8 @@ def cut_selectPlane():
     """  
     global myDialog
     global m_cut_selectObjects
-    msg=0
+    msg=verbose
+    
     error_msg = "Select in order:\n"+ \
                 "First, one Object to cut and click 'Select Object' button,\n"+ \
                 "Second, one cutting Line and click 'Select Cut Line' button,\n"+ \
@@ -10525,6 +10963,7 @@ def plot_cutObject():
     global m_thicknessCutObject
     global verbose
     msg=verbose
+    
     createFolders('WorkObjects')
     error_msg = "Select in order:\n"+ \
                 "First, one Object to cut and click 'Select Object' button,\n"+ \
@@ -11535,8 +11974,8 @@ def object_highlightCommon():
     Original code from : 'JMG, galou and other contributors' 10/2015
     Adapted to WF by   : Rentlau_64 10/2015
     """
-
     msg=verbose
+    
     pass
 #==============================================================================
 # # -*- coding: utf-8 -*-
@@ -11636,10 +12075,10 @@ def object_clearance():
         mindist  = App.ActiveDocument.getObject(OBJ1).Shape.distToShape(App.ActiveDocument.getObject(OBJ2).Shape)[0]
         print_msg("Distance to Second Object is " + str(mindist) + "\n" )        
         if mindist == 0.0:
-            msg = 'POSSIBLE COLLISION DETECTED \n\nCLEARANCE(S) <= 0 \n\nCheck Clearances and Settings !'
+            result = 'POSSIBLE COLLISION DETECTED \n\nCLEARANCE(S) <= 0 \n\nCheck Clearances and Settings !'
         else:
-            msg = 'Object CLEARANCE is '+ str(mindist) +' units !'
-        print_gui_msg(msg)
+            result = 'Object CLEARANCE is '+ str(mindist) +' units !'
+        print_gui_msg(result)
     except:
         printError_msg(error_msg)    
 
@@ -11756,7 +12195,7 @@ def points_distance():
         if msg!=0:
             print_msg("Distance is : " + str(m_dist))
             
-        msg=\
+        result=\
         "Begin : X1 "+str(pos_X1)+" Y1: "+str(pos_Y1)+" Z1: "+str(pos_Z1)+"\n\n" +\
         "End : X2 "+str(pos_X2)+" Y2: "+str(pos_Y2)+" Z2: "+str(pos_Z2)+"\n\n" +\
         "Delta X : "+str(abs(pos_X1-pos_X2))+"\n" +\
@@ -11764,7 +12203,7 @@ def points_distance():
         "Delta Z : "+str(abs(pos_Z1-pos_Z2))+"\n\n" +\
         "Distance : " + str(m_dist)        
 
-        print_gui_msg(msg)
+        print_gui_msg(result)
     except:
         printError_msg(error_msg)        
 
@@ -11814,7 +12253,7 @@ def line_length():
         if hasattr(edge, 'Length'):
             m_length = edge.Length
             
-        msg=\
+        result=\
         "Begin : X1 "+str(pos_X1)+" Y1: "+str(pos_Y1)+" Z1: "+str(pos_Z1)+"\n\n" +\
         "End : X2 "+str(pos_X2)+" Y2: "+str(pos_Y2)+" Z2: "+str(pos_Z2)+"\n\n" +\
         "Delta X : "+str(abs(pos_X1-pos_X2))+"\n" +\
@@ -11823,10 +12262,10 @@ def line_length():
         "Distance : " + str(m_dist)+"\n\n"
         
         if m_length:
-            msg+="Length along edge/arc : " + str(m_length)
+            result+="Length along edge/arc : " + str(m_length)
                   
 
-        print_gui_msg(msg)
+        print_gui_msg(result)
     except:
         printError_msg(error_msg)
 
@@ -11836,7 +12275,6 @@ def object_radius():
     Check for Radius:
 
     """
-    msg=verbose
     error_msg = "INCORRECT Object(s) Selection :\n\nYou Must Select One Arc!"
     
     Selection = Gui.Selection.getSelectionEx()
@@ -11920,6 +12358,7 @@ def camera_orientation():
     by the function getCameraOrientation().
     """
     msg=verbose
+    
     pl = App.Placement()
     pl.Rotation = Gui.ActiveDocument.ActiveView.getCameraOrientation()
     
@@ -11931,7 +12370,7 @@ def camera_orientation():
     cam=Gui.ActiveDocument.ActiveView.getCameraNode()
     direction = cam.orientation.getValue().multVec(coin.SbVec3f(0,0,1)).getValue()
 
-    msg=\
+    result=\
     "___Camera_Orientation____________________"+"\n" +\
     "Radians XYZ Q  : " + str(pl.Rotation.Q)+"\n" +\
     "Degrees XYZ    : " + str(math.degrees(xP)) + " , " +str(math.degrees(yP)) + " , " + str(math.degrees(zP)) +"\n" +\
@@ -11943,7 +12382,7 @@ def camera_orientation():
     "Degrees Angle  : " + str(math.degrees(pl.Rotation.Angle)) +"\n"+\
     "Direction Vector : " + str (direction)
     
-    print_gui_msg(msg)
+    print_gui_msg(result)
 
 
 def object_common():
@@ -12026,7 +12465,6 @@ def object_difference():
     """
     global verbose
     msg=verbose
-    msg=1
     
     m_actDoc = get_ActiveDocument(info=msg)
     if m_actDoc == None:
@@ -12167,6 +12605,7 @@ def object_align2view_old():
     """
     # revoir le point de rotation
     msg=verbose
+    
     error_msg = "INCORRECT Object(s) Selection :\n\nYou Must at least one object !"
     
     try:
@@ -12284,7 +12723,6 @@ def object_copy():
     Authors = 2015 Mario52
     """
     msg=verbose
-    msg=1
             
     error_msg = "INCORRECT Object(s) Selection :\n\nYou Must Select at least one Object !"
     
@@ -12625,7 +13063,6 @@ def object_alignMainAxis():
      -  Third and following clicks will rotate by 180 deg the moving objects on first main axes. 
     """
     msg=verbose
-    msg=1
     
     try:
         import numpy as np
@@ -13176,8 +13613,9 @@ class WorkFeatureTab():
                              "button_point_on_line"        : "plot_alongLinePoint",                             
                              "button_face_center"          : "plot_centerFacePoint",
                              "button_line_face_point"      : "plot_lineFacePoint",
-                             "button_point_face_point"     : "plot_pointFacePoint",
+                             "button_points_projection"    : "plot_projected_points",
                              
+                             "button_point_face_point"     : "plot_pointFacePoint",
                              "button_twolines_point"       : "plot_2LinesPoint",
                              "button_point_line_point"     : "plot_pointLinePoint",
                              "button_distPoint"            : "plot_distPoint",                             
@@ -13186,10 +13624,11 @@ class WorkFeatureTab():
                              "button_object_base_point"    : "plot_baseObjectPoint",
                              "button_object_center_mass_point": "plot_centerMassObjectPoint",
                              "button_object_Npoint"        : "plot_objectNPoints",
-                             "button_point_to_sketch"      : "point_toSketch",
+                             
                              "button_points_load"          : "point_toLoad",
                              "button_points_save"          : "point_toSave",
                              "button_points_random"        : "plot_points_random",
+                             "button_point_to_sketch"      : "point_toSketch",
                              
                              "button_object_axis"          : "plot_centerObjectAxes",
                              "button_twopoints_axis"       : "plot_2PointsAxis",
@@ -13217,6 +13656,7 @@ class WorkFeatureTab():
                              
                              "button_points_to_polygon"    : "points_toPolygon",                        
                              #"button_wire_on_plane"        : "plot_wire_on_plane",
+                             "button_points_to_convex_2Dpolygon" : "Plot_convex2Dpolygon",
                              "button_4points_bezier"       : "plot_4points_bezier",
                                         
                              "button_linecenter_circle"    : "plot_linecenterCircle",
@@ -13292,7 +13732,6 @@ class WorkFeatureTab():
                              "distance_point_on_line"    : "distanceLinePoint",
                              "distance_random_points"    : "distanceRandomPoints",
                              
-                             
                              "extension_twopoints_axis"  : "extensionTwoPointsAxis",
                              "extension_face_normal"     : "extensionFaceNormal",
                              "extension_line_point_axis" : "extensionLinePointAxis",
@@ -13356,6 +13795,8 @@ class WorkFeatureTab():
                              "point_loc_comboBox"        : "sel_attachPoint",
                              "transition_comboBox"       : "sel_transition",
                              "Image_comboBox_axis_scale" : "sel_imageAxisScale",
+                             "point_proj_comboBox"       : "sel_projection",
+                             "point_proj_comboBox_2"     : "sel_projection2",
                             }
                             
                 
@@ -13424,6 +13865,7 @@ class WorkFeatureTab():
     def quit_clicked(self): # quit       
         if self.movable:
             self.dw.close()
+            self.close()
             print_msg( "Close done !")
             return
         else:
@@ -13444,7 +13886,9 @@ class WorkFeatureTab():
         # Create a Parametric 3D Curve object and connect
         self.events3D = ParametricCurve3DEvents(myObject.ui)
         # Create a Surface object and connect
-        self.surface = SurfaceEvents(myObject.ui) 
+        self.surface = SurfaceEvents(myObject.ui)
+        
+        #QtCore.QObject.connect(myObject.ui.button_quit, QtCore.SIGNAL ('clicked()'), myObject.quit_clicked)
                    
     def getMainWindow(self):
         """ Returns the main window
diff --git a/WorkFeature/WF_ObjRot_2015.py b/WorkFeature/WF_ObjRot_2015.py
index 93ec0aa..ed4b88b 100644
--- a/WorkFeature/WF_ObjRot_2015.py
+++ b/WorkFeature/WF_ObjRot_2015.py
@@ -228,18 +228,24 @@ class Translation():
         self.dupli      = self.gui.ObjTrans_duplicate
         self.dup_num    = self.gui.ObjTrans_spin
         self.dup_deep   = self.gui.ObjTrans_deepCopy
+        
+        self.slider     = self.gui.ObjTrans_horizontalSlider
+        self.length_edit = self.gui.ObjTrans_lineEdit_length_seg
+        self.Edge_List  = []
 
-
-        self.valid_start = {  "Origin" : "origin",
-                              "Base Obj." : "base",
+        self.valid_start = {  "Origin"         : "origin",
+                              "Base Obj."      : "base",
                               "Center Obj.(s)" : "center",
-                              "To select" : "select",
-                              "To define" : "define",
-                              "Relative"  : "relative",
+                              "To select"      : "select",
+                              "From Segment"   : "segment",
+                              "To define"      : "define",
+                              "Relative"       : "relative",
                             }
         
         self.visuObjects = []
         
+        self.internal = False
+        
         self.duplicate = False
         self.deep = False
         self.m_num_cpy = 1
@@ -250,9 +256,11 @@ class Translation():
         self.dup_deep.setEnabled(False)
         self.dup_deep.setChecked(False)
         
+        self.segment = False
+        
         self.enable(False)
-               
-                
+        self.setEnableSlider(False)
+                               
     def enable(self, flag=True):
         """ Enable or not most of the buttons.
         """
@@ -266,7 +274,6 @@ class Translation():
         self.dupli.setEnabled(flag)
         self.but_reset.setEnabled(flag)
         self.but_apply.setEnabled(flag)
-   
 
     def setEnabledStartInput(self, flag=True):
         """ Enable or not the input boxes for start point.
@@ -278,7 +285,6 @@ class Translation():
         self.start_y.setEnabled(flag)
         self.start_z.setEnabled(flag)
         
-
     def setEnabledEndInput(self, flag=True):
         """ Enable or not the input boxes for end point.
         """
@@ -289,6 +295,14 @@ class Translation():
         self.end_y.setEnabled(flag)
         self.end_z.setEnabled(flag)
 
+    def setEnableSlider(self, flag=True):
+        """ Enable or not the slider for segment selection.
+        """
+        if self.msg != 0:
+            func.print_msg("Translation.setEnabledEndInput :")
+            
+        self.slider.setEnabled(flag)
+        self.length_edit.setEnabled(flag)
     
     def numberCopies(self,value):
         """ Respond to the change in number of part value from the spin box.
@@ -318,8 +332,7 @@ class Translation():
             func.print_msg("Translation.deepCopyFlag :")
             
         self.deep = flag
-        
-       
+              
     def copyFlag(self, flag):
         """ Respond to the change of duplicate flag.
         """
@@ -338,7 +351,6 @@ class Translation():
         if self.m_num_obj >= 1 and self.m_num_cpy >= 1:
             self.reset()
             self.preview()             
-
         
     def selection(self):
         """ Check if one object at least is selected.
@@ -348,7 +360,7 @@ class Translation():
             return False
         return True
 
-        
+       
     def cleanDuplication(self):
         """ Clean the list of Duplicated objects.
         """
@@ -606,25 +618,47 @@ class Translation():
         if self.msg != 0:
             func.print_msg("Translation.select_start : Selection of Start point of translation by button !")  
         
-        error_msg = "Select one point !"
+        error_msg = "Select one point or one segment !"
         
         # Get the selected Objects
         SelectedObjects = func.get_SelectedObjects()
         if SelectedObjects == None:
-            func.printError_msg(error_msg)
-            return         
-        Number_of_Points = SelectedObjects[0]
-        if Number_of_Points != 1:
             func.printError_msg(error_msg)
             return
+                 
+        Number_of_Points = SelectedObjects[0]
+        Number_of_Edges = SelectedObjects[1]
+        if self.segment:
+            error_msg = "Select one segment only !"
+            if Number_of_Edges != 1:
+                func.printError_msg(error_msg)
+                return
+            else:
+                self.Edge_List = SelectedObjects[4]
+                self.start = self.Edge_List[0].Vertexes[0].Point
+                self.m_num_end = Number_of_Edges
+                for m_i_end in range(Number_of_Edges):
+                    self.end.append(self.Edge_List[m_i_end].Vertexes[-1].Point)
+                button_text = "Selected !"
+                self.but_start.setText(QtGui.QApplication.translate("Form", button_text, None, QtGui.QApplication.UnicodeUTF8))        
+                self.print_start(self.start)
+                self.print_end(self.end[0])
+                self.set_percentage(100.0)
+                self.visu()
+                self.preview()
         else:
-            Point_List = SelectedObjects[3]
-            self.start = Point_List[0].Point
-            button_text = "Selected !"
-            self.but_start.setText(QtGui.QApplication.translate("Form", button_text, None, QtGui.QApplication.UnicodeUTF8))        
-            self.print_start(self.start)
-            self.visu()
-            self.preview()
+            error_msg = "Select one point !"
+            if Number_of_Points != 1:
+                func.printError_msg(error_msg)
+                return
+            else:
+                Point_List = SelectedObjects[3]
+                self.start = Point_List[0].Point
+                button_text = "Selected !"
+                self.but_start.setText(QtGui.QApplication.translate("Form", button_text, None, QtGui.QApplication.UnicodeUTF8))        
+                self.print_start(self.start)
+                self.visu()
+                self.preview()
 
 
     def reset_start_value(self):
@@ -640,8 +674,11 @@ class Translation():
         # DeActivate Start Input
         self.setEnabledStartInput(False)
         self.print_start(self.origin)
+        
+        self.set_percentage(100.0)
+        self.setEnableSlider(False)
+        self.segment = False
  
-
     def select_start_type(self, *argc):
         """ Start point of translation by combo box.
         """
@@ -649,14 +686,30 @@ class Translation():
             func.print_msg("Translation.select_start_type : Start point of translation by combo box !") 
             
         self.reset_start_value()
-               
+        self.reset_end_value()
+        self.but_end.setEnabled(True)
+        self.comb_end.setEnabled(True)
+              
         if str(*argc) == "To select":
             # Activate select button and wait for selection
             self.but_start.setEnabled(True)
+            self.setEnableSlider(False)
             self.start = None
+        elif str(*argc) == "From Segment":
+            # Activate select button and wait for selection
+            self.but_start.setEnabled(True)
+            self.segment = True
+            self.setEnableSlider(True)
+            self.setEnabledStartInput(False)
+            self.setEnabledEndInput(False)
+            self.but_end.setEnabled(False)
+            self.comb_end.setEnabled(False)
+            self.start = None
+            
         elif str(*argc) == "To define":
             # Activate define input boxes and wait for entering values
             self.setEnabledStartInput(True)
+            self.setEnableSlider(False)
             self.start = App.Vector(0,0,0)
         else:
             button_text = "Select"
@@ -755,7 +808,8 @@ class Translation():
         SelectedObjects = func.get_SelectedObjects()
         if SelectedObjects == None:
             func.printError_msg(error_msg)
-            return        
+            return
+                
         Number_of_Points = SelectedObjects[0]
         self.m_num_end = Number_of_Points
         if Number_of_Points == 0:
@@ -950,7 +1004,64 @@ class Translation():
         self.comb_start.setCurrentIndex(3)
         self.but_end.setEnabled(True)
 
-
+    def set_percentage(self, value = 100.0):
+        """ Put 100 into edit box and on slider.
+        """
+        self.internal = True
+        self.slider.setValue(value)
+        self.length_edit.setText(str(value))
+        self.internal = False
+        
+    def length_value_changed(self, value):
+        """ Respond to the change in value of a slider, update the text box
+        """
+        # If the value was changed internally, ignore event.
+        if self.internal:
+            return
+        
+        self.length_edit.setText(str(value))
+        self.length_value_entered()
+            
+               
+    def length_value_entered(self):
+        #if self.msg != 0:
+            #func.print_msg("angle_value_entered entered!")       
+        try:
+            # First we check if a valid number have been entered
+            self.length = float(self.length_edit.text())
+            if self.length < -1000.0 or self.length > 1000.0 :
+                func.printError_msg("Length must be valid number in percentage [-1000,1000] !")
+                self.length_edit.setText(str(100.0))
+                self.length_value_entered()
+            # Update the slider by internal update
+            self.internal = True
+            self.slider.setValue(self.length)
+            self.internal = False
+            if self.segment:
+                self.start      = self.origin
+                self.end        = []
+                print "length = " +str(self.length)
+                Number_of_Edges = len(self.Edge_List)
+                m_id_start = int(0)
+                m_id_end = int(-1)
+                m_mult = 1
+                if self.length < 0.0 :
+                    m_id_start = int(-1)
+                    m_id_end = int(0)
+                    m_mult = -1
+                self.start = self.Edge_List[0].Vertexes[m_id_start].Point
+                Vector_A = self.start
+                for m_i_end in range(Number_of_Edges):                   
+                    Vector_B = self.Edge_List[m_i_end].Vertexes[m_id_end].Point
+                    distance = Vector_B.sub(Vector_A).Length
+                    distance = ( distance / 100.0 ) * self.length * m_mult
+                    Vector_C = Vector_A.add(Vector_B.sub(Vector_A).normalize().multiply( distance ))   
+                    self.end.append(Vector_C)
+            self.visu()                
+            # Update the view
+            self.preview()
+        except ValueError:
+            func.printError_msg("Length must be valid number in percentage !")  
             
 class Rotation():
     """ A rotation object
@@ -1425,7 +1536,7 @@ class RotationEvents(DefineAndConnectEvents):
 
     def defineEvents(self): 
         self.connections_for_slider_changed = {                    
-                             "ObjRot_horizontalSlider"    : "angle_value_changed",
+                             "ObjRot_horizontalSlider"        : "angle_value_changed",
                              }
         self.connections_for_button_pressed = { 
                              "ObjRot_button_select"           : "initialize",
@@ -1435,13 +1546,13 @@ class RotationEvents(DefineAndConnectEvents):
                              "ObjRot_button_apply"            : "application",
                              }                      
         self.connections_for_combobox_changed = {
-                             "ObjRot_comboBox_center"        : "center_value",
-                             "ObjRot_comboBox_axis"          : "axis_value",
+                             "ObjRot_comboBox_center"         : "center_value",
+                             "ObjRot_comboBox_axis"           : "axis_value",
                             }
         self.connections_for_checkbox_toggled = {}
         self.connections_for_spin_changed = {}
         self.connections_for_return_pressed = { 
-                             "ObjRot_lineEdit_angle"           : "angle_value_entered",
+                             "ObjRot_lineEdit_angle"          : "angle_value_entered",
                              }
                              
 class TranslationEvents(DefineAndConnectEvents):
@@ -1452,7 +1563,9 @@ class TranslationEvents(DefineAndConnectEvents):
         DefineAndConnectEvents.__init__(self, self.ui, self.trans)
 
     def defineEvents(self): 
-        self.connections_for_slider_changed = {}
+        self.connections_for_slider_changed = {
+                             "ObjTrans_horizontalSlider"      : "length_value_changed",
+                             }
         self.connections_for_button_pressed = { 
                              "ObjTrans_button_select"         : "initialize",
                              "ObjTrans_button_select_start"   : "select_start",
@@ -1469,15 +1582,18 @@ class TranslationEvents(DefineAndConnectEvents):
                             "ObjTrans_deepCopy"               : "deepCopyFlag",        
                             }
         self.connections_for_spin_changed = {
-                            "ObjTrans_spin"                  : "numberCopies",
+                            "ObjTrans_spin"                   : "numberCopies",
                             }
         self.connections_for_return_pressed = { 
-                             "ObjTrans_start_x"           : "start_x_entered",
-                             "ObjTrans_start_y"           : "start_y_entered",
-                             "ObjTrans_start_z"           : "start_z_entered",
-                             "ObjTrans_end_x"             : "end_x_entered",
-                             "ObjTrans_end_y"             : "end_y_entered",
-                             "ObjTrans_end_z"             : "end_z_entered",
+                             "ObjTrans_start_x"               : "start_x_entered",
+                             "ObjTrans_start_y"               : "start_y_entered",
+                             "ObjTrans_start_z"               : "start_z_entered",
+                             "ObjTrans_end_x"                 : "end_x_entered",
+                             "ObjTrans_end_y"                 : "end_y_entered",
+                             "ObjTrans_end_z"                 : "end_z_entered",
+                             
+                             "ObjTrans_lineEdit_length_seg"   : "length_value_entered",
+                             
                              }
         
 ####################################################################################
@@ -1550,7 +1666,27 @@ class ObjectRotationTab():
                              "ObjTrans_end_z"             : "end_z_entered",
                              }
                                            
-                            
+#        self.connections_for_ObjRot_slider_changed = {                    
+#                             "ObjRot_horizontalSlider"    : "angle_value_changed",
+#                             }
+#                             
+#        self.connections_for_ObjRot_button_pressed = { 
+#                             "ObjRot_button_select"           : "initialize",
+#                             "ObjRot_button_select_center"    : "select_center",
+#                             "ObjRot_button_select_axis"      : "select_axis",
+#                             "ObjRot_button_reset"            : "reset",
+#                             "ObjRot_button_apply"            : "application",
+#                             }
+#                             
+#        self.connections_for_ObjRot_combobox_changed = {
+#                             "ObjRot_comboBox_center"        : "center_value",
+#                             "ObjRot_comboBox_axis"          : "axis_value",
+#                            }
+#                              
+#        self.connections_for_ObjRot_return_pressed = { 
+#                             "ObjRot_lineEdit_angle"           : "angle_value_entered",
+#                             }
+                             
         self.connections_for_button_clicked = {
                              "button_quit"               : "quit_clicked", 
                             }
@@ -1559,31 +1695,53 @@ class ObjectRotationTab():
             #print_msg( "Connecting : " + str(m_key) + " and " + str(m_val) )
             QtCore.QObject.connect(getattr(self.ui, str(m_key)),
                                    QtCore.SIGNAL("clicked()"),getattr(self,str(m_val))) 
-                                       
+       
+        # Connect to Rotation functions 
+#        for m_key, m_val in self.connections_for_ObjRot_button_pressed.items():
+#            func.print_msg( "Connecting : " + str(getattr(self.ui, str(m_key))) + " and " + str(getattr(self.rot, str(m_val))) )
+#            QtCore.QObject.connect(getattr(self.ui, str(m_key)),
+#                                   QtCore.SIGNAL("pressed()"),getattr(self.rot, str(m_val)))                   
+#                                           
+#        for m_key, m_val in self.connections_for_ObjRot_combobox_changed.items():
+#            print_msg( "Connecting : " + str(getattr(self.ui, str(m_key))) + " and " + str(getattr(self.rot, str(m_val))) )                            
+#            QtCore.QObject.connect(getattr(self.ui, str(m_key)),
+#                                   QtCore.SIGNAL(_fromUtf8("currentIndexChanged(QString)")),getattr(self.rot, str(m_val)))     
+#        
+#        for m_key, m_val in self.connections_for_ObjRot_slider_changed.items():
+#            func.print_msg( "Connecting : " + str(getattr(self.ui, str(m_key))) + " and " + str(getattr(self.rot, str(m_val))) )
+#            QtCore.QObject.connect(getattr(self.ui, str(m_key)),
+#                                   QtCore.SIGNAL("valueChanged(int)"),getattr(self.rot, str(m_val)))        
+#        
+#        for m_key, m_val in self.connections_for_ObjRot_return_pressed.items():
+#            func.print_msg( "Connecting : " + str(getattr(self.ui, str(m_key))) + " and " + str(getattr(self.rot, str(m_val))) )
+#            QtCore.QObject.connect(getattr(self.ui, str(m_key)),
+#                                   QtCore.SIGNAL("returnPressed()"),getattr(self.rot, str(m_val)))
+                                   
         # Connect to Translation functions
         for m_key, m_val in self.connections_for_ObjTrans_button_pressed.items():
-            #func.print_msg( "Connecting : " + str(getattr(self.ui, str(m_key))) + " and " + str(getattr(self.trans, str(m_val))) )
+            func.print_msg( "Connecting : " + str(getattr(self.ui, str(m_key))) + " and " + str(getattr(self.trans, str(m_val))) )
             QtCore.QObject.connect(getattr(self.ui, str(m_key)),
                                    QtCore.SIGNAL("pressed()"),getattr(self.trans, str(m_val)))
                                         
         for m_key, m_val in self.connections_for_ObjTrans_combobox_changed.items():
-            #func.print_msg( "Connecting : " + str(getattr(self.ui, str(m_key))) + " and " + str(getattr(self.trans, str(m_val))) )                            
+            func.print_msg( "Connecting : " + str(getattr(self.ui, str(m_key))) + " and " + str(getattr(self.trans, str(m_val))) )                            
             QtCore.QObject.connect(getattr(self.ui, str(m_key)),
                                    QtCore.SIGNAL(_fromUtf8("currentIndexChanged(QString)")),getattr(self.trans, str(m_val)))     
 
         for m_key, m_val in self.connections_for_ObjTrans_checkbox_toggled.items():
-            #func.print_msg( "Connecting : " + str(getattr(self.ui, str(m_key))) + " and " + str(getattr(self.trans, str(m_val))) ) 
+            #print_msg( "Connecting : " + str(m_key) + " and " + str(m_val) )
+            func.print_msg( "Connecting : " + str(getattr(self.ui, str(m_key))) + " and " + str(getattr(self.trans, str(m_val))) ) 
             QtCore.QObject.connect(getattr(self.ui, str(m_key)),
                                    QtCore.SIGNAL(_fromUtf8("toggled(bool)")),getattr(self.trans, str(m_val)))  
               
 
         for m_key, m_val in self.connections_for_ObjTrans_spin_changed.items():
-            #func.print_msg( "Connecting : " + str(getattr(self.ui, str(m_key))) + " and " + str(getattr(self.trans, str(m_val))) ) 
+            func.print_msg( "Connecting : " + str(getattr(self.ui, str(m_key))) + " and " + str(getattr(self.trans, str(m_val))) ) 
             QtCore.QObject.connect(getattr(self.ui, str(m_key)),
                                    QtCore.SIGNAL("valueChanged(int)"),getattr(self.trans, str(m_val))) 
 
         for m_key, m_val in self.connections_for_ObjTrans_return_pressed.items():
-            #func.print_msg( "Connecting : " + str(getattr(self.ui, str(m_key))) + " and " + str(getattr(self.trans, str(m_val))) )
+            func.print_msg( "Connecting : " + str(getattr(self.ui, str(m_key))) + " and " + str(getattr(self.trans, str(m_val))) )
             QtCore.QObject.connect(getattr(self.ui, str(m_key)),
                                    QtCore.SIGNAL("returnPressed()"),getattr(self.trans, str(m_val)))