pondělí 9. ledna 2017

Převod vektorových PDF katastrálních map do DWG s roztříděním entit do hladin

Od verze 2017 umožňuje AutoCAD a produkty, které jsou na něm založené, převádět do DWG vektorové PDF soubory. Osobně nejvíce tuto funkci používám při konverzi souborů snímků katastrální mapy z cuzk.cz, která je již na většině území České republiky digitalizovaná. Oproti dřívější rastrové podobě katastrální mapy v mapě již nejsou slučky, ale čáry jsou pomocí tloušťky rozděleny na katastrální hranice a zbytek, čemuž dle doporučení geodetů říkám vnitřní kresba. Při konverzi PDF souborů do DWG se převedené entity vloží všechny do jedné hladiny - katastrální hranice i vnitřní kresba. Přesto je vhodné pro další práci s entitami vloženými z katastru nemovitostí mít tyto dva typy čar oddělené a rozdělené do dvou samostatných hladin. Z tohoto důvodu jsem napsal malý program v ve VisualLISPu, který nejprve založí hladiny pro katastrální hranice a vnitřní kresbu a podle tloušťky čáry přenese jednotlivé entity do jedné nebo druhé hladiny. Entitám pak nastaví vlastnosti barvy, a typu čáry na BYLAYER (v češtině myslím DLEHLAD).

Princip funkce je založený na tom, že hranice z katastru nemovitostí jsou rozděleny tloušťkou čáry. Zjistil jsem však, že ne všchny stejně. Hranice mezi katastrální hranicií a vnitřní kresbou prochází někde kolem tloušťky 0.15 a podle této hodnoty také funkce dělí entity do hladin.

Při převodu PDF souborů je pouze třeba mít zaškrtnuto pole, že se mají entity převádět s tloušťkou čáry. V nelokalizované verzi Apply lineweight properties

image

Po vložení je třeba ještě kresbu rozložit byl-li PDF soubor vložen jako blok. Funkce se spouští příkazem katastrtodwg a po jejím zavolání se všechny entity ve výkresů převedou do výše zmíněných dvou hladin v závislosti na parametru tloušťky čáry. Funkci je tedy dobré spouštět ve výkresu, kde nejsou žádné další entity, protože funkce by byla aplikována i na tyto objekty a zařadila by je do jedné ze dvou nově založených hladin.

image

PDF soubor po vložení…

 

image

…a po prohnání funkcí katastrtodwg

Funkce je umístěna v souboru katastrtodwg.lsp a můžete si ji stáhnout ze stránky download z okna LISPy.

Funkce je ve zdrojovém kódu a lze ji dále editovat například v případě potřeby změny hranice tloušťky čáry, podle které se mají entity dělit do hladin.

Načtení lsp souboru s funkcí do aktuálního výkresu AutoCADu lze provést v zásadě dvěma způsoby. Ten nejjednodušší je, že přetáhneme z okna správce souborů (třeba z Průzkumníka) ikonu lsp souboru do okna AutoCADu a funkci spustíme.
Druhý způsob je využití příkazu _appload. V dialogovém okně vybereme požadovaný soubor z funkcí a máme-li zaškrtnuto tlačítko Add to History vloží se odkaz na tento soubor do okna Histroy list, takže příště již nebudeme muset soubor vyhledávat. Budeme-li chtít funkci spouštět často, vyplatí se přidat ji do Startup Suit. Do tohoto dialogového okna se dostaneme klepnutím na tlačítko Contents. Pomocí tlačítka Add přidáme soubor s funkcí. Funkce v souborech, které se zobrazují ve Startup Suit se načítají při každém spuštění AutoCAdu a při otevření každého výkresu, takže je není třeba zvlášť načítat stačí je spustit stejně jako jakýkoliv jiný příkaz.

ttf9

Žádné komentáře:

Okomentovat