support for Part::Loft in exportDRAWEXE
This commit is contained in:
parent
2b1656e6b0
commit
c1f5582da8
|
@ -118,7 +118,7 @@ def saveSweep(csg,ob,filename):
|
||||||
elif sh.ShapeType == 'Face':
|
elif sh.ShapeType == 'Face':
|
||||||
sh = sh.OuterWire
|
sh = sh.OuterWire
|
||||||
else:
|
else:
|
||||||
raise ValueError
|
raise ValueError('Unrecognized Shape Type')
|
||||||
hasplacement = saveShape(csg,filename,sh,sectionname,None) # placement with shape
|
hasplacement = saveShape(csg,filename,sh,sectionname,None) # placement with shape
|
||||||
csg.write('addsweep %s %s\n' % (sectionname," ".join(addoptions)))
|
csg.write('addsweep %s %s\n' % (sectionname," ".join(addoptions)))
|
||||||
csg.write('buildsweep %s %s\n' % (ob.Name," ".join(buildoptions)))
|
csg.write('buildsweep %s %s\n' % (ob.Name," ".join(buildoptions)))
|
||||||
|
@ -284,7 +284,33 @@ def process_object(csg,ob,filename):
|
||||||
f2s(ob.Height.Value)))
|
f2s(ob.Height.Value)))
|
||||||
elif ob.TypeId == "Part::Sweep" and True:
|
elif ob.TypeId == "Part::Sweep" and True:
|
||||||
saveSweep(csg,ob,filename)
|
saveSweep(csg,ob,filename)
|
||||||
|
elif ob.TypeId == "Part::Loft":
|
||||||
|
sectionnames=[]
|
||||||
|
for i,subobj in enumerate(ob.Sections):
|
||||||
|
sh = subobj.Shape
|
||||||
|
if not sh.isNull():
|
||||||
|
if sh.ShapeType == 'Compound':
|
||||||
|
sh = sh.Shape.childShapes()[0]
|
||||||
|
if sh.ShapeType == 'Face':
|
||||||
|
sh = sh.OuterWire
|
||||||
|
elif sh.ShapeType == 'Edge':
|
||||||
|
import Part
|
||||||
|
sh = Part.Wire([sh])
|
||||||
|
elif sh.ShapeType == 'Wire':
|
||||||
|
import Part
|
||||||
|
sh = Part.Wire(sh)
|
||||||
|
elif sh.ShapeType == 'Vertex':
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
raise ValueError('Unsuitabel Shape Type')
|
||||||
|
sectionname = '%s-%02d-section' % (ob.Name,i)
|
||||||
|
hasplacement = saveShape(csg,filename, sh,sectionname,None)
|
||||||
|
# placement with shape
|
||||||
|
sectionnames.append(sectionname)
|
||||||
|
if ob.Closed:
|
||||||
|
sectionnames.append(sectionnames[0])
|
||||||
|
csg.write('thrusections %s %d %d %s\n' % (ob.Name,int(ob.Solid),\
|
||||||
|
int(ob.Ruled), ' '.join(sectionnames)))
|
||||||
elif isDeform(ob): #non-uniform scaling
|
elif isDeform(ob): #non-uniform scaling
|
||||||
m=ob.Matrix
|
m=ob.Matrix
|
||||||
process_object(csg,ob.Base,filename)
|
process_object(csg,ob.Base,filename)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user