Part Module/cs: Difference between revisions

From FreeCAD Documentation
No edit summary
(Redirected.)
Tag: New redirect
 
(83 intermediate revisions by 3 users not shown)
Line 1: Line 1:
#REDIRECT [[Part_Workbench/cs]]
CAD možnosti FreeCADu jsou založeny na jádře [http://en.wikipedia.org/wiki/Open_CASCADE OpenCasCade]. Modul Díl umožňuje FreeCADu přístup a používání objektů a funkcí OpenCasCade. OpenCascade je profesionální CAD jádro, jehož vlastnosti umožňují pokročilou manipulaci s 3D konstrukcemi a objekty. Objekty Díl, narozdíl od objektů [[Mesh Module/cs|Modulu Síť]], jsou mnohem komplexnější a proto umožňují mnohem dokonalejší operace, jako jsou logické boolean operace, modifikace historie a parametrické chování.

[[Image:Part example.jpg]]

Příklad tvaru Díl ve FreeCADu

=== Nástroje ===

Nástroje modulu Díl jsou všechny umístěny v menu '''Díl''', který se zobrazí když natáhnete modul Díl.

{{Part Tools/cs}}

=== Logické Operace ===

[[Image:Part_BooleanOperations.png|500px|left|Příklad sjednocení (Fuse), průniku (Common) a rozdílu (Cut)]]

{{clear}}

Příklad sjednocení (Fuse), průniku (Common) a rozdílu (Cut)

=== Vysvětlení pojmů ===

V terminologii OpenCasCade odlišujeme geometrické primitivy a (topologické) tvary. Geometrický primitiv může být bod, linka, kružnice, rovina atd. nebo i komplexnější typy jako je B-Spline (aproximační) křivka nebo plocha. Topologický tvar může být vrchol, hrana, drát, povrch, těleso nebo složenina z jiných tvarů. Geometrické primitivy nejsou určeny k přímému zobrazení ve 3D zobrazení, ale hlavně k použití jako stavební prvek pro 3D tvary. Například hrana může být zkonstruována z linky nebo z části kružnice.

Souhrnně se dá říct, že geometrické primitivy jsou "beztvaré" stavební bloky. A tvary jsou prostorové konstrukce na prvcích vystavěné.

Jejich kompletní seznam je na [http://www.opencascade.org/org/doc/ OCC documentation] (Alternativně: [http://opencascade.sourcearchive.com/documentation/6.3.0.dfsg.1-1/classes.html sourcearchive.com]) a hledání textů '''Geom_*''' (pro geometrické primitivy) a '''TopoDS_*''' (pro tvary). Můžete se tam také dočíst o rozdílech mezi geometrickými primitivy a tvary. Všimněte si také, prosím, že naneštěstí oficiální OCC dokumentace není dostupná online (musíte si stáhnout archiv) a je hlavně určena pro programátory a ne pro koncové uživatele. Ale pro začátek naštěstí najdete dost informací zde.

Geometrické typy mohou být rozděleny do dvou hlavních skupin: linky a povrchy. Nad linkami (přímka, kružnice,...) můžete přímo budovat hrany, na plochách (rovina, válec, ...) zase povrchy. Například základní přímka je nekonečná, tj. je definována základním vektorem a směrovým vektorem, zatímco jeho tvarová reprezentace musí být nějak omezena počátečním a koncovým bodem. A kvádr -- těleso -- může být vytvořeno šesti omezenými rovinami.

Z hran nebo povrchů se můžete také vrátit k jeho původním geometrickým primitivům.

Tudíž, z tvarů můžete stavět velmi komplexní díly nebo opačně odebírat všechny poddíly pro vytváření ještě komplexnějších dílů.

==Skriptování==

Hlavní datová struktura použitá v modulu Díl je datový typ
[http://en.wikipedia.org/wiki/Boundary_representation BRep] z OpenCascade.
Téměř celý obsah a objektové typy modulu Díl jsou dostupné skriptování v Pythonu. Zahrnuje to geometrické primitivy, jako jsou Linky, Kružnice (nebo Úhly) a celá oblast TopoTvarů, jako jsou Vrcholy, Hrany, Dráty, Plochy, Tělesa a Složeniny. Pro každý z těchto objektů existuje několik metod pro jejich vytváření a pro některé z nich, zvláště pro TopoTvary, jsou dostupné rozšířené operace jako logické sjednocení/rozdíly/průniky. Projděte si obsah modulu Díl jak je popsán na stránce [[FreeCAD Scripting Basics]] abyste jej lépe pochopili.

=== Příklady ===

Pro vytvoření přímkového elementu přepněte do konzoly Pythonu a zapište:
<syntaxhighlight>
import Part,PartGui
doc=App.newDocument()
l=Part.Line()
l.StartPoint=(0.0,0.0,0.0)
l.EndPoint=(1.0,1.0,1.0)
doc.addObject("Part::Feature","Line").Shape=l.toShape()
doc.recompute()
</syntaxhighlight>
Projděme si výše uvedený příklad v Pythonu krok po kroku:
<syntaxhighlight>
import Part,PartGui
doc=App.newDocument()
</syntaxhighlight>
natáhne modul Díl (Part) a vytvoří nový dokument
<syntaxhighlight>
l=Part.Line()
l.StartPoint=(0.0,0.0,0.0)
l.EndPoint=(1.0,1.0,1.0)
</syntaxhighlight>
přímka je ve skutečnosti přímkový segment, proto má počáteční a koncový bod.
<syntaxhighlight>
doc.addObject("Part::Feature","Line").Shape=l.toShape()
</syntaxhighlight>
Přidá do dokumentu objektový typ Díl (Part) a přiřadí přidanému objektu reprezentaci tvaru přímkového segmentu do vlastnosti 'Tvar' (Shape). Zde je důležité pochopit, že jsme použili geometrický primitiv (Přímka - Part.Line) k vytvoření TopoTvaru ( metoda toShape() ). Do dokumentu mohou být přidávány pouze tvary. Ve FreeCADu jsou geometrické primitivy používány jako "stavební struktury" pro Tvary.
<syntaxhighlight>
doc.recompute()
</syntaxhighlight>
Aktualizuje dokument. Také připravuje vizuální reprezentaci nového dílu.

Všimněte si také, že přímka může být vytvořena přímo zadáním jejího počátečního a koncového bodu v konstruktoru, např. Part.Line(point1,point2) nebo můžeme vytořit obecnou přímku a pak jí dodatečně přiřadit vlastnosti, jako jsme to udělali zde.

Kružnice může být vytvořena podobně:
<syntaxhighlight>
import Part
doc = App.activeDocument()
c = Part.Circle()
c.Radius=10.0
f = doc.addObject("Part::Feature", "Circle")
f.Shape = c.toShape()
doc.recompute()
</syntaxhighlight>
Znovu si všimněte, že jsme použili kružnici (geometrický primitiv) ke konstrukci tvaru nad ní. Samozřejmě stále zůstává přístup ke geometrii konstrukce, zadáním:
<syntaxhighlight>
s = f.Shape
e = s.Edges[0]
c = e.Curve
</syntaxhighlight>
Zde si vezmeme tvar(Shape) našeho objektu f, potom si z něho vezmeme seznam hran. V tomto případě to bude jen jedna hrana, protože celý tvar děláme z jedné kružnicem a proto si vezmeme ze seznamu pouze první hranu a z ní její přímku. Každá hrana má přímku, což je geometrický primitiv, na kterém je hrana založena.

Chcete-li vědět více jděte na stránku [[Topological data scripting]].

{{docnav/cs|[[Mesh_Workbench/cs|Pracovní plocha Sít]]|[[Drawing Module/cs|Modul Výkres]]}}

[[Category:User Documentation/cs]]
<languages/>

Latest revision as of 14:52, 27 April 2024

Redirect to: