Advertisement
danfalck

4Views.py

Jan 10th, 2014
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.13 KB | None | 0 0
  1. import Draft
  2. from FreeCAD import Vector
  3. '''
  4. creates 4 projected views from a solid that can be exported to a dxf file for dimensioning in another program
  5. '''
  6.  
  7. sel=Gui.Selection.getSelection()
  8.  
  9. Xlen  =  sel[0].Shape.BoundBox.XLength
  10. Xmax = sel[0].Shape.BoundBox.XMax
  11. Ylen  =  sel[0].Shape.BoundBox.YLength
  12. Ymax = sel[0].Shape.BoundBox.YMax
  13. Zlen  =  sel[0].Shape.BoundBox.ZLength
  14. offset = .375
  15. ob =  sel[0]
  16.  
  17. #primary or top view
  18. Draft.rotate(Draft.makeShape2DView(ob,Vector(0,1,0)),90.0,Vector(0,0,0),Vector(0,0,1),False)
  19.  
  20. #back edge view
  21. #move view away from top view in Ymax by a factor of Ylen/4.0
  22. Draft.move(Draft.rotate(Draft.makeShape2DView(ob,Vector(0,0,1)),0.0,Vector(0,0,0),Vector(0,0,1),False),Vector(0,(Ymax+Zlen*(1.0+offset)),0))
  23.  
  24. #right edge view
  25. Draft.move(Draft.rotate(Draft.makeShape2DView(ob,Vector(1,0,0)),90.0,Vector(0,0,0),Vector(0,0,1),False),Vector((Xmax+Zlen*(1.0+offset)),0,0))
  26.  
  27. #isometric view
  28. Draft.move(Draft.rotate(Draft.makeShape2DView(ob,Vector(-1,-.50,.40)),0.0,Vector(0,0,0),Vector(0,0,1),False),Vector((Xmax+Zlen*(1.0+offset))*1.2,(Xmax+Zlen*(1.0+offset))*.75,0))
  29.  
  30. App.activeDocument().recompute()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement