středa 20. února 2013

Přenášení vkládacích bodů a úhlu natočení mezi externími referencemi

Při projekční práci obzvláště na situačních plánech ale i jinde se často do situací načítají jako externí reference jiné výkresy, které jsou ale v situacích jinde umístěné a jinak natočené, než výkres zdrojový. Například když umisťujeme půdorys přízemí do výkresu situace. V takových případech mě vždy vadilo, že poté, co jsem třeba tento půdorys umístil  a natočil do správné pozice jsem vzápětí do situace načítal další referenci – třeba samostatný výkres zpevněných ploch, pergola …a natáčení externí reference jsem musel provádět znovu. Při kreslení jiného situačního plánu např. zařízení staveniště se celý proces opět několikrát opakoval. Jestliže ovšem ve výkresu již máme jednu referenci správně umístěnou a natočenou jak potřebujeme, můžeme hodnoty vkládacího bodu a natočení z této reference načíst a vložit je do další reference. Pro načtení a vkládání těchto hodnot jsem napsal krátký kód ve VisualLispu, který si můžete níže stáhnout.
V souboru jsou definovány tři funkce:
xrget  - Po zadání příkazu jsme vyzváni k výběru externí reference (která je již umístěná a natočena tak jak potřebujeme), abychom z ní načetli hodnoty vkládacího bodu a natočení. Tato reference je řídící a podle ní se budou posouvat a natáčet další reference. Po výběru externí reference se zdánlivě nic nestane. Pouze si AutoCAD zaznamená výše uvedené hodnoty.
xrputxy  -  Tato funkce vyzve k výběru externí reference (řízené), kterou chceme přemístit a natočit podle reference řídící - vybrané pomocí funkce xrget. Po jejím vybrání přenese do této reference úhel natočení a souřadnice vkládacího bodu X a Y z řídící reference. Ponechá ale Z-ovou souřadnici řízené reference.
xrputxyz  -  Funguje stejně jako xrputxy s tím rozdílem, že do řízené reference přenáší z řídící reference i souřadnici vkládacího bodu Z.

Platnost proměnných
Výhodou tohoto programu je, že jednou načtené hodnoty vkládacího bodu a natočení, které se do paměti uloží pomocí funkce xrget jsou dostupné ve všech dalších výkresech, které máme otevřené a i v těch, které teprve otevřeme v rámci jedné “session” AutoCADu . Lze tak tedy v jednom výkresu spustit funkci xrget pro načtení hodnot a v dalších výkresech pak volat funkce xrputxy nebo xrputxyz kolikrát potřebujeme. Jen je třeba mít soubor s funkcemi načtený do všech výkresů, kde funkce voláme. Proto je výhodné přidat si soubor s funkcemi do dialogu Stratup Suite. Programy obsažené v tomto okně se načítají automaticky při každém spuštění AutoCADu a nemusíme se tak o jejich načtení starat.
Nespornou výhodou je i to, že máme naprostou jistotu, že všechny reference jsou umístěny a natočeny shodně.
Na dalších obrázcích je ukázka postupu při přenášení vkládacích bodů a natočení externích referencí.

xref1
Vložení části budovy do výkresu situace

xref2
“Ruční” srovnání půdorysu s katastrálními hranicemi.
Nyní zavoláme funkci xrget a vybereme zarovnanou referenci

xref3
Vložení půdorysu další budovy.

xref4
Srovnání půdorysu pomocí funkce xrputxy

xref5
Vložení výkresu zpevněných ploch a schodiště

xref6
Srovnání zpevněných ploch a schodiště pomocí funkce xrputxy

xref7
Vložení výkresu ohradní zdi

xref8
Srovnání ohradní zdi pomocí funkce xrputxy

xref9
Vložení půdorysů do další situace

xref10
Zavolání funkce xrputxy

xref11
Srovnání obou půdorysů podle řídící reference v jiném výkresu

Program používám pod AutoCADem Architecture 2013 převážně na rovnání výkresů typu Construct ve výkresech typu View. Lze ho ale používat zcela obecně i při 2D práci ve všech produktech na AutoCADu založených a samozřejmě i v AutoCADu samotném a to až do verze 2000 (snad)
Načtení vlx 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íku) ikonu vlx 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 s 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 doStartup 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.
Soubor xref.vlx s funkcemi si můžete stáhnout zde:
https://docs.google.com/file/d/0B8vvgahpGh3vYVVRTlcyYURxN1E/edit?usp=sharing
Jan Panoch

pondělí 18. února 2013

Pomůcka pro kótování podélných řezů v AutoCADu

Při kreslení podélných řezů čehokoliv, ale hlavně kanalizace mě vždy nejvíce zdržovalo vynášení nadmořských výšek dna potrubí, výkopu nebo terénu. Proto jsem se pokusil si tuto práci trochu ulehčit pomocí Visual Lispu a ODCL. Vznikl z toho malý prográmek, který po zadání požadovaných hodnot kótuje body na které ukážeme.
Funkce se spouští příkazem
kanal1po jejím zavolání se objeví dialogové okno, do kterého je třeba nejprve zadat
1) výšku srovnávací roviny (v metrech)
2) klepnutím na tlačítko "Úroveň srovnávací roviny..."  vybrat jakýkoliv bod na horizontální srovnávací rovině
3) klepnutím na tlačítko "Úroveň textu" vybrat horizontální úroveň, kam se vloží text výškové kóty
4) poté se může v okénku přepsat výška textu kóty a případně zatrhnout možnost, která zajistí vykreslení svislé čáry mezi kótovaným bodem a srovnávací rovinou
5) a nakonec se už jen klepne na tlačítko "Vybrat kótovaný bod"
kanal1

kanal2
Tento bod - respektive body - mohou být jak v úrovni dna potrubí, dna výkopu, povrchu terénu nebo čehokoliv jiného.  Nyní stačí už jen klepáním myší ukazovat na body, jež se mají okótovat. Dialogový panel zůstává celou dobu viditelný, takže lze průběžně měnit výšku umístění textu nebo možnost vynášení svislé čáry mezi bodem a srovnávací rovinou. kanal3
Vkládaná výškoví kóta je entita Mtext s neprůhledným bezbarvým pozadím, takže překryje i svislou čáru, kterou program také vynáší (někdy je přesto nutné zobrazení zregenerovat). kanal4
Standardně je vhodné mít možnost vynášení svislé čáry zapnutou při vynášení prvních výšek a později tuto možnost vypnout. Při vynášení výšek je třeba mít aktivní globální souřadnicový systém. kanal5
V souboru je definována ještě jedna funkce, která se spouští příkazem kanal2. Tato funkce vyzve k výběru křivky a výběru jakéhokoliv bodu na křivce. Poté ukáže dialogové okno se vzdáleností vybraného bodu od počátku a od konce křivky. Funkci lze využít v případě, že potřebujeme z výkresu situace zjistit například vzdálenost křížení řadu s jinou inženýrskou sítí od počátku řadu a tuto vzdálenost pak zanést i do podélného profilu. Řad musí být samozřejmě tvořen v celé délce jednou křivkou.
Program je konstruován tak, že jedna kreslící jednotka odpovídá jednomu milimetru.
kanal6
VLX soubor s popsanou funkcí si můžete stáhnout zde: Kanalizace

Protože je dialogové okno napsáno pomocí ODCL, je nutno mít pro chod této funkce v AutoCADu nainstalovaný bezplatný ODCL Runtime. Jeho aktuální verzi můžete stáhnout ze stránek
http://www.opendcl.com/download/
Je třeba stáhnout a nainstalovat OpenDCL Runtime, Stable Build, Windows Installer .MSI
Detailní postup instalace ODCL runtime a způsob načítání funkcí psaných ve Visual Lispu do AutoCADu je popsán v jednom z předchozích příspěvků zde:
http://cadcz.blogspot.cz/2013/02/co-je-treba-k-behu-funkci-s-odcl-dialogy.html
Jan Panoch

pátek 15. února 2013

Co je třeba k běhu funkcí s ODCL dialogy

Hodláte–li distribuovat svoje LISPovské funkce s dialogy psanými v ODCL i ostatním uživatelům, anebo si chcete takovou funkci spustit, je nutné, mít na počítači nainstalovaný OpenDCL Runtime. Ten lze stáhnout z adresy http://www.opendcl.com/download/
Na stránce je kromě runtime ke stažení i OpenDCL Studio, které ale pro spuštění funkcí s ODCL dialogy není nutné. Obyčejně se na stránce vyskytují dvě verze runtime (stable a current build). Current build je většinou potřeba stáhnout  v případě že by funkce s ODCL dialogy měla běžet na zcela nové verzi AutoCADu nebo produktu na něm založeném, obzvlášť došlo-li mezi poslední a předposlední verzí AutoCADu ke změně formátu DWG. V ostatních případech postačuje stáhnout stable build.
U OpenDCL Runtime je možno stáhnout Windows Installer. MSI nebo Windows Installer Merge Module.MSM. MSI soubor je klasický instalátor, který si uživatel funkce nainstaluje před prvním spuštěním. MSM soubor je modul, který může být součástí dalšího instalátoru. Jedná se tady o soubor, který by využily pouze tvůrci programů, pokud by chtěli na svoje funkce psát instalátory. To ale vzhledem k malé velikosti ODCL Runtime není potřeba. Celý runtime je menší než 4 MB a je ho tedy možné poslat společně s funkcí třeba emailem.
Instalace OpenDCL Runtime (Windows Installer. MSI) je velmi rychlá a nijak se viditelně neprojeví. Pokud byl při instalaci spuštěn AutoCAD je třeba ho ukončit a znovu spustit.
To, že je ODCL Runtime nainstalovaný správně můžeme poznat podle toho, když napíšeme do příkazové řádky příkaz
_opendcl
Jestliže AutoCAD nahlásí
Unknown command "OPENDCL".  Press F1 for help.
pak instalace neproběhla správně a OpenDCL Runtime neběží.
Pokud AutoCAD nenapíše nic, tak instalace proběhla správně a OpenDCL Runtime běží.
Od této chvíle se do AutoCADu bude při každém spuštění Runtime načítat a všechny funkce s ODCL dialogy se budou zobrazovat správně.
Načtení lsp nebo vlx 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 nebo vlx 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.
ap01 ap02

Jan Panoch