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

123 lines
8.6 KiB
HTML

<html><head><title>Macro Solid Sweep/it</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 Solid Sweep/it</h1></div>
<div id="mw-content-text" lang="it" 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="Sweep_solido"><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> Sweep solido</span></h3>
</td></tr>
<tr>
<th class="ctOdd">Descrizione
</th></tr>
<tr>
<td class="ctEven left">Crea un solido estrudendo un profilo lungo un percorso.
</td></tr>
<tr>
<th class="ctOdd">Autore
</th></tr>
<tr>
<td class="ctEven"><a href="https://www.freecadweb.org/wiki/index.php?title=User:Normandc" title="User:Normandc">Normandc</a>
</td></tr>
<tr>
<th class="ctOdd">Link
</th></tr>
<tr>
<td class="ctEven"><a href="https://www.freecadweb.org/wiki/index.php?title=Macros_recipes/it" title="Macros recipes/it">Esempi di macro</a><br /><a href="https://www.freecadweb.org/wiki/index.php?title=How_to_install_macros/it" title="How to install macros/it">Come installare le Macro</a><br /><a href="https://www.freecadweb.org/wiki/index.php?title=Customize_Toolbars/it" title="Customize Toolbars/it">Personalizzare la barra degli strumenti</a>
</td></tr>
<tr>
<th class="ctOdd">Versione
</th></tr>
<tr>
<td class="ctEven macro-version">1.0
</td></tr>
<tr>
<th class="ctOdd">Data ultima modifica
</th></tr>
<tr>
<td class="ctEven macro-date">2011-12-03
</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="#Sweep_solido"><span class="tocnumber">1</span> <span class="toctext">Sweep solido</span></a></li>
<li class="toclevel-1 tocsection-1"><a href="#Come_si_usa"><span class="tocnumber">2</span> <span class="toctext">Come si usa</span></a></li>
<li class="toclevel-1 tocsection-2"><a href="#Elementi_2D_supportati"><span class="tocnumber">3</span> <span class="toctext">Elementi 2D supportati</span></a></li>
<li class="toclevel-1 tocsection-3"><a href="#Avvertenze"><span class="tocnumber">4</span> <span class="toctext">Avvertenze</span></a></li>
<li class="toclevel-1 tocsection-4"><a href="#La_macro"><span class="tocnumber">5</span> <span class="toctext">La macro</span></a></li>
<li class="toclevel-1 tocsection-5"><a href="#Crediti"><span class="tocnumber">6</span> <span class="toctext">Crediti</span></a></li>
</ul>
</div>
</td></tr>
</table>
<p><br />
</p><p>Questa macro crea un solido estrudendo un profilo 2D lungo una traiettoria precedentemente selezionata nella vista 3D.
</p><p>Gli elementi 2D possono essere creati attraverso i normali strumenti della GUI di FreeCAD.
</p><p>Notare che il solido risultante non è parametrico. Se si decide di modificare il profilo o il percorso, si deve nuovamente eseguire la macro.
</p><p>Nella seguente figura tutte le estrusioni sono realizzate utilizzando la stessa sagoma, ma tre percorsi diversi.
</p><p><a href="https://www.freecadweb.org/wiki/index.php?title=File:Solid_sweep.png" class="image" title="Alcuni esempi di estrusioni, tutte sono realizzate utilizzando la stessa sezione, ma su tre diverse traiettorie."><img alt="Alcuni esempi di estrusioni, tutte sono realizzate utilizzando la stessa sezione, ma su tre diverse traiettorie." src="500px-Solid_sweep.png" width="500" height="331" srcset="/wiki/images/thumb/f/fd/Solid_sweep.png/750px-Solid_sweep.png 1.5x, /wiki/images/f/fd/Solid_sweep.png 2x" /></a>
</p>
<h3><span class="mw-headline" id="Come_si_usa">Come si usa</span></h3>
<ul><li> Creare due elementi 2D del tipo indicato sotto, uno per la sezione e uno per la traiettoria.</li>
<li> Selezionare, nella struttura del progetto o nella vista 3D, prima la traiettoria e poi il profilo. L'ordine è importante!</li>
<li> Aprire Gestione Macro, selezionare la macro e fare clic su "Esegui".</li>
<li> Nella struttura del progetto viene creato un oggetto Sweep.</li></ul>
<h3><span class="mw-headline" id="Elementi_2D_supportati">Elementi 2D supportati</span></h3>
<ul><li> Contorni polilinee</li>
<li> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Sketcher_NewSketch.png" class="image"><img alt="Sketcher NewSketch.png" src="32px-Sketcher_NewSketch.png" width="32" height="32" srcset="/wiki/images/thumb/4/46/Sketcher_NewSketch.png/48px-Sketcher_NewSketch.png 1.5x, /wiki/images/4/46/Sketcher_NewSketch.png 2x" /></a> <a href="https://www.freecadweb.org/wiki/index.php?title=Sketcher_Workbench/it" title="Sketcher Workbench/it">Schizzi</a></li>
<li> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Draft_BSpline.png" class="image"><img alt="Draft BSpline.png" src="Draft_BSpline.png" width="64" height="64" /></a> <a href="https://www.freecadweb.org/wiki/index.php?title=Draft_BSpline/it" title="Draft BSpline/it">BSpline</a></li>
<li> Primitive 2D del menu <i>Part → <a href="https://www.freecadweb.org/wiki/index.php?title=File:Part_CreatePrimitives.png" class="image"><img alt="Part CreatePrimitives.png" src="32px-Part_CreatePrimitives.png" width="32" height="32" srcset="/wiki/images/thumb/8/8a/Part_CreatePrimitives.png/48px-Part_CreatePrimitives.png 1.5x, /wiki/images/8/8a/Part_CreatePrimitives.png 2x" /></a> <a href="https://www.freecadweb.org/wiki/index.php?title=Part_CreatePrimitives/it" title="Part CreatePrimitives/it">Crea Primitive</a>...</i> (circonferenza, elica)</li></ul>
<h3><span class="mw-headline" id="Avvertenze">Avvertenze</span></h3>
<ul><li> La <b>sezione</b> deve essere un profilo chiuso altrimenti il risultato non sarà un solido.</li>
<li> Non è necessario che la sezione sia posizionata sulla traiettoria, ma è preferibile che sia normale (perpendicolare) alla traiettoria.</li>
<li> La <b>traiettoria</b> può essere sia un profilo aperto che chiuso (cerchi, o segmenti e archi), ma tutti gli elementi devono essere tangenti o la forma risultante è inaspettata. Ad esempio, una traiettoria con angoli retti (come un rettangolo) non produce un solido.</li>
<li> Se il solido diventa contorto, modificare la macro e impostare il valore <i>isFrenet</i> a 0 (zero) e riprovare.</li>
<li> Impostando nella macro la variabile <i>makeSolid</i> a 0 (zero) si produce un insieme di superfici con le estremità aperte.</li></ul>
<h3><span class="mw-headline" id="La_macro">La macro</span></h3>
<pre>import Part, FreeCAD, math, PartGui, FreeCADGui
from FreeCAD import Base
# get the selected objects, with first selection for the trajectory and second for the section
s = FreeCADGui.Selection.getSelection()
try:
shape1=s[0].Shape
shape2=s[1].Shape
except:
print "Wrong selection"
traj = Part.Wire([shape1])
section = Part.Wire([shape2])
# create Part objec in the current document
myObject=App.ActiveDocument.addObject("Part::Feature","Sweep")
# variable makeSolid = 1 to create solid, 0 to create surfaces
makeSolid = True #1
isFrenet = True #1
# create a 3D shape and assigh it to the current document
Sweep = Part.Wire(traj).makePipeShell([section],makeSolid,isFrenet)
myObject.Shape = Sweep </pre>
<h3><span class="mw-headline" id="Crediti">Crediti</span></h3>
<p>Grazie a <a href="https://www.freecadweb.org/wiki/index.php?title=User:Wmayer" title="User:Wmayer">Wmayer</a> per il suo aiuto nella stesura di questo script.
</p><p>In <a rel="nofollow" class="external text" href="https://forum.freecadweb.org/viewtopic.php?f=8&amp;t=1222&amp;start=50#p11120">questa sezione del forum</a> si trovano due esempi di utlizzo e si trovano anche i collegamenti per scaricare i file FCStd.
</p><p>Lo stesso argomento viene trattato anche in <a rel="nofollow" class="external text" href="http://forum.freecadweb.org/viewtopic.php?f=3&amp;t=1461">questa discussione</a> con ragguagli su <a rel="nofollow" class="external text" href="http://en.wikipedia.org/wiki/Frenet%E2%80%93Serret_formulas">Frenet</a>.
</p><p>Utilizzando una elica come traiettoria, tramite uno sweep solido si può creare la filettatura di un bullone.
</p>
</div>
</div>
</div><div class="printfooter">
Online version: "<a dir="ltr" href="https://www.freecadweb.org/wiki/index.php?title=Macro_Solid_Sweep/it&amp;oldid=240627">http://www.freecadweb.org/wiki/index.php?title=Macro_Solid_Sweep/it&amp;oldid=240627</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>