Google překladač: English Deutsch

Exkluzivní partner sekce

StreamTech.tv

streamtech tv-logo

Reverse engineering v 3D modeláři Rhinoceros

Pondělí, 30 Listopad 2009 12:00

Tags: 3D CAD | Reverse engineering | Rhinoceros

Reverse engineering - RhinocerosZatímco principem vývoje výrobku či součástky je transformace nehmotného 3D modelu do podoby fyzického prototypu či finálního výrobku, reverse engineering představuje přesně opačnou cestu – z fyzického kusu chceme zpětně získat počítačová 3D data. V tomto článku si představíme možnosti programu Rhinoceros a jeho pluginů v této oblasti.

Převod sítí na plochy

Jednou z nejnáročnějších úloh reverse engineeringu je převod dat z 3D skeneru (ať už v podobě mraku bodů nebo polygonové sítě) na hladké NURBS plochy. Pro převod sítí na plochy sice existují různá specializovaná řešení, ta jsou ale pro běžné uživatele pro svoji závratnou cenu nedosažitelná.

Pro vytvoření NURBS ploch z mraku bodů nebo polygonové sítě ale můžete využít také program Rhinoceros, a to dokonce i v základní verzi bez specializovaných pluginů. Podíváme se na několik příkladů.

Ruční převod sítí na plochy v základním Rhinu bez pluginů je vhodný spíše pro sítě plynulého, nepříliš členitého tvaru a s pokud možno rozumně distribuovanými body. Na obrázku 1 vidíme příklad jednoduchého mraku bodů, který budeme moci převést na jedinou NURBS plochu.

Reverse engineering - Rhinoceros
Body převedeme na plochu příkazem Plát. Po nastavení parametrů, jako je citlivost plátu na odchylky vstupních bodů nebo hustota jeho izočar ve směrech U a V, se plocha vygeneruje (obrázek 2). Pokud do řešení nezahrneme nějakou obrysovou křivku, která vymezí vnější hranici plochy, vytvoří se vždy automaticky nestříhaný NURBS plát se čtyřhrannou topologií. V půdorysném pohledu můžeme jednoduše pomocí křivky obkreslit tvar mraku bodů a touto křivkou můžeme plochu stříhat (obrázek 3).

Nakonec můžeme analyzovat odchylku vygenerované plochy od jednotlivých vstupních bodů. Vybereme body i plochu a zavoláme příkaz OdchylkaBodů. Body se obarví podle vzdálenosti od plochy (jednotlivá pásma definuje uživatel) a každým bodem bude vést normála vynásobená uživatelským měřítkem, která nám dá lepší představu o vzdálenosti bodu od plochy a také o orientaci bodu vůči rubu nebo líci plochy (obrázek 4).

Funkce OdchylkaBodů se také používá pro určení tvarové odchylky vyrobeného kusu sejmutého 3D skenerem od jeho počítačového modelu.

Reverse engineering - Rhinoceros
Uvedenou metodou je možné převádět na plochy i topologicky složitější sítě, v takovém případě postupujeme po plátech podle charakteristických tvarů objektu. V příkazu Plát přitom máme možnost stanovit v případě potřeby tečnou návaznost na případné již existující plochy, pláty tedy můžeme již při jejich vytváření plynule navazovat na jejich sousedy. U složitějších sítí bych doporučil použití specializovaného modulu RhinoReverse, o kterém bude řeč za chvíli.

Zajímavým postupem je rekonstrukce NURBS plochy z polygonové sítě pomocí řezů. Příkaz ŘezMrakemBodů umožňuje vést mrakem bodů řezy v libovolném směru. Uživatel může specifikovat, zda se mají vytvářet uzavřené, či otevřené křivky a jestli mají být řezy v podobě lomených čar, nebo hladkých křivek. Dále je možné zadat různé tolerance odchylek od řezných rovin a okolních bodů. Výsledné křivky pak můžete překrýt plochou například příkazem Potáhnout.

Reverse engineering - Rhinoceros
Na obrázku 5 vidíte výchozí mrak bodů. Příkazem ŘezMrakemBodů přes něj byly vedeny řezy v pravidelných roztečích v podobě otevřených hladkých křivek, na obrázku 6 jsou tyto křivky zobrazeny červeně. Nakonec byly tyto křivky opláštěny plochou příkazem Potáhnout. Výsledek je na obrázku 7.

Oprava polygonových sítí

Rhinoceros obsahuje nástroje pro automatickou či poloautomatickou opravu chyb, děr a hranových netěsností v polygonových sítích. Naskenovaná data tak můžete zkontrolovat a opravit ještě před tím, než je pošlete do 3D tiskárny, která u sítí vyžaduje vodotěsnost.

Reverse engineering - Rhinoceros
Při modelování ploch ze sítí občas potřebujete originální sítě ustřihnout, rozdělit, část smazat ... dobrou zprávou je, že v Rhinu můžete na polygonové sítě aplikovat téměř všechny příkazy jako na NURBS plochy. Sítě tedy můžete nejen stříhat a rozdělovat křivkami, plochami a tělesy, ale můžete na ně aplikovat také booleovské operace.

Častým problémem, se kterým se v praxi setkáme, je velká díra v polygonové síti, kterou potřebujeme zacelit. Na obrázku 8 vidíme příklad takové situace.

Postup řešení je následující:

  1. Okraje díry začistíme – zobrazíme si řídicí body sítě a smažeme ostré výčnělky (obr. 9).
  2. Příkazem DuplikovatHraniciDíryVSíti duplikujeme hranici díry v podobě lomené čáry (obr. 10).
  3. Tento krok je důležitý – klávesou F11 si zobrazíme řídicí body sítě.
  4. Spustíme příkaz Plát. Jako vstup příkazu vybereme hranici díry a body sítě.
  5. Nastavíme parametry, jako je hustota plochy, citlivost na vstupní data, a klikneme na OK.


Výslednou plátovou plochu vidíte na obrázku 11. Na následujícím obrázku 12 vidíte analýzu hladkosti napojení sítě a plátu v příkazu Zebra – všimněte si perfektní návaznosti a uvědomte si přitom, že vnější plocha je polygonová síť a výplň díry je tvořena hladkou NURBS plochou...

Reverse engineering - Rhinoceros
A konečně na obrázku 13 je NURBS plátová plocha převedena na polygonovou síť a její hranice je navázána na hranici díry, takže obě sítě jsou perfektně spojené a sdílí navzájem stejné vrcholy.

Pluginy pro reverse engineering

Pro oblast reverse engineeringu je přímo určen zásuvný modul RhinoReverse 2, který je plně integrovaný v programu Rhinoceros 4.0. Tento modul umožňuje poloautomatický převod digitalizovaných polygonových sítí na hladké NURBS plochy.

Práce v modulu spočívá v načtení naskenovaných sítí, na kterých poté myší skicujete (případně zpětně editujete) hranice budoucích ploch a modul automaticky vytváří pláty s tečnou spojitostí na okolní plochy. Každý z plátů může být definován až 25 hraničními křivkami a pláty mohou být stříhané, nemusíte se tedy omezovat pouze na čtyřhrannou topologii. Pokud použijete volbu healing (léčení), budou přechody mezi vypočtenými plochami upraveny podle aktuálního nastavení tolerance v Rhinu. Tím bude zajištěno, že výsledné plochy můžete spojit do uzavřeného tělesa a následně použít v objemovém modeláři bez jakýchkoliv úprav.

Reverse engineering - Rhinoceros
Modul nabízí i metodu rychlého výpočtu opláštění sítě (skinning). Cílem je vyjádřit vrcholy polygonové sítě malým počtem NURBS ploch za cenu připuštění určitého tvarového zjednodušení.

Mezi další zajímavé příkazy modulu RhinoReverse patří RRRelief, který je optimalizován pro vytváření NURBS ploch z polygonových 3D modelů terénu, a RRPatch, navržený pro vytváření komplexních plátových ploch.

Na obrázku 14 vidíte několik modelů, které byly převedeny z polygonových sítí na NURBS plochy. Sítě jsou vystínovány šedě a plochy jsou reprezentovány oranžovými dráty.

Výrobce modulu RhinoReverse, švýcarská firma iCapp, nově vyvinula další zajímavý produkt. Jeho název je Rhinocovermesh (resp. Covermesh v podobě samostatně spustitelného programu). Tento modul dokáže převádět polygonové sítě organického tvaru na hladké NURBS plochy zcela automaticky. Na síti jsou bez zásahu uživatele generovány hladce návazné pláty. Několik realizací vidíte na obrázku 15.

Reverse engineering - Rhinoceros
Pro převod sítí na NURBS plochy se dá překvapivě použít také plugin T-Splines, který se používá na plastické modelování organických ploch. Vstupem tohoto modulu může být mimo jiné hrubá polygonová síť v nízkém rozlišení, kterou tento modul dokáže proložit hladkou plochou.

Příkladem může být reverse engineering křesla Brno 60, o kterém jsme podrobně psali v lednovém čísle IT CADu. Na obrázku 16 je v levé části skořepina křesla, která byla sejmuta laserovým skenerem do podoby polygonové sítě. Vpravo je finální NURBS model, který byl vytvořen pomocí modulu T-Splines na základě dodaného polygonového modelu.

Reverse engineering - Rhinoceros
Obr. 15d

Ruční digitalizace pomocí ramene

Ke Rhinu lze přímo připojit i digitalizační ramena Microscribe, Faro nebo Baces 3D. Pomocí těchto zařízení můžete kreslit rovnou v 3D prostoru – všechny příkazy, které pracují s myší, můžete obsluhovat pomocí digitizéru a jeho hrotem můžete zadávat body, vytvářet křivky a vůbec kreslit místo myši rovnou v 3D prostoru. Dokonce můžete automaticky generovat řezy – nadefinujete si rozteče a kolmý směr virtuálních řezných rovin a pak už jenom jezdíte hrotem digitizéru po povrchu objektu. Při každém protnutí některé z pomyslných řezných rovin se zaznamená bod a po nasbírání dostatečného množství bodů získáte v každé řezné rovině křivku.

Reverse engineering - Rhinoceros
Obr. 16

U ruční digitalizace je důležité, aby uživatel veškeré nakreslené křivky prozkoumal – zda nejsou zvlněné, zda nemají příliš mnoho řídicích bodů nebo jakýkoliv jiný defekt. Přesnost (či spíše nepřesnost) mechanického digitizéru jde ruku v ruce s nepřesnostmi digitalizovaného povrchu, a proto se nikdy nespoléhejte na to, že sejmuté křivky budou ukázkově hladké. Raději si příkazem GrafKřivosti zobrazte analýzu křivosti křivky a odhalte tak případné vlnky a nerovnosti. Ty můžete srovnat příkazem Vyhladit anebo NastavitBody, pokud chcete body (nebo jen určitou část bodů) zarovnat v nějaké ose do roviny. Se zjednodušením příliš složitých křivek vám zase pomohou příkazy Rekonstruovat nebo ProložitKřivky. Kvalitní křivky jsou zcela zásadním předpokladem pro následnou tvorbu kvalitních ploch.

Reverse engineering - Rhinoceros
Obr. 17a, b

Výhodou je velká flexibilita a totální kontrola nad způsobem převodu fyzického modelu na plochy. Uživatel si sám stanoví významné křivky, které charakterizují topologii modelu, tyto křivky „překreslí“ do Rhina přitom v 3D podobě a po případné opravě nebo zjednodušení křivek již může na jejich základě modelovat plochy. Získáte tedy přímo NURBS plochy, bez nutnosti potýkat se s převodem polygonových sítí. Nevýhodou je, že tento proces je plně „ruční“ – digitizér za vás nevymyslí a nenakreslí ani čárku. Mechanická digitalizace navíc vyžaduje od operátora určité zkušenosti a znalosti strategií modelování.

Autor pracuje ve společnosti Dimensio.

www.rhino3d.cz


Mohlo by vás zajímat: