+ extended Draft2Sketch tool with items from RFE492
git-svn-id: https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk@5238 e8eeb9e2-ec13-0410-a4a9-efa5cf37419d
This commit is contained in:
parent
7c874fb0f4
commit
4f408105f9
|
@ -145,6 +145,8 @@ def getRealName(name):
|
|||
|
||||
def getType(obj):
|
||||
"getType(object): returns the Draft type of the given object"
|
||||
if isinstance(obj,Part.Shape):
|
||||
return "Shape"
|
||||
if "Proxy" in obj.PropertiesList:
|
||||
if hasattr(obj.Proxy,"Type"):
|
||||
return obj.Proxy.Type
|
||||
|
@ -876,33 +878,35 @@ def offset(obj,delta,copy=False,bind=False,sym=False,occ=False):
|
|||
select(obj)
|
||||
return newobj
|
||||
|
||||
def draftify(objectslist):
|
||||
'''draftify(objectslist): turns each object of the given list
|
||||
def draftify(objectslist,makeblock=False):
|
||||
'''draftify(objectslist,[makeblock]): turns each object of the given list
|
||||
(objectslist can also be a single object) into a Draft parametric
|
||||
wire'''
|
||||
if not isinstance(objectslist,list): objectslist = [objectslist]
|
||||
wire. If makeblock is True, multiple objects will be grouped in a block'''
|
||||
if not isinstance(objectslist,list):
|
||||
objectslist = [objectslist]
|
||||
newobjlist = []
|
||||
for obj in objectslist:
|
||||
if obj.isDerivedFrom('Part::Feature'):
|
||||
for w in obj.Shape.Wires:
|
||||
verts = []
|
||||
edges = fcgeo.sortEdges(w.Edges)
|
||||
for e in edges:
|
||||
verts.append(e.Vertexes[0].Point)
|
||||
if w.isClosed():
|
||||
verts.append(edges[-1].Vertexes[-1].Point)
|
||||
newobj = makeWire(verts)
|
||||
if obj.Shape.Faces:
|
||||
newobj.Closed = True
|
||||
newobj.ViewObject.DisplayMode = "Flat Lines"
|
||||
if fcgeo.hasCurves(w):
|
||||
nobj = FreeCAD.ActiveDocument.addObject("Part::Feature",name)
|
||||
nobj.Shape = w
|
||||
else:
|
||||
newobj.ViewObject.DisplayMode = "Wireframe"
|
||||
if obj.Shape.Wires[0].isClosed:
|
||||
newobj.Closed = True
|
||||
newobjlist.append(newobj)
|
||||
nobj = makeWire(w)
|
||||
if obj.Shape.Faces:
|
||||
nobj.ViewObject.DisplayMode = "Flat Lines"
|
||||
else:
|
||||
nobj.ViewObject.DisplayMode = "Wireframe"
|
||||
newobjlist.append(nobj)
|
||||
formatObject(nobj,obj)
|
||||
FreeCAD.ActiveDocument.removeObject(obj.Name)
|
||||
if len(newobjlist) == 1: return newobjlist[0]
|
||||
return newobjlist
|
||||
FreeCAD.ActiveDocument.recompute()
|
||||
if makeblock:
|
||||
return makeBlock(newobjlist)
|
||||
else:
|
||||
if len(newobjlist) == 1:
|
||||
return newobjlist[0]
|
||||
return newobjlist
|
||||
|
||||
def getrgb(color):
|
||||
"getRGB(color): returns a rgb value #000000 from a freecad color"
|
||||
|
@ -1140,6 +1144,104 @@ def makeShape2DView(baseobj,projectionVector=None):
|
|||
obj.Projection = projectionVector
|
||||
select(obj)
|
||||
return obj
|
||||
|
||||
def makeSketch(objectslist,autoconstraints=False,addTo=None,name="Sketch"):
|
||||
'''makeSketch(objectslist,[autoconstraints],[addTo],[name]): makes a Sketch
|
||||
objectslist with the given Draft objects. If autoconstraints is True,
|
||||
constraints will be automatically added to wire nodes, rectangles
|
||||
and circles. If addTo is an existing sketch, geometry will be added to it instead of
|
||||
creating a new one.'''
|
||||
|
||||
from Sketcher import Constraint
|
||||
|
||||
StartPoint = 1
|
||||
EndPoint = 2
|
||||
MiddlePoint = 3
|
||||
|
||||
if not isinstance(objectslist,list):
|
||||
objectslist = [objectslist]
|
||||
if addTo:
|
||||
nobj = addTo
|
||||
else:
|
||||
nobj = FreeCAD.ActiveDocument.addObject("Sketcher::SketchObject",name)
|
||||
for obj in objectslist:
|
||||
ok = False
|
||||
tp = getType(obj)
|
||||
if tp == "BSpline":
|
||||
pass
|
||||
elif tp == "Circle":
|
||||
if obj.FirstAngle == obj.LastAngle:
|
||||
nobj.addGeometry(obj.Shape.Edges[0].Curve)
|
||||
else:
|
||||
nobj.addGeometry(Part.ArcOfCircle(obj.Shape.Edges[0].Curve,math.radians(obj.FirstAngle),math.radians(obj.LastAngle)))
|
||||
# TODO add Radius constraits
|
||||
ok = True
|
||||
elif tp == "Rectangle":
|
||||
for edge in obj.Shape.Edges:
|
||||
nobj.addGeometry(edge.Curve)
|
||||
if autoconstraints:
|
||||
last = nobj.GeometryCount - 1
|
||||
segs = [last-3,last-2,last-1,last]
|
||||
if obj.Placement.Rotation.Q == (0,0,0,1):
|
||||
nobj.addConstraint(Constraint("Coincident",last-3,EndPoint,last-2,StartPoint))
|
||||
nobj.addConstraint(Constraint("Coincident",last-2,EndPoint,last-1,StartPoint))
|
||||
nobj.addConstraint(Constraint("Coincident",last-1,EndPoint,last,StartPoint))
|
||||
nobj.addConstraint(Constraint("Coincident",last,EndPoint,last-3,StartPoint))
|
||||
nobj.addConstraint(Constraint("Horizontal",last-3))
|
||||
nobj.addConstraint(Constraint("Vertical",last-2))
|
||||
nobj.addConstraint(Constraint("Horizontal",last-1))
|
||||
nobj.addConstraint(Constraint("Vertical",last))
|
||||
ok = True
|
||||
elif tp in ["Wire","Polygon"]:
|
||||
closed = False
|
||||
if tp == "Polygon":
|
||||
closed = True
|
||||
elif hasattr(obj,"Closed"):
|
||||
closed = obj.Closed
|
||||
for edge in obj.Shape.Edges:
|
||||
nobj.addGeometry(edge.Curve)
|
||||
if autoconstraints:
|
||||
last = nobj.GeometryCount
|
||||
segs = range(last-len(obj.Shape.Edges),last-1)
|
||||
for seg in segs:
|
||||
nobj.addConstraint(Constraint("Coincident",seg,EndPoint,seg+1,StartPoint))
|
||||
if fcgeo.isAligned(nobj.Geometry[seg],"x"):
|
||||
nobj.addConstraint(Constraint("Vertical",seg))
|
||||
elif fcgeo.isAligned(nobj.Geometry[seg],"y"):
|
||||
nobj.addConstraint(Constraint("Horizontal",seg))
|
||||
if closed:
|
||||
nobj.addConstraint(Constraint("Coincident",last-1,EndPoint,segs[0],StartPoint))
|
||||
ok = True
|
||||
else:
|
||||
if fcgeo.hasOnlyWires(obj.Shape):
|
||||
for w in obj.Shape.Wires:
|
||||
for edge in w.Edges:
|
||||
nobj.addGeometry(edge.Curve)
|
||||
if autoconstraints:
|
||||
last = nobj.GeometryCount
|
||||
segs = range(last-len(w.Edges),last-1)
|
||||
for seg in segs:
|
||||
nobj.addConstraint(Constraint("Coincident",seg,EndPoint,seg+1,StartPoint))
|
||||
if fcgeo.isAligned(nobj.Geometry[seg],"x"):
|
||||
nobj.addConstraint(Constraint("Vertical",seg))
|
||||
elif fcgeo.isAligned(nobj.Geometry[seg],"y"):
|
||||
nobj.addConstraint(Constraint("Horizontal",seg))
|
||||
if w.isClosed:
|
||||
nobj.addConstraint(Constraint("Coincident",last-1,EndPoint,segs[0],StartPoint))
|
||||
else:
|
||||
for edge in obj.Shape.Edges:
|
||||
nobj.addGeometry(edge.Curve)
|
||||
if autoconstraints:
|
||||
last = nobj.GeometryCount - 1
|
||||
if fcgeo.isAligned(nobj.Geometry[last],"x"):
|
||||
nobj.addConstraint(Constraint("Vertical",last))
|
||||
elif fcgeo.isAligned(nobj.Geometry[last],"y"):
|
||||
nobj.addConstraint(Constraint("Horizontal",last))
|
||||
ok = True
|
||||
if ok:
|
||||
FreeCAD.ActiveDocument.removeObject(obj.Name)
|
||||
FreeCAD.ActiveDocument.recompute()
|
||||
return nobj
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Python Features definitions
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
# Resource object code
|
||||
#
|
||||
# Created: Tue Dec 6 14:48:29 2011
|
||||
# Created: Thu Dec 8 11:44:05 2011
|
||||
# by: The Resource Compiler for PyQt (Qt v4.7.3)
|
||||
#
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
@ -23802,129 +23802,129 @@ qt_resource_data = "\
|
|||
\x93\x83\x1e\x48\xef\x57\xc6\xa2\x49\xdb\x13\x44\xd4\xba\x3f\x06\
|
||||
\x46\x3f\xfe\x6c\x03\x93\xf1\x73\xb1\x4b\x54\x79\xc9\xd8\x04\x84\
|
||||
\x23\xc5\xbe\x37\x98\x7a\x44\xf4\xff\x03\x15\x2c\x14\x99\
|
||||
\x00\x00\x07\x83\
|
||||
\x00\x00\x07\x8d\
|
||||
\x00\
|
||||
\x00\x36\xc1\x78\x9c\xed\x5b\x5b\x73\xd3\x3a\x10\x7e\xef\xaf\xd0\
|
||||
\x00\x37\x4a\x78\x9c\xed\x5b\x5b\x73\xd3\x3a\x10\x7e\xef\xaf\xd0\
|
||||
\xe4\xe5\x00\x53\xe2\xf4\x0e\x1d\x37\x0c\xb4\x14\x38\x03\x07\x98\
|
||||
\x14\x38\x6f\x1d\xc5\x56\x62\x51\x5b\xf2\x91\x64\x92\xf0\xeb\xcf\
|
||||
\x4a\x96\x63\xc7\x76\xee\x4d\x5a\x3a\x9d\xe9\x4c\xa3\x8b\x77\x57\
|
||||
\xab\x6f\x2f\x5a\xcb\xee\xab\x61\x14\xa2\x5f\x44\x48\xca\xd9\x59\
|
||||
\x14\x38\x6f\x1d\xc5\x56\x62\x51\x5b\xca\x91\x64\x92\xf0\xeb\xcf\
|
||||
\x4a\x96\xe3\x6b\xee\x4d\x5a\x3a\x9d\xe9\x4c\x63\x49\xde\x5d\xad\
|
||||
\xbf\x5d\x7d\x2b\xcb\xee\xab\x51\x14\xa2\x5f\x44\x48\xca\xd9\x59\
|
||||
\x63\xaf\xd9\x6a\x20\xc2\x3c\xee\x53\xd6\x3f\x6b\x7c\xbb\xba\x7c\
|
||||
\xfe\xa2\xf1\xaa\xbd\xe3\x26\x34\x9f\x74\x08\x93\xda\x3b\xc8\xf5\
|
||||
\x42\x2c\x65\xfb\x5d\x42\x4f\x4f\x2f\x28\x0e\x79\x1f\xfe\x87\xfd\
|
||||
\x0e\x51\x0a\x1e\x96\x17\x02\xf7\x94\xeb\xa4\x93\x60\xf6\x80\xfa\
|
||||
\x7d\xa2\x90\x69\x9f\x35\xbe\xfe\x30\xcd\x06\x62\x38\x22\x67\x8d\
|
||||
\x99\x44\x34\x33\xe4\xc6\x82\xc7\x44\xa8\x91\x7d\xa2\x4f\x78\x44\
|
||||
\x94\x18\x99\x41\xe4\x0a\xe2\x29\xf3\x0b\xb9\xc3\x76\xcb\x75\x86\
|
||||
\xb6\x31\xd2\x8d\x91\x6d\x80\x08\x2a\x68\x1f\x9d\x1c\xb9\x4e\xfa\
|
||||
\x33\xed\x0e\x08\xed\x07\xaa\x7d\xbc\xff\xd2\x75\xec\x6f\x43\xd3\
|
||||
\xc9\x88\xba\x4e\xc6\xbc\x4e\x92\x01\x65\x3e\x1f\x5c\x51\x15\x12\
|
||||
\x2b\x8c\x54\x02\x84\x6f\x7f\x88\x62\x2e\x94\xf3\x76\xa8\xff\xb9\
|
||||
\x8e\xed\xad\xd2\x0b\xf1\x88\x27\xb9\x66\xbe\xbf\xe1\xc3\x8f\xa6\
|
||||
\xcb\x92\x2b\xf1\x93\x31\xf6\x80\x50\xc3\x4a\xcf\x92\xa8\x4b\x44\
|
||||
\xfb\xd8\x75\xec\xaf\x54\xf6\x22\x87\x0a\x89\x08\x8b\x3e\x65\x25\
|
||||
\x0a\x2f\x67\x52\xa0\x8a\x44\xb9\x1a\x8b\x3b\xf9\x4e\xf0\x24\x06\
|
||||
\x99\xc7\x7b\x69\xdb\x7b\xfb\x96\x41\x85\xbd\xca\x75\x55\x50\xd7\
|
||||
\xc5\xbf\x97\xa8\xc7\x45\x84\x15\xe2\xb1\x02\xa4\xc9\xa2\xce\xaa\
|
||||
\x22\xcd\xd7\xdc\x5c\xe5\x4d\xd5\x5f\x1d\xb7\xd9\x5a\x9c\xaa\xc8\
|
||||
\x7a\x52\xb9\x3a\x6b\xd6\xf1\xbe\xba\x8e\x05\x56\x32\x63\x2d\x75\
|
||||
\x22\xcc\x5f\x4f\x4e\xb0\xb5\x20\xc1\x89\x55\x55\x91\xf2\x11\x77\
|
||||
\x49\x98\xc1\x44\x91\xa1\x32\x1d\x7b\xd7\x07\x45\x9e\x55\xb4\xc0\
|
||||
\xc4\x89\x09\x25\x03\x43\x52\x8d\x42\x52\xc2\xca\x54\x19\x91\xb1\
|
||||
\x7d\x90\xaa\xb8\x94\x49\xb9\xe7\x2c\xc3\xf8\xaa\x2f\x82\xf4\xce\
|
||||
\x79\xd4\xe5\x05\xe0\xf7\xf5\x40\x0c\x03\x9e\x1e\xe8\xc2\xc0\xcc\
|
||||
\x65\x71\x1e\x5e\xd1\xb8\x7e\x65\x57\x01\x95\x08\xfe\x54\x40\x10\
|
||||
\xb8\xb9\x80\xfb\xc8\x0b\x38\x97\xc4\xd7\x26\x82\xa8\x59\x38\x4c\
|
||||
\x44\xd0\x50\x02\x33\x19\x62\xd3\xd4\x36\xc4\xbb\x3f\xc1\x6f\x21\
|
||||
\x8f\x87\x7a\x26\x53\x1c\x5d\x0a\x42\xce\x5f\x5f\x34\xd1\xce\x87\
|
||||
\x9e\xed\x8f\x70\x1c\xeb\x07\x80\x87\x25\xbc\x8b\x00\x70\x28\x4a\
|
||||
\xa4\xb2\x3d\x08\x97\xe6\xf6\x68\x48\xa0\x8b\x29\x4c\x99\x6e\xe3\
|
||||
\x9c\x35\x67\x48\xe1\x2e\x0c\xab\x00\xcc\x77\x40\xc3\x50\x4f\x84\
|
||||
\x88\x61\xe5\x90\xa9\x20\x21\x65\xc4\x78\x5e\xd9\xdc\x59\x78\xc3\
|
||||
\x2a\x9a\xf3\x12\x21\x08\x53\x1f\x98\x4f\x86\x25\xf5\x4d\xc7\xeb\
|
||||
\xa2\xc4\xf5\xfe\xbd\x65\x3a\xb0\x00\xae\x7c\x49\xd4\x59\xa3\x55\
|
||||
\x62\xe2\x59\xc1\xfd\x61\xcf\x42\xcf\x5b\x75\x29\x9a\xdb\x17\xac\
|
||||
\x82\xf9\xcc\x3e\x71\xdf\xc9\x42\xea\xc2\xdc\x4a\x40\x5e\xc4\xb6\
|
||||
\xc6\x10\xfc\x87\x33\x82\x9e\xf4\xb0\x54\x44\xaa\xa7\x75\xbb\x35\
|
||||
\x8d\xab\x53\x66\xbb\x96\x1c\xdf\x00\x89\x3e\xe9\xe1\x24\xcc\x30\
|
||||
\x8d\x99\x9f\x23\xe9\xee\x04\xfb\x2c\x28\xb8\x4b\x1c\xde\x2f\xa9\
|
||||
\xce\xc7\x26\x0b\xbe\xa2\x68\x72\x77\x28\x92\x20\x58\x11\x14\x63\
|
||||
\x81\x75\xca\x46\x3d\xeb\xa2\xca\xf1\x7d\x29\x91\xe6\xba\x71\xd7\
|
||||
\x49\xa3\x6a\x1e\x84\x8b\xc3\x0b\x07\x60\xbb\xbc\x80\x0b\xfa\x5b\
|
||||
\xbb\xbe\xb0\x1a\x98\x97\x89\x7a\xa1\x6e\x5c\x9f\xac\x18\xf0\x3e\
|
||||
\xe1\x21\xea\xc4\x7a\x4b\x51\x87\xf4\x23\x70\x82\x77\x10\xf6\x3a\
|
||||
\x10\x0c\xea\xa2\x9e\x84\x7e\x08\x7a\xd7\xfb\x33\x17\x17\xe1\x21\
|
||||
\x8d\x92\xa8\x43\x7f\x93\xf2\x1a\xa1\xab\x04\xa0\x34\x4b\x3f\x6e\
|
||||
\x4d\xe4\xeb\xe3\x51\x9b\xab\xef\x1d\x9f\x9c\x9c\xec\xef\x1d\x4d\
|
||||
\x24\xef\xf9\x22\xcb\x64\x17\x73\xcc\x33\xa3\xf3\x8f\x80\x30\x44\
|
||||
\x86\x59\x0c\x96\x66\x47\xa4\xb6\x36\x88\xbf\xbb\x3a\x68\x8f\x10\
|
||||
\x16\x24\x0d\x8f\x3a\xa5\x05\x53\xa4\x0c\xc5\x3c\x1c\x99\x99\x4d\
|
||||
\x64\xe2\xfb\x2f\x1c\x26\x64\x1c\xe5\x53\xbd\xa0\x90\xb0\xbe\x0a\
|
||||
\x10\xef\x21\x82\x3d\xf3\x5f\x8f\x66\x8f\x22\x99\x6e\x3b\x90\x80\
|
||||
\x50\xde\x32\xbc\x98\x99\x31\x08\x38\x84\xdf\x54\x14\x43\xd3\x18\
|
||||
\x9d\x8f\xb0\x84\x38\x0d\x72\x63\xad\x9a\xec\xf1\xe6\xea\xc1\xd7\
|
||||
\x08\x5d\x1f\x75\x8f\xb6\x12\x75\x41\x51\x56\xe1\x99\x05\xdc\xcf\
|
||||
\xe8\x7b\xc7\x0e\x6a\x22\xa9\x5e\xde\x45\xad\xe8\xa0\xce\x2b\x09\
|
||||
\xe3\x1d\x38\xa8\x4b\x60\x7b\x6e\x52\x58\x51\x71\x52\x5a\x24\xcf\
|
||||
\x8e\xcd\x74\x53\x90\xe2\x2e\xe9\xa6\x0e\x5a\xb3\xfd\x54\x6b\x7b\
|
||||
\x0e\xea\x2a\x20\x75\xb9\x7b\xaf\x74\x5a\x80\x04\x76\x4a\x7a\xbe\
|
||||
\xba\x7f\x58\x2e\x7f\xb6\xe2\xa5\x40\x79\xb4\xe3\x3a\x3b\x3e\x59\
|
||||
\xdc\x8e\xf3\x93\x69\x40\xbc\x9b\xda\x93\xa9\x1e\x98\x1f\xa4\x67\
|
||||
\x82\x8b\xea\x90\x94\x1e\x4f\x13\x66\x08\xea\xc3\xa3\xf6\x09\xd2\
|
||||
\x89\xcc\x3f\x34\xe0\xec\x2f\x85\xba\xc4\x1e\x54\x89\xbf\x3a\x9e\
|
||||
\xe6\x9e\xfe\x53\x8e\x3a\xfb\xf6\x29\xc4\x03\x59\x53\x38\x5a\x12\
|
||||
\x4a\x8b\xc3\x57\xf3\x7e\xc4\x6d\x3d\x6e\xf7\x37\x82\xdb\x39\xa5\
|
||||
\xa2\x05\x71\x3b\x46\x6d\x8c\xe1\x71\xa4\x4b\x69\x24\x3b\x94\xa4\
|
||||
\xd5\x8b\x02\x76\x21\xaf\xe3\x1b\xc4\x6f\xaa\xd9\xad\x41\x36\x65\
|
||||
\xf7\x08\xda\x7a\xd0\x1e\x6e\x04\xb4\x73\x8e\x7b\xb3\x40\x6b\x88\
|
||||
\x5b\xdc\xf6\x4c\x85\x6e\x80\x99\x32\x19\x3f\xe3\xec\xb9\xa6\xe0\
|
||||
\xa3\x6e\xc8\xbd\x1b\x89\x9e\x74\x49\x9f\x32\x53\x9a\x1b\x50\x38\
|
||||
\x43\x60\xf4\xec\xa9\x3e\x94\x6c\x0f\xcb\xcf\x52\x49\xb6\x85\x65\
|
||||
\xa9\xb0\xc8\x38\x3e\xe2\xb9\x0e\xcf\x2f\x36\x82\xe7\xa3\xdb\x75\
|
||||
\xc2\x99\xe3\xed\x09\x1e\x19\x64\x4b\xa0\xa3\xfd\x22\x11\xb9\x37\
|
||||
\xfe\xc9\x21\x39\xf5\xd3\x3c\xd5\x6c\x02\x7a\x63\x76\x1e\x32\x8f\
|
||||
\x44\x18\xcc\xeb\x27\x7d\x0a\x67\x43\x3c\x42\xa6\x6c\x29\x76\x51\
|
||||
\x17\xd4\x15\xe1\x1b\x3b\xac\x4f\xd7\x52\xc2\xc1\x5a\xd2\x70\x84\
|
||||
\x88\x4f\x4d\xcd\x7a\x13\xf6\x60\xde\x81\x65\x4b\x30\x32\x6f\xd1\
|
||||
\x32\xfa\x9a\xf9\x47\xc3\xfb\xd1\x2e\xea\xed\xe2\x68\x23\x76\xf1\
|
||||
\x72\x75\xbb\xd0\x2f\x66\x32\x7b\xe8\x09\x42\x3c\xec\xa7\xd0\x87\
|
||||
\x1d\xd7\x3e\x5c\xc3\x5f\xd7\xbf\x29\xf3\xa8\x4f\xe0\x67\x66\x34\
|
||||
\x06\x5c\x03\x2a\x74\x55\xe9\x0d\x19\x60\x41\x76\x53\x0b\xf3\xb0\
|
||||
\x7e\x27\x73\xa3\x5f\xe3\x0c\x02\x38\x5f\x35\x9b\x6b\x54\x7d\xa6\
|
||||
\x23\xfd\x6f\x10\x09\x65\x2f\xe3\xb7\x02\x6f\xad\x8a\x9c\xe1\x23\
|
||||
\xbe\xeb\xf0\x7d\xbc\x09\x7c\xaf\x85\xee\x8a\xd7\xc7\x00\xee\x0c\
|
||||
\xc4\x85\x97\x8a\x3d\x48\xc5\x73\xaf\x9f\x16\x59\xd3\x32\xe6\x81\
|
||||
\x6f\xca\xa0\x66\xc2\x26\x90\x9c\xde\xd3\x40\x07\x17\x63\xb1\x80\
|
||||
\x69\xc6\x11\x45\x44\x06\xeb\xf0\x5d\xb2\x2e\x02\xdc\x1e\x26\xb6\
|
||||
\x27\x07\x27\x68\x15\xe6\xad\x74\xdd\xe4\x7a\xc9\x0b\x27\x9d\xef\
|
||||
\xef\x6e\xef\xc2\x89\xe5\x54\x38\xa0\xfe\xe9\x57\x4f\xb2\x15\x4d\
|
||||
\x9c\x89\x1e\xee\x25\x94\x39\x49\xed\x9d\x5f\x42\x31\x45\x0a\x51\
|
||||
\x71\xf8\x1d\xd3\x3d\xe1\xf0\xab\xd2\xc3\x6c\xc8\x19\xcc\x3d\x8d\
|
||||
\xd2\x22\x08\xa8\xb4\xfd\x55\x9d\x9e\xbe\x1f\x53\x74\x1d\xd3\xb9\
|
||||
\xb4\xd3\xd1\x75\xec\xf7\x90\x8e\x4c\x77\x3a\x53\x4b\xe7\x87\xb3\
|
||||
\x2b\xe7\xfb\x6b\x95\xce\x61\x9a\xd1\xd1\x12\xba\x5e\xf5\xc2\xcf\
|
||||
\x3a\xe5\xa9\x85\xaf\xfc\x68\xb7\x35\xfd\x8e\xcf\x9f\x7f\xad\x46\
|
||||
\xfe\xea\x3f\x5e\xab\x79\xbc\x56\x73\xdb\x52\xdd\xdf\xb4\xe5\x60\
|
||||
\xb9\xb4\xe5\xf3\xf9\xeb\xdb\x4f\x5b\x8e\x1f\x5c\xda\x72\xf2\xa0\
|
||||
\xd2\x96\x25\xaa\x10\x87\xab\xc7\xa0\x19\xd5\x66\x2c\x08\x1c\x87\
|
||||
\x9e\xc0\xe9\xc8\x1c\xc0\xea\x0a\xcb\x1b\xa9\x2f\xd8\xf4\x4a\x83\
|
||||
\xde\x88\xb0\x95\x13\x18\xf7\xb0\x65\x76\x3f\x43\xd0\xb6\x7d\xd9\
|
||||
\x44\xee\xa9\x6f\xf5\x52\x2f\xcb\x3c\xa7\xf9\xae\xba\x94\x33\xcf\
|
||||
\x36\xbf\x5b\x1a\x13\xb9\x66\xd5\x6f\x2d\x91\x61\x4e\x26\x97\x36\
|
||||
\xaf\xdc\xaf\xe4\x95\x59\x4a\x79\x58\x49\x29\x27\xb2\xc9\xb2\x28\
|
||||
\x13\x39\x64\xae\xa4\x82\x26\x0b\x6a\xb4\xce\x29\x8b\xae\xd6\xd9\
|
||||
\x9c\x35\x8e\x1b\x28\x75\x13\x67\x8d\xbd\xbd\x86\xa3\x67\xc6\x74\
|
||||
\x18\xe1\xb8\x97\x30\x4f\x2b\xaa\xfd\xdf\x17\xd3\xbe\x14\x3c\xfa\
|
||||
\x44\x23\xd2\xe1\x89\xf0\x20\x0f\x2a\xcd\xd2\x9f\xde\x24\x52\xf1\
|
||||
\x28\xe5\x28\x8d\x24\xc5\x9e\x54\xca\xc2\xe7\x39\x85\x1b\x31\xf9\
|
||||
\x17\x39\x7a\x3f\x86\x8a\x30\x5f\xb6\xed\xd7\x38\xb0\x1b\xb6\x63\
|
||||
\x27\x55\x15\xf6\x61\xc9\x40\xc1\xd1\x04\xd2\xcf\x73\x9a\x81\x56\
|
||||
\x9c\x19\x30\x0a\x28\xf3\x9d\x2d\x48\xe9\x7a\x4e\xad\x30\x55\x89\
|
||||
\xa7\x49\xa5\xa9\xa5\x92\xcb\xf5\xc5\xb2\xd7\x1a\xeb\xf5\x33\x1e\
|
||||
\xdc\x8a\x28\x99\x8f\xaf\x97\x25\x1f\xdd\x8e\x30\xf6\xd0\x33\x45\
|
||||
\x98\xf1\xe8\xfa\xc2\x4c\x76\x98\x8f\xc6\x04\x91\xc6\x06\xa4\xb1\
|
||||
\x16\x8f\x33\x46\x8c\x0d\xe8\xb6\xeb\x24\xb4\xbd\xf3\x3f\x2b\xb8\
|
||||
\x06\xd6\
|
||||
\xfe\xa2\xf1\xaa\xbd\xe3\xc6\x34\x1b\x74\x08\x83\xda\x3b\xc8\xf5\
|
||||
\x42\x2c\x65\xfb\x5d\x4c\x4f\x4f\x2f\x28\x0e\x79\x1f\xfe\x87\xfd\
|
||||
\x0e\x51\x0a\x6e\x96\x17\x02\xf7\x94\xeb\x24\x83\x60\xf4\x90\xfa\
|
||||
\x7d\xa2\x90\xb9\x3e\x6b\x7c\xfd\x61\x2e\x1b\x88\xe1\x88\x9c\x35\
|
||||
\x66\x0a\xd1\xca\x90\x3b\x10\x7c\x40\x84\x1a\xdb\x3b\xfa\x84\x47\
|
||||
\x44\x89\xb1\xe9\x44\xae\x20\x9e\x32\xbf\x90\x3b\x6a\xb7\x5c\x67\
|
||||
\x64\x2f\xc6\xfa\x62\x6c\x2f\xc0\x04\x15\xb4\x8f\x4e\x8e\x5c\x27\
|
||||
\xf9\x99\x34\x07\x84\xf6\x03\xd5\x3e\xde\x7f\xe9\x3a\xf6\xb7\x91\
|
||||
\xe9\xa4\x42\x5d\x27\x55\x5e\x67\xc9\x90\x32\x9f\x0f\xaf\xa8\x0a\
|
||||
\x89\x35\x46\x2a\x01\xc6\xb7\x3f\x44\x03\x2e\x94\xf3\x76\xa4\xff\
|
||||
\xb9\x8e\x6d\xad\xca\x0b\xf1\x98\xc7\x99\x67\xbe\xbf\xe1\xa3\x8f\
|
||||
\xa6\xc9\x8a\x2b\xe9\x93\x03\xec\x81\xa0\x86\xb5\x9e\xc5\x51\x97\
|
||||
\x88\xf6\xb1\xeb\xd8\x5f\x89\xed\x79\x0d\x15\x11\x11\x16\x7d\xca\
|
||||
\x4a\x12\x5e\xce\x94\x40\x15\x89\x32\x37\xe6\x9f\xe4\x3b\xc1\xe3\
|
||||
\x01\xd8\x3c\x79\x96\xf6\x7a\x6f\xdf\x2a\xa8\xa8\x57\x99\xaf\x72\
|
||||
\xee\xba\xf8\xf7\x12\xf5\xb8\x88\xb0\x42\x7c\xa0\x00\x69\x32\xef\
|
||||
\xb3\xaa\x49\xf3\x3d\x37\xd7\x79\x53\xfd\x57\xa7\x6d\xb6\x17\xa7\
|
||||
\x3a\xb2\x5e\x54\xe6\xce\x9a\x79\xbc\xaf\xce\x63\x81\x99\xcc\x98\
|
||||
\x4b\x9d\x09\xf3\xe7\x93\x09\x6c\x2d\x28\xb0\x30\xab\x2a\x52\x3e\
|
||||
\xe2\x2e\x09\x53\x98\x28\x32\x52\xa6\x61\xef\xfa\x20\xaf\xb3\x8a\
|
||||
\x16\x18\x58\x18\x50\x0a\x30\x24\xd5\x38\x24\x25\xac\x4c\xb5\x11\
|
||||
\x99\xd8\x07\xab\xf2\x53\x29\xda\x3d\x67\x1a\x26\x57\x7d\x11\xa4\
|
||||
\x77\xce\xa3\x2e\xcf\x01\xbf\xaf\x3b\x06\xd0\xe1\xe9\x8e\x2e\x74\
|
||||
\xcc\x9c\x16\xe7\xe1\x15\x1d\xd4\xcf\xec\x2a\xa0\x12\xc1\x9f\x0a\
|
||||
\x08\x82\x34\x17\x70\x1f\x79\x01\xe7\x92\xf8\x3a\x44\x10\x35\x13\
|
||||
\x87\x81\x08\x2e\x94\xc0\x4c\x86\xd8\x5c\xea\x18\xe2\xdd\x9f\x90\
|
||||
\xb7\x90\xc7\x43\x3d\x92\x29\x8e\x2e\x05\x21\xe7\xaf\x2f\x9a\x68\
|
||||
\xe7\x43\xcf\xb6\x47\x78\x30\xd0\x37\x80\x0e\x2b\x78\x17\x01\xe0\
|
||||
\x50\x14\x4b\x65\x5b\x10\x2e\x8d\xed\xd1\x90\x40\x13\x53\x98\x32\
|
||||
\x7d\x8d\x33\xd5\x9c\x21\x85\xbb\xd0\xad\x02\x08\xdf\x21\x0d\x43\
|
||||
\x3d\x10\x56\x0c\x6b\x87\x4c\x0c\x09\x29\x23\x26\xf3\xca\xe6\xce\
|
||||
\xc2\x0f\xac\xe2\x39\x2f\x16\x82\x30\xf5\x81\xf9\x64\x54\x72\xdf\
|
||||
\x74\xbc\x2e\x2a\x5c\x3f\xbf\xb7\x4c\x2f\x2c\x80\x2b\x5f\x12\x75\
|
||||
\xd6\x68\x95\x94\x78\xd6\x70\x7f\xd4\xb3\xd0\xf3\x56\x9d\x8a\xd6\
|
||||
\xf6\x05\xab\x60\xbe\xb2\x4f\xdc\x77\xd2\x25\x75\x61\x6d\x25\x20\
|
||||
\x2f\x12\x5b\x13\x08\xfe\xc3\x19\x41\x4f\x7a\x58\x2a\x22\xd5\xd3\
|
||||
\xba\xa7\x35\x4d\xab\x53\x56\xbb\x96\x1d\xdf\x00\x89\x3e\xe9\xe1\
|
||||
\x38\x4c\x31\x8d\x99\x9f\x21\xe9\xee\x0c\xfb\x2c\x28\xa4\x4b\x1c\
|
||||
\xde\x2f\xab\xce\x27\x21\x0b\xb9\x22\x1f\x72\x77\x68\x92\x20\x58\
|
||||
\x11\x34\xc0\x02\x6b\xca\x46\x3d\x9b\xa2\xca\xeb\xfb\xf6\x4d\xea\
|
||||
\xdc\x10\xe5\x05\x64\x2d\x43\xe6\xae\x27\xae\x93\x2c\xef\x19\x1b\
|
||||
\xc8\x77\x2f\xcc\x04\xec\xa4\x02\x2e\xe8\x6f\x9d\x83\xc3\x2a\x43\
|
||||
\x58\x66\xf9\x0d\xf5\xc5\xf5\xc9\x8a\x2b\xef\x27\x3c\x42\x9d\x81\
|
||||
\xc6\x16\xea\x90\x7e\x04\xd9\xf8\x0e\xd6\xdf\x0e\xac\x4a\x75\xcb\
|
||||
\xaf\x84\x76\x58\x7d\xaf\xf7\x67\x4e\x2e\xc2\x23\x1a\xc5\x51\x87\
|
||||
\xfe\x26\xe5\x39\x42\x53\x09\x36\x49\xb9\x70\xdc\x2a\x14\x0e\x93\
|
||||
\x5e\x5b\x34\xec\x1d\x9f\x9c\x9c\xec\xef\x1d\x15\xaa\x88\x6c\x92\
|
||||
\x65\xb1\x8b\xad\x10\x33\x69\xc2\x8f\x80\x30\x44\x46\x29\x19\x90\
|
||||
\xe6\x89\x48\x1d\xf6\x40\x04\x76\x35\x7b\x18\x23\x2c\x48\xb2\x4e\
|
||||
\x6b\x6e\x0d\x39\x81\x32\x34\xe0\xe1\xd8\x8c\x6c\x22\x43\x34\x7e\
|
||||
\xe1\x30\x26\x13\xba\x91\xf8\x05\x85\x84\xf5\x55\x80\x78\x0f\x11\
|
||||
\xec\x99\xff\xba\x37\xbd\x15\xc9\xe4\xb1\x83\x08\xe0\x14\x2d\xa3\
|
||||
\x8b\x99\x11\xc3\x80\x03\x0f\x48\x4c\x31\x32\x4d\xa8\xf9\x08\x4b\
|
||||
\x20\x0c\x60\x37\xd6\xae\x49\x6f\x6f\xae\xce\x02\x8c\xd1\xf5\xcb\
|
||||
\xff\xd1\x56\x96\x7f\x70\x94\x75\x78\x1a\x01\xf7\x93\x06\xdc\x71\
|
||||
\x82\x2a\xb0\xfb\xe5\x53\xd4\x8a\x09\xea\xbc\xc2\x5c\xef\x20\x41\
|
||||
\x5d\x82\xda\x73\xc3\xa5\x45\x25\x49\x69\x93\x3c\xdb\x37\x33\x4d\
|
||||
\x01\xd7\x5e\x32\x4d\x1d\xb4\x66\xe7\xa9\xd6\xf6\x12\xd4\x55\x40\
|
||||
\xea\x8a\x88\x5e\xa9\x6c\x01\x26\x3d\xa5\x4e\x58\x3d\x3f\x2c\x47\
|
||||
\xe4\xad\x79\x09\x50\x1e\xe3\xb8\x2e\x8e\x4f\x16\x8f\xe3\xac\x44\
|
||||
\x0e\x88\x77\x53\x5b\x22\xeb\x8e\xf9\x8b\xf4\x4c\x70\x51\xbd\x24\
|
||||
\x25\x75\x72\xcc\x8c\x40\x5d\xc5\xea\x9c\x20\x9d\xc8\xfc\x43\x43\
|
||||
\xce\xfe\x52\xa8\x4b\x6c\xc5\x4c\xfc\xd5\xf1\x34\x77\x1b\x22\xd1\
|
||||
\xa8\xcb\x00\x9f\xc2\x7a\x20\x6b\x76\xb0\x96\x84\xd2\xe2\xf0\xd5\
|
||||
\xba\x1f\x71\x5b\x8f\xdb\xfd\x8d\xe0\x76\xce\x9e\xd5\x82\xb8\x9d\
|
||||
\xa0\x76\x80\xe1\x76\xa4\xf7\xf4\x48\x5a\x1d\x25\xdb\x28\x39\xec\
|
||||
\x02\xaf\xe3\x1b\xc4\x6f\xe2\xd9\xad\x41\x36\x51\xf7\x08\xda\x7a\
|
||||
\xd0\x1e\x6e\x04\xb4\x73\xca\xbd\x59\xa0\x35\xc2\x2d\x6e\x7b\x66\
|
||||
\xab\x70\x88\x99\x32\x8c\x9f\x71\xf6\x5c\x4b\xf0\x51\x37\xe4\xde\
|
||||
\x8d\x44\x4f\xba\xa4\x4f\x99\xd9\x23\x1c\x52\xa8\x21\x30\x7a\xf6\
|
||||
\x54\x17\x25\xdb\xc3\xf2\xb3\xc4\x92\x6d\x61\x59\x2a\x2c\x52\x8d\
|
||||
\x8f\x78\xae\xc3\xf3\x8b\x8d\xe0\xf9\xe8\x76\x93\x70\x9a\x78\x7b\
|
||||
\x82\x47\x06\xd9\x12\xe4\xe8\xbc\x48\x44\x96\x8d\x7f\x72\x20\xa7\
|
||||
\x7e\xc2\x53\xcd\x43\x40\x6f\xcc\x93\x07\xe6\x11\x0b\x83\x79\x7d\
|
||||
\xa7\x4f\xa1\x36\xc4\x63\x64\xf6\x4f\xc5\x2e\xea\x82\xbb\x22\x7c\
|
||||
\x63\xbb\x75\x75\x2d\x25\x14\xd6\x92\x86\x63\x44\x7c\x6a\x36\xcf\
|
||||
\x37\x11\x0f\xe6\x65\x5c\x3a\x05\x63\xf3\x16\x23\xa3\xaf\x95\x7f\
|
||||
\x34\xba\x1f\xe3\xa2\x3e\x2e\x8e\x36\x12\x17\x2f\x57\x8f\x0b\xfd\
|
||||
\x86\x28\x8d\x87\x9e\x20\xc4\xc3\x7e\x02\x7d\x78\xe2\x3a\x87\x6b\
|
||||
\xf8\xeb\x8d\x78\xca\x3c\xea\x13\xf8\x99\x06\x8d\x01\xd7\x90\x0a\
|
||||
\xbd\xab\xf4\x86\x0c\xb1\x20\xbb\x49\x84\x79\x58\xbf\x1c\xba\xd1\
|
||||
\xef\x93\x86\x01\xd4\x57\xcd\xe6\x1a\xbb\x3e\xd3\x91\xfe\x37\x98\
|
||||
\x84\xd2\x53\x01\x5b\x81\xb7\x76\x45\xa6\xf0\x11\xdf\x75\xf8\x3e\
|
||||
\xde\x04\xbe\xd7\x42\x77\x25\xeb\x63\x00\x77\x0a\xe2\xdc\xdb\xcd\
|
||||
\x1e\x50\xf1\x2c\xeb\x27\x9b\xac\xc9\x36\xe6\x81\x6f\xb6\x41\xcd\
|
||||
\x80\x4d\x20\x39\x39\x30\x82\x0e\x2e\x26\x66\x81\xd2\x54\x23\x8a\
|
||||
\x88\x9c\xf2\xc6\x62\x23\xfb\x22\xa0\xed\x61\x62\xbb\xd8\x59\x90\
|
||||
\x95\x1b\xb7\xd2\xb9\x97\xeb\x25\x4f\xbe\x74\xbe\xbf\xbb\xbd\x93\
|
||||
\x2f\x56\x53\xae\x40\xfd\xd3\xcf\xc0\xa4\x33\x2a\xd4\x44\x0f\xf7\
|
||||
\x34\xcc\x1c\x52\x7b\xe7\xa7\x61\xcc\x26\x85\xa8\x24\xfc\x8e\x69\
|
||||
\x2e\x24\xfc\xaa\xf5\x30\x1a\x38\x83\x39\x30\x52\x9a\x04\x01\x97\
|
||||
\xb6\xbf\xaa\xd3\xd3\xf7\x13\x89\xae\x63\x1a\x97\x4e\x3a\x7a\x1f\
|
||||
\xfb\x3d\xd0\x91\xe9\x49\x67\xea\xd6\xf9\xe1\xec\x9d\xf3\xfd\xb5\
|
||||
\xb6\xce\x61\x98\xf1\xd1\x12\xbe\x5e\xf5\xe4\xd1\x3a\xdb\x53\x0b\
|
||||
\x9f\x3d\xd2\x69\x6b\xfa\x61\xa3\x3f\xff\x7c\x8f\xfc\xd5\x7f\x3c\
|
||||
\xdf\xf3\x78\xbe\xe7\xb6\xad\xba\xbf\xb4\xe5\x60\x39\xda\xf2\xf9\
|
||||
\xfc\xf5\xed\xd3\x96\xe3\x07\x47\x5b\x4e\x1e\x14\x6d\x59\x62\x17\
|
||||
\xe2\x70\xf5\x35\x68\xc6\x6e\x33\x16\x04\xca\xa1\x27\x50\x1d\x99\
|
||||
\x02\xac\x6e\x63\x79\x23\xfb\x0b\x96\x5e\x69\xd0\x1b\x13\xb6\x52\
|
||||
\x81\x71\x0f\x5b\x65\xf7\x73\x09\xda\x76\x2e\x2b\x70\x4f\x7d\xbc\
|
||||
\x98\x7a\x29\xf3\x9c\x96\xbb\xea\x28\x67\xc6\x36\xbf\x5b\x19\x05\
|
||||
\xae\x59\xcd\x5b\x4b\x30\xcc\x22\xb9\xb4\xbc\x72\xbf\xc2\x2b\x53\
|
||||
\x4a\x79\x58\xa1\x94\x05\x36\x59\x36\xa5\xc0\x21\x33\x27\xe5\x3c\
|
||||
\x99\x73\xa3\x4d\x4e\xe9\xea\x6a\x93\xcd\x59\xe3\xb8\x81\x92\x34\
|
||||
\x71\xd6\xd8\xdb\x6b\x38\x7a\xe4\x80\x8e\x22\x3c\xe8\xc5\xcc\xd3\
|
||||
\x8e\x6a\xff\xf7\xc5\x5c\x5f\x0a\x1e\x7d\xa2\x11\xe9\xf0\x58\x78\
|
||||
\xc0\x83\x4a\xa3\xf4\x37\x40\xb1\x54\x3c\x4a\x34\x4a\x63\x49\xbe\
|
||||
\x25\xb1\x32\xf7\x9d\x50\xee\x44\x4c\xf6\x69\x90\x7e\x1e\x23\x45\
|
||||
\x98\x2f\xdb\xf6\xb3\x20\x78\x1a\xb6\x61\x27\x71\x15\xf6\x61\xca\
|
||||
\x20\xc1\xd1\x02\x92\xef\x84\x9a\x81\x76\x9c\xe9\x30\x0e\x28\xeb\
|
||||
\x9d\x6d\x48\xe9\x78\x4e\xad\x31\x55\x8b\xa7\x59\xa5\xa5\x25\x96\
|
||||
\xcb\xf5\xcd\xb2\xc7\x1a\xeb\xfd\x33\xe9\xdc\x8a\x29\x69\x8e\xaf\
|
||||
\xb7\x25\xeb\xdd\x8e\x31\xb6\xe8\x99\x62\xcc\xa4\x77\x7d\x63\x8a\
|
||||
\x0d\xe6\xeb\x35\x41\xa4\x89\x01\x69\xa2\xc5\xe3\x8c\x11\x13\x03\
|
||||
\xfa\xda\x75\x62\xda\xde\xf9\x1f\xf8\xa7\x2a\x7c\
|
||||
\x00\x00\x0d\x74\
|
||||
\x00\
|
||||
\x00\x80\x2b\x78\x9c\xed\x1d\x6b\x73\xda\xb8\xf6\x7b\x7e\x85\x26\
|
||||
|
@ -31256,43 +31256,43 @@ qt_resource_struct = "\
|
|||
\x00\x00\x00\x64\x00\x00\x00\x00\x00\x01\x00\x00\x01\x64\
|
||||
\x00\x00\x00\x96\x00\x00\x00\x00\x00\x01\x00\x00\x04\xc4\
|
||||
\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x01\x00\x00\x03\x12\
|
||||
\x00\x00\x06\x74\x00\x01\x00\x00\x00\x01\x00\x06\xe3\x9e\
|
||||
\x00\x00\x05\xa6\x00\x00\x00\x00\x00\x01\x00\x06\xa0\xc4\
|
||||
\x00\x00\x06\xe2\x00\x01\x00\x00\x00\x01\x00\x07\x08\xd0\
|
||||
\x00\x00\x03\x66\x00\x01\x00\x00\x00\x01\x00\x06\x03\x77\
|
||||
\x00\x00\x03\xf0\x00\x00\x00\x00\x00\x01\x00\x06\x23\xe0\
|
||||
\x00\x00\x04\x60\x00\x01\x00\x00\x00\x01\x00\x06\x4c\xa5\
|
||||
\x00\x00\x05\x26\x00\x01\x00\x00\x00\x01\x00\x06\x78\xf2\
|
||||
\x00\x00\x05\xc8\x00\x00\x00\x00\x00\x01\x00\x06\xaf\x7a\
|
||||
\x00\x00\x06\xb6\x00\x01\x00\x00\x00\x01\x00\x06\xf7\xc6\
|
||||
\x00\x00\x05\x02\x00\x01\x00\x00\x00\x01\x00\x06\x6e\x86\
|
||||
\x00\x00\x04\x86\x00\x01\x00\x00\x00\x01\x00\x06\x52\x69\
|
||||
\x00\x00\x03\xbc\x00\x01\x00\x00\x00\x01\x00\x06\x17\xef\
|
||||
\x00\x00\x07\x54\x00\x01\x00\x00\x00\x01\x00\x07\x28\x24\
|
||||
\x00\x00\x04\xdc\x00\x01\x00\x00\x00\x01\x00\x06\x64\xf2\
|
||||
\x00\x00\x02\xe2\x00\x00\x00\x00\x00\x01\x00\x05\xe1\x16\
|
||||
\x00\x00\x03\x34\x00\x01\x00\x00\x00\x01\x00\x05\xfb\xbe\
|
||||
\x00\x00\x06\x46\x00\x01\x00\x00\x00\x01\x00\x06\xdb\xb9\
|
||||
\x00\x00\x04\x18\x00\x00\x00\x00\x00\x01\x00\x06\x33\x31\
|
||||
\x00\x00\x05\x56\x00\x00\x00\x00\x00\x01\x00\x06\x84\xcb\
|
||||
\x00\x00\x04\x3c\x00\x01\x00\x00\x00\x01\x00\x06\x46\x08\
|
||||
\x00\x00\x03\x04\x00\x01\x00\x00\x00\x01\x00\x05\xf3\x2f\
|
||||
\x00\x00\x07\x04\x00\x01\x00\x00\x00\x01\x00\x07\x11\x79\
|
||||
\x00\x00\x08\x14\x00\x00\x00\x00\x00\x01\x00\x07\x73\x2b\
|
||||
\x00\x00\x07\xf2\x00\x01\x00\x00\x00\x01\x00\x07\x65\xcc\
|
||||
\x00\x00\x07\x76\x00\x01\x00\x00\x00\x01\x00\x07\x32\x86\
|
||||
\x00\x00\x07\x9e\x00\x00\x00\x00\x00\x01\x00\x07\x3c\x37\
|
||||
\x00\x00\x05\x7c\x00\x01\x00\x00\x00\x01\x00\x06\x96\x83\
|
||||
\x00\x00\x06\x16\x00\x01\x00\x00\x00\x01\x00\x06\xd1\xe6\
|
||||
\x00\x00\x03\x94\x00\x01\x00\x00\x00\x01\x00\x06\x0c\x7d\
|
||||
\x00\x00\x05\xee\x00\x01\x00\x00\x00\x01\x00\x06\xc2\x10\
|
||||
\x00\x00\x04\xb2\x00\x01\x00\x00\x00\x01\x00\x06\x5a\x70\
|
||||
\x00\x00\x08\x3a\x00\x01\x00\x00\x00\x01\x00\x07\x7d\xd6\
|
||||
\x00\x00\x07\x28\x00\x00\x00\x00\x00\x01\x00\x07\x18\xca\
|
||||
\x00\x00\x06\x96\x00\x01\x00\x00\x00\x01\x00\x06\xee\x52\
|
||||
\x00\x00\x07\xc0\x00\x00\x00\x00\x00\x01\x00\x07\x50\xc8\
|
||||
\x00\x00\x06\x74\x00\x01\x00\x00\x00\x01\x00\x06\xe3\xa8\
|
||||
\x00\x00\x05\xa6\x00\x00\x00\x00\x00\x01\x00\x06\xa0\xce\
|
||||
\x00\x00\x06\xe2\x00\x01\x00\x00\x00\x01\x00\x07\x08\xda\
|
||||
\x00\x00\x03\x66\x00\x01\x00\x00\x00\x01\x00\x06\x03\x81\
|
||||
\x00\x00\x03\xf0\x00\x00\x00\x00\x00\x01\x00\x06\x23\xea\
|
||||
\x00\x00\x04\x60\x00\x01\x00\x00\x00\x01\x00\x06\x4c\xaf\
|
||||
\x00\x00\x05\x26\x00\x01\x00\x00\x00\x01\x00\x06\x78\xfc\
|
||||
\x00\x00\x05\xc8\x00\x00\x00\x00\x00\x01\x00\x06\xaf\x84\
|
||||
\x00\x00\x06\xb6\x00\x01\x00\x00\x00\x01\x00\x06\xf7\xd0\
|
||||
\x00\x00\x05\x02\x00\x01\x00\x00\x00\x01\x00\x06\x6e\x90\
|
||||
\x00\x00\x04\x86\x00\x01\x00\x00\x00\x01\x00\x06\x52\x73\
|
||||
\x00\x00\x03\xbc\x00\x01\x00\x00\x00\x01\x00\x06\x17\xf9\
|
||||
\x00\x00\x07\x54\x00\x01\x00\x00\x00\x01\x00\x07\x28\x2e\
|
||||
\x00\x00\x04\xdc\x00\x01\x00\x00\x00\x01\x00\x06\x64\xfc\
|
||||
\x00\x00\x02\xe2\x00\x00\x00\x00\x00\x01\x00\x05\xe1\x20\
|
||||
\x00\x00\x03\x34\x00\x01\x00\x00\x00\x01\x00\x05\xfb\xc8\
|
||||
\x00\x00\x06\x46\x00\x01\x00\x00\x00\x01\x00\x06\xdb\xc3\
|
||||
\x00\x00\x04\x18\x00\x00\x00\x00\x00\x01\x00\x06\x33\x3b\
|
||||
\x00\x00\x05\x56\x00\x00\x00\x00\x00\x01\x00\x06\x84\xd5\
|
||||
\x00\x00\x04\x3c\x00\x01\x00\x00\x00\x01\x00\x06\x46\x12\
|
||||
\x00\x00\x03\x04\x00\x01\x00\x00\x00\x01\x00\x05\xf3\x39\
|
||||
\x00\x00\x07\x04\x00\x01\x00\x00\x00\x01\x00\x07\x11\x83\
|
||||
\x00\x00\x08\x14\x00\x00\x00\x00\x00\x01\x00\x07\x73\x35\
|
||||
\x00\x00\x07\xf2\x00\x01\x00\x00\x00\x01\x00\x07\x65\xd6\
|
||||
\x00\x00\x07\x76\x00\x01\x00\x00\x00\x01\x00\x07\x32\x90\
|
||||
\x00\x00\x07\x9e\x00\x00\x00\x00\x00\x01\x00\x07\x3c\x41\
|
||||
\x00\x00\x05\x7c\x00\x01\x00\x00\x00\x01\x00\x06\x96\x8d\
|
||||
\x00\x00\x06\x16\x00\x01\x00\x00\x00\x01\x00\x06\xd1\xf0\
|
||||
\x00\x00\x03\x94\x00\x01\x00\x00\x00\x01\x00\x06\x0c\x87\
|
||||
\x00\x00\x05\xee\x00\x01\x00\x00\x00\x01\x00\x06\xc2\x1a\
|
||||
\x00\x00\x04\xb2\x00\x01\x00\x00\x00\x01\x00\x06\x5a\x7a\
|
||||
\x00\x00\x08\x3a\x00\x01\x00\x00\x00\x01\x00\x07\x7d\xe0\
|
||||
\x00\x00\x07\x28\x00\x00\x00\x00\x00\x01\x00\x07\x18\xd4\
|
||||
\x00\x00\x06\x96\x00\x01\x00\x00\x00\x01\x00\x06\xee\x5c\
|
||||
\x00\x00\x07\xc0\x00\x00\x00\x00\x00\x01\x00\x07\x50\xd2\
|
||||
\x00\x00\x02\x8e\x00\x01\x00\x00\x00\x01\x00\x05\xcc\x17\
|
||||
\x00\x00\x02\xba\x00\x01\x00\x00\x00\x01\x00\x05\xd3\x9e\
|
||||
\x00\x00\x02\xba\x00\x01\x00\x00\x00\x01\x00\x05\xd3\xa8\
|
||||
"
|
||||
|
||||
def qInitResources():
|
||||
|
|
|
@ -88,6 +88,11 @@ If color mapping is choosed, you must choose a color mapping file containing a t
|
|||
<string>Create parametric objects</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Create Sketches</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
|
|
|
@ -4447,35 +4447,32 @@ class Draft2Sketch():
|
|||
return False
|
||||
|
||||
def Activated(self):
|
||||
for obj in Draft.getSelection():
|
||||
nobj = None
|
||||
name = obj.Name
|
||||
trans = False
|
||||
sel = Draft.getSelection()
|
||||
allSketches = True
|
||||
allDraft = True
|
||||
for obj in sel:
|
||||
if obj.isDerivedFrom("Sketcher::SketchObject"):
|
||||
FreeCAD.ActiveDocument.openTransaction("Convert to Draft")
|
||||
trans = True
|
||||
wires = []
|
||||
for w in obj.Shape.Wires:
|
||||
if fcgeo.hasCurves(w):
|
||||
nobj = FreeCAD.ActiveDocument.addObject("Part::Feature",name)
|
||||
nobj.Shape = w
|
||||
else:
|
||||
nobj = Draft.makeWire(w)
|
||||
wires.append(nobj)
|
||||
if len(wires) > 1:
|
||||
nobj = Draft.makeBlock(wires)
|
||||
allDraft = False
|
||||
elif obj.isDerivedFrom("Part::Part2DObjectPython"):
|
||||
FreeCAD.ActiveDocument.openTransaction("Convert to Sketch")
|
||||
trans = True
|
||||
nobj = FreeCAD.ActiveDocument.addObject("Sketcher::SketchObject",name)
|
||||
for edge in obj.Shape.Edges:
|
||||
nobj.addGeometry(edge.Curve)
|
||||
if nobj:
|
||||
Draft.formatObject(nobj,obj)
|
||||
FreeCAD.ActiveDocument.removeObject(name)
|
||||
FreeCAD.ActiveDocument.recompute()
|
||||
if trans:
|
||||
FreeCAD.ActiveDocument.commitTransaction()
|
||||
allSketches = False
|
||||
if not sel:
|
||||
return
|
||||
elif allDraft:
|
||||
FreeCAD.ActiveDocument.openTransaction("Convert to Sketch")
|
||||
Draft.makeSketch(sel,autoconstraints=True)
|
||||
FreeCAD.ActiveDocument.commitTransaction()
|
||||
elif allSketches:
|
||||
FreeCAD.ActiveDocument.openTransaction("Convert to Draft")
|
||||
Draft.draftify(sel,makeblock=True)
|
||||
FreeCAD.ActiveDocument.commitTransaction()
|
||||
else:
|
||||
FreeCAD.ActiveDocument.openTransaction("Convert")
|
||||
for obj in sel:
|
||||
if obj.isDerivedFrom("Sketcher::SketchObject"):
|
||||
Draft.makeSketch(sel,autoconstraints=True)
|
||||
elif obj.isDerivedFrom("Part::Part2DObjectPython"):
|
||||
Draft.draftify(sel,makeblock=True)
|
||||
FreeCAD.ActiveDocument.commitTransaction()
|
||||
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
|
|
@ -121,7 +121,44 @@ def hasCurves(shape):
|
|||
if not isinstance(e.Curve,Part.Line):
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
def isAligned(edge,axis="x"):
|
||||
"checks if the given edge or line is aligned to the given axis (x, y or z)"
|
||||
if axis == "x":
|
||||
if isinstance(edge,Part.Edge):
|
||||
if len(edge.Vertexes) == 2:
|
||||
if edge.Vertexes[0].X == edge.Vertexes[-1].X:
|
||||
return True
|
||||
elif isinstance(edge,Part.Line):
|
||||
if edge.StartPoint.x == edge.EndPoint.x:
|
||||
return True
|
||||
elif axis == "y":
|
||||
if isinstance(edge,Part.Edge):
|
||||
if len(edge.Vertexes) == 2:
|
||||
if edge.Vertexes[0].Y == edge.Vertexes[-1].Y:
|
||||
return True
|
||||
elif isinstance(edge,Part.Line):
|
||||
if edge.StartPoint.y == edge.EndPoint.y:
|
||||
return True
|
||||
elif axis == "z":
|
||||
if isinstance(edge,Part.Edge):
|
||||
if len(edge.Vertexes) == 2:
|
||||
if edge.Vertexes[0].Z == edge.Vertexes[-1].Z:
|
||||
return True
|
||||
elif isinstance(edge,Part.Line):
|
||||
if edge.StartPoint.z == edge.EndPoint.z:
|
||||
return True
|
||||
return False
|
||||
|
||||
def hasOnlyWires(shape):
|
||||
"returns True if all the edges are inside a wire"
|
||||
ne = 0
|
||||
for w in shape.Wires:
|
||||
ne += len(w.Edges)
|
||||
if ne == len(shape.Edges):
|
||||
return True
|
||||
return False
|
||||
|
||||
# edge functions *****************************************************************
|
||||
|
||||
def findEdge(anEdge,aList):
|
||||
|
|
|
@ -282,7 +282,7 @@ def drawLine(line,shapemode=False):
|
|||
v2=vec(line.points[1])
|
||||
if not fcvec.equals(v1,v2):
|
||||
try:
|
||||
if (fmt.paramstyle == 4) and (not fmt.makeBlocks) and (not shapemode):
|
||||
if (fmt.paramstyle >= 4) and (not fmt.makeBlocks) and (not shapemode):
|
||||
return Draft.makeWire([v1,v2])
|
||||
else:
|
||||
return Part.Line(v1,v2).toShape()
|
||||
|
@ -331,7 +331,7 @@ def drawPolyline(polyline,shapemode=False):
|
|||
except: warn(polyline)
|
||||
if edges:
|
||||
try:
|
||||
if (fmt.paramstyle == 4) and (not curves) and (not fmt.makeBlocks) and (not shapemode):
|
||||
if (fmt.paramstyle >= 4) and (not curves) and (not fmt.makeBlocks) and (not shapemode):
|
||||
ob = Draft.makeWire(verts)
|
||||
ob.Closed = polyline.closed
|
||||
return ob
|
||||
|
@ -354,7 +354,7 @@ def drawArc(arc,shapemode=False):
|
|||
circle.Center=v
|
||||
circle.Radius=round(arc.radius,prec())
|
||||
try:
|
||||
if (fmt.paramstyle == 4) and (not fmt.makeBlocks) and (not shapemode):
|
||||
if (fmt.paramstyle >= 4) and (not fmt.makeBlocks) and (not shapemode):
|
||||
pl = FreeCAD.Placement()
|
||||
pl.move(v)
|
||||
return Draft.makeCircle(arc.radius,pl,False,firstangle,lastangle)
|
||||
|
@ -371,7 +371,7 @@ def drawCircle(circle,shapemode=False):
|
|||
curve.Radius = round(circle.radius,prec())
|
||||
curve.Center = v
|
||||
try:
|
||||
if (fmt.paramstyle == 4) and (not fmt.makeBlocks) and (not shapemode):
|
||||
if (fmt.paramstyle >= 4) and (not fmt.makeBlocks) and (not shapemode):
|
||||
pl = FreeCAD.Placement()
|
||||
pl.move(v)
|
||||
return Draft.makeCircle(circle.radius,pl)
|
||||
|
@ -659,6 +659,7 @@ def processdxf(document,filename):
|
|||
badobjects = []
|
||||
global layerBlocks
|
||||
layerBlocks = {}
|
||||
sketch = None
|
||||
|
||||
# getting config parameters
|
||||
|
||||
|
@ -674,7 +675,16 @@ def processdxf(document,filename):
|
|||
if fmt.dxflayout or (not rawValue(line,67)):
|
||||
shape = drawLine(line)
|
||||
if shape:
|
||||
if fmt.join:
|
||||
if fmt.paramstyle == 5:
|
||||
if fmt.makeBlocks or fmt.join:
|
||||
if sketch:
|
||||
shape = Draft.makeSketch(shape,autoconstraints=True,addTo=sketch)
|
||||
else:
|
||||
shape = Draft.makeSketch(shape,autoconstraints=True)
|
||||
sketch = shape
|
||||
else:
|
||||
shape = Draft.makeSketch(shape,autoconstraints=True)
|
||||
elif fmt.join:
|
||||
if isinstance(shape,Part.Shape):
|
||||
shapes.append(shape)
|
||||
else:
|
||||
|
@ -683,7 +693,7 @@ def processdxf(document,filename):
|
|||
if isinstance(shape,Part.Shape):
|
||||
addToBlock(shape,line.layer)
|
||||
else:
|
||||
addToBlock(shape.Shape,line.layer)
|
||||
addToBlock(shape.Shape,line.layer)
|
||||
else:
|
||||
newob = addObject(shape,"Line",line.layer)
|
||||
if gui: fmt.formatObject(newob,line)
|
||||
|
@ -707,7 +717,20 @@ def processdxf(document,filename):
|
|||
if fmt.dxflayout or (not rawValue(polyline,67)):
|
||||
shape = drawPolyline(polyline)
|
||||
if shape:
|
||||
if fmt.join:
|
||||
if fmt.paramstyle == 5:
|
||||
if isinstance(shape,Part.Shape):
|
||||
t = FreeCAD.ActiveDocument.addObject("Part::Feature","Shape")
|
||||
t.Shape = shape
|
||||
shape = t
|
||||
if fmt.makeBlocks or fmt.join:
|
||||
if sketch:
|
||||
shape = Draft.makeSketch(shape,autoconstraints=True,addTo=sketch)
|
||||
else:
|
||||
shape = Draft.makeSketch(shape,autoconstraints=True)
|
||||
sketch = shape
|
||||
else:
|
||||
shape = Draft.makeSketch(shape,autoconstraints=True)
|
||||
elif fmt.join:
|
||||
if isinstance(shape,Part.Shape):
|
||||
shapes.append(shape)
|
||||
else:
|
||||
|
@ -729,7 +752,16 @@ def processdxf(document,filename):
|
|||
if fmt.dxflayout or (not rawValue(arc,67)):
|
||||
shape = drawArc(arc)
|
||||
if shape:
|
||||
if fmt.join:
|
||||
if fmt.paramstyle == 5:
|
||||
if fmt.makeBlocks or fmt.join:
|
||||
if sketch:
|
||||
shape = Draft.makeSketch(shape,autoconstraints=True,addTo=sketch)
|
||||
else:
|
||||
shape = Draft.makeSketch(shape,autoconstraints=True)
|
||||
sketch = shape
|
||||
else:
|
||||
shape = Draft.makeSketch(shape,autoconstraints=True)
|
||||
elif fmt.join:
|
||||
if isinstance(shape,Part.Shape):
|
||||
shapes.append(shape)
|
||||
else:
|
||||
|
@ -762,7 +794,16 @@ def processdxf(document,filename):
|
|||
if fmt.dxflayout or (not rawValue(circle,67)):
|
||||
shape = drawCircle(circle)
|
||||
if shape:
|
||||
if fmt.makeBlocks:
|
||||
if fmt.paramstyle == 5:
|
||||
if fmt.makeBlocks or fmt.join:
|
||||
if sketch:
|
||||
shape = Draft.makeSketch(shape,autoconstraints=True,addTo=sketch)
|
||||
else:
|
||||
shape = Draft.makeSketch(shape,autoconstraints=True)
|
||||
sketch = shape
|
||||
else:
|
||||
shape = Draft.makeSketch(shape,autoconstraints=True)
|
||||
elif fmt.makeBlocks:
|
||||
if isinstance(shape,Part.Shape):
|
||||
addToBlock(shape,circle.layer)
|
||||
else:
|
||||
|
|
Loading…
Reference in New Issue
Block a user