Merge pull request #20 from Rentlau/2015_02_17

Release of 2015-12-16 :
This commit is contained in:
Rentlau 2015-12-16 06:57:46 +01:00
commit 7f17ea547f
12 changed files with 1838 additions and 330 deletions

View File

254
WorkFeature/Beam/beam.py Normal file
View File

@ -0,0 +1,254 @@
# -*- coding: utf-8 -*-
import os
import FreeCAD as App
import FreeCADGui as Gui
import Part
def sketch_normal(sketch):
a = App.Vector(0, 0, 1)
return sketch.Placement.Rotation.multVec(a)
def project_to_plane(plane_p, plane_n, p, n):
'''p + l * n = plane_p + x * plane_n'''
return p + n * (plane_n.dot(plane_p - p) / (n.dot(plane_n)))
class Beam():
def __init__(self, obj, profile, path, path_name):
"'''Beam: representing a straight extrusion of a profile'''"
obj.addProperty("App::PropertyString", "type", "Beam", "type of the object").type = "beam"
obj.addProperty("App::PropertyLink","profile","Beam","sketch profile of the beam").profile = profile
obj.addProperty("App::PropertyLink","path","Beam","path of the beam").path = path
obj.addProperty("App::PropertyString","path_name","Beam", "name of beam line").path_name = path_name
obj.addProperty("App::PropertyDistance", "exdent_1", "Beam", "exdent side 1").exdent_1 = "0 mm"
obj.addProperty("App::PropertyDistance", "exdent_2", "Beam", "exdent side 2").exdent_2 = "0 mm"
obj.setEditorMode("path_name", 1)
obj.Proxy = self
self.Object = obj
def initialize(self):
print("initialize ...")
@property
def profile(self):
profile = Part.Face(self.Object.profile.Shape.Wires)
if profile.Area < 0:
profile = Part.Face(self.Object.profile.Shape.Wires[::-1])
return profile
@property
def outer_shape(self):
path, a, b, n = self.path_a_b_n
profile = Part.Face(self.profile.Wires[0])
new_profile = self.transform_to_n(profile, self.midpoint, a - n * self.Object.exdent_1.Value, n)
return new_profile.extrude(App.Vector(b - a) + n * (self.Object.exdent_1.Value + self.Object.exdent_2.Value))
def attach(self, fp):
fp.Proxy.Object = fp
def execute(self, fp):
'''Do something when doing a recomputation, this method is mandatory'''
fp.Proxy.Object = fp
path, a, b, n = self.path_a_b_n
new_profile = self.transform_to_n(self.profile, self.midpoint, a - n * fp.exdent_1.Value, n)
fp.Shape = new_profile.extrude(App.Vector(b - a) + n * (fp.exdent_1.Value + fp.exdent_2.Value))
def transform_to_n(self, profile, midpoint, p, n):
'''transform a profile (Shape) lying in z = 0 to p and n'''
t = sketch_normal(self.Object.path)
n.normalize()
v = n.cross(t)
mat2 = App.Matrix()
mat2.move(App.Vector() - midpoint)
new_profile = profile.transformGeometry(mat2)
rot_mat = App.Matrix()
rot_mat.A11 = v.x
rot_mat.A21 = v.y
rot_mat.A31 = v.z
rot_mat.A12 = t.x
rot_mat.A22 = t.y
rot_mat.A32 = t.z
rot_mat.A13 = n.x
rot_mat.A23 = n.y
rot_mat.A33 = n.z
new_profile = new_profile.transformGeometry(rot_mat)
mat3 = App.Matrix()
mat3.move(p)
new_profile.transformShape(mat3)
return new_profile
@property
def midpoint(self):
profile_midpoint = filter(lambda x: isinstance(x, App.Base.Vector), self.Object.profile.Geometry)
if len(profile_midpoint) == 0 or profile_midpoint is None:
profile_midpoint = App.Vector(0, 0, 0)
else:
profile_midpoint = profile_midpoint[0]
return profile_midpoint
@property
def path_a_b_n(self):
path = self.Object.path.Shape.getElement(self.Object.path_name)
a, b = path.Vertexes
n = b.Point - a.Point
n.normalize()
return (path, a.Point, b.Point, n)
@property
def profile_bound_box(self):
fac = 0.3
bb = self.Object.profile.Shape.BoundBox
xmax = bb.XMax + bb.XLength * fac
xmin = bb.XMin - bb.XLength * fac
ymax = bb.YMax + bb.YLength * fac
ymin = bb.YMin - bb.YLength * fac
pol = Part.makePolygon(
[App.Vector(xmax, ymax, 0),
App.Vector(xmax, ymin, 0),
App.Vector(xmin, ymin, 0),
App.Vector(xmin, ymax, 0),
App.Vector(xmax, ymax, 0)])
path, a, b, n = self.path_a_b_n
return self.transform_to_n(pol, self.midpoint, a, n)
def project_profile_bound_box(self, plane_n, plane_p):
bb = self.profile_bound_box.Vertexes
vectors = [v.Point for v in bb]
path, a, b, n = self.path_a_b_n
projected = [project_to_plane(plane_p, plane_n, v, n) for v in vectors]
projected.append(projected[0])
pol = Part.makePolygon(projected)
return pol
def __getstate__(self):
return None
def __setstate__(self, state):
return None
class ViewProviderBeam:
def __init__(self, obj):
''' Set this object to the proxy object of the actual view provider '''
obj.Proxy = self
def attach(self, vobj):
self.vobj = vobj
def getIcon(self):
_dir = os.path.dirname(os.path.realpath(__file__))
return(_dir + "/" + "Icons/beam.png")
def __getstate__(self):
return None
def __setstate__(self, state):
return None
def makeBeam2():
def plot_edge(Vector_A, Vector_B, part="Part::Feature", name="Edge", grp="Work"):
if not(App.ActiveDocument.getObject( grp )):
App.ActiveDocument.addObject("App::DocumentObjectGroup", grp)
edge = App.ActiveDocument.addObject(part, name)
edge.Shape = Part.makeLine(Vector_A, Vector_B)
App.ActiveDocument.getObject( grp ).addObject(edge)
edge_User_Name = edge.Label
return edge_User_Name, edge
def plot_shape(Shape, part="Part::Feature", name="Shape", grp="Work"):
if not(App.ActiveDocument.getObject( grp )):
App.ActiveDocument.addObject("App::DocumentObjectGroup", grp)
shape = App.ActiveDocument.addObject(part, name)
shape.Shape = Part.Shape(Shape)
App.ActiveDocument.getObject( grp ).addObject(shape)
shape_User_Name = shape.Label
return shape_User_Name, shape
from FreeCAD import Base
V1 = Base.Vector(0,10,0)
V2 = Base.Vector(30,10,0)
V3 = Base.Vector(30,-10,0)
V4 = Base.Vector(0,-10,0)
VC1 = Base.Vector(-10,0,0)
C1 = Part.Arc(V1,VC1,V4)
L0 = Part.Line(V1,V4)
S0 = Part.Shape([C1,L0])
v1 = App.Vector(0,0,0)
v2 = App.Vector(10,0,0)
v3 = App.Vector(0,10,0)
#profile = Part.makePolygon([v1,v2,v3,v1])
v4 = App.Vector(0,0,100)
L1 = Part.Line(v1,v4)
S1 = Part.Shape([L1])
#path = Part.makeLine(v1, v4)
App.newDocument()
shape_User_Name, shape = plot_shape([C1,L0], part="Part::Feature", name="profile", grp="Work")
edge_User_Name, edge = plot_edge(v1, v4, part="Part::Feature", name="path", grp="Work")
a=App.ActiveDocument.addObject("Part::FeaturePython","Beam")
Beam(a, shape_User_Name, edge_User_Name, "Beam")
ViewProviderBeam(a.ViewObject)
class make_beam(object):
def __init__(self, view):
self.profile = None
self.midpoint = None
self.path = None
self.n = None
self.view = view
App.Console.PrintMessage("choose the profile\n")
Gui.Selection.clearSelection()
self.klick_event = self.view.addEventCallback("SoMouseButtonEvent", self.choose_profile)
def choose_profile(self, cb):
if cb["State"] == "DOWN":
sel = Gui.Selection.getSelection()
if len(sel) > 0:
self.profile = sel[0]
App.Console.PrintMessage("Profile selected !\n")
Gui.Selection.clearSelection()
self.view.removeEventCallback("SoMouseButtonEvent", self.klick_event)
self.klick_event = self.view.addEventCallback("SoMouseButtonEvent", self.choose_path)
App.Console.PrintMessage("choose path\n")
def choose_path(self, cb):
if cb["State"] == "DOWN":
sel = Gui.Selection.getSelectionEx()
if sel:
path_sketch = sel[0].Object
path_name = sel[0].SubElementNames[0]
App.Console.PrintMessage("Path selected !\n")
self.view.removeEventCallback("SoMouseButtonEvent", self.klick_event)
a = App.ActiveDocument.addObject("Part::FeaturePython","beam")
Beam(a, self.profile, path_sketch, path_name)
ViewProviderBeam(a.ViewObject)
App.ActiveDocument.recompute()
App.Console.PrintMessage("end of tube tool\n")
if __name__ == "__main__":
view = Gui.ActiveDocument.activeView()
selection = make_beam(view)
# if __name__ == '__main__':
# makeBeam()

View File

@ -14,7 +14,7 @@
width="64"
height="64"
id="svg3017"
inkscape:version="0.48.5 r10040"
inkscape:version="0.91 r13725"
sodipodi:docname="WF_Beam.svg"
inkscape:export-filename="/home/mark/HyperbolaIcon.png"
inkscape:export-xdpi="90"
@ -388,6 +388,37 @@
operator="over"
result="composite2" />
</filter>
<filter
id="filter42258-8"
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow">
<feFlood
id="feFlood42260-7"
flood-opacity="0.705"
flood-color="rgb(0,0,0)"
result="flood" />
<feComposite
id="feComposite42262-8"
in2="SourceGraphic"
in="flood"
operator="in"
result="composite1" />
<feGaussianBlur
id="feGaussianBlur42264-72"
stdDeviation="0.8"
result="blur" />
<feOffset
id="feOffset42266-4"
dx="1.4"
dy="1.4"
result="offset" />
<feComposite
id="feComposite42268-09"
in2="offset"
in="SourceGraphic"
operator="over"
result="composite2" />
</filter>
</defs>
<sodipodi:namedview
pagecolor="#ffffff"
@ -398,17 +429,24 @@
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1366"
inkscape:window-height="702"
inkscape:window-width="758"
inkscape:window-height="617"
id="namedview13601"
showgrid="false"
inkscape:zoom="5.840651"
inkscape:cx="60.002575"
inkscape:cy="25.215672"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:zoom="6.640625"
inkscape:cx="38.238655"
inkscape:cy="32"
inkscape:window-x="646"
inkscape:window-y="51"
inkscape:window-maximized="0"
inkscape:current-layer="svg3017" />
<path
style="fill:none;stroke:#0079f0;stroke-width:2.95845842;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter42258-8)"
d="M 53.466148,40.841396 C 54.960979,34.41438 48.179469,13.17288 40.4768,16.330627 c -15.262777,8.562116 -9.554229,15.976085 -0.985029,20.249582 2.913415,2.039486 12.07402,7.793518 13.974377,4.261187 z"
id="path41306-8"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc"
transform="matrix(0.78623928,0.64039688,-0.64039688,0.78623928,0.95292704,-36.188309)" />
<g
id="g3019"
transform="translate(0,-126)" />
@ -417,31 +455,31 @@
id="layer1"
inkscape:label="Layer1" />
<path
style="fill:none;stroke:#0079f0;stroke-width:2.95845842;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter42258-1-9)"
style="fill:none;stroke:#0079f0;stroke-width:2.95845842;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter42258-1-9)"
d="M 53.466148,40.841396 C 54.960979,34.41438 48.179469,13.17288 40.4768,16.330627 c -15.262777,8.562116 -9.554229,15.976085 -0.985029,20.249582 2.913415,2.039486 12.07402,7.793518 13.974377,4.261187 z"
id="path41306-0-9"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc"
transform="matrix(1.0140416,0,0,1.0140416,6.7397744,-16.930401)" />
transform="matrix(0.91475345,-0.43761454,0.43761454,0.91475345,-36.379419,43.920861)" />
<path
style="fill:none;stroke:#0079f0;stroke-width:4.9307642;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-start:none;filter:url(#filter42258-3)"
style="fill:none;stroke:#0079f0;stroke-width:4.9307642;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-start:none;filter:url(#filter42258-3)"
d="M 59.56913,7.9400816 14.840698,34.047565"
id="path41306-2"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc"
transform="matrix(0.93587081,-0.32882237,0.35174485,0.87488206,-10.056452,26.755735)" />
transform="matrix(-0.27517775,-0.79253981,0.77893612,-0.28735762,27.462717,63.890512)" />
<path
style="opacity:0.75;fill:url(#radialGradient4972);fill-opacity:1;stroke:#7b5600;stroke-width:1.97230566;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter42258)"
d="M 5.6355134,3.1288963 18.202502,50.386996 c 4.481547,3.102123 6.508918,3.663424 10.697937,4.957264 6.523619,2.014916 10.431492,2.708408 16.592978,3.580061 5.940277,0.840358 10.042357,1.311866 18.251555,-0.935616 5.871839,-1.607569 4.984746,-11.508491 1.746683,-14.547053 L 49.661758,-4.8533273 50.129083,9.6635035 C 43.991819,12.312691 38.86159,10.422644 35.440528,10.84792 28.051671,10.309231 22.570106,8.9514381 19.006586,8.3928725 14.48281,7.5717689 6.7252415,3.7669368 5.6355134,3.1288963 z"
style="opacity:0.75;fill:url(#radialGradient4972);fill-opacity:1;stroke:#7b5600;stroke-width:1.97230566;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter42258)"
d="m 54.010478,41.307266 -17.734987,-8.755467 17.247348,40.57948 c 1.86213,4.381212 3.579819,4.267496 11.961656,6.988451 5.401039,1.753313 6.991569,2.275752 15.200767,0.02827 C 86.557101,78.540431 93.065327,65.452713 92.8796,57.850683 L 76.424167,17.964864 64.006027,39.033739 c -6.137264,2.649188 -17.8513,-0.77147 -26.817735,-6.293186 -3.042053,-2.222593 7.117067,-9.575771 17.659045,-13.377937 10.541978,-3.802166 16.028623,-6.72627 20.257088,-3.10398 -0.645052,4.552964 -0.01884,10.14017 -5.449468,16.541579 -5.430623,6.40141 -15.058386,8.796395 -15.644479,8.507051 z"
id="path41302"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccssscccccc"
transform="matrix(-0.37450424,-0.5067961,0.81446679,-0.60186189,27.487169,66.65621)" />
sodipodi:nodetypes="scsssccccscss"
transform="matrix(-0.49449359,0.39060441,-0.62773631,-0.79469555,97.151171,40.082247)" />
<path
style="fill:none;stroke:#0079f0;stroke-width:2.95845842;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter42258)"
style="fill:none;stroke:#0079f0;stroke-width:2.95845842;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter42258)"
d="M 53.466148,40.841396 C 54.960979,34.41438 48.179469,13.17288 40.4768,16.330627 c -15.262777,8.562116 -9.554229,15.976085 -0.985029,20.249582 2.913415,2.039486 12.07402,7.793518 13.974377,4.261187 z"
id="path41306"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc"
transform="matrix(1.0140416,0,0,1.0140416,-26.228007,19.516859)" />
transform="matrix(0.78623928,0.64039688,-0.64039688,0.78623928,35.707732,-10.466987)" />
</svg>

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -0,0 +1,473 @@
<?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="svg2860"
sodipodi:version="0.32"
inkscape:version="0.48.5 r10040"
sodipodi:docname="WF_isRadius.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
version="1.1">
<defs
id="defs2862">
<linearGradient
inkscape:collect="always"
id="linearGradient4247">
<stop
style="stop-color:#f30606;stop-opacity:1;"
offset="0"
id="stop4249" />
<stop
style="stop-color:#f30606;stop-opacity:0;"
offset="1"
id="stop4251" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient4155">
<stop
style="stop-color:#0079ff;stop-opacity:1;"
offset="0"
id="stop4157" />
<stop
style="stop-color:#0079ff;stop-opacity:0;"
offset="1"
id="stop4159" />
</linearGradient>
<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
id="linearGradient3377">
<stop
id="stop3379"
offset="0"
style="stop-color:#faff2b;stop-opacity:1;" />
<stop
id="stop3381"
offset="1"
style="stop-color:#ffaa00;stop-opacity:1;" />
</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="perspective2868" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3377-7"
id="radialGradient3692-3"
cx="45.883327"
cy="28.869568"
fx="45.883327"
fy="28.869568"
r="19.467436"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient3377-7">
<stop
id="stop3379-8"
offset="0"
style="stop-color:#faff2b;stop-opacity:1;" />
<stop
id="stop3381-5"
offset="1"
style="stop-color:#ffaa00;stop-opacity:1;" />
</linearGradient>
<radialGradient
r="19.467436"
fy="28.869568"
fx="45.883327"
cy="28.869568"
cx="45.883327"
gradientUnits="userSpaceOnUse"
id="radialGradient3288-6"
xlink:href="#linearGradient3377-7-5"
inkscape:collect="always" />
<linearGradient
id="linearGradient3377-7-5">
<stop
id="stop3379-8-7"
offset="0"
style="stop-color:#faff2b;stop-opacity:1;" />
<stop
id="stop3381-5-4"
offset="1"
style="stop-color:#ffaa00;stop-opacity:1;" />
</linearGradient>
<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"
xlink:href="#linearGradient4155"
id="linearGradient4161"
x1="4.6279406"
y1="100.81277"
x2="60.639036"
y2="100.81277"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4155"
id="linearGradient4231"
x1="33.746853"
y1="34.571426"
x2="72.681725"
y2="34.571426"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4135"
id="linearGradient3034"
gradientUnits="userSpaceOnUse"
x1="131.82286"
y1="101.22672"
x2="184.22351"
y2="100.7989" />
<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
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-4"
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-4">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop3146-3" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop3148-6" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3144-8"
id="radialGradient3809"
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-8"
inkscape:collect="always">
<stop
id="stop3146-1"
offset="0"
style="stop-color:#ffffff;stop-opacity:1;" />
<stop
id="stop3148-3"
offset="1"
style="stop-color:#ffffff;stop-opacity:0;" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3144-8"
id="radialGradient3811"
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-8"
id="radialGradient3799"
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-8"
id="radialGradient3819"
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-8"
id="radialGradient3827"
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-8"
id="radialGradient3359"
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-8"
id="radialGradient3361"
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-8"
id="radialGradient3363"
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-8"
id="radialGradient3365"
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-8"
id="radialGradient3367"
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-9"
id="linearGradient4145-1"
x1="131.82286"
y1="101.22672"
x2="191.3165"
y2="101.22672"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
id="linearGradient4135-9">
<stop
style="stop-color:#0079ff;stop-opacity:1;"
offset="0"
id="stop4137-0" />
<stop
style="stop-color:#0079ff;stop-opacity:0;"
offset="1"
id="stop4139-9" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4247"
id="linearGradient4253"
x1="3.6551317"
y1="12.367598"
x2="17.097535"
y2="12.367598"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-3.2003726,1.9706624)" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="6.7121053"
inkscape:cx="32.025693"
inkscape:cy="29.714482"
inkscape:current-layer="layer2"
showgrid="true"
inkscape:document-units="px"
inkscape:grid-bbox="true"
inkscape:window-width="1070"
inkscape:window-height="665"
inkscape:window-x="65"
inkscape:window-y="63"
inkscape:window-maximized="0" />
<metadata
id="metadata2865">
<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="layer2"
inkscape:label="Layer0">
<g
id="g3805"
transform="matrix(0.42308339,-0.4673726,0.45454442,0.41147084,-191.37645,234.47455)">
<path
transform="matrix(-0.1204122,-0.01873251,0.01873251,-0.1204122,472.97923,114.92595)"
d="m 259.60921,672.79736 c 0,13.24993 -15.37686,23.99113 -34.34519,23.99113 -18.96832,0 -34.34519,-10.7412 -34.34519,-23.99113 0,-13.24993 15.37687,-23.99112 34.34519,-23.99112 18.96833,0 34.34519,10.74119 34.34519,23.99112 z"
sodipodi:ry="23.991123"
sodipodi:rx="34.345188"
sodipodi:cy="672.79736"
sodipodi:cx="225.26402"
id="path2903"
style="fill:url(#radialGradient3359);fill-opacity:1;stroke:none"
sodipodi:type="arc" />
</g>
<g
id="g3813"
transform="matrix(-0.0719454,0.08583917,-0.08364263,-0.06979446,100.90296,75.889312)"
inkscape:export-filename="/home/yorik/Documents/Lab/Draft/icons/circle.png"
inkscape:export-xdpi="7.2934141"
inkscape:export-ydpi="7.2934141" />
<g
id="g3821"
transform="matrix(-0.0719454,0.08583917,-0.08364263,-0.06979446,125.77915,48.713266)"
inkscape:export-filename="/home/yorik/Documents/Lab/Draft/icons/circle.png"
inkscape:export-xdpi="7.2934141"
inkscape:export-ydpi="7.2934141" />
<text
xml:space="preserve"
style="font-size:28px;font-style:normal;font-weight:normal;fill:#f30606;fill-opacity:1;stroke:#000000;stroke-width:0.94630939000000003px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="-0.99982059"
y="24.728886"
id="text3735"
transform="matrix(0.88877016,-0.00548731,0.00694648,1.1251074,0,0)"><tspan
sodipodi:role="line"
id="tspan3737"
x="-0.99982059"
y="24.728886"
style="font-size:32px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#f30606;fill-opacity:1;stroke:#000000;stroke-width:0.94630939000000003;stroke-opacity:1;font-family:Arial Black;-inkscape-font-specification:'Arial Black, Bold'">?</tspan></text>
<path
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc"
id="path3198-6"
d="M 14.02577,62.076429 C 22.33199,33.733751 36.895562,19.246636 62.48399,19.360008 l -0.103268,3.502841 C 35.89262,25.127098 27.43165,37.522297 17.03388,63.47509 z"
style="fill:#555753;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.30718172;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<path
style="font-size:54.21519089px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;color:#000000;fill:none;stroke:#000000;stroke-width:3.85229659;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:7.70459246, 3.85229622;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Arial;-inkscape-font-specification:Arial"
d="M 57.149701,59.436716 27.748911,26.506858"
id="path4435"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<text
xml:space="preserve"
style="font-size:20px;font-style:normal;font-variant:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:URW Gothic L;-inkscape-font-specification:URW Gothic L Book"
x="48.782253"
y="46.230598"
id="text3650"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
x="48.782253"
y="46.230598"
id="tspan4206"
style="font-weight:600;-inkscape-font-specification:URW Gothic L Semi-Bold">R</tspan></text>
</g>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer">
<g
id="g3618"
transform="matrix(0.52225346,0,0,0.57723952,-65.447599,-41.263971)"
style="fill:url(#linearGradient4145);fill-opacity:1;stroke:#001833;stroke-opacity:1">
<path
style="fill:#0079f0;fill-opacity:1;fill-rule:evenodd;stroke:#001833;stroke-width:1.53699219;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:0.74117647;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="m 139.43421,174.32438 c 15.84398,-68.67834 41.38722,-78.510254 99.7368,-83.696402 l 2.1381,6.489111 c -64.02927,7.754821 -72.71569,12.412451 -96.52154,78.755591 z"
id="rect3520"
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0" />
</g>
<g
id="g3564"
transform="matrix(0.57893948,0,0,0.57354776,33.859216,-7.0273696)"
style="fill:url(#linearGradient4161);fill-opacity:1" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -0,0 +1,381 @@
<?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="svg6248"
sodipodi:version="0.32"
inkscape:version="0.48.5 r10040"
sodipodi:docname="WF_objectCopy.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
version="1.1">
<defs
id="defs6250">
<linearGradient
id="linearGradient3253">
<stop
style="stop-color:#89d5f8;stop-opacity:1;"
offset="0"
id="stop3255" />
<stop
style="stop-color:#00899e;stop-opacity:1;"
offset="1"
id="stop3257" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient6816">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop6818" />
<stop
style="stop-color:#000000;stop-opacity:0;"
offset="1"
id="stop6820" />
</linearGradient>
<linearGradient
id="linearGradient6781">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop6783" />
<stop
style="stop-color:#3465a4;stop-opacity:0;"
offset="1"
id="stop6785" />
</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="perspective6256" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6781"
id="linearGradient6787"
x1="8.2986603"
y1="15.743738"
x2="1.7074128"
y2="36.600822"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-0.1723565,0.9850346,0.9850346,0.1723565,-9.8385315,6.3516142)" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient6816"
id="radialGradient6822"
cx="33.369828"
cy="51.929391"
fx="33.369828"
fy="51.929391"
r="25.198714"
gradientTransform="matrix(1.1581633,0,0,0.6558985,59.798539,15.944259)"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5238"
id="linearGradient3675"
x1="81.451569"
y1="14.993487"
x2="3.0457773"
y2="17.729464"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.073092,0,0,1.2409961,-3.4880263,-3.3958734)" />
<linearGradient
id="linearGradient5238">
<stop
id="stop5240"
offset="0"
style="stop-color:#001ccc;stop-opacity:1;" />
<stop
id="stop5242"
offset="1"
style="stop-color:#00afff;stop-opacity:1;" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5238"
id="linearGradient5278"
x1="39.062847"
y1="28.236254"
x2="15.537552"
y2="30.209774"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.63858911,0.01886473,0,0.6800597,12.419337,8.4146081)" />
<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"
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
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="radialGradient5768"
xlink:href="#linearGradient3144"
inkscape:collect="always" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3144"
id="radialGradient5795"
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="#linearGradient5238-8"
id="linearGradient5278-3"
x1="39.062847"
y1="28.236254"
x2="15.537552"
y2="30.209774"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.63858911,0.01886473,0,0.6800597,12.419337,8.4146081)" />
<linearGradient
id="linearGradient5238-8">
<stop
id="stop5240-0"
offset="0"
style="stop-color:#001ccc;stop-opacity:1;" />
<stop
id="stop5242-8"
offset="1"
style="stop-color:#00afff;stop-opacity:1;" />
</linearGradient>
<linearGradient
id="linearGradient3377">
<stop
id="stop3379"
offset="0"
style="stop-color:#faff2b;stop-opacity:1;" />
<stop
id="stop3381"
offset="1"
style="stop-color:#ffaa00;stop-opacity:1;" />
</linearGradient>
<linearGradient
id="linearGradient4722">
<stop
id="stop4724"
offset="0"
style="stop-color:#faff2b;stop-opacity:1;" />
<stop
id="stop4726"
offset="1"
style="stop-color:#ffaa00;stop-opacity:1;" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3377"
id="radialGradient4426"
gradientUnits="userSpaceOnUse"
cx="45.883327"
cy="28.869568"
fx="45.883327"
fy="28.869568"
r="19.467436"
gradientTransform="translate(-129.7515,-68.681262)" />
<linearGradient
id="linearGradient4729">
<stop
id="stop4731"
offset="0"
style="stop-color:#faff2b;stop-opacity:1;" />
<stop
id="stop4733"
offset="1"
style="stop-color:#ffaa00;stop-opacity:1;" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3377"
id="radialGradient5552"
cx="32.41333"
cy="12.501603"
fx="32.41333"
fy="12.501603"
r="17.779947"
gradientTransform="matrix(1,0,0,0.50153435,0,6.2316196)"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3377-5"
id="radialGradient5552-7"
cx="32.41333"
cy="12.501603"
fx="32.41333"
fy="12.501603"
r="17.779947"
gradientTransform="matrix(1,0,0,0.50153435,0,6.2316196)"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient3377-5">
<stop
id="stop3379-3"
offset="0"
style="stop-color:#faff2b;stop-opacity:1;" />
<stop
id="stop3381-2"
offset="1"
style="stop-color:#ffaa00;stop-opacity:1;" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3377-3"
id="radialGradient5552-5"
cx="32.41333"
cy="12.501603"
fx="32.41333"
fy="12.501603"
r="17.779947"
gradientTransform="matrix(1,0,0,0.50153435,0,6.2316196)"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient3377-3">
<stop
id="stop3379-0"
offset="0"
style="stop-color:#faff2b;stop-opacity:1;" />
<stop
id="stop3381-6"
offset="1"
style="stop-color:#ffaa00;stop-opacity:1;" />
</linearGradient>
<radialGradient
r="17.779947"
fy="12.501603"
fx="32.41333"
cy="12.501603"
cx="32.41333"
gradientTransform="matrix(1,0,0,0.50153435,-11.638763,42.837407)"
gradientUnits="userSpaceOnUse"
id="radialGradient5630"
xlink:href="#linearGradient3377-3"
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.99054"
inkscape:cx="30.695174"
inkscape:cy="28.159855"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:document-units="px"
inkscape:grid-bbox="true"
inkscape:window-width="1086"
inkscape:window-height="701"
inkscape:window-x="278"
inkscape:window-y="27"
inkscape:window-maximized="0"
showguides="true"
inkscape:guide-bbox="true">
<sodipodi:guide
orientation="0,1"
position="66.534653,64.492849"
id="guide5842" />
</sodipodi:namedview>
<metadata
id="metadata6253">
<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>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Layer0" />
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer">
<path
style="color:#000000;fill:url(#linearGradient5278);fill-opacity:1;fill-rule:nonzero;stroke:#00064a;stroke-width:1.42440391;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="m 29.603191,10.406007 -14.281175,11.324601 0.81275,21.78592 22.292565,7.953737 10.565746,-14.896482 0.464429,-22.366426 -19.854315,-3.80135 z"
id="path2557"
inkscape:connector-curvature="0" />
<path
id="path2559"
style="color:#000000;fill:none;stroke:#00064a;stroke-width:1.36512899;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 15.408137,21.659106 38.13654,27.247886 49.62441,14.087858 M 37.913623,27.243157 38.31385,50.911005"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
<path
style="color:#000000;fill:url(#radialGradient5552);fill-opacity:1;fill-rule:nonzero;stroke:#7b5600;stroke-width:1.42440391000000011;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 29.626759,4.2965507 15.345584,15.621152 36.573679,20.706655 49.481074,8.0979007 z"
id="path2557-6"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
<path
style="color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#7b5600;stroke-width:2.524;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;opacity:1"
d="M 56.408428,15.872739 42.627845,31.57752 42.70593,52.43167 55.863621,36.318772 z"
id="path2557-6-0"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
<path
style="color:#000000;fill:none;stroke:#7b5600;stroke-width:2.52399993;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="m 27.949071,27.44737 -19.9128345,-5.320081 0.078085,0.07958 23.1695305,6.038296 z"
id="path2557-6-0-8"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
<path
style="color:#000000;fill:url(#radialGradient5630);fill-opacity:1;fill-rule:nonzero;stroke:#7b5600;stroke-width:1.42440391;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 3.4708294,27.261207 3.706821,52.226939 24.934916,57.312442 25.202364,32.314037 z"
id="path2557-6-8"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -2,8 +2,8 @@
# Form implementation generated from reading ui file 'WFGui_2015.ui'
#
# Created: Sat Nov 7 20:09:36 2015
# by: PySide UI code generator 4.11.2
# Created: Sun Dec 13 18:49:39 2015
# by: PySide UI code generator 4.11.3
#
# WARNING! All changes made in this file will be lost!
@ -636,7 +636,7 @@ class Ui_Form(object):
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, 259, 650))
self.scrollAreaWidgetContents_5.setGeometry(QtCore.QRect(0, 0, 245, 648))
self.scrollAreaWidgetContents_5.setObjectName(_fromUtf8("scrollAreaWidgetContents_5"))
self.gridLayout_76 = QtGui.QGridLayout(self.scrollAreaWidgetContents_5)
self.gridLayout_76.setObjectName(_fromUtf8("gridLayout_76"))
@ -1169,8 +1169,8 @@ class Ui_Form(object):
self.tabWidget_7.addTab(self.tab_16, icon45, _fromUtf8(""))
self.tab_17 = QtGui.QWidget()
self.tab_17.setObjectName(_fromUtf8("tab_17"))
self.gridLayout_85 = QtGui.QGridLayout(self.tab_17)
self.gridLayout_85.setObjectName(_fromUtf8("gridLayout_85"))
self.gridLayout_6 = QtGui.QGridLayout(self.tab_17)
self.gridLayout_6.setObjectName(_fromUtf8("gridLayout_6"))
self.frame_9 = QtGui.QFrame(self.tab_17)
self.frame_9.setFrameShape(QtGui.QFrame.StyledPanel)
self.frame_9.setFrameShadow(QtGui.QFrame.Raised)
@ -1209,11 +1209,16 @@ class Ui_Form(object):
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)
self.gridLayout_85.addWidget(self.frame_9, 0, 0, 1, 1)
self.gridLayout_6.addWidget(self.frame_9, 0, 0, 1, 1)
spacerItem11 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.gridLayout_85.addItem(spacerItem11, 1, 0, 1, 1)
self.gridLayout_6.addItem(spacerItem11, 2, 0, 1, 1)
self.button_beam = QtGui.QPushButton(self.tab_17)
icon47 = QtGui.QIcon()
icon47.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Beam.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_beam.setIcon(icon47)
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.tabWidget_7.addTab(self.tab_17, icon47, _fromUtf8(""))
self.Plane_Tab1_3 = QtGui.QWidget()
self.Plane_Tab1_3.setObjectName(_fromUtf8("Plane_Tab1_3"))
@ -1618,25 +1623,32 @@ class Ui_Form(object):
self.angle_revolve.setObjectName(_fromUtf8("angle_revolve"))
self.horizontalLayout_76.addWidget(self.angle_revolve)
self.gridLayout_5.addLayout(self.horizontalLayout_76, 7, 0, 1, 1)
self.button_common = QtGui.QPushButton(self.Objects_Tab2_2)
self.button_copy_objects = QtGui.QPushButton(self.Objects_Tab2_2)
icon67 = QtGui.QIcon()
icon67.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Common.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_common.setIcon(icon67)
icon67.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectCopy.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_copy_objects.setIcon(icon67)
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)
icon68 = QtGui.QIcon()
icon68.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Common.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_common.setIcon(icon68)
self.button_common.setIconSize(QtCore.QSize(32, 32))
self.button_common.setObjectName(_fromUtf8("button_common"))
self.gridLayout_5.addWidget(self.button_common, 8, 0, 1, 1)
self.gridLayout_5.addWidget(self.button_common, 9, 0, 1, 1)
self.button_difference = QtGui.QPushButton(self.Objects_Tab2_2)
icon68 = QtGui.QIcon()
icon68.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Difference.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_difference.setIcon(icon68)
icon69 = QtGui.QIcon()
icon69.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Difference.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_difference.setIcon(icon69)
self.button_difference.setIconSize(QtCore.QSize(32, 32))
self.button_difference.setObjectName(_fromUtf8("button_difference"))
self.gridLayout_5.addWidget(self.button_difference, 9, 0, 1, 1)
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, 10, 0, 1, 1)
icon69 = QtGui.QIcon()
icon69.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_box.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_7.addTab(self.Objects_Tab2_2, icon69, _fromUtf8(""))
self.gridLayout_5.addItem(spacerItem14, 11, 0, 1, 1)
icon70 = QtGui.QIcon()
icon70.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_box.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_7.addTab(self.Objects_Tab2_2, icon70, _fromUtf8(""))
self.Modif_Tab_2 = QtGui.QWidget()
self.Modif_Tab_2.setObjectName(_fromUtf8("Modif_Tab_2"))
self.gridLayout_94 = QtGui.QGridLayout(self.Modif_Tab_2)
@ -1654,9 +1666,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))
icon70 = QtGui.QIcon()
icon70.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_viewAlignFace.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_alignface2view.setIcon(icon70)
icon71 = QtGui.QIcon()
icon71.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_viewAlignFace.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_alignface2view.setIcon(icon71)
self.button_alignface2view.setIconSize(QtCore.QSize(32, 32))
self.button_alignface2view.setObjectName(_fromUtf8("button_alignface2view"))
self.gridLayout_95.addWidget(self.button_alignface2view, 0, 0, 1, 1)
@ -1664,9 +1676,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))
icon71 = QtGui.QIcon()
icon71.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectAlignFaces.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_align_faces.setIcon(icon71)
icon72 = QtGui.QIcon()
icon72.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectAlignFaces.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_align_faces.setIcon(icon72)
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)
@ -1685,9 +1697,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))
icon72 = QtGui.QIcon()
icon72.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectAlignAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_align_edges.setIcon(icon72)
icon73 = QtGui.QIcon()
icon73.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectAlignAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_align_edges.setIcon(icon73)
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)
@ -1705,16 +1717,16 @@ class Ui_Form(object):
spacerItem15 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.gridLayout_95.addItem(spacerItem15, 5, 0, 1, 1)
self.button_joint_points = QtGui.QPushButton(self.align_tab_2)
icon73 = QtGui.QIcon()
icon73.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectJointPoints.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_joint_points.setIcon(icon73)
icon74 = QtGui.QIcon()
icon74.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectJointPoints.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_joint_points.setIcon(icon74)
self.button_joint_points.setIconSize(QtCore.QSize(32, 32))
self.button_joint_points.setObjectName(_fromUtf8("button_joint_points"))
self.gridLayout_95.addWidget(self.button_joint_points, 3, 0, 1, 1)
self.button_joint_faces = QtGui.QPushButton(self.align_tab_2)
icon74 = QtGui.QIcon()
icon74.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectJointFaces.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_joint_faces.setIcon(icon74)
icon75 = QtGui.QIcon()
icon75.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectJointFaces.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_joint_faces.setIcon(icon75)
self.button_joint_faces.setIconSize(QtCore.QSize(32, 32))
self.button_joint_faces.setObjectName(_fromUtf8("button_joint_faces"))
self.gridLayout_95.addWidget(self.button_joint_faces, 4, 0, 1, 1)
@ -1884,9 +1896,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)
icon75 = QtGui.QIcon()
icon75.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_rotationAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_10.addTab(self.tab_18, icon75, _fromUtf8(""))
icon76 = QtGui.QIcon()
icon76.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_rotationAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_10.addTab(self.tab_18, icon76, _fromUtf8(""))
self.tab_19 = QtGui.QWidget()
self.tab_19.setObjectName(_fromUtf8("tab_19"))
self.gridLayout_106 = QtGui.QGridLayout(self.tab_19)
@ -1913,9 +1925,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)
icon76 = QtGui.QIcon()
icon76.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_rotationPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_10.addTab(self.tab_19, icon76, _fromUtf8(""))
icon77 = QtGui.QIcon()
icon77.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_rotationPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_10.addTab(self.tab_19, icon77, _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))
@ -1951,9 +1963,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)
icon77 = QtGui.QIcon()
icon77.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_click.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_11.addTab(self.tab_21, icon77, _fromUtf8(""))
icon78 = QtGui.QIcon()
icon78.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_click.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_11.addTab(self.tab_21, icon78, _fromUtf8(""))
self.gridLayout_107.addWidget(self.tabWidget_11, 0, 0, 1, 1)
self.horizontalLayout_81 = QtGui.QHBoxLayout()
self.horizontalLayout_81.setObjectName(_fromUtf8("horizontalLayout_81"))
@ -2102,9 +2114,9 @@ class Ui_Form(object):
self.gridLayout_114.addLayout(self.gridLayout_117, 2, 0, 1, 1)
self.gridLayout_113.addLayout(self.gridLayout_114, 2, 0, 1, 1)
self.gridLayout_112.addWidget(self.groupBox_22, 0, 0, 1, 1)
icon78 = QtGui.QIcon()
icon78.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_startPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_12.addTab(self.tab_22, icon78, _fromUtf8(""))
icon79 = QtGui.QIcon()
icon79.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_startPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_12.addTab(self.tab_22, icon79, _fromUtf8(""))
self.tab_23 = QtGui.QWidget()
self.tab_23.setObjectName(_fromUtf8("tab_23"))
self.gridLayout_118 = QtGui.QGridLayout(self.tab_23)
@ -2179,9 +2191,9 @@ class Ui_Form(object):
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)
icon79 = QtGui.QIcon()
icon79.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_endPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_12.addTab(self.tab_23, icon79, _fromUtf8(""))
icon80 = QtGui.QIcon()
icon80.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_endPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_12.addTab(self.tab_23, icon80, _fromUtf8(""))
self.gridLayout_111.addWidget(self.tabWidget_12, 2, 0, 1, 1)
self.horizontalLayout_84 = QtGui.QHBoxLayout()
self.horizontalLayout_84.setObjectName(_fromUtf8("horizontalLayout_84"))
@ -2215,65 +2227,58 @@ class Ui_Form(object):
sizePolicy.setHeightForWidth(self.button_alignview.sizePolicy().hasHeightForWidth())
self.button_alignview.setSizePolicy(sizePolicy)
self.button_alignview.setMaximumSize(QtCore.QSize(16777215, 16777215))
icon80 = QtGui.QIcon()
icon80.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_viewAlign.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_alignview.setIcon(icon80)
icon81 = QtGui.QIcon()
icon81.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_viewAlign.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_alignview.setIcon(icon81)
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)
spacerItem22 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.gridLayout_124.addItem(spacerItem22, 2, 0, 1, 1)
self.button_trackcamera = QtGui.QPushButton(self.View_Tab_2)
icon81 = QtGui.QIcon()
icon81.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_trackCamera.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_trackcamera.setIcon(icon81)
icon82 = QtGui.QIcon()
icon82.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_trackCamera.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_trackcamera.setIcon(icon82)
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)
icon82 = QtGui.QIcon()
icon82.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_view.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_7.addTab(self.View_Tab_2, icon82, _fromUtf8(""))
icon83 = QtGui.QIcon()
icon83.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_view.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_7.addTab(self.View_Tab_2, icon83, _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"))
spacerItem23 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.gridLayout_125.addItem(spacerItem23, 9, 0, 1, 1)
self.button_isView = QtGui.QPushButton(self.tab_24)
icon83 = QtGui.QIcon()
icon83.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_FCCamera_02.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isView.setIcon(icon83)
icon84 = QtGui.QIcon()
icon84.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_FCCamera_02.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isView.setIcon(icon84)
self.button_isView.setIconSize(QtCore.QSize(32, 32))
self.button_isView.setObjectName(_fromUtf8("button_isView"))
self.gridLayout_125.addWidget(self.button_isView, 8, 0, 1, 1)
self.gridLayout_125.addWidget(self.button_isView, 9, 0, 1, 1)
spacerItem23 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.gridLayout_125.addItem(spacerItem23, 10, 0, 1, 1)
self.button_isParallel = QtGui.QPushButton(self.tab_24)
icon84 = QtGui.QIcon()
icon84.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isParallel.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isParallel.setIcon(icon84)
icon85 = QtGui.QIcon()
icon85.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isParallel.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isParallel.setIcon(icon85)
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)
icon85 = QtGui.QIcon()
icon85.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_angleBetween.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isAngle.setIcon(icon85)
icon86 = QtGui.QIcon()
icon86.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_angleBetween.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isAngle.setIcon(icon86)
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)
icon86 = QtGui.QIcon()
icon86.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isLength.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isLength.setIcon(icon86)
icon87 = QtGui.QIcon()
icon87.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isLength.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isLength.setIcon(icon87)
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_isPerpendicular = QtGui.QPushButton(self.tab_24)
icon87 = QtGui.QIcon()
icon87.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isPerpendicular.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isPerpendicular.setIcon(icon87)
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_isDistance = QtGui.QPushButton(self.tab_24)
icon88 = QtGui.QIcon()
icon88.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_distanceBetween.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
@ -2281,30 +2286,44 @@ class Ui_Form(object):
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_isArea = QtGui.QPushButton(self.tab_24)
icon89 = QtGui.QIcon()
icon89.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isArea.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isArea.setIcon(icon89)
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_isCoplanar = QtGui.QPushButton(self.tab_24)
icon90 = QtGui.QIcon()
icon90.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isCoplanar.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isCoplanar.setIcon(icon90)
icon89 = QtGui.QIcon()
icon89.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isCoplanar.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isCoplanar.setIcon(icon89)
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_isClearance = QtGui.QPushButton(self.tab_24)
self.button_isArea = QtGui.QPushButton(self.tab_24)
icon90 = QtGui.QIcon()
icon90.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isArea.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isArea.setIcon(icon90)
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)
icon91 = QtGui.QIcon()
icon91.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isClearance.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isClearance.setIcon(icon91)
icon91.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isPerpendicular.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isPerpendicular.setIcon(icon91)
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)
icon92 = QtGui.QIcon()
icon92.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isClearance.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isClearance.setIcon(icon92)
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)
icon92 = QtGui.QIcon()
icon92.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_check.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_7.addTab(self.tab_24, icon92, _fromUtf8(""))
self.button_isRadius = QtGui.QPushButton(self.tab_24)
icon93 = QtGui.QIcon()
icon93.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isRadius.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isRadius.setIcon(icon93)
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)
icon94 = QtGui.QIcon()
icon94.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_check.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_7.addTab(self.tab_24, icon94, _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)
@ -2321,7 +2340,7 @@ class Ui_Form(object):
self.gridLayout_34.addLayout(self.horizontalLayout_43, 1, 0, 1, 1)
self.retranslateUi(Form)
self.tabWidget_7.setCurrentIndex(4)
self.tabWidget_7.setCurrentIndex(7)
self.point_loc_comboBox.setCurrentIndex(1)
self.tabWidget_8.setCurrentIndex(0)
self.transition_comboBox.setCurrentIndex(2)
@ -2637,7 +2656,8 @@ class Ui_Form(object):
"- Second push this button\n"
"\n"
"NB: \n"
" - The percentage of the extension can be defined first.", None))
" - The percentage of the extension can be defined first.\n"
" - Negative percentage will shrink the Axis", None))
self.button_extension_axis.setText(_translate("Form", "Enlarge(Axis)", None))
self.extension_axis.setToolTip(_translate("Form", "Extension of the Line in percentage of original length of the Line.\n"
"If the extension is 50% it means that each side is extended with 25% length.\n"
@ -2696,7 +2716,7 @@ class Ui_Form(object):
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.tabWidget_8.setTabText(self.tabWidget_8.indexOf(self.tab_14), _translate("Form", "2D", None))
self.tabWidget_8.setTabText(self.tabWidget_8.indexOf(self.tab_14), _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))
@ -2734,7 +2754,7 @@ class Ui_Form(object):
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.tabWidget_8.setTabText(self.tabWidget_8.indexOf(self.tab_15), _translate("Form", "3D", None))
self.tabWidget_8.setTabText(self.tabWidget_8.indexOf(self.tab_15), _translate("Form", "Parametric 3D", None))
self.tabWidget_7.setTabText(self.tabWidget_7.indexOf(self.Wire_Tab_2), _translate("Form", "Wire", None))
self.button_linecenter_circle.setToolTip(_translate("Form", "Select an Axis and a Point to create a Circle\n"
"centered on the Point, perpendicular to the Axis \n"
@ -2807,6 +2827,14 @@ class Ui_Form(object):
"# 0 (default), 1 (right corners) or 2 (rounded corners).)\n"
"", None))
self.button_sweep.setText(_translate("Form", "Section Sweep", None))
self.button_beam.setToolTip(_translate("Form", "Beam:\n"
"Will extrude a Section along a Linear Trajectory.\n"
"- Select first one Section wire (Closed wire will generate volumes by default)\n"
"(This Section can be a compound from sketch to realize \"tube\")\n"
"- Select one or several wire(s) as Trajectory(ies)\n"
"- Then push this button\n"
"", None))
self.button_beam.setText(_translate("Form", "Beam", None))
self.tabWidget_7.setTabText(self.tabWidget_7.indexOf(self.tab_17), _translate("Form", "Sweeping", None))
self.button_click_for_plane.setToolTip(_translate("Form", "Click:\n"
"Create a rectangular Plane perpendicular to the view at location of one mouse click.\n"
@ -2994,6 +3022,11 @@ class Ui_Form(object):
self.button_revolve.setText(_translate("Form", "Revolve", None))
self.angle_revolve.setToolTip(_translate("Form", "Angle of the revolution in degrees.", None))
self.angle_revolve.setText(_translate("Form", "360", None))
self.button_copy_objects.setToolTip(_translate("Form", "Duplicate:\n"
"Make a copy of an object or a selected subObject part:\n"
"- Select one or several object(s) or subobject(s)\n"
"- Then push this button", None))
self.button_copy_objects.setText(_translate("Form", "Duplicate", None))
self.button_common.setToolTip(_translate("Form", "Compute the common parts between selected shapes.\n"
"- Select at least two objects and click.\n"
"\n"
@ -3287,34 +3320,39 @@ class Ui_Form(object):
"Click this button\n"
" ", None))
self.button_isLength.setText(_translate("Form", "Length ?", None))
self.button_isPerpendicular.setToolTip(_translate("Form", "Check if two faces or two Edges are Perpendicular:\n"
"- Select the 2 faces/planes or 2 Edges/Lines and\n"
"Click this button\n"
"\n"
"NB: You can change the tolerance in \"Ori. Pref.\" TAB", None))
self.button_isPerpendicular.setText(_translate("Form", "are Perpendicular ?", None))
self.button_isDistance.setToolTip(_translate("Form", "Check for two Points distance:\n"
"Distances measurement and Delta values (on main Axes) between two Points\n"
"- Select the 2 Points and\n"
"Click this button\n"
" ", None))
self.button_isDistance.setText(_translate("Form", "Distance ?", None))
self.button_isArea.setToolTip(_translate("Form", "Check for surface Area:\n"
"Area measurement for a Plane or a set of Planes.\n"
"- Select One or several Planes and\n"
"Click this button", None))
self.button_isArea.setText(_translate("Form", "Area ?", None))
self.button_isCoplanar.setToolTip(_translate("Form", "Check if two faces or two Edges are Coplanar:\n"
"- Select the 2 faces/planes or 2 Edges/Lines and\n"
"Click this button\n"
"\n"
"NB: You can change the tolerance in \"Ori. Pref.\" TAB", None))
self.button_isCoplanar.setText(_translate("Form", "are Coplanar ?", None))
self.button_isArea.setToolTip(_translate("Form", "Check for surface Area:\n"
"Area measurement for a Plane or a set of Planes.\n"
"- Select One or several Planes and\n"
"- Then click this button", None))
self.button_isArea.setText(_translate("Form", "Area ?", None))
self.button_isPerpendicular.setToolTip(_translate("Form", "Check if two faces or two Edges are Perpendicular:\n"
"- Select the 2 faces/planes or 2 Edges/Lines and\n"
"Click this button\n"
"\n"
"NB: You can change the tolerance in \"Ori. Pref.\" TAB", None))
self.button_isPerpendicular.setText(_translate("Form", "are Perpendicular ?", None))
self.button_isClearance.setToolTip(_translate("Form", "Check for two Objects Clearance distance:\n"
"Quick measurements between parallel faces and similarly placed objects\n"
"- Select the 2 Objects and\n"
"Click this button", None))
self.button_isClearance.setText(_translate("Form", "Distance Clearance ?", None))
self.button_isRadius.setToolTip(_translate("Form", "Check for Radius:\n"
"Radius measurement for a Circle or an Arc.\n"
"- Select One Circle or Arc\n"
"- Then click this button", None))
self.button_isRadius.setText(_translate("Form", "Radius ?", None))
self.tabWidget_7.setTabText(self.tabWidget_7.indexOf(self.tab_24), _translate("Form", "Check", None))
self.button_WF_quit.setText(_translate("Form", "Close", None))
self.label_release.setText(_translate("Form", "2015", None))

View File

@ -57,7 +57,7 @@
<enum>QTabWidget::West</enum>
</property>
<property name="currentIndex">
<number>4</number>
<number>0</number>
</property>
<widget class="QWidget" name="Origin_Tab_2">
<attribute name="icon">
@ -1745,7 +1745,8 @@ Extend an Axis at two extrema.
- Second push this button
NB:
- The percentage of the extension can be defined first.</string>
- The percentage of the extension can be defined first.
- Negative percentage will shrink the Axis</string>
</property>
<property name="text">
<string>Enlarge(Axis)</string>
@ -1908,7 +1909,7 @@ Then click on this button.</string>
</property>
<widget class="QWidget" name="tab_14">
<attribute name="title">
<string>2D</string>
<string>Parametric 2D</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_75">
<item row="0" column="0">
@ -2514,7 +2515,7 @@ To save your curve you need to go to &quot;Edit&quot;.</string>
</widget>
<widget class="QWidget" name="tab_15">
<attribute name="title">
<string>3D</string>
<string>Parametric 3D</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_80">
<item row="0" column="0">
@ -3412,7 +3413,7 @@ Then click on this button.</string>
<attribute name="title">
<string>Sweeping</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_85">
<layout class="QGridLayout" name="gridLayout_6">
<item row="0" column="0">
<widget class="QFrame" name="frame_9">
<property name="frameShape">
@ -3560,7 +3561,7 @@ NB: You can change first:
</layout>
</widget>
</item>
<item row="1" column="0">
<item row="2" column="0">
<spacer name="verticalSpacer_25">
<property name="orientation">
<enum>Qt::Vertical</enum>
@ -3573,6 +3574,32 @@ NB: You can change first:
</property>
</spacer>
</item>
<item row="1" column="0">
<widget class="QPushButton" name="button_beam">
<property name="toolTip">
<string>Beam:
Will extrude a Section along a Linear Trajectory.
- Select first one Section wire (Closed wire will generate volumes by default)
(This Section can be a compound from sketch to realize &quot;tube&quot;)
- Select one or several wire(s) as Trajectory(ies)
- Then push this button
</string>
</property>
<property name="text">
<string>Beam</string>
</property>
<property name="icon">
<iconset>
<normaloff>../Icons/WF_Beam.svg</normaloff>../Icons/WF_Beam.svg</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="Plane_Tab1_3">
@ -4762,6 +4789,29 @@ NB:
</layout>
</item>
<item row="8" column="0">
<widget class="QPushButton" name="button_copy_objects">
<property name="toolTip">
<string>Duplicate:
Make a copy of an object or a selected subObject part:
- Select one or several object(s) or subobject(s)
- Then push this button</string>
</property>
<property name="text">
<string>Duplicate</string>
</property>
<property name="icon">
<iconset>
<normaloff>../Icons/WF_objectCopy.svg</normaloff>../Icons/WF_objectCopy.svg</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
<item row="9" column="0">
<widget class="QPushButton" name="button_common">
<property name="toolTip">
<string>Compute the common parts between selected shapes.
@ -4788,7 +4838,7 @@ Original code from HighlightCommon.FCMacro
</property>
</widget>
</item>
<item row="9" column="0">
<item row="10" column="0">
<widget class="QPushButton" name="button_difference">
<property name="toolTip">
<string>Compute the difference parts between selected shapes.
@ -4814,7 +4864,7 @@ Original code from HighlightDifference.FCMacro
</property>
</widget>
</item>
<item row="10" column="0">
<item row="11" column="0">
<spacer name="verticalSpacer_28">
<property name="orientation">
<enum>Qt::Vertical</enum>
@ -6633,19 +6683,6 @@ ReClick with same selection, will reverse the direction.</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_125">
<item row="9" column="0">
<spacer name="verticalSpacer_34">
<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="8" column="0">
<widget class="QPushButton" name="button_isView">
<property name="toolTip">
<string>Detect the position of the camera.
@ -6667,6 +6704,19 @@ by the function getCameraOrientation().</string>
</property>
</widget>
</item>
<item row="10" column="0">
<spacer name="verticalSpacer_34">
<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="0" column="0">
<widget class="QPushButton" name="button_isParallel">
<property name="toolTip">
@ -6747,30 +6797,6 @@ Click this button
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QPushButton" name="button_isPerpendicular">
<property name="toolTip">
<string>Check if two faces or two Edges are Perpendicular:
- Select the 2 faces/planes or 2 Edges/Lines and
Click this button
NB: You can change the tolerance in &quot;Ori. Pref.&quot; TAB</string>
</property>
<property name="text">
<string>are Perpendicular ?</string>
</property>
<property name="icon">
<iconset>
<normaloff>../Icons/WF_isPerpendicular.svg</normaloff>../Icons/WF_isPerpendicular.svg</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QPushButton" name="button_isDistance">
<property name="toolTip">
@ -6795,29 +6821,6 @@ Click this button
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QPushButton" name="button_isArea">
<property name="toolTip">
<string>Check for surface Area:
Area measurement for a Plane or a set of Planes.
- Select One or several Planes and
Click this button</string>
</property>
<property name="text">
<string>Area ?</string>
</property>
<property name="icon">
<iconset>
<normaloff>../Icons/WF_isArea.svg</normaloff>../Icons/WF_isArea.svg</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QPushButton" name="button_isCoplanar">
<property name="toolTip">
@ -6842,6 +6845,53 @@ NB: You can change the tolerance in &quot;Ori. Pref.&quot; TAB</string>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QPushButton" name="button_isArea">
<property name="toolTip">
<string>Check for surface Area:
Area measurement for a Plane or a set of Planes.
- Select One or several Planes and
- Then click this button</string>
</property>
<property name="text">
<string>Area ?</string>
</property>
<property name="icon">
<iconset>
<normaloff>../Icons/WF_isArea.svg</normaloff>../Icons/WF_isArea.svg</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QPushButton" name="button_isPerpendicular">
<property name="toolTip">
<string>Check if two faces or two Edges are Perpendicular:
- Select the 2 faces/planes or 2 Edges/Lines and
Click this button
NB: You can change the tolerance in &quot;Ori. Pref.&quot; TAB</string>
</property>
<property name="text">
<string>are Perpendicular ?</string>
</property>
<property name="icon">
<iconset>
<normaloff>../Icons/WF_isPerpendicular.svg</normaloff>../Icons/WF_isPerpendicular.svg</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QPushButton" name="button_isClearance">
<property name="toolTip">
@ -6865,6 +6915,29 @@ Click this button</string>
</property>
</widget>
</item>
<item row="8" column="0">
<widget class="QPushButton" name="button_isRadius">
<property name="toolTip">
<string>Check for Radius:
Radius measurement for a Circle or an Arc.
- Select One Circle or Arc
- Then click this button</string>
</property>
<property name="text">
<string>Radius ?</string>
</property>
<property name="icon">
<iconset>
<normaloff>../Icons/WF_isRadius.svg</normaloff>../Icons/WF_isRadius.svg</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
</layout>
</widget>
</widget>

View File

@ -2,8 +2,8 @@
# Form implementation generated from reading ui file 'WFGui_2015.ui'
#
# Created: Sat Nov 7 20:09:36 2015
# by: PySide UI code generator 4.11.2
# Created: Sun Dec 13 18:49:39 2015
# by: PySide UI code generator 4.11.3
#
# WARNING! All changes made in this file will be lost!
@ -636,7 +636,7 @@ class Ui_Form(object):
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, 259, 650))
self.scrollAreaWidgetContents_5.setGeometry(QtCore.QRect(0, 0, 245, 648))
self.scrollAreaWidgetContents_5.setObjectName(_fromUtf8("scrollAreaWidgetContents_5"))
self.gridLayout_76 = QtGui.QGridLayout(self.scrollAreaWidgetContents_5)
self.gridLayout_76.setObjectName(_fromUtf8("gridLayout_76"))
@ -1169,8 +1169,8 @@ class Ui_Form(object):
self.tabWidget_7.addTab(self.tab_16, icon45, _fromUtf8(""))
self.tab_17 = QtGui.QWidget()
self.tab_17.setObjectName(_fromUtf8("tab_17"))
self.gridLayout_85 = QtGui.QGridLayout(self.tab_17)
self.gridLayout_85.setObjectName(_fromUtf8("gridLayout_85"))
self.gridLayout_6 = QtGui.QGridLayout(self.tab_17)
self.gridLayout_6.setObjectName(_fromUtf8("gridLayout_6"))
self.frame_9 = QtGui.QFrame(self.tab_17)
self.frame_9.setFrameShape(QtGui.QFrame.StyledPanel)
self.frame_9.setFrameShadow(QtGui.QFrame.Raised)
@ -1209,11 +1209,16 @@ class Ui_Form(object):
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)
self.gridLayout_85.addWidget(self.frame_9, 0, 0, 1, 1)
self.gridLayout_6.addWidget(self.frame_9, 0, 0, 1, 1)
spacerItem11 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.gridLayout_85.addItem(spacerItem11, 1, 0, 1, 1)
self.gridLayout_6.addItem(spacerItem11, 2, 0, 1, 1)
self.button_beam = QtGui.QPushButton(self.tab_17)
icon47 = QtGui.QIcon()
icon47.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Beam.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_beam.setIcon(icon47)
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.tabWidget_7.addTab(self.tab_17, icon47, _fromUtf8(""))
self.Plane_Tab1_3 = QtGui.QWidget()
self.Plane_Tab1_3.setObjectName(_fromUtf8("Plane_Tab1_3"))
@ -1618,25 +1623,32 @@ class Ui_Form(object):
self.angle_revolve.setObjectName(_fromUtf8("angle_revolve"))
self.horizontalLayout_76.addWidget(self.angle_revolve)
self.gridLayout_5.addLayout(self.horizontalLayout_76, 7, 0, 1, 1)
self.button_common = QtGui.QPushButton(self.Objects_Tab2_2)
self.button_copy_objects = QtGui.QPushButton(self.Objects_Tab2_2)
icon67 = QtGui.QIcon()
icon67.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Common.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_common.setIcon(icon67)
icon67.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectCopy.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_copy_objects.setIcon(icon67)
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)
icon68 = QtGui.QIcon()
icon68.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Common.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_common.setIcon(icon68)
self.button_common.setIconSize(QtCore.QSize(32, 32))
self.button_common.setObjectName(_fromUtf8("button_common"))
self.gridLayout_5.addWidget(self.button_common, 8, 0, 1, 1)
self.gridLayout_5.addWidget(self.button_common, 9, 0, 1, 1)
self.button_difference = QtGui.QPushButton(self.Objects_Tab2_2)
icon68 = QtGui.QIcon()
icon68.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Difference.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_difference.setIcon(icon68)
icon69 = QtGui.QIcon()
icon69.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Difference.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_difference.setIcon(icon69)
self.button_difference.setIconSize(QtCore.QSize(32, 32))
self.button_difference.setObjectName(_fromUtf8("button_difference"))
self.gridLayout_5.addWidget(self.button_difference, 9, 0, 1, 1)
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, 10, 0, 1, 1)
icon69 = QtGui.QIcon()
icon69.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_box.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_7.addTab(self.Objects_Tab2_2, icon69, _fromUtf8(""))
self.gridLayout_5.addItem(spacerItem14, 11, 0, 1, 1)
icon70 = QtGui.QIcon()
icon70.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_box.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_7.addTab(self.Objects_Tab2_2, icon70, _fromUtf8(""))
self.Modif_Tab_2 = QtGui.QWidget()
self.Modif_Tab_2.setObjectName(_fromUtf8("Modif_Tab_2"))
self.gridLayout_94 = QtGui.QGridLayout(self.Modif_Tab_2)
@ -1654,9 +1666,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))
icon70 = QtGui.QIcon()
icon70.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_viewAlignFace.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_alignface2view.setIcon(icon70)
icon71 = QtGui.QIcon()
icon71.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_viewAlignFace.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_alignface2view.setIcon(icon71)
self.button_alignface2view.setIconSize(QtCore.QSize(32, 32))
self.button_alignface2view.setObjectName(_fromUtf8("button_alignface2view"))
self.gridLayout_95.addWidget(self.button_alignface2view, 0, 0, 1, 1)
@ -1664,9 +1676,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))
icon71 = QtGui.QIcon()
icon71.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectAlignFaces.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_align_faces.setIcon(icon71)
icon72 = QtGui.QIcon()
icon72.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectAlignFaces.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_align_faces.setIcon(icon72)
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)
@ -1685,9 +1697,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))
icon72 = QtGui.QIcon()
icon72.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectAlignAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_align_edges.setIcon(icon72)
icon73 = QtGui.QIcon()
icon73.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectAlignAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_align_edges.setIcon(icon73)
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)
@ -1705,16 +1717,16 @@ class Ui_Form(object):
spacerItem15 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.gridLayout_95.addItem(spacerItem15, 5, 0, 1, 1)
self.button_joint_points = QtGui.QPushButton(self.align_tab_2)
icon73 = QtGui.QIcon()
icon73.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectJointPoints.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_joint_points.setIcon(icon73)
icon74 = QtGui.QIcon()
icon74.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectJointPoints.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_joint_points.setIcon(icon74)
self.button_joint_points.setIconSize(QtCore.QSize(32, 32))
self.button_joint_points.setObjectName(_fromUtf8("button_joint_points"))
self.gridLayout_95.addWidget(self.button_joint_points, 3, 0, 1, 1)
self.button_joint_faces = QtGui.QPushButton(self.align_tab_2)
icon74 = QtGui.QIcon()
icon74.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectJointFaces.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_joint_faces.setIcon(icon74)
icon75 = QtGui.QIcon()
icon75.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectJointFaces.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_joint_faces.setIcon(icon75)
self.button_joint_faces.setIconSize(QtCore.QSize(32, 32))
self.button_joint_faces.setObjectName(_fromUtf8("button_joint_faces"))
self.gridLayout_95.addWidget(self.button_joint_faces, 4, 0, 1, 1)
@ -1884,9 +1896,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)
icon75 = QtGui.QIcon()
icon75.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_rotationAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_10.addTab(self.tab_18, icon75, _fromUtf8(""))
icon76 = QtGui.QIcon()
icon76.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_rotationAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_10.addTab(self.tab_18, icon76, _fromUtf8(""))
self.tab_19 = QtGui.QWidget()
self.tab_19.setObjectName(_fromUtf8("tab_19"))
self.gridLayout_106 = QtGui.QGridLayout(self.tab_19)
@ -1913,9 +1925,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)
icon76 = QtGui.QIcon()
icon76.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_rotationPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_10.addTab(self.tab_19, icon76, _fromUtf8(""))
icon77 = QtGui.QIcon()
icon77.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_rotationPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_10.addTab(self.tab_19, icon77, _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))
@ -1951,9 +1963,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)
icon77 = QtGui.QIcon()
icon77.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_click.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_11.addTab(self.tab_21, icon77, _fromUtf8(""))
icon78 = QtGui.QIcon()
icon78.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_click.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_11.addTab(self.tab_21, icon78, _fromUtf8(""))
self.gridLayout_107.addWidget(self.tabWidget_11, 0, 0, 1, 1)
self.horizontalLayout_81 = QtGui.QHBoxLayout()
self.horizontalLayout_81.setObjectName(_fromUtf8("horizontalLayout_81"))
@ -2102,9 +2114,9 @@ class Ui_Form(object):
self.gridLayout_114.addLayout(self.gridLayout_117, 2, 0, 1, 1)
self.gridLayout_113.addLayout(self.gridLayout_114, 2, 0, 1, 1)
self.gridLayout_112.addWidget(self.groupBox_22, 0, 0, 1, 1)
icon78 = QtGui.QIcon()
icon78.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_startPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_12.addTab(self.tab_22, icon78, _fromUtf8(""))
icon79 = QtGui.QIcon()
icon79.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_startPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_12.addTab(self.tab_22, icon79, _fromUtf8(""))
self.tab_23 = QtGui.QWidget()
self.tab_23.setObjectName(_fromUtf8("tab_23"))
self.gridLayout_118 = QtGui.QGridLayout(self.tab_23)
@ -2179,9 +2191,9 @@ class Ui_Form(object):
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)
icon79 = QtGui.QIcon()
icon79.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_endPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_12.addTab(self.tab_23, icon79, _fromUtf8(""))
icon80 = QtGui.QIcon()
icon80.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_endPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_12.addTab(self.tab_23, icon80, _fromUtf8(""))
self.gridLayout_111.addWidget(self.tabWidget_12, 2, 0, 1, 1)
self.horizontalLayout_84 = QtGui.QHBoxLayout()
self.horizontalLayout_84.setObjectName(_fromUtf8("horizontalLayout_84"))
@ -2215,65 +2227,58 @@ class Ui_Form(object):
sizePolicy.setHeightForWidth(self.button_alignview.sizePolicy().hasHeightForWidth())
self.button_alignview.setSizePolicy(sizePolicy)
self.button_alignview.setMaximumSize(QtCore.QSize(16777215, 16777215))
icon80 = QtGui.QIcon()
icon80.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_viewAlign.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_alignview.setIcon(icon80)
icon81 = QtGui.QIcon()
icon81.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_viewAlign.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_alignview.setIcon(icon81)
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)
spacerItem22 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.gridLayout_124.addItem(spacerItem22, 2, 0, 1, 1)
self.button_trackcamera = QtGui.QPushButton(self.View_Tab_2)
icon81 = QtGui.QIcon()
icon81.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_trackCamera.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_trackcamera.setIcon(icon81)
icon82 = QtGui.QIcon()
icon82.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_trackCamera.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_trackcamera.setIcon(icon82)
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)
icon82 = QtGui.QIcon()
icon82.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_view.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_7.addTab(self.View_Tab_2, icon82, _fromUtf8(""))
icon83 = QtGui.QIcon()
icon83.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_view.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_7.addTab(self.View_Tab_2, icon83, _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"))
spacerItem23 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.gridLayout_125.addItem(spacerItem23, 9, 0, 1, 1)
self.button_isView = QtGui.QPushButton(self.tab_24)
icon83 = QtGui.QIcon()
icon83.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_FCCamera_02.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isView.setIcon(icon83)
icon84 = QtGui.QIcon()
icon84.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_FCCamera_02.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isView.setIcon(icon84)
self.button_isView.setIconSize(QtCore.QSize(32, 32))
self.button_isView.setObjectName(_fromUtf8("button_isView"))
self.gridLayout_125.addWidget(self.button_isView, 8, 0, 1, 1)
self.gridLayout_125.addWidget(self.button_isView, 9, 0, 1, 1)
spacerItem23 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.gridLayout_125.addItem(spacerItem23, 10, 0, 1, 1)
self.button_isParallel = QtGui.QPushButton(self.tab_24)
icon84 = QtGui.QIcon()
icon84.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isParallel.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isParallel.setIcon(icon84)
icon85 = QtGui.QIcon()
icon85.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isParallel.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isParallel.setIcon(icon85)
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)
icon85 = QtGui.QIcon()
icon85.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_angleBetween.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isAngle.setIcon(icon85)
icon86 = QtGui.QIcon()
icon86.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_angleBetween.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isAngle.setIcon(icon86)
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)
icon86 = QtGui.QIcon()
icon86.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isLength.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isLength.setIcon(icon86)
icon87 = QtGui.QIcon()
icon87.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isLength.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isLength.setIcon(icon87)
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_isPerpendicular = QtGui.QPushButton(self.tab_24)
icon87 = QtGui.QIcon()
icon87.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isPerpendicular.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isPerpendicular.setIcon(icon87)
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_isDistance = QtGui.QPushButton(self.tab_24)
icon88 = QtGui.QIcon()
icon88.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_distanceBetween.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
@ -2281,30 +2286,44 @@ class Ui_Form(object):
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_isArea = QtGui.QPushButton(self.tab_24)
icon89 = QtGui.QIcon()
icon89.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isArea.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isArea.setIcon(icon89)
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_isCoplanar = QtGui.QPushButton(self.tab_24)
icon90 = QtGui.QIcon()
icon90.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isCoplanar.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isCoplanar.setIcon(icon90)
icon89 = QtGui.QIcon()
icon89.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isCoplanar.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isCoplanar.setIcon(icon89)
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_isClearance = QtGui.QPushButton(self.tab_24)
self.button_isArea = QtGui.QPushButton(self.tab_24)
icon90 = QtGui.QIcon()
icon90.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isArea.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isArea.setIcon(icon90)
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)
icon91 = QtGui.QIcon()
icon91.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isClearance.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isClearance.setIcon(icon91)
icon91.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isPerpendicular.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isPerpendicular.setIcon(icon91)
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)
icon92 = QtGui.QIcon()
icon92.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isClearance.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isClearance.setIcon(icon92)
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)
icon92 = QtGui.QIcon()
icon92.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_check.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_7.addTab(self.tab_24, icon92, _fromUtf8(""))
self.button_isRadius = QtGui.QPushButton(self.tab_24)
icon93 = QtGui.QIcon()
icon93.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isRadius.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isRadius.setIcon(icon93)
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)
icon94 = QtGui.QIcon()
icon94.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_check.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_7.addTab(self.tab_24, icon94, _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)
@ -2321,7 +2340,7 @@ class Ui_Form(object):
self.gridLayout_34.addLayout(self.horizontalLayout_43, 1, 0, 1, 1)
self.retranslateUi(Form)
self.tabWidget_7.setCurrentIndex(4)
self.tabWidget_7.setCurrentIndex(7)
self.point_loc_comboBox.setCurrentIndex(1)
self.tabWidget_8.setCurrentIndex(0)
self.transition_comboBox.setCurrentIndex(2)
@ -2637,7 +2656,8 @@ class Ui_Form(object):
"- Second push this button\n"
"\n"
"NB: \n"
" - The percentage of the extension can be defined first.", None))
" - The percentage of the extension can be defined first.\n"
" - Negative percentage will shrink the Axis", None))
self.button_extension_axis.setText(_translate("Form", "Enlarge(Axis)", None))
self.extension_axis.setToolTip(_translate("Form", "Extension of the Line in percentage of original length of the Line.\n"
"If the extension is 50% it means that each side is extended with 25% length.\n"
@ -2696,7 +2716,7 @@ class Ui_Form(object):
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.tabWidget_8.setTabText(self.tabWidget_8.indexOf(self.tab_14), _translate("Form", "2D", None))
self.tabWidget_8.setTabText(self.tabWidget_8.indexOf(self.tab_14), _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))
@ -2734,7 +2754,7 @@ class Ui_Form(object):
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.tabWidget_8.setTabText(self.tabWidget_8.indexOf(self.tab_15), _translate("Form", "3D", None))
self.tabWidget_8.setTabText(self.tabWidget_8.indexOf(self.tab_15), _translate("Form", "Parametric 3D", None))
self.tabWidget_7.setTabText(self.tabWidget_7.indexOf(self.Wire_Tab_2), _translate("Form", "Wire", None))
self.button_linecenter_circle.setToolTip(_translate("Form", "Select an Axis and a Point to create a Circle\n"
"centered on the Point, perpendicular to the Axis \n"
@ -2807,6 +2827,14 @@ class Ui_Form(object):
"# 0 (default), 1 (right corners) or 2 (rounded corners).)\n"
"", None))
self.button_sweep.setText(_translate("Form", "Section Sweep", None))
self.button_beam.setToolTip(_translate("Form", "Beam:\n"
"Will extrude a Section along a Linear Trajectory.\n"
"- Select first one Section wire (Closed wire will generate volumes by default)\n"
"(This Section can be a compound from sketch to realize \"tube\")\n"
"- Select one or several wire(s) as Trajectory(ies)\n"
"- Then push this button\n"
"", None))
self.button_beam.setText(_translate("Form", "Beam", None))
self.tabWidget_7.setTabText(self.tabWidget_7.indexOf(self.tab_17), _translate("Form", "Sweeping", None))
self.button_click_for_plane.setToolTip(_translate("Form", "Click:\n"
"Create a rectangular Plane perpendicular to the view at location of one mouse click.\n"
@ -2994,6 +3022,11 @@ class Ui_Form(object):
self.button_revolve.setText(_translate("Form", "Revolve", None))
self.angle_revolve.setToolTip(_translate("Form", "Angle of the revolution in degrees.", None))
self.angle_revolve.setText(_translate("Form", "360", None))
self.button_copy_objects.setToolTip(_translate("Form", "Duplicate:\n"
"Make a copy of an object or a selected subObject part:\n"
"- Select one or several object(s) or subobject(s)\n"
"- Then push this button", None))
self.button_copy_objects.setText(_translate("Form", "Duplicate", None))
self.button_common.setToolTip(_translate("Form", "Compute the common parts between selected shapes.\n"
"- Select at least two objects and click.\n"
"\n"
@ -3287,34 +3320,39 @@ class Ui_Form(object):
"Click this button\n"
" ", None))
self.button_isLength.setText(_translate("Form", "Length ?", None))
self.button_isPerpendicular.setToolTip(_translate("Form", "Check if two faces or two Edges are Perpendicular:\n"
"- Select the 2 faces/planes or 2 Edges/Lines and\n"
"Click this button\n"
"\n"
"NB: You can change the tolerance in \"Ori. Pref.\" TAB", None))
self.button_isPerpendicular.setText(_translate("Form", "are Perpendicular ?", None))
self.button_isDistance.setToolTip(_translate("Form", "Check for two Points distance:\n"
"Distances measurement and Delta values (on main Axes) between two Points\n"
"- Select the 2 Points and\n"
"Click this button\n"
" ", None))
self.button_isDistance.setText(_translate("Form", "Distance ?", None))
self.button_isArea.setToolTip(_translate("Form", "Check for surface Area:\n"
"Area measurement for a Plane or a set of Planes.\n"
"- Select One or several Planes and\n"
"Click this button", None))
self.button_isArea.setText(_translate("Form", "Area ?", None))
self.button_isCoplanar.setToolTip(_translate("Form", "Check if two faces or two Edges are Coplanar:\n"
"- Select the 2 faces/planes or 2 Edges/Lines and\n"
"Click this button\n"
"\n"
"NB: You can change the tolerance in \"Ori. Pref.\" TAB", None))
self.button_isCoplanar.setText(_translate("Form", "are Coplanar ?", None))
self.button_isArea.setToolTip(_translate("Form", "Check for surface Area:\n"
"Area measurement for a Plane or a set of Planes.\n"
"- Select One or several Planes and\n"
"- Then click this button", None))
self.button_isArea.setText(_translate("Form", "Area ?", None))
self.button_isPerpendicular.setToolTip(_translate("Form", "Check if two faces or two Edges are Perpendicular:\n"
"- Select the 2 faces/planes or 2 Edges/Lines and\n"
"Click this button\n"
"\n"
"NB: You can change the tolerance in \"Ori. Pref.\" TAB", None))
self.button_isPerpendicular.setText(_translate("Form", "are Perpendicular ?", None))
self.button_isClearance.setToolTip(_translate("Form", "Check for two Objects Clearance distance:\n"
"Quick measurements between parallel faces and similarly placed objects\n"
"- Select the 2 Objects and\n"
"Click this button", None))
self.button_isClearance.setText(_translate("Form", "Distance Clearance ?", None))
self.button_isRadius.setToolTip(_translate("Form", "Check for Radius:\n"
"Radius measurement for a Circle or an Arc.\n"
"- Select One Circle or Arc\n"
"- Then click this button", None))
self.button_isRadius.setText(_translate("Form", "Radius ?", None))
self.tabWidget_7.setTabText(self.tabWidget_7.indexOf(self.tab_24), _translate("Form", "Check", None))
self.button_WF_quit.setText(_translate("Form", "Close", None))
self.label_release.setText(_translate("Form", "2015", None))

View File

@ -14,6 +14,7 @@
* - Ulrich Brammer for Geodesic dome code *
* - Wmayer Many Thanks for active help on testing and debbuging *
* - Gaël Ecorchard for HighlightDifference Macro *
* - lorenz_l for Beam tool Macro *
* Special thanks to Mario52 for diverse MACRO codes as FCCamera, *
* cutCircle, cutWire, Delta xyz, bounding box ... *
* and other diverse pieces of codes *
@ -54,7 +55,7 @@
# First two lines to be able to launch with python
import sys
from WorkFeature import WF_ObjParCurve_2015
# change this by your own FreeCAD lib path import FreeCAD
# Change this by your own FreeCAD lib path to import FreeCAD
if not sys.path.__contains__("/usr/lib/freecad/lib"):
sys.path.append("/usr/lib/freecad/lib")
@ -64,7 +65,7 @@ from WF_Utils_2015 import *
from WF_ObjParCurve_2015 import *
global myRelease
myRelease = "2015_11_08"
myRelease = "2015_12_16"
import os.path
import time
@ -380,7 +381,7 @@ def get_typefromSelection(objectType="Edge", info=0):
if info != 0:
print("SubObject = " + str(SubObject))
print("SubObject.ShapeType = " + str(SubObject.ShapeType))
if SubObject.ShapeType == "Edge":
if SubObject.ShapeType == objectType:
m_found = True
break
if m_found:
@ -444,7 +445,6 @@ def get_InfoObjects(info=0, printError=True):
", m_objNames=" + str(m_objNames))
return m_num, m_selEx, m_objs, m_objNames
def reset_SelectedObjects(Selection, info=0):
""" Reset the selection changed by Draft.rotate for example
Selection is the original selection you want to reset. Must be saved before any
@ -515,7 +515,6 @@ def get_SelectedObjectsWithParent(info=0, printError=True):
printError_msg("No active document !")
return
def get_SelectedObjects(info=0, printError=True):
""" Return selected objects as
Selection = (Number_of_Points, Number_of_Edges, Number_of_Planes,
@ -717,7 +716,6 @@ def getEdgeType(edge):
except:
return "Unknown"
def getShapeType(subObject):
try:
if isinstance(subObject,Part.Edge):
@ -733,9 +731,8 @@ def getShapeType(subObject):
except:
return "Unknown"
def definePropOfActiveObj():
Gui.activeDocument().activeObject().LineColor = (red, green, blue)
Gui.activeDocument().activeObject().LineColor = (1.00,0.67,0.00)
Gui.activeDocument().activeObject().ShapeColor = (0.33,1.00,1.00)
Gui.activeDocument().activeObject().Transparency = (50)
@ -747,7 +744,6 @@ def addObjectToGrp(obj,grp,info=0):
if info != 0:
print_msg("Object " + str(m_obj) + " added to Group : " + str(m_grp))
def addObjectToGrp2(obj,grp,info=0):
m_obj = obj
m_grp = grp
@ -911,6 +907,7 @@ def minMaxObjectsLimits(objs,info=0):
return xmax, xmin, ymax, ymin, zmax, zmin
def baseObjectPoint(obj,info=0):
""" Return the base point of selected Object.
"""
@ -921,7 +918,6 @@ def baseObjectPoint(obj,info=0):
print_point(base,"Base of object selected is :")
return base
def meanVectorsPoint(vertx,info=0):
""" Return the mean point of all selected Vectors.
"""
@ -955,7 +951,6 @@ def meanVectorsPoint(vertx,info=0):
print_point(mean,"Mean of all vectors selected is : ")
return mean
def centerBBVectorsPoint(vertx,info=0):
""" Return the center point of the bounding box of all selected Vectors.
"""
@ -1037,7 +1032,6 @@ def distanceBetween(A, B):
except Part.OCCError:
return 0.0
def angleBetween(e1, e2):
""" Return the angle (in degrees) between 2 edges.
"""
@ -1636,7 +1630,6 @@ def attachPoint(*argc):
if msg != 0:
print_msg("argc is " + str(*argc) + " and Attach point " + str(m_attach_point) + " selected !")
def intersecPlanePlane(Plane_Normal1, Plane_Point1, Plane_Normal2, Plane_Point2, info=0):
""" Return the intersection Line between two Planes.
"""
@ -2047,6 +2040,9 @@ def plot_sweep(traj, section, makeSolid=True, isFrenet=True, transition=2 , part
def bounding_box(grp,ori_X,ori_Y,ori_Z,length_X,length_Y,length_Z,createVol=False,info=0):
""" Create a bounding box.
"""
global verbose
msg=verbose
m_grp = grp
m_l_X = length_X
m_l_Y = length_Y
@ -6672,10 +6668,10 @@ def plot_boundingBoxes():
m_grp=m_actDoc.getObject( str(m_dir) )
# Create a solid out of the shells of a shape
try:
m_s = m_obj.Shape
m_s = m_obj.Shape
except:
printError_msg( "This object has no attribute 'Shape' !\nSelect another one !\n")
break
printError_msg( "This object has no attribute 'Shape' !\nSelect another one !\n")
break
# Get a boundBox A bounding box is an orthographic cube which is a way to describe outer boundaries
m_boundBox = m_s.BoundBox
if msg != 0:
@ -7727,7 +7723,7 @@ def plot_sectionSweep():
"INCORRECT Object(s) Selection :\n" +\
"First select the wire you want as section for Section Sweep (must be closed for solid creation!)\n" +\
"Then select the second wire for the trajectory of the Sweep !"
result_msg = " : Section Sweep created !"
result_msg = " : Section Sweep created into WorkFeatures/WorkObjects!"
name = "SectionSweep"
part = "Part::Feature"
@ -7909,7 +7905,54 @@ def plot_sectionSweep():
except:
printError_msg(error_msg)
def plot_sectionBeam():
"""Section Beam:
"""
import WorkFeature.Beam.beam as BM
msg=verbose
msg=1
createFolders('WorkObjects')
error_msg =\
"INCORRECT Object(s) Selection :\n" +\
"First select the wire you want as section for Section Beam \n" +\
"Then select the second wire for the strait path trajectory of the Beam !"
result_msg = " : Section Beam created into WorkFeatures/WorkObjects!"
name = "Beam"
part = "Part::FeaturePython"
m_actDoc=App.activeDocument()
if m_actDoc.Name:
m_sel = Gui.Selection.getSelection(m_actDoc.Name)
m_selEx = Gui.Selection.getSelectionEx(m_actDoc.Name)
else:
return
try:
m_profile = m_sel[0]
if msg != 0:
print_msg("m_profile !" + str(m_profile))
print_msg("m_selEx !" + str(m_selEx))
for m_path_selected in m_selEx[1:]:
m_path = m_path_selected.Object
#m_path_name = m_path_selected.SubElementNames[0]
for m_path_name in m_path_selected.SubElementNames:
if msg != 0:
print_msg("m_path !" + str(m_path))
print_msg("m_path_name !" + str(m_path_name))
m_beam = App.ActiveDocument.addObject(part,name)
BM.Beam(m_beam, m_profile, m_path, m_path_name)
BM.ViewProviderBeam(m_beam.ViewObject)
App.ActiveDocument.getObject( 'WorkObjects' ).addObject(m_beam)
App.ActiveDocument.recompute()
print_msg(m_beam.Label + str(result_msg))
except:
printError_msg(error_msg)
def plot_sectionSweep2():
"""
Beam Sweep:
@ -9306,6 +9349,7 @@ def line_length():
msg=verbose
error_msg = "INCORRECT Object(s) Selection :\n\nYou Must Select One Line !"
m_length = None
Selection = get_SelectedObjects(info=msg, printError=False)
try:
@ -9337,24 +9381,73 @@ def line_length():
if msg!=0:
print_msg("Distance is : " + str(m_dist))
if hasattr(edge, 'Length'):
m_length = edge.Length
msg=\
"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" +\
"Delta Y : "+str(abs(pos_Y1-pos_Y2))+"\n" +\
"Delta Z : "+str(abs(pos_Z1-pos_Z2))+"\n\n" +\
"Distance : " + str(m_dist)
"Distance : " + str(m_dist)+"\n\n"
if m_length:
msg+="Length along edge/arc : " + str(m_length)
print_gui_msg(msg)
except:
printError_msg(error_msg)
def object_radius():
"""
Check for Radius:
"""
msg=verbose
error_msg = "INCORRECT Object(s) Selection :\n\nYou Must Select One Arc!"
Selection = Gui.Selection.getSelectionEx()
try:
result = "Radius :"
m_found = False
for m_sel in Selection:
m_name = m_sel.ObjectName
if hasattr(m_sel, 'SubObjects'):
for m_sub,m_sub_name in zip(m_sel.SubObjects,m_sel.SubElementNames):
if hasattr(m_sub, 'Curve'):
r = m_sub.Curve
if hasattr(r, 'Radius'):
m_radius = r.Radius
result += "\nObject : " + str(m_name) + "." + str(m_sub_name)
result += "\nRadius is " + str(m_radius)
m_found = True
else:
if hasattr(m_sel, 'Curve'):
r = m_sel.Curve
if hasattr(r, 'Radius'):
m_radius = r.Radius
result += "\nObject : " + str(m_name)
result += "\nRadius is " + str(m_radius)
m_found = True
if m_found:
print_gui_msg(result)
else :
printError_msg(error_msg)
except:
printError_msg(error_msg)
def plane_area():
"""
Check for surface Area:
Area measurement for a Plane or a set of Planes.
- Select One or several Planes and
- Select One or several Face(s)
"""
msg=verbose
@ -9745,6 +9838,82 @@ def angleAlignFaces(value):
except ValueError:
printError_msg("Angle must be valid number !")
def object_copy():
"""
Duplicate:
Make a copy of an object or a selected subObject part:
- Select one or several object(s) or subobject(s)
Original code from Macro_ReproWire
Authors = 2015 Mario52
"""
msg=verbose
msg=1
error_msg = "INCORRECT Object(s) Selection :\n\nYou Must Select at least one Object !"
sel = Gui.Selection.getSelection()
s = Gui.Selection.getSelectionEx()
try:
if len(sel) != 0:
# print "Object(s) : ", len(sel), " , SubObject(s) : ", len(s)
i2 = ii2 = -1
for i in s:
i2 += 1
ii2 = -1
try:
FreeCADGui.Selection.getSelectionEx()[i2].SubObjects[ii2]
for ii in i.SubElementNames:
# print "SubObject"
ii2 += 1
# create repro shape subObject
Part.show(FreeCADGui.Selection.getSelectionEx()[i2].SubObjects[ii2].copy())
# display the info SubObject
print i2+1 ,"/", ii2+1 ,"/", len(s) ," ", i.ObjectName ," ", ii
a = App.ActiveDocument.ActiveObject
# Label for the repro shape
# object Name / original object Name / SubObject Name
a.Label = a.Name + " " + i.ObjectName + " " + ii
try:
# give LineColor
FreeCADGui.activeDocument().activeObject().LineColor = (1.0,0.0,0.0)
# give PointColor
FreeCADGui.activeDocument().activeObject().PointColor = (1.0,0.0,0.0)
# give ShapeColor
FreeCADGui.activeDocument().activeObject().ShapeColor = (1.0,0.0,0.0)
except Exception:
None
except Exception:
# print "Not SubObject"
# create repro shape object
Part.show(sel[i2].Shape)
# display the info SubObject
print i2+1 ,"/", ii2+1 ,"/", len(s) ," ", sel[i2].Name
a = App.ActiveDocument.ActiveObject
# Label for the repro shape
# object Name / original object Name
a.Label =a.Name + " " + sel[i2].Name
try:
# give LineColor
FreeCADGui.activeDocument().activeObject().LineColor = (1.0,0.0,0.0)
# give PointColor
FreeCADGui.activeDocument().activeObject().PointColor = (1.0,0.0,0.0)
# give ShapeColor
FreeCADGui.activeDocument().activeObject().ShapeColor = (1.0,0.0,0.0)
except Exception:
None
else :
printError_msg(error_msg)
pass
except:
printError_msg(error_msg)
def object_alignFaces():
"""
@ -10247,7 +10416,9 @@ class WorkFeatureTab():
"button_revolve" : "plot_revolution",
"button_common" : "object_common",
"button_difference" : "object_difference",
"button_copy_objects" : "object_copy",
"button_sweep" : "plot_sectionSweep",
"button_beam" : "plot_sectionBeam",
"button_alignview" : "view_align",
"button_trackcamera" : "view_trackCamera",
@ -10265,6 +10436,7 @@ class WorkFeatureTab():
"button_isAngle" : "object_angle",
"button_isDistance" : "points_distance",
"button_isLength" : "line_length",
"button_isRadius" : "object_radius",
"button_isArea" : "plane_area",
"button_isView" : "camera_orientation",

View File

@ -94,7 +94,7 @@ class Parametric():
self.updateOptions()
def plot_matriz(self, matriz):
def plot_matriz_old(self, matriz):
""" Plot the dataset with different options.
"""
if self.debug != 0:
@ -116,7 +116,44 @@ class Parametric():
Draft.upgrade(FreeCADGui.Selection.getSelection(),delete=True)
FreeCAD.ActiveDocument.recompute()
def plot_matriz(self, matriz):
""" Plot the dataset with different options.
"""
if self.debug != 0:
print self.plot_matriz.__name__
doc = FreeCAD.ActiveDocument
if doc == None:
doc = FreeCAD.newDocument()
if self.points == True:
for point in matriz:
a = Draft.makePoint(point)
FreeCAD.ActiveDocument.ActiveObject.Label = str(a.Name)+"_Point_"+str(self.name.text())
else:
curva = Part.makePolygon(matriz)
if self.bspline == True:
a = Draft.makeBSpline(curva,closed=self.close,face=False)
FreeCAD.ActiveDocument.ActiveObject.Label = str(a.Name)+"_BSpline_"+str(self.name.text())
if self.bezier == True:
a = Draft.makeBezCurve(curva,closed=self.close,face=False)
FreeCAD.ActiveDocument.ActiveObject.Label = str(a.Name)+"_BezCurve_"+str(self.name.text())
if self.poly == True:
a = Draft.makeWire(curva,closed=self.close,face=False)
FreeCAD.ActiveDocument.ActiveObject.Label = str(a.Name)+"_Wire_"+str(self.name.text())
# if self.arcs == True:
# s=Part.BSplineCurve()
# s.interpolate(matriz, True)
# s.buildFromPoles(matriz)
# #Part.show(s.toShape())
# arcs=s.toBiArcs(0.1)
# wire=Part.Wire([Part.Edge(i) for i in arcs])
# Part.show(wire)
if self.close == True and self.face == True:
Draft.upgrade(FreeCADGui.Selection.getSelection(),delete=True)
FreeCAD.ActiveDocument.recompute()
FreeCADGui.ActiveDocument.ActiveView.fitAll()
def edit(self):
""" Launch the edit panel curve.
"""

View File

@ -2,6 +2,10 @@
import sys
import os.path
# Change this by your own FreeCAD lib path to import FreeCAD
if not sys.path.__contains__("/usr/lib/freecad/lib"):
sys.path.append("/usr/lib/freecad/lib")
try:
# try import
import WorkFeature.WF_2015 as WF