Macro Align View to Face/cs: Difference between revisions
Renatorivo (talk | contribs) (Created page with "Macro Align View to Face") |
Renatorivo (talk | contribs) (Created page with "{{Macro/cs|Name=Macro Align View to Face|Name/cs=Macro Align View to Face|Description=This macro aligns the current view to a selected face|Author=Rockn}}") |
||
Line 1: | Line 1: | ||
{{Macro|Name=Macro Align View to Face|Description=This macro aligns the current view to a selected face|Author=Rockn}} |
{{Macro/cs|Name=Macro Align View to Face|Name/cs=Macro Align View to Face|Description=This macro aligns the current view to a selected face|Author=Rockn}} |
||
==Description== |
==Description== |
Revision as of 13:12, 8 July 2014
Popis |
---|
This macro aligns the current view to a selected face Autor: Rockn |
Autor |
Rockn |
Download |
None |
Odkazy |
Makro recepty| Jak nainstalovat makra Jak přizpůsobit panely nástrojů |
Verze |
1.0 |
Datum poslední úpravy |
None |
Verze FreeCAD |
None |
Výchozí zástupce |
None |
Viz též |
None |
Description
This macro rotates the current view to point perpendicularly at a selected face of an existing object.
How to use
- Select a face on an object
- 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")