neděle 5. října 2008

Jak ořezat povrch libovolného 3D tělesa podle jiného povrchu?

Na tento dotaz jsem při svých konzultacích již několikrát narazil, a proto si pojďme vysvětlit jeden z možných způsobů, jak ořezání docílit.

Předpokládejme, že máme dva povrchy. Prvním povrchem může být například digitální model terénu (= zaměření) a druhým je již vytvořený povrch z jakéhokoliv 3D tělesa (SOLID). Pro převod z tělesa na povrch nejraději využívám lispovou utilitku 3dsolids_to_3dfaces.lsp (lze použít též tip 6338). Příklad obou povrchů je na následujícím obrázku.


Pro vytvoření hranice, kde se oba povrchy protínají, je nutné nejprve vytvořit tzv. objemový povrch.

Definice objemového tělesa:


Dalším krokem je tvorba nového stylu zobrazení vrstevnic. Můžeme využít stávající styl Hranice a Vrstevnice, kde vypneme všechny hladiny kromě uživatelských vrstevnic.

Styl nulové uživatelské vrstevnice vrstevnice:


Nejdůležitější nastavení (pracujeme stále na vlastnostech objemového povrchu) je ale na záložce Analýza, kde si prosím nastavte všechny hodnoty podle přiloženého obrázku.

Definice nulové vrstevnice v analýze:


Všimněte si nově vzniklé fialové vrstevnice, která vlastně tvoří hranici mezi tím, co je nad zaměřením a co pod ním. Abychom ale mohli s touto křivkou dále pracovat, je nutné ji z objemového povrchu tělesa neprve vyextrahovat podle následujícího postupu.

Extrahovat objekty z povrchu:


Výběr nulové uživatelské vrstevnice:


V následujícím kroku již stačí vytvořit novou hranici povrchu tělesa, podle které bude povrch ořezán.

Definice hranice povrchu tělesa:


Po této uprávě je výsledek konečně hotov - viz následující obrázky ve 2D a 3D:



Tento příklad velmi názorně předvádí, jakým způsobem lze využít funkcí, které jsou jakoby na první pohled v AutoCADu Civil 3D skryté, ale se kterými je možné také dosáhnout velice zajímavých výsledků.

Žádné komentáře: