FreeCAD-Doc/localwiki/Macro_Rotate_View-fr.html
2018-07-19 18:47:02 -05:00

129 lines
6.7 KiB
HTML

<html><head><title>Macro Rotate View/fr</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><link type='text/css' href='wiki.css' rel='stylesheet'></head><body><h1>Macro Rotate View/fr</h1></div>
<div id="mw-content-text" lang="fr" dir="ltr" class="mw-content-ltr"><hr/><div class="mw-parser-output"><table class="fcinfobox wikitable ct" width="100%" style="float: right; width: 230px; margin-left: 10px;">
<tr>
<td class="ctTitle">
<h3><span class="mw-headline" id="Rotate_View_by_90.C2.B0"><a href="https://www.freecadweb.org/wiki/index.php?title=File:Text-x-python.png" class="image"><img alt="Text-x-python.png" src="32px-Text-x-python.png" width="32" height="32" srcset="/wiki/images/2/2c/Text-x-python.png 1.5x" /></a> Rotate View by 90°</span></h3>
</td></tr>
<tr>
<th class="ctOdd">Description
</th></tr>
<tr>
<td class="ctEven left">Cette macro fait pivoter l'affichage actuel de 90 ° vers la gauche. Ne fonctionne que si vous êtes en vue de dessus
</td></tr>
<tr>
<th class="ctOdd">Auteur
</th></tr>
<tr>
<td class="ctEven"><a href="https://www.freecadweb.org/wiki/index.php?title=User:Yorik" title="User:Yorik">Yorik</a>
</td></tr>
<tr>
<th class="ctOdd">Liens
</th></tr>
<tr>
<td class="ctEven"><a href="https://www.freecadweb.org/wiki/index.php?title=Macros_recipes/fr" title="Macros recipes/fr">Recettes macros</a><br /><a href="https://www.freecadweb.org/wiki/index.php?title=How_to_install_macros/fr" title="How to install macros/fr">Comment installer une macro</a><br /><a href="https://www.freecadweb.org/wiki/index.php?title=Customize_Toolbars/fr" title="Customize Toolbars/fr">Comment ajouter une barre d'outils</a>
</td></tr>
<tr>
<th class="ctOdd">Version
</th></tr>
<tr>
<td class="ctEven macro-version">01.00
</td></tr>
<tr>
<th class="ctOdd">Date dernière modification
</th></tr>
<tr>
<td class="ctEven macro-date">2010-11-17
</td></tr>
<tr>
<th class="ctOdd">
</th></tr>
<tr>
<td class="ctToc"><br /><div id="toc" class="toc"><div class="toctitle"><h2>Contents</h2></div>
<ul>
<li class="toclevel-1"><a href="#Rotate_View_by_90.C2.B0"><span class="tocnumber">1</span> <span class="toctext">Rotate View by 90°</span></a></li>
<li class="toclevel-1 tocsection-1"><a href="#Description"><span class="tocnumber">2</span> <span class="toctext">Description</span></a></li>
<li class="toclevel-1 tocsection-2"><a href="#Description_2"><span class="tocnumber">3</span> <span class="toctext">Description</span></a></li>
<li class="toclevel-1 tocsection-3"><a href="#Description_3"><span class="tocnumber">4</span> <span class="toctext">Description</span></a></li>
<li class="toclevel-1 tocsection-4"><a href="#Utilisation"><span class="tocnumber">5</span> <span class="toctext">Utilisation</span></a></li>
<li class="toclevel-1 tocsection-5"><a href="#Script"><span class="tocnumber">6</span> <span class="toctext">Script</span></a></li>
</ul>
</div>
</td></tr>
</table>
<p><br />
</p>
<h2><span class="mw-headline" id="Description">Description</span></h2>
<p>Cette macro fait pivoter l'affichage actuel de 90 ° vers la gauche. Ne fonctionne que si vous êtes en vue de dessus. <a href="https://www.freecadweb.org/wiki/index.php?title=File:Macro_Rotate_View_view_90_Degrees.png" class="image" title="rotation de 90 degrés"><img alt="rotation de 90 degrés" src="Macro_Rotate_View_view_90_Degrees.png" width="54" height="58" /></a>
</p><p><br />
</p>
<pre>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 </pre>
<h2><span class="mw-headline" id="Description_2">Description</span></h2>
<p>Ce code affiche&#160;:
</p>
<ol><li>la vue axonometric avec Y pointant au dessus <a href="https://www.freecadweb.org/wiki/index.php?title=File:Macro_Rotate_View_with_Y_pointing_upwards_.png" class="image" title="vue axonometric avec Y pointant au dessus"><img alt="vue axonometric avec Y pointant au dessus" src="Macro_Rotate_View_with_Y_pointing_upwards_.png" width="54" height="58" /></a> mode 1</li>
<li>la vue axonometric avec Z pointant au dessus <a href="https://www.freecadweb.org/wiki/index.php?title=File:Macro_Rotate_View_with_Z_pointing_upwards_.png" class="image" title="vue axonometric avec Z pointant au dessus"><img alt="vue axonometric avec Z pointant au dessus" src="Macro_Rotate_View_with_Z_pointing_upwards_.png" width="54" height="58" /></a> mode 2</li></ol>
<p>Ce code fonctionne à partir de la Version FreeCAD 0.16
</p>
<pre>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") </pre>
<h2><span class="mw-headline" id="Description_3">Description</span></h2>
<p>Copiez cette macro dans la console Python de FreeCAD (ou dans votre répertoire de macros) pour faire pivoter la vue 3D dans l'angle (en degrés) et l'axe désiré, intéressant pour créer un plan dans des angles connu.
</p>
<h2><span class="mw-headline" id="Utilisation">Utilisation</span></h2>
<p>Colez le code dans la console Python de FreeCAD et tapez <span style="background: #DDDDDD; border: 1px solid #888888; padding: 0px 5px 1px 5px;">Enter</span> &gt; <span style="background: #DDDDDD; border: 1px solid #888888; padding: 0px 5px 1px 5px;">Enter</span>
</p>
<h2><span class="mw-headline" id="Script">Script</span></h2>
<pre>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 " </pre>
<p>tapez dans la console ex&#160;:
</p>
<pre>RotateView(0,1,0,45) </pre>
<p>S'il n'y a pas de document ouvert une erreur est retournée.
</p>
<div style="clear:both"></div>
</div>
</div>
</div><div class="printfooter">
Online version: "<a dir="ltr" href="https://www.freecadweb.org/wiki/index.php?title=Macro_Rotate_View/fr&amp;oldid=239807">http://www.freecadweb.org/wiki/index.php?title=Macro_Rotate_View/fr&amp;oldid=239807</a>"</div>
<div id="catlinks" class="catlinks" data-mw="interface"></div><div class="visualClear"></div>
</div>
</div>
<div id="mw-navigation">
<h2>Navigation menu</h2>
</body></html>