Advertisement
danfalck

Untitled

Oct 19th, 2011
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.30 KB | None | 0 0
  1. edges=[]
  2. s=Gui.Selection.getSelectionEx()
  3. for i in s:
  4.     for e in i.SubElementNames:
  5.         edges.append(getattr(i.Object.Shape,e))
  6.  
  7. S3 =Part
  8. S4 = S3.__sortEdges__(edges)
  9.  
  10. if (S4[0].Vertexes[0].X == S4[1].Vertexes[1].X) and (S4[0].Vertexes[0].Y == S4[1].Vertexes[1].Y):
  11.     print 'curve = area.Curve()\n' \
  12.     +'curve.append(area.Point(' +str(S4[0].Vertexes[1].X) + ',' + str(S4[0].Vertexes[1].Y)+'))\n'\
  13.     +'curve.append(area.Point(' +str(S4[0].Vertexes[0].X) + ',' + str(S4[0].Vertexes[0].Y)+'))\n'
  14. else:
  15.     print 'curve = area.Curve()\n' \
  16.     +'curve.append(area.Point(' +str(S4[0].Vertexes[0].X) + ',' + str(S4[0].Vertexes[0].Y)+'))\n'\
  17.     +'curve.append(area.Point(' +str(S4[0].Vertexes[1].X) + ',' + str(S4[0].Vertexes[1].Y)+'))\n'
  18.  
  19. inx = 1
  20. while (inx <len(S4)):
  21.     if (S4[inx].Curve.__class__.__name__ == 'GeomCircle'):
  22.         if S4[inx].Closed:
  23.             print '#--Warning->Circle--'
  24.             #print "center pt: X "+str(S4[inx].Curve.Center.x)+', Y '+str(S4[inx].Curve.Center.y)\
  25.             #+" Radius: "+str(S4[inx].Curve.Radius)
  26.         else:
  27.             if (S4[inx-1].Vertexes[0].X == S4[inx].Vertexes[1].X) and (S4[inx-1].Vertexes[0].Y == S4[inx].Vertexes[1].Y):
  28.                 print 'curve.append(area.Vertex('+str(int(1*(S4[inx].Curve.Axis[2])))+', area.Point('+str(S4[inx].Vertexes[0].X)+', '+str(S4[inx].Vertexes[0].Y)\
  29.                 +'), area.Point('+str(S4[inx].Curve.Center.x)+', '+str(S4[inx].Curve.Center.y)\
  30.                 +')))\n'
  31.                 #+" Radius: "+str(S4[inx].Curve.Radius)\
  32.                 #+" Direction: "+str(S4[inx].Curve.Axis)
  33.             else:
  34.                 print 'curve.append(area.Vertex('+str(1*(int(S4[inx].Curve.Axis[2])))+', area.Point('+str(S4[inx].Vertexes[1].X)+', '+str(S4[inx].Vertexes[1].Y)\
  35.                 +'), area.Point('+str(S4[inx].Curve.Center.x)+', '+str(S4[inx].Curve.Center.y)\
  36.                 +')))\n'
  37.     else:
  38.         #print '--Line--'
  39.         if (S4[inx-1].Vertexes[0].X == S4[inx].Vertexes[1].X) and (S4[inx-1].Vertexes[0].Y == S4[inx].Vertexes[1].Y):
  40.             print 'curve.append(area.Point(' +str(S4[inx].Vertexes[0].X) + ',' + str(S4[inx].Vertexes[0].Y)+'))\n'
  41.         else:
  42.             print 'curve.append(area.Point(' +str(S4[inx].Vertexes[1].X) + ',' + str(S4[inx].Vertexes[1].Y)+'))\n'
  43.    
  44.     inx = inx+1
  45.  
  46.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement