Macro Solid Sweep/it: Difference between revisions

From FreeCAD Documentation
(mise à jour)
No edit summary
 
(43 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<languages/>
=Macro Solid Sweep=
{{Macro/it

|Name=Solid Sweep
{{Macro/it|Icon=Text-x-python|Name=Solid Sweep|Name/it=Solid Sweep|Description=Crea un solido estrudendo un profilo lungo un percorso.|Author=Normandc}}
|Icon=Macro_Solid_Sweep.png
|Translate=Sweep solido
|Description=Crea un solido estrudendo un profilo lungo un percorso.
|Author=Normandc
|Version=1.0
|Date=2011-12-03
|FCVersion=Tutte versione
|Download=[https://www.freecadweb.org/wiki/images/6/6d/Macro_Solid_Sweep.png Icona per la ToolBar]
}}


==Descrizione==
Questa macro crea un solido estrudendo un profilo 2D lungo una traiettoria precedentemente selezionata nella vista 3D.
Questa macro crea un solido estrudendo un profilo 2D lungo una traiettoria precedentemente selezionata nella vista 3D.


Line 13: Line 23:
[[File:Solid_sweep.png‎|500px|Alcuni esempi di estrusioni, tutte sono realizzate utilizzando la stessa sezione, ma su tre diverse traiettorie.]]
[[File:Solid_sweep.png‎|500px|Alcuni esempi di estrusioni, tutte sono realizzate utilizzando la stessa sezione, ma su tre diverse traiettorie.]]


=== Come si usa ===
== Utilizzo ==


* Creare due elementi 2D del tipo indicato sotto, uno per la sezione e uno per la traiettoria.
# Creare due elementi 2D del tipo indicato sotto, uno per la sezione e uno per la traiettoria.
* Selezionare, nella struttura del progetto o nella vista 3D, prima la traiettoria e poi il profilo. L'ordine è importante!
# Selezionare, nella [[Tree view/it|Vista ad albero]] del progetto o nella [[3D view/it|Vista 3D]], prima la traiettoria e poi il profilo. ('''L'ordine è importante!'''):
## La traiettoria
* Aprire Gestione Macro, selezionare la macro e fare clic su "Esegui".
## Poi il profilo
* Nella struttura del progetto viene creato un oggetto Sweep.
* Aprire il [[Macros/it|Gestore Macro]]
# Selezionare la '''Solid Sweep''' macro
# Cliccare {{Button|Esegui}}
'''Risultato:''' Un oggetto '''Sweep''' viene creato nella struttura del progetto


=== Elementi 2D supportati ===
== Elementi 2D supportati ==


* Contorni polilinee
* Contorni polilinee
* [[Image:Sketcher_NewSketch.png|32px]] [[Sketcher Workbench/it|Schizzi]]
* [[Image:Sketcher_NewSketch.svg|24px]] [[Sketcher Workbench/it|Schizzi]]
* [[Image:Draft_BSpline.png]] [[Draft BSpline/it|BSpline]]
* [[Image:Draft_BSpline.svg|24px]] [[Draft BSpline/it|BSpline]]
* Primitive 2D del menu ''Parametriche → [[Image:Part_CreatePrimitives.png|32px]] [[Part_CreatePrimitives/it|Crea Primitive]]...'' (circonferenza, elica)
* Primitive 2D del menu ''Part → [[Image:Part_Primitives.svg|24px]] [[Part_Primitives/it|Crea Primitive]]...'' (circonferenza, elica)


=== Avvertenze ===
== Avvertenze ==
* La '''sezione''' deve essere un profilo chiuso altrimenti il risultato non sarà un solido.

* La '''sezione''' deve essere un profilo chiuso o il risultato non sarà un solido.
* Non è necessario che la sezione sia posizionata sulla traiettoria, ma è preferibile che sia normale (perpendicolare) alla traiettoria.
* Non è necessario che la sezione sia posizionata sulla traiettoria, ma è preferibile che sia normale (perpendicolare) alla traiettoria.
* La '''traiettoria''' 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.
* La '''traiettoria''' 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.
Line 35: Line 48:
* Impostando nella macro la variabile ''makeSolid'' a 0 (zero) si produce un insieme di superfici con le estremità aperte.
* Impostando nella macro la variabile ''makeSolid'' a 0 (zero) si produce un insieme di superfici con le estremità aperte.


=== La macro ===
== La macro ==


ToolBar Icon [[Image:Macro_Solid_Sweep.png]]
<pre>import Part, FreeCAD, math, PartGui, FreeCADGui

'''Macro_Solid_Sweep.FCMacro'''

{{MacroCode|code=
import Part, FreeCAD, math, PartGui, FreeCADGui
from FreeCAD import Base
from FreeCAD import Base


# pick selected objects, where 1st selection is the trajectory and the 2nd is the section to sweep
# get the selected objects, with first selection for the trajectory and second for the section
s = FreeCADGui.Selection.getSelection()
s = FreeCADGui.Selection.getSelection()
try:
try:
shape1=s[0].Shape
shape1=s[0].Shape
shape2=s[1].Shape
shape2=s[1].Shape
except:
except:
print "Scelta sbagliata"
print "Wrong selection"


traj = Part.Wire([shape1])
traj = Part.Wire([shape1])
section = Part.Wire([shape2])
section = Part.Wire([shape2])


# create a Part object into the active document
# create Part objec in the current document
myObject=App.ActiveDocument.addObject("Part::Feature","Sweep")
myObject=App.ActiveDocument.addObject("Part::Feature","Sweep")


makeSolid = 1
# variable makeSolid = 1 to create solid, 0 to create surfaces
isFrenet = 1
makeSolid = True #1
isFrenet = True #1


# Create the 3D shape and set it to the Part object
# create a 3D shape and assigh it to the current document
Sweep = Part.Wire(traj).makePipeShell([section],makeSolid,isFrenet)
Sweep = Part.Wire(traj).makePipeShell([section],makeSolid,isFrenet)
myObject.Shape = Sweep</pre>
myObject.Shape = Sweep


}}
=== Crediti ===


Grazie a [[User:Wmayer|Wmayer]] per il suo aiuto nella stesura di questo script.


== Crediti ==
In [https://sourceforge.net/apps/phpbb/free-cad/viewtopic.php?f=8&t=1222&start=50#p11120 questa sezione del forum] si trovano due esempi di utlizzo e si trovano anche i collegamenti per scaricare i file FCStd.


Grazie a [[User:Wmayer|Wmayer]] per il suo aiuto nella stesura di questo script.
Lo stesso argomento viene trattato anche in [http://sourceforge.net/apps/phpbb/free-cad/viewtopic.php?f=3&t=1461 questa discussione] con ragguagli su [http://en.wikipedia.org/wiki/Frenet%E2%80%93Serret_formulas Frenet].


In [https://forum.freecadweb.org/viewtopic.php?f=8&t=1222&start=50#p11120 questa sezione del forum] si trovano due esempi di utlizzo e si trovano anche i collegamenti per scaricare i file FCStd.
Utilizzando una elica come traiettoria, tramite uno sweep solido si può creare la filettatura di un bullone.


Lo stesso argomento viene trattato anche in [http://forum.freecadweb.org/viewtopic.php?f=3&t=1461 questa discussione] con ragguagli su [http://en.wikipedia.org/wiki/Frenet%E2%80%93Serret_formulas Frenet].
{{clear}}


Utilizzando una elica come traiettoria, tramite uno sweep solido si può creare la filettatura di un bullone.
{{languages/it | {{en|Macro_Solid_Sweep}} {{es|Macro_Solid_Sweep/es}} {{fr|Macro_Solid_Sweep/fr}} }}

Latest revision as of 18:18, 23 December 2022

Sweep solido

Descrizione
Crea un solido estrudendo un profilo lungo un percorso.

Versione macro: 1.0
Ultima modifica: 2011-12-03
Versione FreeCAD: Tutte versione
Download: Icona per la ToolBar
Autore: Normandc
Autore
Normandc
Download
Icona per la ToolBar
Link
Versione macro
1.0
Data ultima modifica
2011-12-03
Versioni di FreeCAD
Tutte versione
Scorciatoia
Nessuna
Vedere anche
Nessuno

Descrizione

Questa macro crea un solido estrudendo un profilo 2D lungo una traiettoria precedentemente selezionata nella vista 3D.

Gli elementi 2D possono essere creati attraverso i normali strumenti della GUI di FreeCAD.

Notare che il solido risultante non è parametrico. Se si decide di modificare il profilo o il percorso, si deve nuovamente eseguire la macro.

Nella seguente figura tutte le estrusioni sono realizzate utilizzando la stessa sagoma, ma tre percorsi diversi.

Alcuni esempi di estrusioni, tutte sono realizzate utilizzando la stessa sezione, ma su tre diverse traiettorie.

Utilizzo

  1. Creare due elementi 2D del tipo indicato sotto, uno per la sezione e uno per la traiettoria.
  2. Selezionare, nella Vista ad albero del progetto o nella Vista 3D, prima la traiettoria e poi il profilo. (L'ordine è importante!):
    1. La traiettoria
    2. Poi il profilo
  1. Selezionare la Solid Sweep macro
  2. Cliccare Esegui

Risultato: Un oggetto Sweep viene creato nella struttura del progetto

Elementi 2D supportati

Avvertenze

  • La sezione deve essere un profilo chiuso altrimenti il risultato non sarà un solido.
  • Non è necessario che la sezione sia posizionata sulla traiettoria, ma è preferibile che sia normale (perpendicolare) alla traiettoria.
  • La traiettoria 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.
  • Se il solido diventa contorto, modificare la macro e impostare il valore isFrenet a 0 (zero) e riprovare.
  • Impostando nella macro la variabile makeSolid a 0 (zero) si produce un insieme di superfici con le estremità aperte.

La macro

ToolBar Icon

Macro_Solid_Sweep.FCMacro

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


Crediti

Grazie a Wmayer per il suo aiuto nella stesura di questo script.

In questa sezione del forum si trovano due esempi di utlizzo e si trovano anche i collegamenti per scaricare i file FCStd.

Lo stesso argomento viene trattato anche in questa discussione con ragguagli su Frenet.

Utilizzando una elica come traiettoria, tramite uno sweep solido si può creare la filettatura di un bullone.