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