150 lines
7.2 KiB
HTML
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&action=edit&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())>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>Sc2 :
|
|
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&oldid=240116">http://www.freecadweb.org/wiki/index.php?title=Macro_Automatic_drawing/fr&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> |