Macro Solid Sweep/cs: Difference between revisions

From FreeCAD Documentation
(Created page with "=== Podporované 2D prvky === * Dráty * 32px Náčrty * Image:Draft_BSpline.png [[Draft BSpline|Kreslení B-křive...")
(Updating to match new version of source page)
 
(31 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<languages/>
{{Macro|Icon=Text-x-python|Name=Solid Sweep|Description=Vytváří těleso vlečením profilu po trajektorii.|Author=Normandc}}
{{Macro/cs
|Name=Solid Sweep
|Icon=Macro_Solid_Sweep.png
|Translate=Solid Sweep
|Description=Vytváří těleso vlečením profilu po trajektorii.
|Author=Normandc
|Version=1.0
|Date=2011-12-03
|FCVersion=All
|Download=[https://www.freecadweb.org/wiki/images/6/6d/Macro_Solid_Sweep.png ToolBar Icon]
}}


==Description==
Toto makro vytváří těleso vlečením 2D profilu po trajektorii předem vybrané m ve 3D pohledu. 2D prvke může být vytvořen pomocí standardních nástrojů FreeCADu.
Toto makro vytváří těleso vlečením 2D profilu po trajektorii předem vybrané ve 3D pohledu. 2D prvek může být vytvořen pomocí standardních nástrojů FreeCADu.


Musí být podotknuto, že výsledné těleso '''nebude''' parametrické. Jestliže se rozhodnete změnit profil nebo trajektorii, musíte spustit makro znovu.
Musí být podotknuto, že výsledné těleso '''nebude''' parametrické. Jestliže se rozhodnete změnit profil nebo trajektorii, musíte spustit makro znovu.
Line 7: Line 19:
[[File:Solid_sweep.png‎|500px|Několik příkladů vlečení, všechny s použitím stejné obloukové sekce, ale s jinou trajektorií.]]
[[File:Solid_sweep.png‎|500px|Několik příkladů vlečení, všechny s použitím stejné obloukové sekce, ale s jinou trajektorií.]]


<div class="mw-translate-fuzzy">
=== Použití ===
== Použití ==
* Vytvořte dva 2D prvky, jeden pro profil, druhý pro trajektorii, některého z typů v seznamu níže.
* Vytvořte dva 2D prvky, jeden pro profil, druhý pro trajektorii, některého z typů v seznamu níže.
* Nejdříve vyberte buď ve stromu projektu nebo ve 3D pohledu trajektorii a potom profil. Pořadí je důležité!
* Nejdříve vyberte buď ve stromu projektu nebo ve 3D pohledu trajektorii a potom profil. Pořadí je důležité!
* Otveřete Správce maker, vyberte makro a klikněte na "Spusť".
* Otevřete Správce maker, vyberte makro a klikněte na "Spusť".
* Ve stromu projektu bude vytvořen objekt '''Sweep'''.
* Ve stromu projektu bude vytvořen objekt '''Sweep'''.
</div>


<div class="mw-translate-fuzzy">
=== Podporované 2D prvky ===
== Podporované 2D prvky ==
* Dráty
* Dráty
* [[Image:Sketcher_NewSketch.png|32px]] [[Sketcher Workbench|Náčrty]]
* [[Image:Sketcher_NewSketch.png|32px]] [[Sketcher Workbench|Náčrty]]
* [[Image:Draft_BSpline.png]] [[Draft BSpline|Kreslení B-křivek]]
* [[Image:Draft_BSpline.png]] [[Draft BSpline|Kreslení B-křivek]]
* 2D základní geomterické prvky z ''Parametric → [[Image:Part_CreatePrimitives.png|32px]] [[Part_CreatePrimitives|Tvorba základních geometrických prvků]] ...'' menu (kružnice,spirála)
* 2D základní geomterické prvky z ''Parametric → [[Image:Part_CreatePrimitives.png|32px]] [[Part_CreatePrimitives|Tvorba základních geometrických prvků]] ...'' menu (kružnice,spirála)
</div>


=== Tips ===
== Tipy ==
* Profil musí být uzavřený, jinak výsledkem nebude těleso.
* The section has to be a closed profile or the result will not be a solid.
*Profil nemusí ležet na trajektorii, ale doporučuje se aby byl normální (kolmý) k trajektorii.
* The section does not need to be located on the trajectory, but it's preferable that it be normal (perpendicular) to the trajectory.
* Trajektorie může být uzavřená nebo otevřená (kružnice, přímka nebo obloukový segment), ale všechny prvky by měly být tangenciální (navazovat po tangentě), jinak nebude výsledek zaručený. Například trajektorie s přímými rohy, jako je obdélník, nevytvoří těleso.
* The trajectory can either be an open or closed profile (circle, or line and arc segments) but all elements need to be tangent or the resulting shape will be unexpected. For example, a trajectory with straight corners like a rectangle will not produce a solid.
* If the solid gets twisted, edit the macro to change the ''isFrenet'' value to 0 (zero) and try again.
* Jestliže se těleso kroutí, upravte makro změnou hodnoty ''isFrenet'' na 0 (nulu) a zkuste ještě jednou.
* Setting the ''makeSolid'' variable to 0 (zero) in the macro will produce a set of surfaces with open ends.
* Nastavením hodnoty ''makeSolid'' na 0 (nulu) bude makro vytvářet sérii povrchů s otevřenými konci.


=== The script ===
== Skript ==


ToolBar Icon [[Image:Macro_Solid_Sweep.png]]
<syntaxhighlight>

'''Macro_Solid_Sweep.FCMacro'''

{{MacroCode|code=
import Part, FreeCAD, math, PartGui, FreeCADGui
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 "Wrong selection"
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
</syntaxhighlight>


}}
=== Credits ===
Thanks to [[User:Wmayer|Wmayer]] for his help in writing this script.


Two examples of uses can be found in [http://forum.freecadweb.org/viewtopic.php?f=8&t=1222&start=50#p11120 this forum topic], along with download links to the FCStd files. Using a helix as trajectory, a solid sweep can be used to create a bolt thread.


== Poděkování ==
<languages/>
Díky [[User:Wmayer|Wmayer]] za jeho pomoc při psaní tohoto skriptu.

Dva příklady použití makra lze nalézt na [http://forum.freecadweb.org/viewtopic.php?f=8&t=1222&start=50#p11120 this forum topic], spolu s odkazem na stažení do souboru FCStd. Použitím spirály jako trajektorie může být toto makro použito pro vytvoření závitu šroubu.

Latest revision as of 11:20, 23 May 2020

Other languages:

Solid Sweep

Popis
Vytváří těleso vlečením profilu po trajektorii.

Version macro : 1.0
Date last modification : 2011-12-03
FreeCAD version : All
Download : ToolBar Icon
Autor: Normandc
Autor
Normandc
Download
ToolBar Icon
Odkazy
Verze
1.0
Datum poslední úpravy
2011-12-03
Verze FreeCAD
All
Výchozí zástupce
None
Viz též
None

Description

Toto makro vytváří těleso vlečením 2D profilu po trajektorii předem vybrané ve 3D pohledu. 2D prvek může být vytvořen pomocí standardních nástrojů FreeCADu.

Musí být podotknuto, že výsledné těleso nebude parametrické. Jestliže se rozhodnete změnit profil nebo trajektorii, musíte spustit makro znovu.

Několik příkladů vlečení, všechny s použitím stejné obloukové sekce, ale s jinou trajektorií.

Použití

  • Vytvořte dva 2D prvky, jeden pro profil, druhý pro trajektorii, některého z typů v seznamu níže.
  • Nejdříve vyberte buď ve stromu projektu nebo ve 3D pohledu trajektorii a potom profil. Pořadí je důležité!
  • Otevřete Správce maker, vyberte makro a klikněte na "Spusť".
  • Ve stromu projektu bude vytvořen objekt Sweep.

Podporované 2D prvky

Tipy

  • Profil musí být uzavřený, jinak výsledkem nebude těleso.
  • Profil nemusí ležet na trajektorii, ale doporučuje se aby byl normální (kolmý) k trajektorii.
  • Trajektorie může být uzavřená nebo otevřená (kružnice, přímka nebo obloukový segment), ale všechny prvky by měly být tangenciální (navazovat po tangentě), jinak nebude výsledek zaručený. Například trajektorie s přímými rohy, jako je obdélník, nevytvoří těleso.
  • Jestliže se těleso kroutí, upravte makro změnou hodnoty isFrenet na 0 (nulu) a zkuste ještě jednou.
  • Nastavením hodnoty makeSolid na 0 (nulu) bude makro vytvářet sérii povrchů s otevřenými konci.

Skript

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


Poděkování

Díky Wmayer za jeho pomoc při psaní tohoto skriptu.

Dva příklady použití makra lze nalézt na this forum topic, spolu s odkazem na stažení do souboru FCStd. Použitím spirály jako trajektorie může být toto makro použito pro vytvoření závitu šroubu.