blender3d.cz
http://forum.blender3d.cz/

Problém s vyhlazováním importované a bool geometrie
http://forum.blender3d.cz/viewtopic.php?f=6&t=5036
Stránka 11

Autor:  jucas [ čtv srp 23, 2007 3:55 pm ]
Předmět příspěvku:  Problém s vyhlazováním importované a bool geometrie

Zdravím,

Na importované geomerii (z MCADu, STL formát) mám občas problém s vyhlazováním hran, některé hrany jsou vidět - viz obr.
STL se importuje bez napojení trojúhelníků, takže na geometrii je použit Remove doubles.
Vyhlazeno je pomocí AutoSmooth nebo EdgeSplit+Smooth. Problém je u obou, jen u EdgeSplit je to vidět i v okně Blenderu.
Směr normál vypadá v pořádku.
Vypadá to, že vyhlazení je špatné u napojení více dlouhých trojúhelníků s malým úhlem v bodě napojení.
Zkoušel jsem použít převod na čtyřúhelníkovou síť, ale bez výrazného zlepšení.
Problém se vyskytuje i při použití skriptu BatchSTL.
Zkoušel jsem i přenos přes VRML 1 se stejným výsledkem.

Dál jsem zjistil, že podobné chyby ve vyhlazení vzniknou na některých geometrií vytvořených pomocí boolovských operací přímo v Blenderu. Např. u odečtení malého válce od velkého s kolmou hlavní osou.

"Pochroumané" vyhrazení je vidět v interním i Yafray rendereru.

Nevíte někdo jak to řešit? Ať už na úrovni importu, úpravy v blenderu, nebo renderingu. Díky

Přílohy:
Poznámka: Blendy s importovanou upravenou geometríí a Bool. CSG tělesem
smoothproblem.zip [77.99 KiB]
15 krát
Poznámka: interní render STL importu
smooth.jpg
smooth.jpg [ 8.08 KiB | Zobrazeno 238 krát ]

Autor:  taby [ čtv srp 23, 2007 4:14 pm ]
Předmět příspěvku: 

Tu neplechu ti tam dělá velké množství hran, které tam jsou zbytečně navíc a jsou také silně "různoběžné". Zkusil jsem jich pár sjednotit a ejhle, hned to bylo hladké jak má. :wink:
Ale pokud to takto importovalo, tak nevím, co s tím. :cry:
Jinak to také dělá částečně modifikátor EdgeSplit, který při nižších stupních hůře vyhazuje plochu. 8)

Autor:  DonaldX [ čtv srp 23, 2007 4:39 pm ]
Předmět příspěvku: 

Trochu tomu nerozumiem. To jako tie scripty ti upravia geometriu modelu(tým myslím zmenia) ?

Zatial sa mi javí ako chyba nesprávna topologia, ale nemám skúsenosti s CAD systémami, tak som si není istý. A booleans funkcie su v blenderi len málo použitelné. Niekedy dosť brutálne rozhodia topologiu. To ti potvrdí každý blenderista :wink:

Autor:  pedu [ pát srp 24, 2007 7:56 am ]
Předmět příspěvku: 

Škoda, že si nedal aj obrázok siete, ako vyzerá topológia.
Tie normály len vyzerajú dobre, alebo si ich dal aj prepočítať?

Autor:  jucas [ pát srp 24, 2007 1:39 pm ]
Předmět příspěvku: 

taby:
Zkoušel jsem zvyšovat toleranci "Remove doubles" a skutečně se to po spojení některých vrcholů trochu vyhladí, ale pokud toto použiji na složitější model (různé zaoblení, díry), je problém trefit toleranci tak aby se geometrie nezbortila. A ručně upravovat sestavu takových 50 dílů si nedovedu představit.
Formát STL se používá pro stereolitografii ("3D tiskárny") a při exportu CAD vytvoří mesh s ohledem na délkovou a úhlovou toleranci, takže proto tam jsou možná některé trojúhelníky navíc (tam kde nevyšel úhel). Ty tolerance sice můžu nastavit, ale už teď mám úhlovou na minimu, takže při zvýšení by se počet bodů ještě zvedl.
Taky jsem testoval VRML1, ten vyexportuje mesh stejný jako je použitý pro zobrazení modelu v CADu, kde je vše relativně hladké (openGL, jádro CAD pracuje s NURBS geometrií a tvorba meshe je úplně mimo uživatele). Po importu do Blenderu je ale vyhlazení špatné jako u STL souboru. Možná je problém v algoritmech exportu/importu.

DonaldX:
Ten skript (BatchSTL) slouží k hromadnému načítání STL souborů. Blender má vestavěný STL import, ale ten načte jen jeden soubor a trojúhelníky jsou nespojené. BatchSTL je spojí do meshe, upraví měřítko a nastaví autosmooth pro všechny meshe. Geometrie (topologie) je stejná jako u blenderovského STL importu + remove doubles s tol. 0.
Jádra MCADů obvykle pracují s matematicky popsatelnými a NURBS plochami, a topologie vykreslení meshe se dá jen minimálně ovlivnit (jen hustota). Mesh co exportuje např. do VRML je pravděpodobně stejný jako ten co posílá OpenGL knihovně, kde vypadá poměrně hladce. Takže na to buď aplikuje nějaký algoritmus, nebo je problém v exportu CADu (nebo importu Blenderu - zkusím nějaké VRML z netu).
Chtělo by to asi nějaký skript na vylepšení topologie :)

Problémy s booleans v Blenderu jsem zaznamenal na fórech, ale obvykle se týkaly mizení ploch a celkové nefunkčnosti. U těch válců se mě ta topologie zdála dobrá - teda co jsem viděl CSG algoritmy to vysíťují podobně. Zkoušel jsem i Megabool skript, ale výsledek byl stejný.

pedu:
Jo, normály jsou přepočítané (Mesh-normal-recalculate..). Topologie moc dobře nevypadá, ale tak se to importuje. Dal jsem raději do přílohy blendy než tu změť čar.

Přílohy:
topostl.jpg
topostl.jpg [ 50.15 KiB | Zobrazeno 179 krát ]

Autor:  jucas [ pát srp 24, 2007 4:17 pm ]
Předmět příspěvku: 

Tak problém bude asi na straně daného CADu. Zkoušel jsem stl exporty podobného dílu z jiného CADu a mesh je rovnoměrnější, a tedy i vyhlazení mnohem lepší. Zajímavé je, že v openGL zobrazení v Cadu je vše poměrně hladké.

Takže otázka se upřesňuje na:

Neexistuje nějaká technika (skript) pro automatickou hromadnou úpravu (zahlazení) takového zmršeného meshe. :D

Autor:  Pitris [ pát srp 24, 2007 5:26 pm ]
Předmět příspěvku: 

Zkus nejprve odstranit duplicity - pokud jsou a pak prubni Alt+F beauty fill

Stránka 11 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/