Macro Align View to Face/fr: Difference between revisions

From FreeCAD Documentation
mNo edit summary
mNo edit summary
Line 39: Line 39:
</syntaxhighlight>
</syntaxhighlight>


[[Category/fr:Python Code]]
[[Category:Python Code/fr]]


<languages/>
<languages/>

Revision as of 10:39, 13 March 2014

File:Text-x-python Macro Align View to Face

Description
Cette macro aligne la vue sur la face sélectionnée

Auteur: Rockn
Auteur
Rockn
Téléchargement
None
Liens
Version Macro
1.0
Dernière modification
None
Version(s) FreeCAD
None
Raccourci clavier
None
Voir aussi
None

Description

Cette macro pivote la vue courante perpendiculairement sur la face sélectionnée d'un objet existant.

Utilisation

  1. Sélectionnez la face d'un objet.
  2. Lancez la macro

Script

 # -*- coding: utf-8 -*-
 # Set the current view perpendicular to the selected face
 # Place la vue perpendiculairement à la face selectionnee
 # 2013 Jonathan Wiedemann
 
 from pivy import coin
 s=Gui.Selection.getSelectionEx()
 obj=s[0]
 faceSel = obj.SubObjects[0]
 dir = faceSel.normalAt(0,0)
 cam = FreeCADGui.ActiveDocument.ActiveView.getCameraNode()
 camValues = cam.position.getValue()
 pos = FreeCAD.Vector( (camValues[0], camValues[1], camValues[2],) )
 p = pos.add(dir.negative())
 print(p.x,p.y,p.z)
 if dir.z == 1 :
    cam.pointAt( coin.SbVec3f(p.x,p.y,p.z), coin.SbVec3f(0.0,1.0,0.0))
    print("normal = 1")
 elif dir.z == -1 :
    cam.pointAt( coin.SbVec3f(p.x,p.y,p.z), coin.SbVec3f(0.0,1.0,0.0))
    print("normal = -1")
 else :
    cam.pointAt( coin.SbVec3f(p.x,p.y,p.z), coin.SbVec3f(0.0,0.0,1.0))
    print("normal normale")
 Gui.SendMsgToActiveView("ViewSelection")