Manual:Tradiční modelování metodou CSG
- Introduction
- Discovering FreeCAD
- Working with FreeCAD
- Python scripting
- The community
CSG je zkratka pro Constructive Solid Geometry (konstruktivní pevná geometrie) a popisuje základní způsob práce s pevnou 3D geometrií. Zahrnuje vytváření složitých objektů přidáváním nebo odebíráním částí z pevných těles pomocí booleovských operací, jako je sjednocení, odečtení nebo průnik.
Jak již bylo dříve v této příručce zmíněno, FreeCAD podporuje různé typy geometrie. Preferovaným a nejpraktičtějším typem pro navrhování reálných 3D objektů ve FreeCADu je však geometrie těles BREP, se kterou pracuje především pracovní prostředí Part Workbench. BREP definuje 3D objekty pomocí specifikace jejich prostorových hranic. Mezi klíčové aspekty BREP patří: plochy, povrchové prvky objektu; hrany, ohraničující čáry, kde se setkávají dvě plochy; a vrcholy, body, kde se hrany sbíhají.
BREP nabízí několik výhod. Zaprvé definuje povrchy pomocí matematických rovnic, což umožňuje precizní a přesné modelování. Tato přesnost je zásadní pro inženýrské aplikace, kde jsou vyžadovány přesné rozměry. Navíc BREP poskytuje hladké a detailní povrchy, na rozdíl od polygonových sítí, které aproximují zakřivené povrchy pomocí faset. Je to podobné jako rozdíl mezi vektorovými obrázky, které lze měnit bez ztráty kvality, a bitmapovými obrázky, které při zvětšení mohou vypadat pixelově. BREP uchovává komplexní topologické informace o objektu, včetně vztahů mezi plochami, hranami a vrcholy, což je nezbytné pro složité operace, jako jsou booleovské výpočty a zaoblení.
Vlevo je zobrazení sítě a vpravo zobrazení BREP.
Polygonové sítě se skládají z vrcholů, hran a ploch, které tvoří trojúhelníky nebo čtyřúhelníky. Sítě jsou jednodušší a rychlejší pro vykreslování, ale postrádají přesnost. Při přiblížení nebo tisku ve velkém měřítku vykazují sítě spíše hranaté povrchy než hladké křivky. Naproti tomu BREP využívá matematicky definované křivky a povrchy, které nabízejí vynikající přesnost a hladkost. Modely BREP jsou vhodnější pro CAD aplikace, kde je vyžadována přesnost.
Ve FreeCADu je geometrie založená na BREP spravována OpenCasCade, open-source softwarovou knihovnou. Primárním rozhraním mezi FreeCADem a jádrem OpenCasCade je Part Workbench, který slouží jako základ pro většinu ostatních pracovních prostředí a poskytuje základní nástroje pro vytváření a manipulaci s objekty BREP. Part Workbench obsahuje nástroje pro vytváření primitiv, jako jsou základní tvary, například krychle, válce a koule. Obsahuje také nástroje pro booleovské operace, jako je spojování, průnik a odečítání tvarů, a také nástroje pro přesun, otáčení, změnu měřítka a klonování objektů.
Zatímco jiné pracovní plochy FreeCADu, jako například PartDesign a Surface, nabízejí pokročilejší nástroje pro vytváření a manipulaci s geometrií, spoléhají se na základní pracovní plochu Part. Je výhodné porozumět tomu, jak objekty Part fungují uvnitř, a umět zacházet se základními nástroji Part. Často mohou tyto jednodušší nástroje vyřešit problémy, které složitější nástroje nemusí efektivně zvládnout.
Pro ilustraci použití nástroje Part namodelujeme tento stůl pouze pomocí CSG operací (s výjimkou šroubů, pro které použijeme jeden z doplňků, a kót, které si ukážeme v další kapitole):
Vytvořme nový dokument (Ctrl+N nebo menu Soubor → Nový) pro návrh našeho stolu. Dokument je zpočátku nazván „Unnamed“ (Nepojmenovaný) na kartě Model v panelu Kombinované zobrazení. Pokud dokument uložíte (Ctrl+Shift+S nebo menu Soubor → Uložit jako) jako "table.FCStd", bude dokument přejmenován na "table", což jasněji identifikuje projekt. Jako jednotky délky budeme používat milimetry (mm). Jednotky můžete podle svých preferencí libovolně měnit pomocí nabídky v pravém dolním rohu.
Nyní můžeme přejít pracovního prostředí Part a vytvořit naši první nohu stolu.
- Stiskněte tlačítko
Krychle
- Vyberte krychli a nastavte následující vlastnosti (na kartě „Data“):
- Délka: 80 mm
- Šířka: 80 mm
- Výška: 750 mm
- Duplikujte krychli stisknutím kláves Ctrl+C a poté Ctrl+V (nebo v menu Upravit → Kopírovat a Vložit). Ve 3D zobrazení neuvidíte žádnou změnu, protože druhý objekt překrývá první. Že byla vložena nová krychle, poznáte podle toho, že ve stromovém zobrazení se nyní zobrazuje objekt s názvem "Cube001".
- Vyberte Cube001 ve stromovém zobrazení
- Změňte polohu Cube001 úpravou jeho vlastnosti Umístění na kartě Data (kliknutím na šipku vedle položky Poloha rozbalte):
- Pozice x: 8 mm
- Pozice y: 8 mm
Nyní byste měli vidět dvě vysoké krychle, z nichž jedna je posunuta o 8 mm od druhé v osách X i Y:
- Nyní můžeme odečíst jednu krychli od druhé a získat tak nohu stolu ve tvaru L: Vyberte původní krychli, jejíž část zůstane po operaci Řez. Poté při stisknuté klávese Ctrl vyberte krychli Cube001, která bude odečtena od první. Upozorňujeme, že pořadí výběru určuje výsledek operace Řezání. Stiskněte tlačítko
Řezat:
Nově vytvořený objekt s názvem "Cut" obsahuje dvě krychle, které jsme použili jako operandy. Ve skutečnosti jsou obě krychle stále v dokumentu, pouze byly skryty a seskupeny pod objektem Cut ve stromovém zobrazení. Stále je můžete vybrat rozbalením šipky vedle objektu Cut. Pokud chcete, můžete je znovu zobrazit kliknutím na ikony oka vedle jejich štítků objektů, v jejich kontextových nabídkách nebo změnou jejich vlastností.
Můžete také provádět operace řezání a další booleovské operace pomocí nástroje Boolean.
- Nyní vytvoříme další tři nohy stolu tak, že zkopírujeme původní krychli šestkrát. Jelikož je stále zkopírovaná ve schránce, stačí ji šestkrát vložit (Ctrl+V). Změňte polohu každé nové krychle následovně:
- Cube002: x: 0, y: 800 mm
- Cube003: x: 8 mm, y: 792 mm
- Cube004: x: 1200 mm, y: 0
- Cube005: x: 1192 mm, y: 8 mm
- Cube006: x: 1200 mm, y: 800 m
- Cube007: x: 1192 mm, y: 792 mm
- Nyní provedeme tři další operace řezání tak, že nejprve vybereme krychli „host“ a poté krychli, kterou chceme odříznout. Nyní máme čtyři objekty Cut:
Místo šestinásobného duplikování základní krychle jsme mohli duplikovat celkovou nohu třikrát zkopírováním a vložením výše vytvořeného objektu Cut z našich prvních dvou krychlí a otočením každé oříznuté nohy do správné orientace. Ve FreeCADu existuje často více způsobů, jak dosáhnout stejného výsledku. Je důležité si to pamatovat, protože v různých kontextech může být snazší nebo efektivnější použít různé techniky.
- Nyní vytvoříme otvory pro šrouby pomocí stejné operace Řezání. Protože potřebujeme 8 otvorů (dva v každé noze), mohli bychom vytvořit 8 objektů, které budou odečteny. Zkusme však jiný způsob. Můžeme vytvořit 4 válce, z nichž každý protíná dvojici nohou. Vytvořme je tedy pomocí nástroje
Válec . Můžete vytvořit jeden válec a třikrát ho duplikovat. Každému válci přiřaďte poloměr 6 mm. Tentokrát budeme muset válce otočit pomocí vlastnosti Umístění na kartě Data (Poznámka: změňte vlastnost Osa před nastavením Úhlu, jinak se otočení neprovede).
- Cylinder: výška: 1300 mm, úhel: 90°, osa: x: 0, y: 1, z: 0, pozice: x: -10 mm, y: 40 mm, z: 720 mm
- Cylinder001: výška: 1300 mm, úhel: 90°, osa: x: 0, y: 1, z: 0, pozice: x: -10 mm, y: 840 m, z: 720 mm
- Cylinder002: výška: 900 mm, úhel: 90°, osa: x: -1, y: 0, z: 0, pozice: x: 40 mm, y: -10 mm, z: 700 m
- Cylinder003: výška: 900 mm, úhel: 90°, osa: x: -1, y: 0, z: 0, pozice: x: 1240 mm, y: -10 mm, z: 700 mm
Všimněte si, že válce přesahují nohy stolu. Je to proto, že stejně jako ve všech 3D aplikacích založených na pevných tělesech, booleovské operace ve FreeCADu někdy selhávají, když jsou plochy objektů koplanární. Potenciálním chybám se můžeme vyhnout tím, že konce válců umístíme za povrch nohou.
- Nyní provedeme odečtení, abychom vytvořili otvory v nohách stolu. Vyberte první nohu, poté při stisknuté klávese Ctrl vyberte jeden z válců, který se s ní protíná, a stiskněte tlačítko Ořezání. V noze se vytvoří otvor a válec se skryje. Najdete ho ve stromové struktuře rozbalením nového cut objektu nohy.
- Vyberte druhou nohu, která protíná tento skrytý válec, a opakujte operaci. Tentokrát vyberte válec ve stromové struktuře, protože je skrytý ve 3D pohledu. (Alternativně můžete válec znovu zobrazit a vybrat ho ve 3D pohledu.) Opakujte tuto operaci pro ostatní nohy, dokud každá z nich nebude mít dva otvory:
Jak vidíte, každá noha je nyní popsána řadou více operací vnořených do stromového zobrazení. Veškerá geometrie, kterou jsme vytvořili, zůstává parametrická a můžete kdykoli změnit jakýkoli parametr kterékoli ze starších operací. Ve FreeCADu tuto řadu označujeme jako „historii modelování“, protože zaznamenává historii operací, které jsme provedli.
Další zvláštností programu FreeCAD je, že pojem 3D objekt a pojem 3D operace se často prolínají. "Cut" označuje operaci, ale také 3D objekt, který je výsledkem této operace. V programu FreeCAD se tomu někdy říká "funkce" namísto "objekt" nebo "operace".
Nyní namodelujeme desku stolu. Bude to jednoduchý pravoúhlý hranol, takže začneme s další krychlí a změníme její rozměry na kartě Data následovně:
- Krychle: délka: 1260 mm, šířka: 860 mm, výška: 80 mm, poloha: x: 10 mm, y: 10 mm, z: 670 mm.
Na kartě Zobrazení můžete změnit vlastnost Shape Appearance (Vzhled tvaru) a dát mu hnědou barvu připomínající dřevo:
Nyní, když máme všech pět částí hotových, je vhodná doba jim dát výstižnější názvy než "Cut015". Kliknutím pravým tlačítkem myši na každý objekt ve stromovém zobrazení (nebo stisknutím klávesy F2 při vybraném objektu) ho můžete přejmenovat na něco výstižnějšího. Správné pojmenování objektů může být stejně důležité jako způsob, jakým ho modelujete.
- Nyní vložíme několik šroubů pomocí doplňku. Fasteners je velmi užitečný doplněk vyvinutý členem komunity FreeCADu. Najdete ho v úložišti FreeCAD addons. Instalace doplňkových pracovních ploch je snadná! Více informací najdete ve Správci doplňků.
- Po instalaci pracovního prostředí Fasteners a restartování FreeCADu vyberte Fasteners v rozevíracím seznamu pracovních ploch. Přidejme šroub do jednoho z otvorů, které jsme vymodelovali výše. Nejprve vyberte kruhovou hranu otvoru v jedné z nohou stolu:
- Poté vyberte jeden ze šroubů, které jsou k dispozici v nástroji Fasteners. Pro tento úkol použijeme šroub EN 1665 Šestihranný šroub s přírubami, těžká série. Šroub bude umístěn do otvoru a vyrovnán s ním; jeho průměr se automaticky přizpůsobí velikosti otvoru. Někdy bude nutné otočit orientaci šroubu pomocí vlastnosti Invert:
- Opakujte tento postup u dalších sedmi otvorů a náš stůl je hotový!
Jak již bylo zmíněno, stejného výsledku lze dosáhnout různými postupy. Pro ilustraci vytvoříme tentýž stůl pomocí jiné metodiky. Pamatujte, že neexistuje správný nebo nesprávný postup – jde pouze o individuální kreativitu.
Začneme podobným způsobem, vytvořením krychle o následujících rozměrech: délka 80 mm, šířka 8 mm a výška 750 mm.
- Vytvořte krychli výběrem tlačítka
Krychle a nastavte následující vlastnosti (na kartě Data):
- Délka: 80 mm
- Šířka: 8 mm
- Výška: 750 mm
- Dále vytvoříme
válec s následujícími vlastnostmi:
- poloměr: 6 mm, výška: 100 mm, úhel: 90°, osa: x: 1, y: 0, z: 0, pozice: x: 40 mm, y: 40 mm, z: 720 mm
- Dále použijeme operaci Řezání. Vyberte krychli, podržte klávesu Ctrl a vyberte válec. Mějte na paměti, že pořadí je důležité pro určení, který z nich zůstane. Poté stiskněte tlačítko
Řezání.
- Poté zkopírujeme a vložíme vyříznutý objekt stisknutím kláves Ctrl+C a poté Ctrl+V (nebo pomocí menu Upravit → Kopírovat a Vložit):
- úhel: 90°, osa: x: 0, y: 0, z: 1, pozice: x: 8 mm
- Vyberte dva objekty a použijte nástroj
Sjednocení. Nyní jsou oba objekty spojeny a máme nohu stolu ve tvaru písmene L.
- Zkopírujte a vložte spojenou nohu a umístěte ji na
- úhel: 90°, osa: x: 0, y: 0, z: -1, pozice y: 800 mm.
- Vyberte dvě nohy a vytvořte
Celek.
- Zkopírujte a vložte kompozici na místo:
- úhel: 180°, osa: x:0, y:0, z:1, pozice x: 1200 mm, y: 800 mm. Máme nohy.
Vytvořme desku stolu.
- Vytvořte krychli a upravte její vlastnosti následovně:
- Délka: 1184 mm
- Šířka: 784 mm
- Výška: 80 mm
- pozice x: 8 mm, y: 8 mm, z: 670 mm.
Nyní pokračujte v přidávání šroubů do pracovního stolu v pracovní ploše Fasteners jako předtím.
Vnitřní struktura objektů Part
Jak jsme viděli výše, ve FreeCADu je možné vybrat nejen celé objekty, ale i jejich části, např. kruhovou hranu otvoru pro šroub. Nyní je vhodná příležitost podívat se, jak jsou objekty Part vnitřně konstruovány. Každa pracovní plocha, která vytváří geometrii Part, bude založena na těchto prvcích:
- Vrcholy: Jedná se o body (obvykle koncové body), na kterých je postaveno vše ostatní. Například přímka má dva vrcholy.
- Hrany: Hrany mohou mít podobu přímek, oblouků, elips nebo NURBS křivek. Obvykle mají dva vrcholy, ale v některých zvláštních případech mají pouze jeden (např. uzavřený kruh).
- Dráhy: Dráha je posloupnost hran spojených svými koncovými body. Dráha může obsahovat hrany libovolného typu a může být uzavřená nebo neuzavřená.
- Plochy: Plochy mohou být rovinné nebo zakřivené. Mohou být definovány jednou uzavřenou dráhou tvořící hranici plochy, nebo více dráhami, pokud má plocha otvory.
- Skořepiny: Skořepiny jsou skupiny ploch spojených svými hranami. Mohou být otevřené nebo uzavřené.
- Pevná tělesa: Uzavřená skořepina může být přeměněna na pevnou formu. Pevné formy zahrnují pojem vnitřku a vnějšku. Mnoho pracovních ploch se na tom zakládá, aby zajistily, že objekty, které vyrábějí, mohou být postaveny ve skutečném světě.
- Složeniny: Složené tvary kombinují jiné tvary jednoho nebo více typů do jednoho objektu.
Ve 3D pohledu můžete vybrat jednotlivé vrcholy, hrany nebo 'plochy. Výběrem jedné z těchto možností vyberete také celý objekt, ke kterému patří.
Poznámka ke sdílenému designu
Při pohledu na výše uvedené stůl si možná řeknete, že jeho konstrukce není příliš dobrá. Nohy nevypadají, že by byly k desce připevněny příliš pevně! Možná byste chtěli přidat výztužné prvky nebo máte na mysli jiné vylepšení. Právě v tomto bodě se sdílení stává zajímavým. Soubor vytvořený během tohoto cvičení si můžete stáhnout z níže uvedeného odkazu a upravit ho tak, aby byl lepší. Pokud pak tento vylepšený soubor sdílíte, ostatní ho možná ještě vylepší nebo váš dobře navržený stůl použijí ve svých projektech. Váš návrh tak může dát ostatním nové nápady a možná tak přispějete k lepšímu světu...
Stažení
- Soubor vytvořený v tomto cvičení: https://github.com/yorikvanhavre/FreeCAD-manual/blob/master/files/table.FCStd
Další informace:









