Tvorba modelu přilby z 3D skenování Micka Michal, Vyčichl Jan Anotace: Příspěvek se zabývá přípravou numerického modelu cyklistické ochranné přilby pro výpočet v programu ANSYS. Přilba byla snímána ručním skenerem. Po vyhodnocení snímků povrchu helmy jsou k dispozici grafické výstupní soubory ve formátu IGES a STL. Pro načtení a vytvoření numerického geometrického modelu v ANSYS byla provedena úprava modelu dvěma postupy. Za prvé je to úprava vstupního souboru z formátu IGES a vytvoření modelu a za druhé je to vytvoření plochy povrchu přilby z trojúhelníků vepsané do plochy modelu ve formátu STL. Annotation: Contribution deals with preparation of the numerical model of the cycling protective helmet for calculation with the computer programme ANSYS. The helmet was scanning by the hand scanner. After evaluation of the pictures of the helmet surface are at disposal the graphic output files in the format IGES and STL. To unloaded them and for the creation of the numerical geometrical model in ANSYS the modification of the model was performed in two ways. First the input file is edited from the format IGES and second it is the creation of the helmet outside surface from triangles inscribed into the surface of the model in format STL. Doc.Ing. Michal Micka, CSc., ÚTAV AV ČR,v.v.i., Prosecká 76, 190 00 Praha 9, micka@itam.cas.cz Ing. Jan Vyčichl, ČVUT v Praze, Fakulta dopravní, Ústav mechaniky a materiálů, Na Florenci 25, 100 00 Praha 1, xvycichl@fd.cvut.cz, vycichl@itam.cas.cz 15. ANSYS Users Meeting, 3. 5. října 2007 Lednice 1
Úvod Kolektiv vědeckých pracovníků ÚTAM a studentů doktorandů Fakulty dopravní ČVUT v Praze se zabývá studiem účinnosti ochranných pomůcek hlavy. K tomu slouží experimentální zkoušky v padostroji a numerické modelování rázové zkoušky ochranné přilby v programu ANSYS LS-DYNA. Pro numerický výpočet je v první řadě zapotřebí vytvořit dobrý geometrický model přilby, aby se s ním dalo v programu počítat. Odměřování skutečné přilby je velmi pracné a nepřesné a proto se pozornost obrátila na metodu používanou v prototypingu, tj. na trojrozměrné skenování fyzického modelu a zpracování výstupních grafických formátů. 3D skenování Pro získání grafických formátů cyklistické přilby byla využita služba komerční firmy, která se nekontaktním 3D skenováním zabývá. Tímto způsobem lze získat popis všech vnějších ploch modelu. Byl použit ruční laserový skener HandyScan, který umožňuje vzájemný pohyb skeneru a tělesa během snímání. HandyScan 3D identifikuje poziční značky na tělese nebo podložce a pomocí dvou kamer snímá laserový kříž na tělese. Na počítači se v reálném čase zobrazuje obraz snímání, těleso a laserový kříž a automaticky se generuje polygonová síť. Díky této technologii snímání a vyhodnocování dat lze velice jednoduše snímat i tvarově složité modely. Poziční značky umožňují automaticky určovat vzájemnou polohu skeneru a snímaného tělesa. Výsledná síť se automaticky přepočítává na základě všech nasnímaných dat podle zvoleného rozlišení. Systém zaznamenává všechny snímky a díky tomu je možné data neustále zpřesňovat a upravovat. Okamžité zobrazení výsledku snímání urychluje vyhledání míst, která nebyla nasnímána, nebo vyžadují detailnější snímání. Povrch snímaného modelu by měl Obr.1. Ruční skener být matný, proto v daném případu byla sejmuta z přilby vrchní lesklá plastová folie a povrch polystyrénového těla přilby byl poprášen mletou křídou. Obr.2. Automatické polohování skeneru a snímání 15. ANSYS Users Meeting, 3. 5. října 2007 Lednice 2
Nastavení parametrů snímání probíhá v aplikaci VxScan. Laser je možné optimalizovat pro určitou barvu, a snímat jen část modelu. Výslednou síť lze exportovat jako STL, RAW, a nebo uložit mrak bodů ze sítě jako IGES. Snímání pomocí zařízení HandyScan je založeno na principu triangulace. Reflexní značky mohou být umístěny na podložce, nebo přímo na snímaném tělese. Pokud obě kamery současně vidí minimálně 3 reflexní značky, je systém schopen automaticky určit polohu snímaného tělesa. Pro umožnění pohybu je nutné vidět 4 reflexní značky, vzájemná poloha reflexních bodu je jedinečná a systém tedy kdykoli dokáže navázat na již nasnímané body dalším snímáním. Obě kamery snímají laserový kříž z povrchu tělesa, a systém tak získá informace o ploše. Program VxScan zaznamenává všechny informace ze snímání, na základě nastaveného rozlišení a pracovního prostoru pak generuje síť. Při změně nastavení systém plochu znovu přepočítá. Vzniklou sít je možné v programu VxScan upravovat, automaticky vymazávat izolované malé části sítě. Rozlišení je definované na základě velikosti pracovního prostoru ve třech úrovních (nízké, střední, vysoké), ve vybrané oblasti je možné rozlišení zlepšovat. Obr.3. Snímání cyklistické přilby skenerem a zpracování dat v počítači Práce s grafickým souborem ve formátu IGES Jedním z výstupních formátů grafického souboru z 3D skenování je IGES. Tento formát lze teoreticky použít v ANSYSu přímo jako vstupní soubor pro vytvoření geometrického modelu. Prakticky se nabízí možnost importu grafického souboru IMPORT IGES s volbou NO DEFEATURING. Vytvoří se model s geometrickými body, linkami a 15. ANSYS Users Meeting, 3. 5. října 2007 Lednice 3
Obr.4. Naskenovaná cyklistická přilba ve formátu IGES plochami, tyto entity lze prohlížet i vypsat. Potíž nastane hned v následujícím kroku, protože nelze zpravidla vytvořit objem modelu. Popis některých ploch je totiž pro ANSYS příliš složitý. Řešením je interaktivní úprava modelu. Z výpisu bodů lze připravit jednoduše vstupní soubor, podobně z výpisu linek lze připravit vstup, ve kterém obecné křivky jsou nahrazeny úsečkami mezi jednotlivými body. Potom nezbývá než postupně z těchto úseček ohraničujících jednotlivé plochy je vytvářet interaktivně. Je možné upravit plochy, které mají příliš ostré úhly nebo jsou jinak nevhodné. To záleží na schopnostech uživatele. Pro ulehčení práce byla vybrána polovina přilby. Tímto způsobem se podařilo vytvořit objem poloviny přilby, vytvořit síť a zrcadlením a sjednocením získat celý model. Jednotlivé kroky jsou patrné z obrázku. Obr.5. Postup tvorby model z výstupních dat skenování Tento postup při tvorbě modelu je samozřejmě pracný. Ospravedlňuje ho to, že relativně přesně popisuje tvar přilby a že model je popsán způsobem obvyklým pro práci 15. ANSYS Users Meeting, 3. 5. října 2007 Lednice 4
v ANSYSu. Výhodou je i to, že uživatel může při tvorbě sítě elementů ovlivnit jejich počet nebo i tvar. Úprava grafického souboru STL modelu s využitím metod 3D počítačové animace Cílem popisovaného postupu je úprava 3D modelu získaného z 3D skeneru ve formátu STL a vytvoření vstupního souboru pro software ANSYS s geometrií povrchu skenovaného objektu. Pro úpravu modelu byl použit software Blender[1] a NetGen[2] a pro konverzi z formátu STL do vstupního formátu (log) pro ANSYS [3] byl vytvořen script v programovacím jazyku Tcl/Tk[4]. Časová náročnost úprav a konverze včetně kontrol byla na uvedeném modelu helmy cca 3 hodiny. Data z 3D skeneru Výstupem z 3D skeneru jsou data popisující povrch skenovaného objektu převážně ve formátu STL nebo IGES. V našem případě byl použit soubor STL. Soubor ve formátu STL obsahuje seznam trojúhelníků umístěných v prostoru, které definují povrch skenovaného objektu. Každá položka seznamu obsahuje definici tří bodů o třech souřadnicích a směr normály pro daný trojúhelník. Popis postupu úpravy modelu v krocích: 1. Blender 3D animační software, vstup STL binární, výstup STL binární 2. NetGen Generator povrchové sítě, vstup STL binární, výstup SURF ascii 3. Script Konvertor SURF na ANSYS log soubor Úprava geometrie modelu Soubor v binárním STL formátu s povrchem modelu helmy byl načten do 3D animačního softwaru Blender pomocí vnitřní funkce Import. V GUI rozhraní tohoto softwaru lze daný model zobrazit z libovolného pohledu a pomocí jednoduchých funkcí upravovat jeho geometrii. Obr.6. Úprava STL modelu Prvním krokem by však měla být kontrola a případné odstranění duplicity bodů v celém modelu. To lze provést pomocí funkce Remove Doubles v modu dovolujícím editaci sítě modelu (Edit Mode). Každý trojúhelník může být totiž definován právě třemi body, které patří jen jemu a ty nejsou využity pro definici okolních trojúhelníků. Důsledkem je chybějící vazba mezi sousedními trojúhelníky a vysoká paměťová náročnost celého modelu. Odstraněním duplicity bodů se tak vyřeší oba tyto problémy. Vytvořené vazby umožní jednodušší úpravu modelu a menší počet bodů zas dovolí pohodlnější a rychlejší práci s modelem. 15. ANSYS Users Meeting, 3. 5. října 2007 Lednice 5
V uvedeném modu softwaru Blender (Edit Mode) lze provést pomocí jednoduchých funkcí i zmíněné úpravy geometrie problematických míst modelu, přičemž na samý závěr je vhodné model vyhladit a provést optimalizaci sítě a následně jednoduše uložit jako STL soubor pomocí funkce Export. Úprava povrchu modelu Jelikož povrch modelu definuje velké množství malých trojúhelníků (stovky tisíc) je tento model naprosto nevhodný pro výpočty pomocí metody konečných prvků (MKP). Proto je nutno povrch upravit (radikálně snížit počet trojúhelníků definujících povrch - na stovky) pomocí takzvaného procesu decimace" povrchu. K tomu byl využit software NetGen, do kterého byl načten upravený model ve formátu STL. Při tomto načtení je automaticky provedena kontrola sítě definující povrch a uživatel je upozorněna na veškeré problémové nebo chybové části v síti. Pokud model vykáže nějakou abnormalitu, doporučujeme vrátit se krok zpět a provést opravu problematické části v softwaru Blender a znovu načtení do NetGenu. Decimaci povrchu sítě provedeme pomocí vnitřní funkce Mesh, kterou nastavíme pomocí formuláře Meshing options následovně. V položce First step zvolíme hodnotu Analyze Geometry a v položce Last step hodnotu Optimize Surface. Dále v položce Mesh granularity lze zvolit hustotu nově generované sítě. Po provedení funkce Mesh exportujeme výsledek do souboru jako mesh povrchu ve formátu SURF. Tento textový soubor obsahuje seznam bodů a seznam trojúhelníků definujících povrch Obr.7. Decimace povrchu modelu modelu. Vytvoření vstupního souboru pro ANSYS Výsledkem předchozího kroku je textový soubor obsahující dva seznamy definující povrch upravovaného modelu. Prvním z nich je seznam prostorových bodů. Tento seznam je složen z hlavičky uvádějící popisku a počet bodů v seznamu, ve kterém každý řádek zadává jeden bod. Číslování bodu není součástí seznamu, ale vyplývá z pozice záznamu v seznamu. První hodnota záznamu je souřadnice x, druhá y a třetí z. Tento seznam je velice podobný zápisu definice bodu v softwaru ANSYS a tak je velice jednoduché provést jeho načtení, doplnění a uložení jako vstupní soubor pro zmíněný software ANSYS. Obr.8. Zobrazení modelu v ANSYS 15. ANSYS Users Meeting, 3. 5. října 2007 Lednice 6
Druhý seznam je soupis všech trojúhelníků definujících povrch modelu. Je zde užit stejný princip jako u seznamu bodů jen s tím rozdílem, že položky záznamu udávají čísla tří bodů, které určují daný trojúhelník. Číslování trojúhelníků není součástí seznamu a vyplývá z pozice v seznamu. Tento seznam lze zpracovat podobně jako seznam bodů do vstupního souboru pro software ANSYS. Proces konverze byl zautomatizován pomocí scriptu napsaného v interpretovaném jazyce Tcl/Tk. Poděkování: Tato práce vznikla za podpory grantů: GAČR 103/05/1020: Deformace a porušení lidské lebky při extrémním zatížení a studentského grantu IGS ČVUT CTU0709216 Kontaktní napěťová analýza pánevní kosti a cementované acetabulární komponentys imperfekcí v cementové vrstvě Literatura a zdroje: [1] Blender - http://www.blender.org/ [2] NetGen - http://www.hpfem.jku.at/netgen/ [3] ANSYS - http://www.ansys.com/ [4] Tcl/Tk - http://www.tcl.tk/ 15. ANSYS Users Meeting, 3. 5. října 2007 Lednice 7