Vítejte !   Přihlášení | Registrace
Hlavní menu
CATIA fórum.cz
Novinky
Seriál CATIA
Obecně o CAD
Novinky ze světa DS
Makra pro CATIA V5
Diskuse
Základy Catia
Ke stažení
Doporučujeme
Pracovní příležitosti
Reklama a kampaně
O fóru
Nápověda

Pracujeme s parametry III. - Určení rozměrů polotovaru

Publikováno: 23. září 2013 | Zobrazeno: 8932x
V dnešním dílu si ukážeme, jak se dá jednoduše, efektivně a téměř automaticky určit materiál, rozměry, hmotnost a název polotovaru součásti. Pro určení prvních dvou hodnot si navíc vystačíme s běžnou funkcionalitou Knowledgeware, která je dostupná už od konfigurace GSD, pro název polotovaru pak budeme potřebovat Knowledgeware Advisor (používají se pravidla - Rules).

K čemu potřebujeme rozměry polotovaru není třeba vysvětlovat. Tyto informace se téměř v každém případě objevují v rohovém razítku výkresu, a pokud je nasazený PDM/PLM systém, většinou se přenášejí do profilové karty součásti. K uložení těchto informací můžeme použít buď přímo parametry (jsou viditelné ve stromu) nebo tzv. Added Properties (jsou viditelné v profilové kartě). V dnešním případě zůstaneme u parametrů.

Co budeme zjišťovat?

Naším požadavkem bude naplnit hodnoty parametrů, které představují materiál, hmotnost, základní rozměry (délka, výška, šířka), název polotovaru složený ze základních rozměrů, a pokud bude jako polotovar vybrán typ 'Kulatina', určí se její průměr. Seznam parametrů je na obrázku.

Zjišťované parametry

Materiál
Zjištění materiálů je asi to nejjednosdušší z toho, co nás dále čeká. Parametr s názvem materiálu se totiž vytvoří automaticky po přiřazení materiálu k součástí. Není nutné nic víc dělat, název materiálu se dá už lehce zjistit.

Hmotnost
U hmotnosti už budeme potřebovat vytvořit měření - MeasureInertia, které omezíme pouze na hodnotu Mass. Poté vybereme těleso, které budeme měřit - v našem případě celé PartBody. Nakonec ještě výsledek měření přeneseme pomocí formula do parametru HMOTNOST. Pravým tlačítkem nad parametrem vybereme HMOTNOST.Object > Formula > Edit formula a zadáme tento vzath.

Syntaxe pro přenos hmotnosti do parametru HMOTNOST (* podle názvu měření)

Název - rozměr
Toto bude vstupní parametr, kterým budeme určovat, zda je polotovar blok se třemi základními rozměry nebo kulatina, u které lze zadat průměr. U tohoto parametru pouze omezíme seznam hodnot, tzv. Multiple Values (dvojklik na parametr a pak prvým tlačítkem nad polem s hodnotou > Edit multiple values).
Vložíme dvě hodnoty, PROFIL a KR.

Délka, Šířka, Výška, Průměr
Tyto parametry budou řízené formulí, a protože ponesou délkové rozměry, budou typu Length. Pomocí formula editoru si vytvoříme všechny čtyři parametry a pojmenujeme je. Hodnotu necháme u všech 0.

Polotovar
Poslední parametr musí být typu String, protože kromě rozměrů (číslo) bude obsahovat i jiné alfanumerické znaky. Parametr zatím pouze pojmenujeme.

Pomocná geometrie pro měření

Geometrický set s objekty pro měření
Protože každá legrace něco stojí, musíme si do modelu připravit pomocnou geometrii, díky které dokážeme určit rozměry součásti. Geometrie bude skryta v geometrickém setu, takže nás při práci nebude nijak obtěžovat.

Pozn: V některých prostředích automobilek jsou pro tyto účely k dispozici speciální geometrické sety, tzv. WhiteBox a BlackBox. U prvního z nich je obsažená geometrie viditelná pouze ve stromu uvnitř setu a v NoShow prostoru, ve druhém není vidět vůbec nic ani ve stromu, ani v NoShow.

Osový systém polotovaru
Úplně prvním objektem, který si vytvoříme, bude AxisSystem pro objekt měření. Ne každá součást musí být nutně modelovaná podle orientace základna v XY, vytažení v Z, takže bude dobré být se na tento případ připravit. Pak stačí jen AxisSystem správně zorientovat podle součásti a opět máme aktuální rozměry polotovaru. To je také ta jediná operace, kterou je nutné udělat manuálně, vše ostatní se změní automaticky.

Určení těžiště
V tuto chvíli se dostáváme k prvnímu malému triku, který asi nebudete znát. Je to vytvoření bodu pomocí formule. Kromě standardní možnosti vytvoření bodu funkcí Point, kde si vybíráte z možností v dialogovém okně, existují ještě další možnosti. My použijeme možnost vytvoření bodu jako těžiště zadané geometrie.

Ještě před vytvořením bodu si do modelu vložíme geometrický set a pojmenujeme ho Mereni a nastavíme ho jako InWork. Pak otevřeme dialog Formulas, vybereme typ parametru Point (úplně poslední v nabídce) a vytvoříme parametr - bod (ve stromu se objeví ikona bodu). Dále klikneme na Add formula a ve formula editoru vytvoříme požadovaný vztah. V seznamu Dictionary vybereme Point constructor a v pravé nabídce pak Centerofgravity(Body, ...): point. Vztah můžeme do řádku buď opsat nebo vložit dvojklikem na konstruktor v seznamu. Nakonec ještě musíme vybrat geometrii, na které budeme určovat těžiště - v našem případě PartBody. Opět můžeme buď manuálně vypsat nebo vybrat PartBody ve stromu (kurzor přitom musí být mezi závorkami). Výsledný zápis si můžete prohlédnout na obrázku.

Vytvoření bodu jako těžiště vybrané geometrie

Výhoda tohoto řešení je, že se těžiště - bod bude stále aktualizovat nezávisle na tom, co bude uvnitř PartBody.

Vytvoření extrémů
Pro zjištění rozměrů součásti budeme dále potřebovat vytvořit dva extrémy v každém směru, který udává AxisSystem pro měření. Začneme maximem ve směru X - jako Element vybereme PartBody, jako Direction vybereme osu X v souřadném systému ORIENTACE_POLOTOVARU, v dalším výběru zvolíme Max (chceme maximum).

Vytvoření maxima ve směru X

Stejným způsobem vytvoříme minimum ve směru X (u Direction vybereme Min), a pak i zbývající extrémy ve směrech Y a Z. Vytvořené objekty vhodně pojmenujeme, abychom je později dobře poznali.

Roviny
Další pomocnou geometrí, která už slouží k vlastnímu měření, jsou roviny X,Y a Z. Každá rovina prochází bodem těžiště a je kolmá na příslušný směr - podle svého názvu. Rovina X je tedy kolmá na osu souřadného systému. Vytvoříme ji jako typ Parallel through point, viz obrázek.

Vytvoření roviny pro měření


Parametry pro měření
Posledními objekty pro určení rozměrů je šest parametrů typu length. Do nich si uložíme vzdálenosti jednotlivých extrémů od příslušných rovin. Tady se ještě zastavíme u předchozího kroku a vysvětlíme si, proč bylo třeba vytvářet roviny aneb trik číslo 2. V tomto kroku totiž budeme měřit vzdálenosti mezi extrémy. Kdybychom ale měřili přímo vzdálenost mezi např. x_min a x_max, výsledkem nebude rozměr ve směru X, ale jen minimální vzdálenost těchto dvou bodů. Pokud mezi tyto body vložíme rovinu a budeme měřit vždy od jednoho extrému k rovině, změří se již korektní část rozměru v daném směru.
Pro měření využijeme funkci distance ze skupiny Measures, viz. obrázek.

Změření vzdálenosti mezi rovinou a extrémem

Celkové rozměry
Pokud jsme úspěšně vytvořili dílčí parametry s částmi rozměrů, stačí je sečíst. Součet provedeme už do cílových parametrů DELKA, SIRKA, VYSKA. Výsledným rozměrem bude vždy součet dílčích parametrů, pro X to bude X_MIN + X_MAX atd.

Výsledná hodnota parametru rozměru DELKA jako součet dílčích parametrů

Zbylé rozměry, resp. formule pro zbylé parametry vytvoříme analogicky (Y > SIRKA, Z > VYSKA). Tím máme za sebou větší část práce, teď už zbývá jen vytvoření pravidel - Rules, pro určení průměru polovaru v případě výběru typu KR (kulatina) a sestavení názvu polotovaru.

Určení průměru
Zde musíme vycházet z obecného předpokladu, že kruhová součást bude mít základnu v rovině XY a vytažená bude ve směru Z. Pravidlo pak pouze porovnává typ polotovaru a rozměry ve směru X a Y. Pokud je rozměr X roven rozměru Y a vybraný typ je KR (kulatina), můžeme usuzovat, že i průměr D bude shodný s rozměry X a Y. Pravidlo pak bude vypadat následovně.
If (DELKA == SIRKA) And (NAZEV_ROZMER == "KR") {

PRUMER = DELKA
}
Else {
PRUMER = 0mm
}

Průměr tedy bude buď 0, nebo bude shodný s rozměry X a Y.

Název polotovaru
U názvu polotovaru budeme chtít buď zobrazit hodnotu RozmerX x RozmerY x RozmerZ v případě, že se jedná o blok (profil, plech, ...) nebo hodnotu Prumer x Delka, pokud se jedná o kulatinu. Pravidlo pak může vypadat např. viz. obrázek. Délkové parametry musíme převést do bezrozměrného čísla kvůli převodu na String. V případě převodu šířky na průměr ještě zaokrouhlujeme na tři desetinná místa, aby se nezobrazovaly všechna čísla za čárkou (length je jako typ Double).
/* polotovar je kvadr */

If (PRUMER == 0mm) {
POLOTOVAR = ToString(DELKA / 1mm) + " x " + ToString(SIRKA / 1mm) + " x " + ToString(VYSKA / 1mm)
}
/* polotovar je kulatina */

Else {
POLOTOVAR = "D" + ToString(round(SIRKA / 1mm, "m", 3)) + " x " + ToString(VYSKA / 1mm)
}


Ukázka
Na konec dvě ukázky - jednou s polotovarem blok, podruhé s kulatinou. Ve výsledném parametru POLOTOVAR je to, co jsme požadovali.

Měření na modelu - polotovar blok

Měření na modelu - polotovar kulatina


Závěr

Dnes jsme si ukázali, jak lze poměrně jednoduše získat informace o polotovaru přímo na základě vlastní geometrie tělesa a pomocí pravidel (Rules) s nimi dále pracovat.

Autor článku: Jan Cinert

Příště: Barva feature podle typu