Macro Rotate View/cs: Difference between revisions

From FreeCAD Documentation
mNo edit summary
(Created page with "==Skript==")
Line 53: Line 53:
Vložte kód do konzoly Python FreeCAD a zadejte {{KEY|Enter}} → {{KEY|Enter}}
Vložte kód do konzoly Python FreeCAD a zadejte {{KEY|Enter}} → {{KEY|Enter}}


==Script==
==Skript==
{{Code|code=
{{Code|code=
def RotateView(axisX=1.0,axisY=0.0,axisZ=0.0,angle=45.0):
def RotateView(axisX=1.0,axisY=0.0,axisZ=0.0,angle=45.0):

Revision as of 12:33, 19 December 2018

Generická ikona makra. Vytvořte svou vlastní ikonu se stejným názvem makra Rotate View by 90°

Popis
Toto makro otočí objekt o 90° doleva. Funguje jen pokud jste v pohledu shora

Version macro : 01.00
Date last modification : 2010-11-17
Autor: Yorik
Autor
Yorik
Download
None
Odkazy
Verze
01.00
Datum poslední úpravy
2010-11-17
Verze FreeCAD
None
Výchozí zástupce
None
Viz též
None

Description

Toto makro otočí objekt o 90° doleva. Funguje jen pokud jste v pohledu shora rotation 90 degrees


import math
from pivy import coin
cam = Gui.ActiveDocument.ActiveView.getCameraNode()
rot = coin.SbRotation()
rot.setValue(coin.SbVec3f(0,0,1),math.pi/2)
nrot = cam.orientation.getValue() * rot
cam.orientation = nrot

Popis

Tento kód pro:

  1. axonometrický pohled s Y nahoru axonometric view with Y pointing upwards Režim 1
  2. axonometrický pohled se Z vzhůru axonometric view with Z pointing upwards Režim 2

Pro verzi FreeCAD verze 0.16

import math
import pivy
from pivy import coin

Gui.activeDocument().activeView().viewAxonometric()
Gui.SendMsgToActiveView("ViewFit")

cam = Gui.ActiveDocument.ActiveView.getCameraNode()
rot = coin.SbRotation()

rot.setValue(coin.SbVec3f(1,0,0),-math.pi/2) # Y pointing upwards (mode 1)
#rot.setValue(coin.SbVec3f(0,0,1),math.pi/2) # Z pointing upwards (mode 2 uncomment for use)
nrot = cam.orientation.getValue() * rot
cam.orientation = nrot
Gui.SendMsgToActiveView("ViewFit")

Popis

Tato def pasta v konzole Pythonu FreeCAD (nebo makro) umožňuje otočit pohled ve třech osách a úhel (ve stupních) je zajímavý pro vytvoření plánu na požadovanou pozici.

Použijte

Vložte kód do konzoly Python FreeCAD a zadejte EnterEnter

Skript

def RotateView(axisX=1.0,axisY=0.0,axisZ=0.0,angle=45.0):
    import math
    from pivy import coin
    try:
        cam = Gui.ActiveDocument.ActiveView.getCameraNode()
        rot = coin.SbRotation()
        rot.setValue(coin.SbVec3f(axisX,axisY,axisZ),math.radians(angle))
        nrot = cam.orientation.getValue() * rot
        cam.orientation = nrot
        print axisX," ",axisY," ",axisZ," ",angle
    except Exception:
        print "Not ActiveView "

tip in the console ex :

RotateView(0,1,0,45)

If there is no open document an error is returned