Macro Align View to Face/fr: Difference between revisions

From FreeCAD Documentation
m (Created page with "{{Macro/fr|Name=Macro Align View to Face|Name/fr=Macro Align View to Face|Description=Cette macro aligne la vue sur la face sélectionnée|Author=Rockn}}")
m (Created page with "Cette macro pivote la vue courante perpendiculairement sur la face sélectionnée d'un objet existant.")
Line 3: Line 3:
==Description==
==Description==


Cette macro pivote la vue courante perpendiculairement sur la face sélectionnée d'un objet existant.
This macro rotates the current view to point perpendicularly at a selected face of an existing object.


==How to use==
==How to use==

Revision as of 10:24, 13 March 2014

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.

How to use

  1. Select a face on an object
  2. Run the 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")