Pracujeme s parametry II.
Publikováno: 26. července 2011 | Zobrazeno: 8188x
V minulém díle jsme si vysvětlili, co jsou to parametry, ukázali si rozdíl mezi parametry u vytvářených feature a uživatelskými parametry, a popsali několik základních typů. Dnes si ukážeme, jak se uživatelské parametry připojí k těm vytvářeným a jak se vytvoří vzorce (formula).
Jak vytvořit Pad nebudu popisovat. Začneme skicou, kde si zakótujeme délku a šířku a skicu vytáhneme do Padu.
Při vytváření parametrů je dobré jim zadat nějaké počáteční rozměry a nenechávat nulu, pak vysvětlím proč. Nyní začneme přiřazovat parametry delka a sirka. Protože tyto dva rozměry určují kóty ve skice, musime ji nejprve editovat, abychom se k těmto parametrům dostali.
V šedém horním řádku vidíme celý název editovaného parametru, tedy
Formula Editor
V levém sloupci je seznam všech dostupných parametrů, konstruktorů a operátorů, pomocí nichž lze například měřit vzdálenosti či dokonce vytvářet geometrii. Jednotlivé operátory / funkce se zobrazují po výběru skupiny v pravém sloupci, u funkcí jsou většinou popsané i vstupní / výstupní parametry a jejich typ.
*) Je nutné zadat rozměr v mm, protože Catia má nastavené délkové jednotky na metry. Pokud bychom zadali jen 20, přepočítaly by se jednotky na mm, tedy 20.000mm.
Tímto postupem jsme svázali námi vytvořený parametr sirka s kótou skici udávající skutečnou šířku Padu. V hierarchickém stromu se vytvořil nový objekt (větev) - Relations, kam se uložila námi vytvořená rovnice. Po rozkliknutí vidíme celou rovnici (vztah), kterou lze libovolně přejmenovat. Poklikáním na ní se opět dostaneme do formula editoru.
Stejným způsobem přiřadíme Padu i ostatní dva parametry - delka a vyska. Délku přiřadíme druhé kótě ve skice, výšku přiřadíme stejným způsobem do pole Length v dialogovém okně funkce Pad (opět výběr Edit formula z kontextového menu - tata nabídka je dostupná u většiny funkcí, kde se zadává hodnota).
Nyní máme základní rozměry Padu návazané na naše parametry, takže jejich změnou se bude měnit jeho velikost. Můžeme tedy snadno a rychle měnit rozměry, aniž bychom museli editovat skicu nebo samotný Pad (resp. hledat příslušné feature ve stromu). Parametry můžeme použít i u další geometrie a vytvářet tak plně zparametrizované modely, kdy se editace provádí pouhou změnou těchto uživatelských parametrů.
Oba úkoly by šly splnit v jednom kroku, ukážeme si je ale postupně.
1. Objem Padu
Pro tento krok si nejprve vytvoříme další parametr. Protože budeme počítat objem, musí být parametr typu Volume nebo obecnější Real. Můžeme si vytvořit oba typy, pro větší názornost. Máme-li vytvořené parametry, můžeme jim přiřadit hodnotu - rovnici, která vypočítá objem smrštěného Padu. Poklikáme na jeden z parametrů pro výpočet objemu ve stromu a spustíme formula editor (pravé tlačítko na polem s hodnotou - Edit formula).
Teď je třeba sestavit rovnici, takže následuje chvilka matematiky.
Pro objem kvádru platí:
Je-li smrštění 1%:
V našem případě:
Tento vztah (bez V =) tedy napíšeme do formula editoru a potvrdíme. Pokud jsme rovnici zadali správně, měla by se u parametru ve stromu objevit vypočtená hodnota i celý vztah. V opačném případě formula editor zahlásí chybu (většinou syntaxe) a je třeba ji opravit.
Poznámka: Protože používáme parametr typu real, musíme převést jednotky délky na reálné číslo. To se provede jednoduše vydělením jednotkou 1mm.
Objem pomocí funkce
Pokud bychom místo Padu (kvádru) měli obecné těleso, už bychom objem jednoduše nespočetli. Ukážeme si tedy funkci, která změří objem obecného tělesa. Spustíme formula editor pro druhý parametr objemu, v levém sloupci vybereme řádek PartMeasures a v pravém sloupci pak poklikáme na řádek smartVolume. V poli pro zadání vztahu se objeví smartVolume() - funkce pro výpočet objemu. Do závorek je třeba napsat název měřeného tělesa, v našem případě PartBody (nebo na PartBody poklikat, název se automaticky přenese). Celá rovnice tedy bude vypadat takto:
Potvrdíme a podíváme se na parametr ve stromu. Rozdíl v použitém typu parametru se projevuje pouze v zobrazených jednotkách (Real - mm, Volume m^3).
2. Deaktivace Padu v závislosti na objemu
První část úkolu je za námi, zbývá vytvořit podmínku pro deaktivaci objektu v závislosti na objemu. Tady to bude trochu složitější. Do modelu si vložíme nové Body a v něm si vytvoříme např. další Pad. Otevřeme okno Formulas kliknutím na ikonu Formula v panelu nástrojů. Po jeho otevření vybereme tento druhý Pad ve stromu - zobrazí se nám všechny jeho parametry, dokonce i vnořených objektů. V seznamu najdeme a označíme parametr
Protože aktivita je typu boolean, musí být rovnice zadaná jako logický výraz, který se vyhodnocuje. My porovnáváme velikost, takže ve vztahu bude:
*) desetinné číslo se zadává s tečkou
Potvrdíme a podíváme se, co se stalo. Na první pohled jen přibyla další rovnice ve stromu, ale jinak nic. Podmínka totiž platí, výraz nabývá hodnoty True a Pad.2 proto zůstal aktivní. Zkusme ale některý z rozměrů Padu.1 (delka, sirka, vyska) změnit tak, aby se jeho objem zmenšil na méně než 0,0001m^3, a hned uvidíte, že se Pad.2 deaktivuje.
Šikovné, že? Tímto způsobem lze stavět variabilní modely, které se "sami" mění podle vstupních parametrů.
Příští téma: Design Table
Vytvoření Padu a parametrů
Celý postup si ukážeme na jednoduchém příkladu. Vymodelujeme si obyčejný pad - kvádr, který má tři základní rozměry - délku, šířku a výšku. K němu si vytvoříme tři parametry, které se budou jmenovat shodně podle rozměrů. Tedy delka, sirka a vyska. Jak tyto parametry vytvořit si můžete přečíst v minulém článku. Důležité je, aby parametry byly typu length - délkový rozměr. Všechny feature v Catii mají délkové rozměry definované jako length a jednotkou je 1mm (milimetr). Další číselné typy jako integer nebo real lze také použít, ale pak se musí počítat s přepočtem na mm, protože Catia uvažuje základní délkovou jednotku 1m (1m = 1000mm) - o tom si povíme později.Jak vytvořit Pad nebudu popisovat. Začneme skicou, kde si zakótujeme délku a šířku a skicu vytáhneme do Padu.
Při vytváření parametrů je dobré jim zadat nějaké počáteční rozměry a nenechávat nulu, pak vysvětlím proč. Nyní začneme přiřazovat parametry delka a sirka. Protože tyto dva rozměry určují kóty ve skice, musime ji nejprve editovat, abychom se k těmto parametrům dostali.
Editace hodnoty parametru
Ve skicáři nejprve poklikáním vyvoláme dialogové okno pro změnu hodnoty kóty, najedeme kurzorem myši nad pole s hodnotou kóty a stiskneme pravé tlačítko. Z kontextového menu vybereme příkaz Edit formula..., čímž spustíme editor rovnic (Formula editor), kde můžeme do parametru kóty přiřadit hodnotu uživatelského parametru nebo jej zadat implicitně. Formula editor jsme si popisovali v minulém článku. Můžeme jej spustit i druhým způsobem (ikona Formula), ale pak bychom museli vyhledat parametr kóty, kterému chceme přiřadit hodnotu, v seznamu všech dostupných parametrů v modelu.V šedém horním řádku vidíme celý název editovaného parametru, tedy
PartBodySketch.1Offset.8Offset
. Za ním pak následuje znak "=" znamenající přiřazení, a druhý prázdný řádek, kde bude přiřazená hodnota parametru. Pokud bychom tedy chtěli, aby tento rozměr byl např. 20mm, napíšeme do druhého řádku jednoduše 20mm *.
Formula Editor
V levém sloupci je seznam všech dostupných parametrů, konstruktorů a operátorů, pomocí nichž lze například měřit vzdálenosti či dokonce vytvářet geometrii. Jednotlivé operátory / funkce se zobrazují po výběru skupiny v pravém sloupci, u funkcí jsou většinou popsané i vstupní / výstupní parametry a jejich typ.
*) Je nutné zadat rozměr v mm, protože Catia má nastavené délkové jednotky na metry. Pokud bychom zadali jen 20, přepočítaly by se jednotky na mm, tedy 20.000mm.
Přirazení hodnoty parametru
Když nyní ve formula editoru tento vztah potvrdíme, vytvoří se tzv. formula (česky vztah nebo rovnice), která parametru kóty přiřadí napevno hodnotu 20mm. My ale chceme použít vytvořený uživatelský parametr, takže místo hodnoty 20mm vybereme parametr sirka ve stromu (nebo můžeme do řádku napsat jeho název, doporučuji ale vybírat ve stromu). Potvrdíme přiřazení hodnoty (OK ve formula editoru) a podíváme se na dialogové okno pro editaci kóty. Pole pro zadání hodnoty je nyní šedé a vedle něho, stejně jako u kóty ve skice se objevila ikona funkce. Kliknutím na ní se dostaneme zpět do formula editoru. Změnu hodnoty parametru, resp. vytvoření rovnice potvrdíme kliknutím na OK.Tímto postupem jsme svázali námi vytvořený parametr sirka s kótou skici udávající skutečnou šířku Padu. V hierarchickém stromu se vytvořil nový objekt (větev) - Relations, kam se uložila námi vytvořená rovnice. Po rozkliknutí vidíme celou rovnici (vztah), kterou lze libovolně přejmenovat. Poklikáním na ní se opět dostaneme do formula editoru.
Stejným způsobem přiřadíme Padu i ostatní dva parametry - delka a vyska. Délku přiřadíme druhé kótě ve skice, výšku přiřadíme stejným způsobem do pole Length v dialogovém okně funkce Pad (opět výběr Edit formula z kontextového menu - tata nabídka je dostupná u většiny funkcí, kde se zadává hodnota).
Nyní máme základní rozměry Padu návazané na naše parametry, takže jejich změnou se bude měnit jeho velikost. Můžeme tedy snadno a rychle měnit rozměry, aniž bychom museli editovat skicu nebo samotný Pad (resp. hledat příslušné feature ve stromu). Parametry můžeme použít i u další geometrie a vytvářet tak plně zparametrizované modely, kdy se editace provádí pouhou změnou těchto uživatelských parametrů.
Vytvoření složitějších vztahů a použití funkcí
Představme si následující zadání, kdy máme za úkol:- 1. Spočítat objem Padu s tím, že je smrštěný (všechny rozměry o 1%)
- 2. Deaktivovat jiný objekt, je-li objem PartBody menší než 1000mm^3
Oba úkoly by šly splnit v jednom kroku, ukážeme si je ale postupně.
1. Objem Padu
Pro tento krok si nejprve vytvoříme další parametr. Protože budeme počítat objem, musí být parametr typu Volume nebo obecnější Real. Můžeme si vytvořit oba typy, pro větší názornost. Máme-li vytvořené parametry, můžeme jim přiřadit hodnotu - rovnici, která vypočítá objem smrštěného Padu. Poklikáme na jeden z parametrů pro výpočet objemu ve stromu a spustíme formula editor (pravé tlačítko na polem s hodnotou - Edit formula).
Teď je třeba sestavit rovnici, takže následuje chvilka matematiky.
Pro objem kvádru platí:
V = a * b * c
.
Je-li smrštění 1%:
V = a * (1/1,01) * b * (1/1,01) * c * (1/1,01) = a * b * c * 0,9705
V našem případě:
V = (delka / 1mm * sirka / 1mm * vyska / 1mm) * 0,9706
.
Tento vztah (bez V =) tedy napíšeme do formula editoru a potvrdíme. Pokud jsme rovnici zadali správně, měla by se u parametru ve stromu objevit vypočtená hodnota i celý vztah. V opačném případě formula editor zahlásí chybu (většinou syntaxe) a je třeba ji opravit.
Poznámka: Protože používáme parametr typu real, musíme převést jednotky délky na reálné číslo. To se provede jednoduše vydělením jednotkou 1mm.
Objem pomocí funkce
Pokud bychom místo Padu (kvádru) měli obecné těleso, už bychom objem jednoduše nespočetli. Ukážeme si tedy funkci, která změří objem obecného tělesa. Spustíme formula editor pro druhý parametr objemu, v levém sloupci vybereme řádek PartMeasures a v pravém sloupci pak poklikáme na řádek smartVolume. V poli pro zadání vztahu se objeví smartVolume() - funkce pro výpočet objemu. Do závorek je třeba napsat název měřeného tělesa, v našem případě PartBody (nebo na PartBody poklikat, název se automaticky přenese). Celá rovnice tedy bude vypadat takto:
smartVolume(PartBody) * 0,9706
Potvrdíme a podíváme se na parametr ve stromu. Rozdíl v použitém typu parametru se projevuje pouze v zobrazených jednotkách (Real - mm, Volume m^3).
2. Deaktivace Padu v závislosti na objemu
První část úkolu je za námi, zbývá vytvořit podmínku pro deaktivaci objektu v závislosti na objemu. Tady to bude trochu složitější. Do modelu si vložíme nové Body a v něm si vytvoříme např. další Pad. Otevřeme okno Formulas kliknutím na ikonu Formula v panelu nástrojů. Po jeho otevření vybereme tento druhý Pad ve stromu - zobrazí se nám všechny jeho parametry, dokonce i vnořených objektů. V seznamu najdeme a označíme parametr
PartBodyPad.2Activity
, který určuje aktivitu Padu, a klikneme na tlačítko Add formula, čímž se spustí formula editor.
Protože aktivita je typu boolean, musí být rovnice zadaná jako logický výraz, který se vyhodnocuje. My porovnáváme velikost, takže ve vztahu bude:
Objem_Real > 0.0001 resp. Objem_Volume > 0.0001
*
*) desetinné číslo se zadává s tečkou
Potvrdíme a podíváme se, co se stalo. Na první pohled jen přibyla další rovnice ve stromu, ale jinak nic. Podmínka totiž platí, výraz nabývá hodnoty True a Pad.2 proto zůstal aktivní. Zkusme ale některý z rozměrů Padu.1 (delka, sirka, vyska) změnit tak, aby se jeho objem zmenšil na méně než 0,0001m^3, a hned uvidíte, že se Pad.2 deaktivuje.
Šikovné, že? Tímto způsobem lze stavět variabilní modely, které se "sami" mění podle vstupních parametrů.
Příští téma: Design Table