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

150 lines
7.2 KiB
HTML

<html><head><title>Macro Automatic drawing/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 Automatic drawing/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="Mise_en_plan_automatique"><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> Mise en plan automatique</span></h3>
</td></tr>
<tr>
<th class="ctOdd">Description
</th></tr>
<tr>
<td class="ctEven left">Ce script permet de générer une mise en plan avec 4 vues (face, dessus, iso et droite). Il requiert des modifications pour être parfaitement fonctionnel.
</td></tr>
<tr>
<th class="ctOdd">Auteur
</th></tr>
<tr>
<td class="ctEven"><a href="https://www.freecadweb.org/wiki/index.php?title=User:Inconnu&amp;action=edit&amp;redlink=1" class="new" title="User:Inconnu (page does not exist)">inconnu</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">1.0
</td></tr>
<tr>
<th class="ctOdd">Date dernière modification
</th></tr>
<tr>
<td class="ctEven macro-date">2016-09-26
</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="#Mise_en_plan_automatique"><span class="tocnumber">1</span> <span class="toctext">Mise en plan automatique</span></a>
<ul>
<li class="toclevel-2 tocsection-1"><a href="#Utilisation"><span class="tocnumber">1.1</span> <span class="toctext">Utilisation</span></a></li>
<li class="toclevel-2 tocsection-2"><a href="#Limitations"><span class="tocnumber">1.2</span> <span class="toctext">Limitations</span></a></li>
<li class="toclevel-2 tocsection-3"><a href="#Le_script"><span class="tocnumber">1.3</span> <span class="toctext">Le script</span></a></li>
</ul>
</li>
</ul>
</div>
</td></tr>
</table>
<p><br />
</p><p>Ce script génère une <a href="https://www.freecadweb.org/wiki/index.php?title=Drawing_Module/fr" title="Drawing Module/fr">mise en plan</a> incluant trois vues orthographiques (face, dessus et droite) alignées, ainsi qu'une vue isométrique placée à la droite de la page. Le script calcule l'échelle à partir de la taille du modèle 3D et de l'espace disponible sur la feuille. La vue iso est dimensionnée à 2/3 de l'échelle des vues ortho.
</p><p>La <a rel="nofollow" class="external text" href="http://fr.wikipedia.org/wiki/Dessin_technique#Correspondance_des_vues">projection européenne</a> est utilisée.
</p>
<h4><span class="mw-headline" id="Utilisation">Utilisation</span></h4>
<p>Un objet doit être sélectionné avant de lancer la macro.
</p>
<h4><span class="mw-headline" id="Limitations">Limitations</span></h4>
<ul><li> L'échelle obtenue n'est pas standard. Il faudra changer manuellement l'échelle des vues pour une échelle standard.</li>
<li> Le script ne fonctionne qu'avec un seul objet à la fois (ceci est une limitation de l'atelier de Mise en plan)</li>
<li> Nécessite des modifications afin de générer une <a rel="nofollow" class="external text" href="http://fr.wikipedia.org/wiki/Dessin_technique#Correspondance_des_vues">projection américaine</a> telle qu'utilisé aux États-Unis et au Canada.</li></ul>
<h4><span class="mw-headline" id="Le_script">Le script</span></h4>
<pre>import FreeCAD, Part, Drawing
if len(Gui.Selection.getSelectionEx())&gt;1:
App.Console.PrintError("Warning: Only the first item is generate")
if len(Gui.Selection.getSelectionEx())==0:
App.Console.PrintError("Warning: Need to select one item")
Piece=Gui.Selection.getSelectionEx()[0]
App.activeDocument().addObject('Drawing::FeaturePage','AutoDrawing')
App.activeDocument().AutoDrawing.Template = App.getResourceDir()+'Mod/Drawing/Templates/A3_Landscape.svg'
DH=20
DL=30
L=Piece.Object.Shape.BoundBox.XMax
H=Piece.Object.Shape.BoundBox.ZMax
P=Piece.Object.Shape.BoundBox.YMax
Sc=(400-3*DL)/(L+H)
Sc2=(250-3*DH)/(P+H)
if Sc&gt;Sc2&#160;:
Sc=Sc2
TopX=DL+Sc*L
FrontX=DL+Sc*L
RightX=2*DL+Sc*L
IsoX=2*DL+Sc*(L)
TopY=DH+Sc*P
RightY=DH+P*Sc
FrontY=2*DH+Sc*(P+H)
IsoY=2*DH+Sc*P
print TopX,RightX,TopY,FrontY
#Create topView
App.activeDocument().addObject('Drawing::FeatureViewPart','topView')
App.activeDocument().topView.Source =Piece.Object
App.activeDocument().topView.Direction = (0,0,1)
App.activeDocument().topView.Rotation=180
App.activeDocument().topView.X = TopX
App.activeDocument().topView.Y = TopY
App.activeDocument().topView.ShowHiddenLines=True
App.activeDocument().AutoDrawing.addObject(App.activeDocument().topView)
App.activeDocument().topView.Scale = Sc
#Create FrontView
App.activeDocument().addObject('Drawing::FeatureViewPart','FrontView')
App.activeDocument().FrontView.Source =Piece.Object
App.activeDocument().FrontView.Direction = (0,-1,0)
App.activeDocument().FrontView.Rotation=90
App.activeDocument().FrontView.Scale = Sc
App.activeDocument().FrontView.X = FrontX
App.activeDocument().FrontView.Y = FrontY
App.activeDocument().FrontView.ShowHiddenLines=True
App.activeDocument().AutoDrawing.addObject(App.activeDocument().FrontView)
#Create RightView
App.activeDocument().addObject('Drawing::FeatureViewPart','RightView')
App.activeDocument().RightView.Source =Piece.Object
App.activeDocument().RightView.Direction = (1,0,0)
App.activeDocument().RightView.Scale = Sc
App.activeDocument().RightView.X = RightX
App.activeDocument().RightView.Y = RightY
App.activeDocument().RightView.ShowHiddenLines=True
App.activeDocument().AutoDrawing.addObject(App.activeDocument().RightView)
#Create IsotView
App.activeDocument().addObject('Drawing::FeatureViewPart','IsoView')
App.activeDocument().IsoView.Source =Piece.Object
App.activeDocument().IsoView.Direction = (1,1,1)
App.activeDocument().IsoView.Rotation=60
App.activeDocument().IsoView.Scale = Sc*.6
App.activeDocument().IsoView.X = IsoX
App.activeDocument().IsoView.Y = IsoY
App.activeDocument().IsoView.ShowHiddenLines=True
App.activeDocument().AutoDrawing.addObject(App.activeDocument().IsoView) </pre>
<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_Automatic_drawing/fr&amp;oldid=240116">http://www.freecadweb.org/wiki/index.php?title=Macro_Automatic_drawing/fr&amp;oldid=240116</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>