예제 #1
0
파일: Slab.py 프로젝트: vfolomeev/brain
 def toWall(self):
     w=Wall()
     w.name=self.name+'wall'
     w.curve.lines.clear()
     n=self.normal
     deep=self.thickness
     l=self.curve.lines
     
     if n.z!=0:
         if l[0].dr().mag()>l[1].dr().mag(): 
             line=l[0]
             dr=l[2].start-l[0].start
         else: 
             line=l[1]
             dr=l[3].start-l[1].start
         
         
         line=line.translate(dr,0.5)
         #line.out()
         w.curve.lines.append(line)
         w.height=deep
         w.thickness=dr.mag()
         
     else:
         max=self.maxV()
         min=self.minV()
         
         diag=max-min
         if diag.x>diag.y:
             start=Vector(min.x,(min.y+max.y)/2,min.z)
             end=Vector(max.x,(min.y+max.y)/2,min.z)
             thick=diag.y
         else:
             start=Vector((min.x+max.x)/2,min.y,min.z)
             end=Vector((min.x+max.x)/2,max.y,min.z)
             thick=diag.x
         line=Line(start,end)
         
         w.curve.lines.append(line)
         w.height=diag.z
         w.thickness=thick
     return w