Release of 2015-12-16 :

Correction bug Bounding box

Addition:

into "Sweeping" TAB :
	Beam (thanks to lorenz_l for Beam tool Macro)
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 "tube")
- Select one or several wire(s) as Trajectory(ies)
- Then push this button

into "Object" TAB :
	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

into "Check" TAB :
	Radius
Check for Radius:
Radius measurement for a Circle or an Arc.
- Select One Circle or Arc
- Then click this button
This commit is contained in:
Rentlau 2015-12-16 06:17:37 +01:00
parent c2bb2bca6d
commit efa2dfd3ca
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" width="64"
height="64" height="64"
id="svg3017" id="svg3017"
inkscape:version="0.48.5 r10040" inkscape:version="0.91 r13725"
sodipodi:docname="WF_Beam.svg" sodipodi:docname="WF_Beam.svg"
inkscape:export-filename="/home/mark/HyperbolaIcon.png" inkscape:export-filename="/home/mark/HyperbolaIcon.png"
inkscape:export-xdpi="90" inkscape:export-xdpi="90"
@ -388,6 +388,37 @@
operator="over" operator="over"
result="composite2" /> result="composite2" />
</filter> </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> </defs>
<sodipodi:namedview <sodipodi:namedview
pagecolor="#ffffff" pagecolor="#ffffff"
@ -398,17 +429,24 @@
guidetolerance="10" guidetolerance="10"
inkscape:pageopacity="0" inkscape:pageopacity="0"
inkscape:pageshadow="2" inkscape:pageshadow="2"
inkscape:window-width="1366" inkscape:window-width="758"
inkscape:window-height="702" inkscape:window-height="617"
id="namedview13601" id="namedview13601"
showgrid="false" showgrid="false"
inkscape:zoom="5.840651" inkscape:zoom="6.640625"
inkscape:cx="60.002575" inkscape:cx="38.238655"
inkscape:cy="25.215672" inkscape:cy="32"
inkscape:window-x="0" inkscape:window-x="646"
inkscape:window-y="27" inkscape:window-y="51"
inkscape:window-maximized="1" inkscape:window-maximized="0"
inkscape:current-layer="svg3017" /> 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 <g
id="g3019" id="g3019"
transform="translate(0,-126)" /> transform="translate(0,-126)" />
@ -417,31 +455,31 @@
id="layer1" id="layer1"
inkscape:label="Layer1" /> inkscape:label="Layer1" />
<path <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" 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" id="path41306-0-9"
inkscape:connector-curvature="0" inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" 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 <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" d="M 59.56913,7.9400816 14.840698,34.047565"
id="path41306-2" id="path41306-2"
inkscape:connector-curvature="0" inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" 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 <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)" 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 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" 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" id="path41302"
inkscape:connector-curvature="0" inkscape:connector-curvature="0"
sodipodi:nodetypes="ccssscccccc" sodipodi:nodetypes="scsssccccscss"
transform="matrix(-0.37450424,-0.5067961,0.81446679,-0.60186189,27.487169,66.65621)" /> transform="matrix(-0.49449359,0.39060441,-0.62773631,-0.79469555,97.151171,40.082247)" />
<path <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" 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" id="path41306"
inkscape:connector-curvature="0" inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" 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> </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' # Form implementation generated from reading ui file 'WFGui_2015.ui'
# #
# Created: Sat Nov 7 20:09:36 2015 # Created: Sun Dec 13 18:49:39 2015
# by: PySide UI code generator 4.11.2 # by: PySide UI code generator 4.11.3
# #
# WARNING! All changes made in this file will be lost! # 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.setWidgetResizable(True)
self.scrollArea_2.setObjectName(_fromUtf8("scrollArea_2")) self.scrollArea_2.setObjectName(_fromUtf8("scrollArea_2"))
self.scrollAreaWidgetContents_5 = QtGui.QWidget() 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.scrollAreaWidgetContents_5.setObjectName(_fromUtf8("scrollAreaWidgetContents_5"))
self.gridLayout_76 = QtGui.QGridLayout(self.scrollAreaWidgetContents_5) self.gridLayout_76 = QtGui.QGridLayout(self.scrollAreaWidgetContents_5)
self.gridLayout_76.setObjectName(_fromUtf8("gridLayout_76")) 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.tabWidget_7.addTab(self.tab_16, icon45, _fromUtf8(""))
self.tab_17 = QtGui.QWidget() self.tab_17 = QtGui.QWidget()
self.tab_17.setObjectName(_fromUtf8("tab_17")) self.tab_17.setObjectName(_fromUtf8("tab_17"))
self.gridLayout_85 = QtGui.QGridLayout(self.tab_17) self.gridLayout_6 = QtGui.QGridLayout(self.tab_17)
self.gridLayout_85.setObjectName(_fromUtf8("gridLayout_85")) self.gridLayout_6.setObjectName(_fromUtf8("gridLayout_6"))
self.frame_9 = QtGui.QFrame(self.tab_17) self.frame_9 = QtGui.QFrame(self.tab_17)
self.frame_9.setFrameShape(QtGui.QFrame.StyledPanel) self.frame_9.setFrameShape(QtGui.QFrame.StyledPanel)
self.frame_9.setFrameShadow(QtGui.QFrame.Raised) 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.setIconSize(QtCore.QSize(32, 32))
self.button_sweep.setObjectName(_fromUtf8("button_sweep")) self.button_sweep.setObjectName(_fromUtf8("button_sweep"))
self.gridLayout_86.addWidget(self.button_sweep, 1, 0, 1, 1) 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) 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 = QtGui.QIcon()
icon47.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Beam.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) 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.tabWidget_7.addTab(self.tab_17, icon47, _fromUtf8(""))
self.Plane_Tab1_3 = QtGui.QWidget() self.Plane_Tab1_3 = QtGui.QWidget()
self.Plane_Tab1_3.setObjectName(_fromUtf8("Plane_Tab1_3")) 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.angle_revolve.setObjectName(_fromUtf8("angle_revolve"))
self.horizontalLayout_76.addWidget(self.angle_revolve) self.horizontalLayout_76.addWidget(self.angle_revolve)
self.gridLayout_5.addLayout(self.horizontalLayout_76, 7, 0, 1, 1) 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 = QtGui.QIcon()
icon67.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Common.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon67.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectCopy.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_common.setIcon(icon67) 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.setIconSize(QtCore.QSize(32, 32))
self.button_common.setObjectName(_fromUtf8("button_common")) 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) self.button_difference = QtGui.QPushButton(self.Objects_Tab2_2)
icon68 = QtGui.QIcon() icon69 = QtGui.QIcon()
icon68.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Difference.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon69.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Difference.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_difference.setIcon(icon68) self.button_difference.setIcon(icon69)
self.button_difference.setIconSize(QtCore.QSize(32, 32)) self.button_difference.setIconSize(QtCore.QSize(32, 32))
self.button_difference.setObjectName(_fromUtf8("button_difference")) 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) spacerItem14 = QtGui.QSpacerItem(17, 8, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.gridLayout_5.addItem(spacerItem14, 10, 0, 1, 1) self.gridLayout_5.addItem(spacerItem14, 11, 0, 1, 1)
icon69 = QtGui.QIcon() icon70 = QtGui.QIcon()
icon69.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_box.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon70.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.tabWidget_7.addTab(self.Objects_Tab2_2, icon70, _fromUtf8(""))
self.Modif_Tab_2 = QtGui.QWidget() self.Modif_Tab_2 = QtGui.QWidget()
self.Modif_Tab_2.setObjectName(_fromUtf8("Modif_Tab_2")) self.Modif_Tab_2.setObjectName(_fromUtf8("Modif_Tab_2"))
self.gridLayout_94 = QtGui.QGridLayout(self.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()) sizePolicy.setHeightForWidth(self.button_alignface2view.sizePolicy().hasHeightForWidth())
self.button_alignface2view.setSizePolicy(sizePolicy) self.button_alignface2view.setSizePolicy(sizePolicy)
self.button_alignface2view.setMaximumSize(QtCore.QSize(220, 16777215)) self.button_alignface2view.setMaximumSize(QtCore.QSize(220, 16777215))
icon70 = QtGui.QIcon() icon71 = QtGui.QIcon()
icon70.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_viewAlignFace.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon71.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_viewAlignFace.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_alignface2view.setIcon(icon70) self.button_alignface2view.setIcon(icon71)
self.button_alignface2view.setIconSize(QtCore.QSize(32, 32)) self.button_alignface2view.setIconSize(QtCore.QSize(32, 32))
self.button_alignface2view.setObjectName(_fromUtf8("button_alignface2view")) self.button_alignface2view.setObjectName(_fromUtf8("button_alignface2view"))
self.gridLayout_95.addWidget(self.button_alignface2view, 0, 0, 1, 1) 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.horizontalLayout_78.setObjectName(_fromUtf8("horizontalLayout_78"))
self.button_align_faces = QtGui.QPushButton(self.align_tab_2) self.button_align_faces = QtGui.QPushButton(self.align_tab_2)
self.button_align_faces.setMaximumSize(QtCore.QSize(220, 16777215)) self.button_align_faces.setMaximumSize(QtCore.QSize(220, 16777215))
icon71 = QtGui.QIcon() icon72 = QtGui.QIcon()
icon71.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectAlignFaces.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon72.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectAlignFaces.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_align_faces.setIcon(icon71) self.button_align_faces.setIcon(icon72)
self.button_align_faces.setIconSize(QtCore.QSize(32, 32)) self.button_align_faces.setIconSize(QtCore.QSize(32, 32))
self.button_align_faces.setObjectName(_fromUtf8("button_align_faces")) self.button_align_faces.setObjectName(_fromUtf8("button_align_faces"))
self.horizontalLayout_78.addWidget(self.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.horizontalLayout_79.setObjectName(_fromUtf8("horizontalLayout_79"))
self.button_align_edges = QtGui.QPushButton(self.align_tab_2) self.button_align_edges = QtGui.QPushButton(self.align_tab_2)
self.button_align_edges.setMaximumSize(QtCore.QSize(220, 16777215)) self.button_align_edges.setMaximumSize(QtCore.QSize(220, 16777215))
icon72 = QtGui.QIcon() icon73 = QtGui.QIcon()
icon72.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectAlignAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon73.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectAlignAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_align_edges.setIcon(icon72) self.button_align_edges.setIcon(icon73)
self.button_align_edges.setIconSize(QtCore.QSize(32, 32)) self.button_align_edges.setIconSize(QtCore.QSize(32, 32))
self.button_align_edges.setObjectName(_fromUtf8("button_align_edges")) self.button_align_edges.setObjectName(_fromUtf8("button_align_edges"))
self.horizontalLayout_79.addWidget(self.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) spacerItem15 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.gridLayout_95.addItem(spacerItem15, 5, 0, 1, 1) self.gridLayout_95.addItem(spacerItem15, 5, 0, 1, 1)
self.button_joint_points = QtGui.QPushButton(self.align_tab_2) self.button_joint_points = QtGui.QPushButton(self.align_tab_2)
icon73 = QtGui.QIcon() icon74 = QtGui.QIcon()
icon73.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectJointPoints.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon74.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectJointPoints.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_joint_points.setIcon(icon73) self.button_joint_points.setIcon(icon74)
self.button_joint_points.setIconSize(QtCore.QSize(32, 32)) self.button_joint_points.setIconSize(QtCore.QSize(32, 32))
self.button_joint_points.setObjectName(_fromUtf8("button_joint_points")) self.button_joint_points.setObjectName(_fromUtf8("button_joint_points"))
self.gridLayout_95.addWidget(self.button_joint_points, 3, 0, 1, 1) self.gridLayout_95.addWidget(self.button_joint_points, 3, 0, 1, 1)
self.button_joint_faces = QtGui.QPushButton(self.align_tab_2) self.button_joint_faces = QtGui.QPushButton(self.align_tab_2)
icon74 = QtGui.QIcon() icon75 = QtGui.QIcon()
icon74.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectJointFaces.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon75.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectJointFaces.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_joint_faces.setIcon(icon74) self.button_joint_faces.setIcon(icon75)
self.button_joint_faces.setIconSize(QtCore.QSize(32, 32)) self.button_joint_faces.setIconSize(QtCore.QSize(32, 32))
self.button_joint_faces.setObjectName(_fromUtf8("button_joint_faces")) self.button_joint_faces.setObjectName(_fromUtf8("button_joint_faces"))
self.gridLayout_95.addWidget(self.button_joint_faces, 4, 0, 1, 1) 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.setMaximumSize(QtCore.QSize(80, 16777215))
self.ObjRot_button_select_axis.setObjectName(_fromUtf8("ObjRot_button_select_axis")) self.ObjRot_button_select_axis.setObjectName(_fromUtf8("ObjRot_button_select_axis"))
self.gridLayout_105.addWidget(self.ObjRot_button_select_axis, 1, 0, 1, 1) self.gridLayout_105.addWidget(self.ObjRot_button_select_axis, 1, 0, 1, 1)
icon75 = QtGui.QIcon() icon76 = QtGui.QIcon()
icon75.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_rotationAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon76.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_rotationAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_10.addTab(self.tab_18, icon75, _fromUtf8("")) self.tabWidget_10.addTab(self.tab_18, icon76, _fromUtf8(""))
self.tab_19 = QtGui.QWidget() self.tab_19 = QtGui.QWidget()
self.tab_19.setObjectName(_fromUtf8("tab_19")) self.tab_19.setObjectName(_fromUtf8("tab_19"))
self.gridLayout_106 = QtGui.QGridLayout(self.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.setMaximumSize(QtCore.QSize(80, 16777215))
self.ObjRot_button_select_center.setObjectName(_fromUtf8("ObjRot_button_select_center")) self.ObjRot_button_select_center.setObjectName(_fromUtf8("ObjRot_button_select_center"))
self.gridLayout_106.addWidget(self.ObjRot_button_select_center, 1, 0, 1, 1) self.gridLayout_106.addWidget(self.ObjRot_button_select_center, 1, 0, 1, 1)
icon76 = QtGui.QIcon() icon77 = QtGui.QIcon()
icon76.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_rotationPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon77.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_rotationPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_10.addTab(self.tab_19, icon76, _fromUtf8("")) self.tabWidget_10.addTab(self.tab_19, icon77, _fromUtf8(""))
self.gridLayout_104.addWidget(self.tabWidget_10, 1, 0, 1, 1) self.gridLayout_104.addWidget(self.tabWidget_10, 1, 0, 1, 1)
self.groupBox_21 = QtGui.QGroupBox(self.frame_11) self.groupBox_21 = QtGui.QGroupBox(self.frame_11)
self.groupBox_21.setMinimumSize(QtCore.QSize(150, 67)) 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.setMaximumSize(QtCore.QSize(80, 16777215))
self.ObjRot_button_select_angle.setObjectName(_fromUtf8("ObjRot_button_select_angle")) self.ObjRot_button_select_angle.setObjectName(_fromUtf8("ObjRot_button_select_angle"))
self.gridLayout_109.addWidget(self.ObjRot_button_select_angle, 0, 0, 1, 1) self.gridLayout_109.addWidget(self.ObjRot_button_select_angle, 0, 0, 1, 1)
icon77 = QtGui.QIcon() icon78 = QtGui.QIcon()
icon77.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_click.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon78.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_click.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_11.addTab(self.tab_21, icon77, _fromUtf8("")) self.tabWidget_11.addTab(self.tab_21, icon78, _fromUtf8(""))
self.gridLayout_107.addWidget(self.tabWidget_11, 0, 0, 1, 1) self.gridLayout_107.addWidget(self.tabWidget_11, 0, 0, 1, 1)
self.horizontalLayout_81 = QtGui.QHBoxLayout() self.horizontalLayout_81 = QtGui.QHBoxLayout()
self.horizontalLayout_81.setObjectName(_fromUtf8("horizontalLayout_81")) 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_114.addLayout(self.gridLayout_117, 2, 0, 1, 1)
self.gridLayout_113.addLayout(self.gridLayout_114, 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) self.gridLayout_112.addWidget(self.groupBox_22, 0, 0, 1, 1)
icon78 = QtGui.QIcon() icon79 = QtGui.QIcon()
icon78.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_startPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon79.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_startPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_12.addTab(self.tab_22, icon78, _fromUtf8("")) self.tabWidget_12.addTab(self.tab_22, icon79, _fromUtf8(""))
self.tab_23 = QtGui.QWidget() self.tab_23 = QtGui.QWidget()
self.tab_23.setObjectName(_fromUtf8("tab_23")) self.tab_23.setObjectName(_fromUtf8("tab_23"))
self.gridLayout_118 = QtGui.QGridLayout(self.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_120.addLayout(self.gridLayout_123, 0, 0, 1, 1)
self.gridLayout_119.addLayout(self.gridLayout_120, 2, 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) self.gridLayout_118.addWidget(self.groupBox_23, 0, 0, 1, 1)
icon79 = QtGui.QIcon() icon80 = QtGui.QIcon()
icon79.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_endPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon80.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_endPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_12.addTab(self.tab_23, icon79, _fromUtf8("")) self.tabWidget_12.addTab(self.tab_23, icon80, _fromUtf8(""))
self.gridLayout_111.addWidget(self.tabWidget_12, 2, 0, 1, 1) self.gridLayout_111.addWidget(self.tabWidget_12, 2, 0, 1, 1)
self.horizontalLayout_84 = QtGui.QHBoxLayout() self.horizontalLayout_84 = QtGui.QHBoxLayout()
self.horizontalLayout_84.setObjectName(_fromUtf8("horizontalLayout_84")) self.horizontalLayout_84.setObjectName(_fromUtf8("horizontalLayout_84"))
@ -2215,65 +2227,58 @@ class Ui_Form(object):
sizePolicy.setHeightForWidth(self.button_alignview.sizePolicy().hasHeightForWidth()) sizePolicy.setHeightForWidth(self.button_alignview.sizePolicy().hasHeightForWidth())
self.button_alignview.setSizePolicy(sizePolicy) self.button_alignview.setSizePolicy(sizePolicy)
self.button_alignview.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.button_alignview.setMaximumSize(QtCore.QSize(16777215, 16777215))
icon80 = QtGui.QIcon() icon81 = QtGui.QIcon()
icon80.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_viewAlign.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon81.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_viewAlign.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_alignview.setIcon(icon80) self.button_alignview.setIcon(icon81)
self.button_alignview.setIconSize(QtCore.QSize(32, 32)) self.button_alignview.setIconSize(QtCore.QSize(32, 32))
self.button_alignview.setObjectName(_fromUtf8("button_alignview")) self.button_alignview.setObjectName(_fromUtf8("button_alignview"))
self.gridLayout_124.addWidget(self.button_alignview, 0, 0, 1, 1) self.gridLayout_124.addWidget(self.button_alignview, 0, 0, 1, 1)
spacerItem22 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) spacerItem22 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.gridLayout_124.addItem(spacerItem22, 2, 0, 1, 1) self.gridLayout_124.addItem(spacerItem22, 2, 0, 1, 1)
self.button_trackcamera = QtGui.QPushButton(self.View_Tab_2) self.button_trackcamera = QtGui.QPushButton(self.View_Tab_2)
icon81 = QtGui.QIcon() icon82 = QtGui.QIcon()
icon81.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_trackCamera.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon82.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_trackCamera.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_trackcamera.setIcon(icon81) self.button_trackcamera.setIcon(icon82)
self.button_trackcamera.setIconSize(QtCore.QSize(32, 32)) self.button_trackcamera.setIconSize(QtCore.QSize(32, 32))
self.button_trackcamera.setObjectName(_fromUtf8("button_trackcamera")) self.button_trackcamera.setObjectName(_fromUtf8("button_trackcamera"))
self.gridLayout_124.addWidget(self.button_trackcamera, 1, 0, 1, 1) self.gridLayout_124.addWidget(self.button_trackcamera, 1, 0, 1, 1)
icon82 = QtGui.QIcon() icon83 = QtGui.QIcon()
icon82.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_view.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon83.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_view.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_7.addTab(self.View_Tab_2, icon82, _fromUtf8("")) self.tabWidget_7.addTab(self.View_Tab_2, icon83, _fromUtf8(""))
self.tab_24 = QtGui.QWidget() self.tab_24 = QtGui.QWidget()
self.tab_24.setObjectName(_fromUtf8("tab_24")) self.tab_24.setObjectName(_fromUtf8("tab_24"))
self.gridLayout_125 = QtGui.QGridLayout(self.tab_24) self.gridLayout_125 = QtGui.QGridLayout(self.tab_24)
self.gridLayout_125.setObjectName(_fromUtf8("gridLayout_125")) 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) self.button_isView = QtGui.QPushButton(self.tab_24)
icon83 = QtGui.QIcon() icon84 = QtGui.QIcon()
icon83.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_FCCamera_02.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon84.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_FCCamera_02.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isView.setIcon(icon83) self.button_isView.setIcon(icon84)
self.button_isView.setIconSize(QtCore.QSize(32, 32)) self.button_isView.setIconSize(QtCore.QSize(32, 32))
self.button_isView.setObjectName(_fromUtf8("button_isView")) 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) self.button_isParallel = QtGui.QPushButton(self.tab_24)
icon84 = QtGui.QIcon() icon85 = QtGui.QIcon()
icon84.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isParallel.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon85.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isParallel.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isParallel.setIcon(icon84) self.button_isParallel.setIcon(icon85)
self.button_isParallel.setIconSize(QtCore.QSize(32, 32)) self.button_isParallel.setIconSize(QtCore.QSize(32, 32))
self.button_isParallel.setObjectName(_fromUtf8("button_isParallel")) self.button_isParallel.setObjectName(_fromUtf8("button_isParallel"))
self.gridLayout_125.addWidget(self.button_isParallel, 0, 0, 1, 1) self.gridLayout_125.addWidget(self.button_isParallel, 0, 0, 1, 1)
self.button_isAngle = QtGui.QPushButton(self.tab_24) self.button_isAngle = QtGui.QPushButton(self.tab_24)
icon85 = QtGui.QIcon() icon86 = QtGui.QIcon()
icon85.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_angleBetween.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon86.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_angleBetween.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isAngle.setIcon(icon85) self.button_isAngle.setIcon(icon86)
self.button_isAngle.setIconSize(QtCore.QSize(32, 32)) self.button_isAngle.setIconSize(QtCore.QSize(32, 32))
self.button_isAngle.setObjectName(_fromUtf8("button_isAngle")) self.button_isAngle.setObjectName(_fromUtf8("button_isAngle"))
self.gridLayout_125.addWidget(self.button_isAngle, 4, 0, 1, 1) self.gridLayout_125.addWidget(self.button_isAngle, 4, 0, 1, 1)
self.button_isLength = QtGui.QPushButton(self.tab_24) self.button_isLength = QtGui.QPushButton(self.tab_24)
icon86 = QtGui.QIcon() icon87 = QtGui.QIcon()
icon86.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isLength.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon87.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isLength.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isLength.setIcon(icon86) self.button_isLength.setIcon(icon87)
self.button_isLength.setIconSize(QtCore.QSize(32, 32)) self.button_isLength.setIconSize(QtCore.QSize(32, 32))
self.button_isLength.setObjectName(_fromUtf8("button_isLength")) self.button_isLength.setObjectName(_fromUtf8("button_isLength"))
self.gridLayout_125.addWidget(self.button_isLength, 6, 0, 1, 1) 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) self.button_isDistance = QtGui.QPushButton(self.tab_24)
icon88 = QtGui.QIcon() icon88 = QtGui.QIcon()
icon88.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_distanceBetween.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) 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.setIconSize(QtCore.QSize(32, 32))
self.button_isDistance.setObjectName(_fromUtf8("button_isDistance")) self.button_isDistance.setObjectName(_fromUtf8("button_isDistance"))
self.gridLayout_125.addWidget(self.button_isDistance, 5, 0, 1, 1) 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) self.button_isCoplanar = QtGui.QPushButton(self.tab_24)
icon90 = QtGui.QIcon() icon89 = QtGui.QIcon()
icon90.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isCoplanar.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon89.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isCoplanar.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isCoplanar.setIcon(icon90) self.button_isCoplanar.setIcon(icon89)
self.button_isCoplanar.setIconSize(QtCore.QSize(32, 32)) self.button_isCoplanar.setIconSize(QtCore.QSize(32, 32))
self.button_isCoplanar.setObjectName(_fromUtf8("button_isCoplanar")) self.button_isCoplanar.setObjectName(_fromUtf8("button_isCoplanar"))
self.gridLayout_125.addWidget(self.button_isCoplanar, 2, 0, 1, 1) 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 = QtGui.QIcon()
icon91.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isClearance.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon91.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isPerpendicular.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isClearance.setIcon(icon91) 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.setIconSize(QtCore.QSize(32, 32))
self.button_isClearance.setObjectName(_fromUtf8("button_isClearance")) self.button_isClearance.setObjectName(_fromUtf8("button_isClearance"))
self.gridLayout_125.addWidget(self.button_isClearance, 3, 0, 1, 1) self.gridLayout_125.addWidget(self.button_isClearance, 3, 0, 1, 1)
icon92 = QtGui.QIcon() self.button_isRadius = QtGui.QPushButton(self.tab_24)
icon92.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_check.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon93 = QtGui.QIcon()
self.tabWidget_7.addTab(self.tab_24, icon92, _fromUtf8("")) 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.gridLayout_128.addWidget(self.tabWidget_7, 0, 0, 1, 1)
self.scrollArea.setWidget(self.scrollAreaWidgetContents) self.scrollArea.setWidget(self.scrollAreaWidgetContents)
self.gridLayout_34.addWidget(self.scrollArea, 0, 0, 1, 1) 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.gridLayout_34.addLayout(self.horizontalLayout_43, 1, 0, 1, 1)
self.retranslateUi(Form) self.retranslateUi(Form)
self.tabWidget_7.setCurrentIndex(4) self.tabWidget_7.setCurrentIndex(7)
self.point_loc_comboBox.setCurrentIndex(1) self.point_loc_comboBox.setCurrentIndex(1)
self.tabWidget_8.setCurrentIndex(0) self.tabWidget_8.setCurrentIndex(0)
self.transition_comboBox.setCurrentIndex(2) self.transition_comboBox.setCurrentIndex(2)
@ -2637,7 +2656,8 @@ class Ui_Form(object):
"- Second push this button\n" "- Second push this button\n"
"\n" "\n"
"NB: \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.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" 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" "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_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.setToolTip(_translate("Form", "Click to visualize the curve.", None))
self.ParCurve_button_apply_2.setText(_translate("Form", "Apply", 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_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" 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)) "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_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.setToolTip(_translate("Form", "Click to visualize the curve.", None))
self.ParCurve_button_apply_3.setText(_translate("Form", "Apply", 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.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" 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" "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" "# 0 (default), 1 (right corners) or 2 (rounded corners).)\n"
"", None)) "", None))
self.button_sweep.setText(_translate("Form", "Section Sweep", 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.tabWidget_7.setTabText(self.tabWidget_7.indexOf(self.tab_17), _translate("Form", "Sweeping", None))
self.button_click_for_plane.setToolTip(_translate("Form", "Click:\n" 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" "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.button_revolve.setText(_translate("Form", "Revolve", None))
self.angle_revolve.setToolTip(_translate("Form", "Angle of the revolution in degrees.", None)) self.angle_revolve.setToolTip(_translate("Form", "Angle of the revolution in degrees.", None))
self.angle_revolve.setText(_translate("Form", "360", 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" self.button_common.setToolTip(_translate("Form", "Compute the common parts between selected shapes.\n"
"- Select at least two objects and click.\n" "- Select at least two objects and click.\n"
"\n" "\n"
@ -3287,34 +3320,39 @@ class Ui_Form(object):
"Click this button\n" "Click this button\n"
" ", None)) " ", None))
self.button_isLength.setText(_translate("Form", "Length ?", 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" self.button_isDistance.setToolTip(_translate("Form", "Check for two Points distance:\n"
"Distances measurement and Delta values (on main Axes) between two Points\n" "Distances measurement and Delta values (on main Axes) between two Points\n"
"- Select the 2 Points and\n" "- Select the 2 Points and\n"
"Click this button\n" "Click this button\n"
" ", None)) " ", None))
self.button_isDistance.setText(_translate("Form", "Distance ?", 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" 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" "- Select the 2 faces/planes or 2 Edges/Lines and\n"
"Click this button\n" "Click this button\n"
"\n" "\n"
"NB: You can change the tolerance in \"Ori. Pref.\" TAB", None)) "NB: You can change the tolerance in \"Ori. Pref.\" TAB", None))
self.button_isCoplanar.setText(_translate("Form", "are Coplanar ?", 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" self.button_isClearance.setToolTip(_translate("Form", "Check for two Objects Clearance distance:\n"
"Quick measurements between parallel faces and similarly placed objects\n" "Quick measurements between parallel faces and similarly placed objects\n"
"- Select the 2 Objects and\n" "- Select the 2 Objects and\n"
"Click this button", None)) "Click this button", None))
self.button_isClearance.setText(_translate("Form", "Distance Clearance ?", 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.tabWidget_7.setTabText(self.tabWidget_7.indexOf(self.tab_24), _translate("Form", "Check", None))
self.button_WF_quit.setText(_translate("Form", "Close", None)) self.button_WF_quit.setText(_translate("Form", "Close", None))
self.label_release.setText(_translate("Form", "2015", None)) self.label_release.setText(_translate("Form", "2015", None))

View File

@ -57,7 +57,7 @@
<enum>QTabWidget::West</enum> <enum>QTabWidget::West</enum>
</property> </property>
<property name="currentIndex"> <property name="currentIndex">
<number>4</number> <number>0</number>
</property> </property>
<widget class="QWidget" name="Origin_Tab_2"> <widget class="QWidget" name="Origin_Tab_2">
<attribute name="icon"> <attribute name="icon">
@ -1745,7 +1745,8 @@ Extend an Axis at two extrema.
- Second push this button - Second push this button
NB: 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>
<property name="text"> <property name="text">
<string>Enlarge(Axis)</string> <string>Enlarge(Axis)</string>
@ -1908,7 +1909,7 @@ Then click on this button.</string>
</property> </property>
<widget class="QWidget" name="tab_14"> <widget class="QWidget" name="tab_14">
<attribute name="title"> <attribute name="title">
<string>2D</string> <string>Parametric 2D</string>
</attribute> </attribute>
<layout class="QGridLayout" name="gridLayout_75"> <layout class="QGridLayout" name="gridLayout_75">
<item row="0" column="0"> <item row="0" column="0">
@ -2514,7 +2515,7 @@ To save your curve you need to go to &quot;Edit&quot;.</string>
</widget> </widget>
<widget class="QWidget" name="tab_15"> <widget class="QWidget" name="tab_15">
<attribute name="title"> <attribute name="title">
<string>3D</string> <string>Parametric 3D</string>
</attribute> </attribute>
<layout class="QGridLayout" name="gridLayout_80"> <layout class="QGridLayout" name="gridLayout_80">
<item row="0" column="0"> <item row="0" column="0">
@ -3412,7 +3413,7 @@ Then click on this button.</string>
<attribute name="title"> <attribute name="title">
<string>Sweeping</string> <string>Sweeping</string>
</attribute> </attribute>
<layout class="QGridLayout" name="gridLayout_85"> <layout class="QGridLayout" name="gridLayout_6">
<item row="0" column="0"> <item row="0" column="0">
<widget class="QFrame" name="frame_9"> <widget class="QFrame" name="frame_9">
<property name="frameShape"> <property name="frameShape">
@ -3560,7 +3561,7 @@ NB: You can change first:
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="1" column="0"> <item row="2" column="0">
<spacer name="verticalSpacer_25"> <spacer name="verticalSpacer_25">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
@ -3573,6 +3574,32 @@ NB: You can change first:
</property> </property>
</spacer> </spacer>
</item> </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> </layout>
</widget> </widget>
<widget class="QWidget" name="Plane_Tab1_3"> <widget class="QWidget" name="Plane_Tab1_3">
@ -4762,6 +4789,29 @@ NB:
</layout> </layout>
</item> </item>
<item row="8" column="0"> <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"> <widget class="QPushButton" name="button_common">
<property name="toolTip"> <property name="toolTip">
<string>Compute the common parts between selected shapes. <string>Compute the common parts between selected shapes.
@ -4788,7 +4838,7 @@ Original code from HighlightCommon.FCMacro
</property> </property>
</widget> </widget>
</item> </item>
<item row="9" column="0"> <item row="10" column="0">
<widget class="QPushButton" name="button_difference"> <widget class="QPushButton" name="button_difference">
<property name="toolTip"> <property name="toolTip">
<string>Compute the difference parts between selected shapes. <string>Compute the difference parts between selected shapes.
@ -4814,7 +4864,7 @@ Original code from HighlightDifference.FCMacro
</property> </property>
</widget> </widget>
</item> </item>
<item row="10" column="0"> <item row="11" column="0">
<spacer name="verticalSpacer_28"> <spacer name="verticalSpacer_28">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
@ -6633,19 +6683,6 @@ ReClick with same selection, will reverse the direction.</string>
</attribute> </attribute>
<layout class="QGridLayout" name="gridLayout_125"> <layout class="QGridLayout" name="gridLayout_125">
<item row="9" column="0"> <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"> <widget class="QPushButton" name="button_isView">
<property name="toolTip"> <property name="toolTip">
<string>Detect the position of the camera. <string>Detect the position of the camera.
@ -6667,6 +6704,19 @@ by the function getCameraOrientation().</string>
</property> </property>
</widget> </widget>
</item> </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"> <item row="0" column="0">
<widget class="QPushButton" name="button_isParallel"> <widget class="QPushButton" name="button_isParallel">
<property name="toolTip"> <property name="toolTip">
@ -6747,30 +6797,6 @@ Click this button
</property> </property>
</widget> </widget>
</item> </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"> <item row="5" column="0">
<widget class="QPushButton" name="button_isDistance"> <widget class="QPushButton" name="button_isDistance">
<property name="toolTip"> <property name="toolTip">
@ -6795,29 +6821,6 @@ Click this button
</property> </property>
</widget> </widget>
</item> </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"> <item row="2" column="0">
<widget class="QPushButton" name="button_isCoplanar"> <widget class="QPushButton" name="button_isCoplanar">
<property name="toolTip"> <property name="toolTip">
@ -6842,6 +6845,53 @@ NB: You can change the tolerance in &quot;Ori. Pref.&quot; TAB</string>
</property> </property>
</widget> </widget>
</item> </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"> <item row="3" column="0">
<widget class="QPushButton" name="button_isClearance"> <widget class="QPushButton" name="button_isClearance">
<property name="toolTip"> <property name="toolTip">
@ -6865,6 +6915,29 @@ Click this button</string>
</property> </property>
</widget> </widget>
</item> </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> </layout>
</widget> </widget>
</widget> </widget>

View File

@ -2,8 +2,8 @@
# Form implementation generated from reading ui file 'WFGui_2015.ui' # Form implementation generated from reading ui file 'WFGui_2015.ui'
# #
# Created: Sat Nov 7 20:09:36 2015 # Created: Sun Dec 13 18:49:39 2015
# by: PySide UI code generator 4.11.2 # by: PySide UI code generator 4.11.3
# #
# WARNING! All changes made in this file will be lost! # 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.setWidgetResizable(True)
self.scrollArea_2.setObjectName(_fromUtf8("scrollArea_2")) self.scrollArea_2.setObjectName(_fromUtf8("scrollArea_2"))
self.scrollAreaWidgetContents_5 = QtGui.QWidget() 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.scrollAreaWidgetContents_5.setObjectName(_fromUtf8("scrollAreaWidgetContents_5"))
self.gridLayout_76 = QtGui.QGridLayout(self.scrollAreaWidgetContents_5) self.gridLayout_76 = QtGui.QGridLayout(self.scrollAreaWidgetContents_5)
self.gridLayout_76.setObjectName(_fromUtf8("gridLayout_76")) 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.tabWidget_7.addTab(self.tab_16, icon45, _fromUtf8(""))
self.tab_17 = QtGui.QWidget() self.tab_17 = QtGui.QWidget()
self.tab_17.setObjectName(_fromUtf8("tab_17")) self.tab_17.setObjectName(_fromUtf8("tab_17"))
self.gridLayout_85 = QtGui.QGridLayout(self.tab_17) self.gridLayout_6 = QtGui.QGridLayout(self.tab_17)
self.gridLayout_85.setObjectName(_fromUtf8("gridLayout_85")) self.gridLayout_6.setObjectName(_fromUtf8("gridLayout_6"))
self.frame_9 = QtGui.QFrame(self.tab_17) self.frame_9 = QtGui.QFrame(self.tab_17)
self.frame_9.setFrameShape(QtGui.QFrame.StyledPanel) self.frame_9.setFrameShape(QtGui.QFrame.StyledPanel)
self.frame_9.setFrameShadow(QtGui.QFrame.Raised) 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.setIconSize(QtCore.QSize(32, 32))
self.button_sweep.setObjectName(_fromUtf8("button_sweep")) self.button_sweep.setObjectName(_fromUtf8("button_sweep"))
self.gridLayout_86.addWidget(self.button_sweep, 1, 0, 1, 1) 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) 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 = QtGui.QIcon()
icon47.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Beam.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) 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.tabWidget_7.addTab(self.tab_17, icon47, _fromUtf8(""))
self.Plane_Tab1_3 = QtGui.QWidget() self.Plane_Tab1_3 = QtGui.QWidget()
self.Plane_Tab1_3.setObjectName(_fromUtf8("Plane_Tab1_3")) 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.angle_revolve.setObjectName(_fromUtf8("angle_revolve"))
self.horizontalLayout_76.addWidget(self.angle_revolve) self.horizontalLayout_76.addWidget(self.angle_revolve)
self.gridLayout_5.addLayout(self.horizontalLayout_76, 7, 0, 1, 1) 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 = QtGui.QIcon()
icon67.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Common.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon67.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectCopy.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_common.setIcon(icon67) 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.setIconSize(QtCore.QSize(32, 32))
self.button_common.setObjectName(_fromUtf8("button_common")) 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) self.button_difference = QtGui.QPushButton(self.Objects_Tab2_2)
icon68 = QtGui.QIcon() icon69 = QtGui.QIcon()
icon68.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Difference.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon69.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_Difference.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_difference.setIcon(icon68) self.button_difference.setIcon(icon69)
self.button_difference.setIconSize(QtCore.QSize(32, 32)) self.button_difference.setIconSize(QtCore.QSize(32, 32))
self.button_difference.setObjectName(_fromUtf8("button_difference")) 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) spacerItem14 = QtGui.QSpacerItem(17, 8, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.gridLayout_5.addItem(spacerItem14, 10, 0, 1, 1) self.gridLayout_5.addItem(spacerItem14, 11, 0, 1, 1)
icon69 = QtGui.QIcon() icon70 = QtGui.QIcon()
icon69.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_box.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon70.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.tabWidget_7.addTab(self.Objects_Tab2_2, icon70, _fromUtf8(""))
self.Modif_Tab_2 = QtGui.QWidget() self.Modif_Tab_2 = QtGui.QWidget()
self.Modif_Tab_2.setObjectName(_fromUtf8("Modif_Tab_2")) self.Modif_Tab_2.setObjectName(_fromUtf8("Modif_Tab_2"))
self.gridLayout_94 = QtGui.QGridLayout(self.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()) sizePolicy.setHeightForWidth(self.button_alignface2view.sizePolicy().hasHeightForWidth())
self.button_alignface2view.setSizePolicy(sizePolicy) self.button_alignface2view.setSizePolicy(sizePolicy)
self.button_alignface2view.setMaximumSize(QtCore.QSize(220, 16777215)) self.button_alignface2view.setMaximumSize(QtCore.QSize(220, 16777215))
icon70 = QtGui.QIcon() icon71 = QtGui.QIcon()
icon70.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_viewAlignFace.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon71.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_viewAlignFace.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_alignface2view.setIcon(icon70) self.button_alignface2view.setIcon(icon71)
self.button_alignface2view.setIconSize(QtCore.QSize(32, 32)) self.button_alignface2view.setIconSize(QtCore.QSize(32, 32))
self.button_alignface2view.setObjectName(_fromUtf8("button_alignface2view")) self.button_alignface2view.setObjectName(_fromUtf8("button_alignface2view"))
self.gridLayout_95.addWidget(self.button_alignface2view, 0, 0, 1, 1) 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.horizontalLayout_78.setObjectName(_fromUtf8("horizontalLayout_78"))
self.button_align_faces = QtGui.QPushButton(self.align_tab_2) self.button_align_faces = QtGui.QPushButton(self.align_tab_2)
self.button_align_faces.setMaximumSize(QtCore.QSize(220, 16777215)) self.button_align_faces.setMaximumSize(QtCore.QSize(220, 16777215))
icon71 = QtGui.QIcon() icon72 = QtGui.QIcon()
icon71.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectAlignFaces.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon72.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectAlignFaces.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_align_faces.setIcon(icon71) self.button_align_faces.setIcon(icon72)
self.button_align_faces.setIconSize(QtCore.QSize(32, 32)) self.button_align_faces.setIconSize(QtCore.QSize(32, 32))
self.button_align_faces.setObjectName(_fromUtf8("button_align_faces")) self.button_align_faces.setObjectName(_fromUtf8("button_align_faces"))
self.horizontalLayout_78.addWidget(self.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.horizontalLayout_79.setObjectName(_fromUtf8("horizontalLayout_79"))
self.button_align_edges = QtGui.QPushButton(self.align_tab_2) self.button_align_edges = QtGui.QPushButton(self.align_tab_2)
self.button_align_edges.setMaximumSize(QtCore.QSize(220, 16777215)) self.button_align_edges.setMaximumSize(QtCore.QSize(220, 16777215))
icon72 = QtGui.QIcon() icon73 = QtGui.QIcon()
icon72.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectAlignAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon73.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectAlignAxes.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_align_edges.setIcon(icon72) self.button_align_edges.setIcon(icon73)
self.button_align_edges.setIconSize(QtCore.QSize(32, 32)) self.button_align_edges.setIconSize(QtCore.QSize(32, 32))
self.button_align_edges.setObjectName(_fromUtf8("button_align_edges")) self.button_align_edges.setObjectName(_fromUtf8("button_align_edges"))
self.horizontalLayout_79.addWidget(self.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) spacerItem15 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.gridLayout_95.addItem(spacerItem15, 5, 0, 1, 1) self.gridLayout_95.addItem(spacerItem15, 5, 0, 1, 1)
self.button_joint_points = QtGui.QPushButton(self.align_tab_2) self.button_joint_points = QtGui.QPushButton(self.align_tab_2)
icon73 = QtGui.QIcon() icon74 = QtGui.QIcon()
icon73.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectJointPoints.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon74.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectJointPoints.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_joint_points.setIcon(icon73) self.button_joint_points.setIcon(icon74)
self.button_joint_points.setIconSize(QtCore.QSize(32, 32)) self.button_joint_points.setIconSize(QtCore.QSize(32, 32))
self.button_joint_points.setObjectName(_fromUtf8("button_joint_points")) self.button_joint_points.setObjectName(_fromUtf8("button_joint_points"))
self.gridLayout_95.addWidget(self.button_joint_points, 3, 0, 1, 1) self.gridLayout_95.addWidget(self.button_joint_points, 3, 0, 1, 1)
self.button_joint_faces = QtGui.QPushButton(self.align_tab_2) self.button_joint_faces = QtGui.QPushButton(self.align_tab_2)
icon74 = QtGui.QIcon() icon75 = QtGui.QIcon()
icon74.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectJointFaces.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon75.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_objectJointFaces.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_joint_faces.setIcon(icon74) self.button_joint_faces.setIcon(icon75)
self.button_joint_faces.setIconSize(QtCore.QSize(32, 32)) self.button_joint_faces.setIconSize(QtCore.QSize(32, 32))
self.button_joint_faces.setObjectName(_fromUtf8("button_joint_faces")) self.button_joint_faces.setObjectName(_fromUtf8("button_joint_faces"))
self.gridLayout_95.addWidget(self.button_joint_faces, 4, 0, 1, 1) 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.setMaximumSize(QtCore.QSize(80, 16777215))
self.ObjRot_button_select_axis.setObjectName(_fromUtf8("ObjRot_button_select_axis")) self.ObjRot_button_select_axis.setObjectName(_fromUtf8("ObjRot_button_select_axis"))
self.gridLayout_105.addWidget(self.ObjRot_button_select_axis, 1, 0, 1, 1) self.gridLayout_105.addWidget(self.ObjRot_button_select_axis, 1, 0, 1, 1)
icon75 = QtGui.QIcon() icon76 = QtGui.QIcon()
icon75.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_rotationAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon76.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_rotationAxis.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_10.addTab(self.tab_18, icon75, _fromUtf8("")) self.tabWidget_10.addTab(self.tab_18, icon76, _fromUtf8(""))
self.tab_19 = QtGui.QWidget() self.tab_19 = QtGui.QWidget()
self.tab_19.setObjectName(_fromUtf8("tab_19")) self.tab_19.setObjectName(_fromUtf8("tab_19"))
self.gridLayout_106 = QtGui.QGridLayout(self.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.setMaximumSize(QtCore.QSize(80, 16777215))
self.ObjRot_button_select_center.setObjectName(_fromUtf8("ObjRot_button_select_center")) self.ObjRot_button_select_center.setObjectName(_fromUtf8("ObjRot_button_select_center"))
self.gridLayout_106.addWidget(self.ObjRot_button_select_center, 1, 0, 1, 1) self.gridLayout_106.addWidget(self.ObjRot_button_select_center, 1, 0, 1, 1)
icon76 = QtGui.QIcon() icon77 = QtGui.QIcon()
icon76.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_rotationPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon77.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_rotationPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_10.addTab(self.tab_19, icon76, _fromUtf8("")) self.tabWidget_10.addTab(self.tab_19, icon77, _fromUtf8(""))
self.gridLayout_104.addWidget(self.tabWidget_10, 1, 0, 1, 1) self.gridLayout_104.addWidget(self.tabWidget_10, 1, 0, 1, 1)
self.groupBox_21 = QtGui.QGroupBox(self.frame_11) self.groupBox_21 = QtGui.QGroupBox(self.frame_11)
self.groupBox_21.setMinimumSize(QtCore.QSize(150, 67)) 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.setMaximumSize(QtCore.QSize(80, 16777215))
self.ObjRot_button_select_angle.setObjectName(_fromUtf8("ObjRot_button_select_angle")) self.ObjRot_button_select_angle.setObjectName(_fromUtf8("ObjRot_button_select_angle"))
self.gridLayout_109.addWidget(self.ObjRot_button_select_angle, 0, 0, 1, 1) self.gridLayout_109.addWidget(self.ObjRot_button_select_angle, 0, 0, 1, 1)
icon77 = QtGui.QIcon() icon78 = QtGui.QIcon()
icon77.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_click.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon78.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_click.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_11.addTab(self.tab_21, icon77, _fromUtf8("")) self.tabWidget_11.addTab(self.tab_21, icon78, _fromUtf8(""))
self.gridLayout_107.addWidget(self.tabWidget_11, 0, 0, 1, 1) self.gridLayout_107.addWidget(self.tabWidget_11, 0, 0, 1, 1)
self.horizontalLayout_81 = QtGui.QHBoxLayout() self.horizontalLayout_81 = QtGui.QHBoxLayout()
self.horizontalLayout_81.setObjectName(_fromUtf8("horizontalLayout_81")) 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_114.addLayout(self.gridLayout_117, 2, 0, 1, 1)
self.gridLayout_113.addLayout(self.gridLayout_114, 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) self.gridLayout_112.addWidget(self.groupBox_22, 0, 0, 1, 1)
icon78 = QtGui.QIcon() icon79 = QtGui.QIcon()
icon78.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_startPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon79.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_startPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_12.addTab(self.tab_22, icon78, _fromUtf8("")) self.tabWidget_12.addTab(self.tab_22, icon79, _fromUtf8(""))
self.tab_23 = QtGui.QWidget() self.tab_23 = QtGui.QWidget()
self.tab_23.setObjectName(_fromUtf8("tab_23")) self.tab_23.setObjectName(_fromUtf8("tab_23"))
self.gridLayout_118 = QtGui.QGridLayout(self.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_120.addLayout(self.gridLayout_123, 0, 0, 1, 1)
self.gridLayout_119.addLayout(self.gridLayout_120, 2, 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) self.gridLayout_118.addWidget(self.groupBox_23, 0, 0, 1, 1)
icon79 = QtGui.QIcon() icon80 = QtGui.QIcon()
icon79.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_endPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon80.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_endPoint.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_12.addTab(self.tab_23, icon79, _fromUtf8("")) self.tabWidget_12.addTab(self.tab_23, icon80, _fromUtf8(""))
self.gridLayout_111.addWidget(self.tabWidget_12, 2, 0, 1, 1) self.gridLayout_111.addWidget(self.tabWidget_12, 2, 0, 1, 1)
self.horizontalLayout_84 = QtGui.QHBoxLayout() self.horizontalLayout_84 = QtGui.QHBoxLayout()
self.horizontalLayout_84.setObjectName(_fromUtf8("horizontalLayout_84")) self.horizontalLayout_84.setObjectName(_fromUtf8("horizontalLayout_84"))
@ -2215,65 +2227,58 @@ class Ui_Form(object):
sizePolicy.setHeightForWidth(self.button_alignview.sizePolicy().hasHeightForWidth()) sizePolicy.setHeightForWidth(self.button_alignview.sizePolicy().hasHeightForWidth())
self.button_alignview.setSizePolicy(sizePolicy) self.button_alignview.setSizePolicy(sizePolicy)
self.button_alignview.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.button_alignview.setMaximumSize(QtCore.QSize(16777215, 16777215))
icon80 = QtGui.QIcon() icon81 = QtGui.QIcon()
icon80.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_viewAlign.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon81.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_viewAlign.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_alignview.setIcon(icon80) self.button_alignview.setIcon(icon81)
self.button_alignview.setIconSize(QtCore.QSize(32, 32)) self.button_alignview.setIconSize(QtCore.QSize(32, 32))
self.button_alignview.setObjectName(_fromUtf8("button_alignview")) self.button_alignview.setObjectName(_fromUtf8("button_alignview"))
self.gridLayout_124.addWidget(self.button_alignview, 0, 0, 1, 1) self.gridLayout_124.addWidget(self.button_alignview, 0, 0, 1, 1)
spacerItem22 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) spacerItem22 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.gridLayout_124.addItem(spacerItem22, 2, 0, 1, 1) self.gridLayout_124.addItem(spacerItem22, 2, 0, 1, 1)
self.button_trackcamera = QtGui.QPushButton(self.View_Tab_2) self.button_trackcamera = QtGui.QPushButton(self.View_Tab_2)
icon81 = QtGui.QIcon() icon82 = QtGui.QIcon()
icon81.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_trackCamera.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon82.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_trackCamera.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_trackcamera.setIcon(icon81) self.button_trackcamera.setIcon(icon82)
self.button_trackcamera.setIconSize(QtCore.QSize(32, 32)) self.button_trackcamera.setIconSize(QtCore.QSize(32, 32))
self.button_trackcamera.setObjectName(_fromUtf8("button_trackcamera")) self.button_trackcamera.setObjectName(_fromUtf8("button_trackcamera"))
self.gridLayout_124.addWidget(self.button_trackcamera, 1, 0, 1, 1) self.gridLayout_124.addWidget(self.button_trackcamera, 1, 0, 1, 1)
icon82 = QtGui.QIcon() icon83 = QtGui.QIcon()
icon82.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_view.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon83.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_view.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget_7.addTab(self.View_Tab_2, icon82, _fromUtf8("")) self.tabWidget_7.addTab(self.View_Tab_2, icon83, _fromUtf8(""))
self.tab_24 = QtGui.QWidget() self.tab_24 = QtGui.QWidget()
self.tab_24.setObjectName(_fromUtf8("tab_24")) self.tab_24.setObjectName(_fromUtf8("tab_24"))
self.gridLayout_125 = QtGui.QGridLayout(self.tab_24) self.gridLayout_125 = QtGui.QGridLayout(self.tab_24)
self.gridLayout_125.setObjectName(_fromUtf8("gridLayout_125")) 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) self.button_isView = QtGui.QPushButton(self.tab_24)
icon83 = QtGui.QIcon() icon84 = QtGui.QIcon()
icon83.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_FCCamera_02.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon84.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_FCCamera_02.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isView.setIcon(icon83) self.button_isView.setIcon(icon84)
self.button_isView.setIconSize(QtCore.QSize(32, 32)) self.button_isView.setIconSize(QtCore.QSize(32, 32))
self.button_isView.setObjectName(_fromUtf8("button_isView")) 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) self.button_isParallel = QtGui.QPushButton(self.tab_24)
icon84 = QtGui.QIcon() icon85 = QtGui.QIcon()
icon84.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isParallel.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon85.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isParallel.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isParallel.setIcon(icon84) self.button_isParallel.setIcon(icon85)
self.button_isParallel.setIconSize(QtCore.QSize(32, 32)) self.button_isParallel.setIconSize(QtCore.QSize(32, 32))
self.button_isParallel.setObjectName(_fromUtf8("button_isParallel")) self.button_isParallel.setObjectName(_fromUtf8("button_isParallel"))
self.gridLayout_125.addWidget(self.button_isParallel, 0, 0, 1, 1) self.gridLayout_125.addWidget(self.button_isParallel, 0, 0, 1, 1)
self.button_isAngle = QtGui.QPushButton(self.tab_24) self.button_isAngle = QtGui.QPushButton(self.tab_24)
icon85 = QtGui.QIcon() icon86 = QtGui.QIcon()
icon85.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_angleBetween.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon86.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_angleBetween.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isAngle.setIcon(icon85) self.button_isAngle.setIcon(icon86)
self.button_isAngle.setIconSize(QtCore.QSize(32, 32)) self.button_isAngle.setIconSize(QtCore.QSize(32, 32))
self.button_isAngle.setObjectName(_fromUtf8("button_isAngle")) self.button_isAngle.setObjectName(_fromUtf8("button_isAngle"))
self.gridLayout_125.addWidget(self.button_isAngle, 4, 0, 1, 1) self.gridLayout_125.addWidget(self.button_isAngle, 4, 0, 1, 1)
self.button_isLength = QtGui.QPushButton(self.tab_24) self.button_isLength = QtGui.QPushButton(self.tab_24)
icon86 = QtGui.QIcon() icon87 = QtGui.QIcon()
icon86.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isLength.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon87.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isLength.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isLength.setIcon(icon86) self.button_isLength.setIcon(icon87)
self.button_isLength.setIconSize(QtCore.QSize(32, 32)) self.button_isLength.setIconSize(QtCore.QSize(32, 32))
self.button_isLength.setObjectName(_fromUtf8("button_isLength")) self.button_isLength.setObjectName(_fromUtf8("button_isLength"))
self.gridLayout_125.addWidget(self.button_isLength, 6, 0, 1, 1) 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) self.button_isDistance = QtGui.QPushButton(self.tab_24)
icon88 = QtGui.QIcon() icon88 = QtGui.QIcon()
icon88.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_distanceBetween.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) 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.setIconSize(QtCore.QSize(32, 32))
self.button_isDistance.setObjectName(_fromUtf8("button_isDistance")) self.button_isDistance.setObjectName(_fromUtf8("button_isDistance"))
self.gridLayout_125.addWidget(self.button_isDistance, 5, 0, 1, 1) 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) self.button_isCoplanar = QtGui.QPushButton(self.tab_24)
icon90 = QtGui.QIcon() icon89 = QtGui.QIcon()
icon90.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isCoplanar.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon89.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isCoplanar.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isCoplanar.setIcon(icon90) self.button_isCoplanar.setIcon(icon89)
self.button_isCoplanar.setIconSize(QtCore.QSize(32, 32)) self.button_isCoplanar.setIconSize(QtCore.QSize(32, 32))
self.button_isCoplanar.setObjectName(_fromUtf8("button_isCoplanar")) self.button_isCoplanar.setObjectName(_fromUtf8("button_isCoplanar"))
self.gridLayout_125.addWidget(self.button_isCoplanar, 2, 0, 1, 1) 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 = QtGui.QIcon()
icon91.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isClearance.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon91.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_isPerpendicular.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.button_isClearance.setIcon(icon91) 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.setIconSize(QtCore.QSize(32, 32))
self.button_isClearance.setObjectName(_fromUtf8("button_isClearance")) self.button_isClearance.setObjectName(_fromUtf8("button_isClearance"))
self.gridLayout_125.addWidget(self.button_isClearance, 3, 0, 1, 1) self.gridLayout_125.addWidget(self.button_isClearance, 3, 0, 1, 1)
icon92 = QtGui.QIcon() self.button_isRadius = QtGui.QPushButton(self.tab_24)
icon92.addPixmap(QtGui.QPixmap(_fromUtf8("icons:WF_check.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon93 = QtGui.QIcon()
self.tabWidget_7.addTab(self.tab_24, icon92, _fromUtf8("")) 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.gridLayout_128.addWidget(self.tabWidget_7, 0, 0, 1, 1)
self.scrollArea.setWidget(self.scrollAreaWidgetContents) self.scrollArea.setWidget(self.scrollAreaWidgetContents)
self.gridLayout_34.addWidget(self.scrollArea, 0, 0, 1, 1) 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.gridLayout_34.addLayout(self.horizontalLayout_43, 1, 0, 1, 1)
self.retranslateUi(Form) self.retranslateUi(Form)
self.tabWidget_7.setCurrentIndex(4) self.tabWidget_7.setCurrentIndex(7)
self.point_loc_comboBox.setCurrentIndex(1) self.point_loc_comboBox.setCurrentIndex(1)
self.tabWidget_8.setCurrentIndex(0) self.tabWidget_8.setCurrentIndex(0)
self.transition_comboBox.setCurrentIndex(2) self.transition_comboBox.setCurrentIndex(2)
@ -2637,7 +2656,8 @@ class Ui_Form(object):
"- Second push this button\n" "- Second push this button\n"
"\n" "\n"
"NB: \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.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" 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" "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_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.setToolTip(_translate("Form", "Click to visualize the curve.", None))
self.ParCurve_button_apply_2.setText(_translate("Form", "Apply", 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_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" 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)) "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_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.setToolTip(_translate("Form", "Click to visualize the curve.", None))
self.ParCurve_button_apply_3.setText(_translate("Form", "Apply", 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.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" 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" "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" "# 0 (default), 1 (right corners) or 2 (rounded corners).)\n"
"", None)) "", None))
self.button_sweep.setText(_translate("Form", "Section Sweep", 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.tabWidget_7.setTabText(self.tabWidget_7.indexOf(self.tab_17), _translate("Form", "Sweeping", None))
self.button_click_for_plane.setToolTip(_translate("Form", "Click:\n" 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" "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.button_revolve.setText(_translate("Form", "Revolve", None))
self.angle_revolve.setToolTip(_translate("Form", "Angle of the revolution in degrees.", None)) self.angle_revolve.setToolTip(_translate("Form", "Angle of the revolution in degrees.", None))
self.angle_revolve.setText(_translate("Form", "360", 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" self.button_common.setToolTip(_translate("Form", "Compute the common parts between selected shapes.\n"
"- Select at least two objects and click.\n" "- Select at least two objects and click.\n"
"\n" "\n"
@ -3287,34 +3320,39 @@ class Ui_Form(object):
"Click this button\n" "Click this button\n"
" ", None)) " ", None))
self.button_isLength.setText(_translate("Form", "Length ?", 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" self.button_isDistance.setToolTip(_translate("Form", "Check for two Points distance:\n"
"Distances measurement and Delta values (on main Axes) between two Points\n" "Distances measurement and Delta values (on main Axes) between two Points\n"
"- Select the 2 Points and\n" "- Select the 2 Points and\n"
"Click this button\n" "Click this button\n"
" ", None)) " ", None))
self.button_isDistance.setText(_translate("Form", "Distance ?", 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" 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" "- Select the 2 faces/planes or 2 Edges/Lines and\n"
"Click this button\n" "Click this button\n"
"\n" "\n"
"NB: You can change the tolerance in \"Ori. Pref.\" TAB", None)) "NB: You can change the tolerance in \"Ori. Pref.\" TAB", None))
self.button_isCoplanar.setText(_translate("Form", "are Coplanar ?", 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" self.button_isClearance.setToolTip(_translate("Form", "Check for two Objects Clearance distance:\n"
"Quick measurements between parallel faces and similarly placed objects\n" "Quick measurements between parallel faces and similarly placed objects\n"
"- Select the 2 Objects and\n" "- Select the 2 Objects and\n"
"Click this button", None)) "Click this button", None))
self.button_isClearance.setText(_translate("Form", "Distance Clearance ?", 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.tabWidget_7.setTabText(self.tabWidget_7.indexOf(self.tab_24), _translate("Form", "Check", None))
self.button_WF_quit.setText(_translate("Form", "Close", None)) self.button_WF_quit.setText(_translate("Form", "Close", None))
self.label_release.setText(_translate("Form", "2015", None)) self.label_release.setText(_translate("Form", "2015", None))

View File

@ -14,6 +14,7 @@
* - Ulrich Brammer for Geodesic dome code * * - Ulrich Brammer for Geodesic dome code *
* - Wmayer Many Thanks for active help on testing and debbuging * * - Wmayer Many Thanks for active help on testing and debbuging *
* - Gaël Ecorchard for HighlightDifference Macro * * - Gaël Ecorchard for HighlightDifference Macro *
* - lorenz_l for Beam tool Macro *
* Special thanks to Mario52 for diverse MACRO codes as FCCamera, * * Special thanks to Mario52 for diverse MACRO codes as FCCamera, *
* cutCircle, cutWire, Delta xyz, bounding box ... * * cutCircle, cutWire, Delta xyz, bounding box ... *
* and other diverse pieces of codes * * and other diverse pieces of codes *
@ -54,7 +55,7 @@
# First two lines to be able to launch with python # First two lines to be able to launch with python
import sys import sys
from WorkFeature import WF_ObjParCurve_2015 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"): if not sys.path.__contains__("/usr/lib/freecad/lib"):
sys.path.append("/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 * from WF_ObjParCurve_2015 import *
global myRelease global myRelease
myRelease = "2015_11_08" myRelease = "2015_12_16"
import os.path import os.path
import time import time
@ -380,7 +381,7 @@ def get_typefromSelection(objectType="Edge", info=0):
if info != 0: if info != 0:
print("SubObject = " + str(SubObject)) print("SubObject = " + str(SubObject))
print("SubObject.ShapeType = " + str(SubObject.ShapeType)) print("SubObject.ShapeType = " + str(SubObject.ShapeType))
if SubObject.ShapeType == "Edge": if SubObject.ShapeType == objectType:
m_found = True m_found = True
break break
if m_found: if m_found:
@ -444,7 +445,6 @@ def get_InfoObjects(info=0, printError=True):
", m_objNames=" + str(m_objNames)) ", m_objNames=" + str(m_objNames))
return m_num, m_selEx, m_objs, m_objNames return m_num, m_selEx, m_objs, m_objNames
def reset_SelectedObjects(Selection, info=0): def reset_SelectedObjects(Selection, info=0):
""" Reset the selection changed by Draft.rotate for example """ Reset the selection changed by Draft.rotate for example
Selection is the original selection you want to reset. Must be saved before any 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 !") printError_msg("No active document !")
return return
def get_SelectedObjects(info=0, printError=True): def get_SelectedObjects(info=0, printError=True):
""" Return selected objects as """ Return selected objects as
Selection = (Number_of_Points, Number_of_Edges, Number_of_Planes, Selection = (Number_of_Points, Number_of_Edges, Number_of_Planes,
@ -717,7 +716,6 @@ def getEdgeType(edge):
except: except:
return "Unknown" return "Unknown"
def getShapeType(subObject): def getShapeType(subObject):
try: try:
if isinstance(subObject,Part.Edge): if isinstance(subObject,Part.Edge):
@ -733,9 +731,8 @@ def getShapeType(subObject):
except: except:
return "Unknown" return "Unknown"
def definePropOfActiveObj(): 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().ShapeColor = (0.33,1.00,1.00)
Gui.activeDocument().activeObject().Transparency = (50) Gui.activeDocument().activeObject().Transparency = (50)
@ -747,7 +744,6 @@ def addObjectToGrp(obj,grp,info=0):
if info != 0: if info != 0:
print_msg("Object " + str(m_obj) + " added to Group : " + str(m_grp)) print_msg("Object " + str(m_obj) + " added to Group : " + str(m_grp))
def addObjectToGrp2(obj,grp,info=0): def addObjectToGrp2(obj,grp,info=0):
m_obj = obj m_obj = obj
m_grp = grp m_grp = grp
@ -911,6 +907,7 @@ def minMaxObjectsLimits(objs,info=0):
return xmax, xmin, ymax, ymin, zmax, zmin return xmax, xmin, ymax, ymin, zmax, zmin
def baseObjectPoint(obj,info=0): def baseObjectPoint(obj,info=0):
""" Return the base point of selected Object. """ Return the base point of selected Object.
""" """
@ -921,7 +918,6 @@ def baseObjectPoint(obj,info=0):
print_point(base,"Base of object selected is :") print_point(base,"Base of object selected is :")
return base return base
def meanVectorsPoint(vertx,info=0): def meanVectorsPoint(vertx,info=0):
""" Return the mean point of all selected Vectors. """ 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 : ") print_point(mean,"Mean of all vectors selected is : ")
return mean return mean
def centerBBVectorsPoint(vertx,info=0): def centerBBVectorsPoint(vertx,info=0):
""" Return the center point of the bounding box of all selected Vectors. """ Return the center point of the bounding box of all selected Vectors.
""" """
@ -1037,7 +1032,6 @@ def distanceBetween(A, B):
except Part.OCCError: except Part.OCCError:
return 0.0 return 0.0
def angleBetween(e1, e2): def angleBetween(e1, e2):
""" Return the angle (in degrees) between 2 edges. """ Return the angle (in degrees) between 2 edges.
""" """
@ -1636,7 +1630,6 @@ def attachPoint(*argc):
if msg != 0: if msg != 0:
print_msg("argc is " + str(*argc) + " and Attach point " + str(m_attach_point) + " selected !") 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): def intersecPlanePlane(Plane_Normal1, Plane_Point1, Plane_Normal2, Plane_Point2, info=0):
""" Return the intersection Line between two Planes. """ 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): def bounding_box(grp,ori_X,ori_Y,ori_Z,length_X,length_Y,length_Z,createVol=False,info=0):
""" Create a bounding box. """ Create a bounding box.
""" """
global verbose
msg=verbose
m_grp = grp m_grp = grp
m_l_X = length_X m_l_X = length_X
m_l_Y = length_Y m_l_Y = length_Y
@ -6672,10 +6668,10 @@ def plot_boundingBoxes():
m_grp=m_actDoc.getObject( str(m_dir) ) m_grp=m_actDoc.getObject( str(m_dir) )
# Create a solid out of the shells of a shape # Create a solid out of the shells of a shape
try: try:
m_s = m_obj.Shape m_s = m_obj.Shape
except: except:
printError_msg( "This object has no attribute 'Shape' !\nSelect another one !\n") printError_msg( "This object has no attribute 'Shape' !\nSelect another one !\n")
break break
# Get a boundBox A bounding box is an orthographic cube which is a way to describe outer boundaries # Get a boundBox A bounding box is an orthographic cube which is a way to describe outer boundaries
m_boundBox = m_s.BoundBox m_boundBox = m_s.BoundBox
if msg != 0: if msg != 0:
@ -7727,7 +7723,7 @@ def plot_sectionSweep():
"INCORRECT Object(s) Selection :\n" +\ "INCORRECT Object(s) Selection :\n" +\
"First select the wire you want as section for Section Sweep (must be closed for solid creation!)\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 !" "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" name = "SectionSweep"
part = "Part::Feature" part = "Part::Feature"
@ -7910,6 +7906,53 @@ def plot_sectionSweep():
except: except:
printError_msg(error_msg) 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(): def plot_sectionSweep2():
""" """
Beam Sweep: Beam Sweep:
@ -9306,6 +9349,7 @@ def line_length():
msg=verbose msg=verbose
error_msg = "INCORRECT Object(s) Selection :\n\nYou Must Select One Line !" error_msg = "INCORRECT Object(s) Selection :\n\nYou Must Select One Line !"
m_length = None
Selection = get_SelectedObjects(info=msg, printError=False) Selection = get_SelectedObjects(info=msg, printError=False)
try: try:
@ -9337,24 +9381,73 @@ def line_length():
if msg!=0: if msg!=0:
print_msg("Distance is : " + str(m_dist)) print_msg("Distance is : " + str(m_dist))
if hasattr(edge, 'Length'):
m_length = edge.Length
msg=\ msg=\
"Begin : X1 "+str(pos_X1)+" Y1: "+str(pos_Y1)+" Z1: "+str(pos_Z1)+"\n\n" +\ "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" +\ "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 X : "+str(abs(pos_X1-pos_X2))+"\n" +\
"Delta Y : "+str(abs(pos_Y1-pos_Y2))+"\n" +\ "Delta Y : "+str(abs(pos_Y1-pos_Y2))+"\n" +\
"Delta Z : "+str(abs(pos_Z1-pos_Z2))+"\n\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) print_gui_msg(msg)
except: except:
printError_msg(error_msg) 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(): def plane_area():
""" """
Check for surface Area: Check for surface Area:
Area measurement for a Plane or a set of Planes. Area measurement for a Plane or a set of Planes.
- Select One or several Planes and - Select One or several Face(s)
""" """
msg=verbose msg=verbose
@ -9746,6 +9839,82 @@ def angleAlignFaces(value):
printError_msg("Angle must be valid number !") 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(): def object_alignFaces():
""" """
Align the Face(s) from selected object(s) to the last Face selected. Align the Face(s) from selected object(s) to the last Face selected.
@ -10247,7 +10416,9 @@ class WorkFeatureTab():
"button_revolve" : "plot_revolution", "button_revolve" : "plot_revolution",
"button_common" : "object_common", "button_common" : "object_common",
"button_difference" : "object_difference", "button_difference" : "object_difference",
"button_copy_objects" : "object_copy",
"button_sweep" : "plot_sectionSweep", "button_sweep" : "plot_sectionSweep",
"button_beam" : "plot_sectionBeam",
"button_alignview" : "view_align", "button_alignview" : "view_align",
"button_trackcamera" : "view_trackCamera", "button_trackcamera" : "view_trackCamera",
@ -10265,6 +10436,7 @@ class WorkFeatureTab():
"button_isAngle" : "object_angle", "button_isAngle" : "object_angle",
"button_isDistance" : "points_distance", "button_isDistance" : "points_distance",
"button_isLength" : "line_length", "button_isLength" : "line_length",
"button_isRadius" : "object_radius",
"button_isArea" : "plane_area", "button_isArea" : "plane_area",
"button_isView" : "camera_orientation", "button_isView" : "camera_orientation",

View File

@ -94,7 +94,7 @@ class Parametric():
self.updateOptions() self.updateOptions()
def plot_matriz(self, matriz): def plot_matriz_old(self, matriz):
""" Plot the dataset with different options. """ Plot the dataset with different options.
""" """
if self.debug != 0: if self.debug != 0:
@ -116,6 +116,43 @@ class Parametric():
Draft.upgrade(FreeCADGui.Selection.getSelection(),delete=True) Draft.upgrade(FreeCADGui.Selection.getSelection(),delete=True)
FreeCAD.ActiveDocument.recompute() 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): def edit(self):
""" Launch the edit panel curve. """ Launch the edit panel curve.

View File

@ -2,6 +2,10 @@
import sys import sys
import os.path 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:
# try import # try import
import WorkFeature.WF_2015 as WF import WorkFeature.WF_2015 as WF