CAD tip # 13521:
Otázka
Tento "text-feeder" můžete využít pro vyhledání a vyplnění textu/atributu v DWG výkresu z převodní tabulky v Excelu (např. ceníky, číselníky, produktové katalogy, telefonní seznamy, nájemní smlouvy, IP adresy, apod.).
Zpracuje jakoukoliv tabulku v XLS nebo CSV, kde v nějakém (zdrojovém) sloupci jsou uloženy hodnoty, podle nichž se hledá (např. objednací číslo, číslo místnosti), a v jiném sloupci nebo sloupcích (cílových) jsou hodnoty, které se přenesou do DWG (nahradí či doplní). Listy a sloupce se specifikují v aplikaci. Lze je určit libovolně, takže můžete např. vyhledat hodnotu ve sloupci D a vyplnit do zvolených atributů v DWG souboru odpovídající hodnoty sloupců B a G z Excelu.
Nahrazovat lze vybrané texty (přímé vyhledání a nahrazení či doplnění jeho hodnoty) nebo atributy bloků. Pro bloky je potřeba specifikovat název zdrojového atributu (možno ukázat nebo zadat název wildcard maskou) a název cílového atributu (opět buď ukázat nebo zadat název), nebo lze zadat seznam názvů atributů oddělený čárkami.
Pro vybrané DWG objekty se pak provede "lookup" tedy vyplnění/nahrazení hodnot z XLS tabulky. Např. u bloků s uvedením obj.čísla se doplní cena, SAP-kód, požární odolnost, popis materiálu, překlad textu apod. V módu Hyperlink lze k DWG objektům rovněž doplnit hyperodkazy z XLS.
Můžete rovněž předzpracovat zdrojové (vyhledávané) hodnoty formou podřetězce nebo regulárního výrazu - např. (No.\\d\\d\\d) vyhledá pouze červenou část textové hodnoty Pin No.532 used. K vyhledaným hodnotám lze připojit předponu a příponu.
Všechny parametry namapování (filename, list, sloupce, názvy atributů, mód, regex...) se ukládají do DWG souboru, takže při příštím použití (aktualizaci hodnot) stačí jen potvrdit parametry a vybrat objekty.
Je rovněž kontrolován čas poslední aktualizace z lookup tabulky a porovnáván s časem změny XLS souboru (timestamp) - a je-li XLS novější, zobrazí se upozornění, výzva k opakované lookup-aktualizaci výkresu.
XLS soubor "ceníku" je také poznamenán do DWG souboru tak, aby byla tabulka automaticky předávána zároveň s DWG při funkci eTransmit. To se ale provede jen pokud je předem nastavena LISP proměnná:
(setq _lookupXLSaddlink T)
Viz ukázka:
Utilitu LookupXLS si stáhněte z Download a VLX soubor načtěte do AutoCADu pomocí APLČTI. Pak napište příkaz LookupXLS pro vyhledání a vyplnění hodnot. Potvrďte uložené hodnoty nebo zvolte XLS/CSV zdroj dat a určete zdrojový sloupec a cílový sloupec, resp. sloupce tabulky. Při práci s atributy bloků zvolte atributy ukázáním nebo názvem (maskou, seznamem). Upravované objekty vyberte oknem nebo maskou názvu bloku (i dynamického). Vyžaduje nainstalovaný MS Excel.
Pomocný příkaz Lookup1 zobrazuje lookup hodnoty pro zadané zdrojové texty.
Pomocný příkaz LookupCheck zkontroluje aktuálnost XLS tabulky.
Ukázkový DWG výkres a XLSx tabulka přiložena ve staženém ZIP archivu.
Pomocí LISP proměnných si můžete předdefinovat implicitní hodnoty:
(setq __AR:srcAtt "OrderNo") ; zdrojový atribut (setq __AR:tgtAtt "Price") ; cílový atribut (setq __AR:bmask "*") ; maska vybíraných bloků (setq __AR:default "") ; výchozí hodnota při nenalezení v tabulce (setq __AR:XLSline 1) ; číslo prvního řádku v tabulce (s názvy polí) (setq _LookupXLSnotrim T) ; neořezávat mezery vyhledávaných XLS hodnot