Zobrazit plnou verzi příspěvku: Hromadná změna výšky textu atributu

Mikemamm
09.10.2009, 10:21
Dobry den, jak se da zmenit hromadne (vyberu napr 50 bloku, ktere obsahuji atributy s vyskou textu napr 100) vyska textu u bloku s atributy ?

Vladimír Michl
09.10.2009, 10:32
50 různých bloků? Pak např. pomocí DDCHTEXT (starší utilita, máme na BBS).

Mikemamm
09.10.2009, 10:35
ve skutecnosti to neni 50 ruznych bloku, ale cca 10 ruznych, nicmene kazdy editovat zvlast mi prijde otravne, vyzkousim DDCHTEXT, zatim dekuji

Mikemamm
09.10.2009, 10:50
Podle toho co jsem stahl je to shareware a nejak se mi nedari oznacit vice bloku.
Nelze nejak jednodusse oznacit 1 blok, ve kterem jsou atributy a zmenit vysku techto atributu, aniz bych musel editovat blok ?

Buba
09.10.2009, 12:42
Príkaz _GATTE (Global Attribute Edit), ale to je len vrámci definície jedného bloku. Máte 50 blokov, alebo 50 výskytov jedného bloku?

Mikemamm
09.10.2009, 12:59
Prikaz _gatte mi nepomohl, podle toho co pise po zadani v prikazovem radku, tak umoznuje prepsani textu.
Priblizim situaci: Mam dynamicky blok dveri, ve kterem mam vnoreny atribut jako kota sirky a vysky dveri s vyskou textu 100, pokud tisknu studii, tak je text vetsinou maly a potrebuji jejzvetsit jen v nekterych castech vykresu (ne globalne) - tudiz se chci vyhnout editaci dyn bloku, rad bych oznacil jen nektere dvere a u nich bych zmenil vysku textu na napr 150, rucne po jednom to lze zmenit v atributu, ale potreboval bych to hromadne (v tomto pripade se jedna pouze o jeden blok, ktery je ve studii nekolikrat, akorat dynamicky pozmenen). Pripad nekolika ruznych bloku neni az tak dulezite resit, tedy pokud lze toto co pisi resit jednoduchou funkci, tak i ostatni "RUZNE" bloky zmenim stejnou funkci. Ale nedari se mi menit hromadne a po jednich dverich to menit je otrocina

vbehun
09.10.2009, 13:46


Dejte si pod tlačítko makro:---Výška atributuzměna výšky (textu) atributu bloku^C^C_-attedit a ;;;\ _h---na těch 10 výskytů postačí ... můžete si makro upravit ještě zadáním požadované výšky ...vbehun2009-10-09 14:56:30

Mikemamm
09.10.2009, 17:28
vbehun - presne toto jsem potreboval, jeste by mne zajimalo:
Oznacim pomoci tohoto makra dva atributy a musim je menit zvlast (2x musim zadat V-vyska a pak hodnotu vysky) Jak doplnim do makra, aby pri pouziti rovnou naskocila volba vyska ? Lze nastavit tak, aby zadani vysky platilo rovnou pro oba atributy ? Jen pro info, jak nastavit rovnou do makra, aby se zmenil atribut na napr 150 vysku ?
Neni nekde nejaky navod/pruvodce vytvareni maker ?
Dekuji
P.S. O makrech skoro nic nevim :(, rad bych se naucil, proto se ptam ..Mikemamm2009-10-09 17:30:05

vbehun
09.10.2009, 21:06







Původní makro:---Výška atributuzměna výšky (textu) atributu bloku---^C^C_-attedit _y ;;;\ _h ---úprava 1:^C^C_-attedit _y ;;;\ _h 5;změní hodnotu výšky na "5" a zůstane na volběZadejte volbu [hOdnota/pozIce/Výška/Úhel/Písmo/Hladina/Barva/Další] <D>: _hs přednastaveným"_h" jako "height" = výška(podtržítko před anglickým příkazem - použití v lokalizovaných verzích)---úprava 2:^C^C_-attedit _y ;;;\ _h 5;;změní výšku na "5" a končí.---Ostatní najdete v nápovědě - hledejte témata související s výrazem "Makro"---například: "Ukončení maker nabídek:"(tato nápověda není původně pro makra, ale pro tvorbu nabídek - nicméně je v zásadě použitelná - a určitě najdete lepší)---[CODE]Když vyberete položku v nabídce, AutoCAD automaticky připojí mezeruna konec makra před provedením sekvence příkazů.AutoCAD LT vyhodnotí následující makro nabídky, jako kdybyste zadaliúsečka a potom stiskli mezerník. [Úsečka]line To je někdy nežádoucí, například TEXT je nutné ukončit stiskem klávesyENTER, ne mezerníku. Někdy také potřebujete více než jednu mezeru(nebo ENTER), ale některé textové editory neumožňují zadat mezery nakonci řádku. V těchto případech existují dvě řešení:Když se v makru nabídky objeví středník (;), AutoCAD LT jej nahradíENTER.Jestliže končí řádek řídicím znakem, obráceným lomítkem (\), znaménkemplus (+) nebo středníkem (;), AutoCAD LT za něj nepřidá prázdné místo.Na následujícím příkladu je nabídka Vymazat 1:[Vymazat 1]erase \; Pokud byste pro tuto položku ponechali pouze obrácené lomítko (kteréoznamuje čekání na vstup uživatele), volání příkazu VYMAŽ by selhalo,protože AutoCAD LT by za obrácené lomítko nepřidal mezeru. Proto totomakro používá středník (;) pro vyvolání ENTER po uživatelském zadání.Zde je několik příkladů: [USS ] ucs [USS G ]ucs ; [Adresa ]text \.4 0 DRAFT Inc;;;Main St.;;;City, State; První příklad zadá na příkazovém řádku uss a stiskne mezerník, čímže sezobrazí následující výzva. Nový/Zosa/3bod/Entita/Pohled/X/Y/Z/Předchozí/Obnov/Ulož/Vymaž/?/ <Globální>:Druhý příklad zadá uss, stiskne mezerník a stiskne klávesu ENTER, takžeje přijata výchozí hodnota Globální. Na obrazovce by nebyl patrný žádný rozdíl mezi prvním a druhým příkladem; přirozeně byste nedali oba dostejné nabídky. Třetí příklad zobrazuje výzvu na zadání počátečního bodu a potom napíšena tři řádky adresu. U třikrát se opakujícího středníku (;;;) ukončuje prvnístředník textový řetězec, druhý způsobí opakování příkazu TEXT a třetívolá výchozí umístění pod předchozím řádkem. [/CODE]---vbehun2009-10-09 23:07:44

Mikemamm
10.10.2009, 09:00
Moc dekuji za podrobny popis, chvili jsem se v tom hrabal a pochopil o cem je rec - to jsem potreboval. Nicmene jeste ohledne makra ^C^C_-attedit _y ;;;\ _h
Kliknu na toto makro, dale mysi vyberu atributy bloku a nasledne se me v prikaz radku zepta "Zadejte volbu [hOdnota/pozIce/Výška/Úhel/Písmo/Hladina/Barva/Další] <D>:" kde jiz rucne musim doplnit bud _h nebo V a pak na dalsim radku zadat hodnoty vysky. Zkousel jsem si s tim makrem hrat vselijak, ale nikdy jsem nedosahl vysledku, kde po zmacknuti makra bych vybral atribut a nasledne by me to zmenilo napr na vysku 150 - vzdy musim vybrat volbu Vyska a pak hodnotu.
Prepodkladam, ze v makrech "\" znamena "cas na vstup uzivatele" - v tomto pripade vyber atributu, ale co je za "\" tak uz se mi do prikazoveho rakdu nevyplni. Jak tedy v tomto pripade lze udelat makro tak, aby sem spustil makro - vybral atribut - automaticky by to preskocilo na vysku, kterou bych zadal ? Dekuji
P.S. vbehun - velmi Vam dekuji za objasneni maker :)

vbehun
10.10.2009, 19:25

Dobrý den,tato úprava funguje dle požadavků (_n = next = další) a navíc hvězdička zajistí opakování, viz níže seznam speciálních znaků:---opakovaný výběr------*^C^C_-attedit _y ;;;\ _h \_n;---[CODE]Speciální znaky v makrech Znak Popis ;       Stisknutí klávesy ENTER ^M      Stisknutí klávesy ENTER ^I      Stisknutí klávesy TAB [SPACE] Vloží mezeru; mezera zadaná mezi volbami příkazu je vyhodnocena        stejně jako stisknutí mezerníku  \       Pozastavení pro vstup uživatele _       Přeloží anglický název příkazu nebo klíčového slova AutoCADu na aktuální         jazykovou verzi +       Makro pokračuje na další řádce (pokud je posledním znakem) =*      Zobrazí obrázek, rozbalovací nebo kurzorovou nabídku *       Opakuje makro, který následuje za hvězdičkou $       Speciální znak, který načte sekci nabídky nebo uvozuje podmíněný výraz         jazyka DIESEL ($M=) ^B      Zapne nebo vypne režim uchopení (CTRL+B) ^C      Stornuje aktuální příkaz ^D      Zapne nebo vypne režim COORDS (CTRL+D) ^E      Nastaví další izometrickou rovinu (CTRL+E) ^G      Zapne nebo vypne režim rastru (CTRL+G) ^H      Stisknutí klávesy Backspace ^O      Zapne nebo vypne režim Orto (CTRL+O) nebo otevře existující výkres  ^P      Vytiskne aktuální výkres  ^Q      Provede výstup všech řádků, seznamů stavů a vstupů na tiskárnu (CTRL+Q) ^T      Vypne nebo zapne tablet (CTRL+T) ^V      Nastaví jako aktuální jiný výřez (CTRL+V) nebo vloží data ze schránky  ^Z      Prázdný znak, který potlačuje automatické přidání mezery         (klávesa mezerník) na konci položky nabídky     [/CODE]---P.S.Opakování ukončíte klávesou [Esc] ...
vbehun2009-10-10 19:28:46

Mikemamm
11.10.2009, 11:17
Je to divne, at delam co delam, tak mi stale nefunguje.
Pod tlacitkem mam makro *^C^C_-attedit _y ;;;\ _h \_n; a nasledne musim rucne vybrat atribut, po vyberu atributu musim dat enter a v prikazovem radku se mi objevi Zadejte volbu [hOdnota/pozIce/Výška/Úhel/Písmo/Hladina/Barva/Další] <D>: kde musim zadat _h nebo V a nasledne 150 a enter. Co mam tedy spatne kdyz mi to nepreskoci rovnou na ciselne zadani vysky (kde dam 150) textu atributu ?Mikemamm2009-10-11 11:18:11

vbehun
11.10.2009, 16:30



Dobrý den,špatně je to, že jsme si neporozuměli v tom, jak má celá věc fungovat.Předpokládal jsem, že chcete pokaždé zadat výšku - pokaždé jinou - a to celé opakovat. To je takto:---opakovaný výběr, různé výšky*^C^C_-attedit _y ;;;\ _h \_n;---Pokud chcete opakovaným vybíráním měnit atribut na jednu(v makru zadanou) výšku, je to takto:---opakovaný výběr, jedna - zde zadaná - výška (v tomto případě 10)*^C^C_-attedit _y ;;;\ _h 10;;--- 
vbehun2009-10-11 16:32:35

Mikemamm
11.10.2009, 19:06
Bohuzel musim rict, ze mi to stale nefunguje, stale se pomoci makra i tohoto
*^C^C_-attedit _y ;;;\ _h 10;;
dostanu pouze do nabidky "Zadejte volbu [hOdnota/pozIce/Výška/Úhel/Písmo/Hladina/Barva/Další] <D>:" kde nasledne musim zada V enter 150 a zmeni se text. Ja uz tedy nevim, zkousel jste toto makro zda to meni tak jak ma, nebo to blbne jenom me ? Dekuji, omlouvam se za otravovani ..

vbehun
11.10.2009, 20:37




Dd, máte český nebo anglický AutoCad ? Podle výpisu vidím, že český ...Tedy zkuste napsat "a" místo "_y" a "v" místo "_h".V anglické verzi napište jen "y" (jako yes) a "h" (jako height).Když totéž děláte ručně, funguje to ? Tedy když píšete na příkazovém řádku uvedené příkazy ... místo středníku Enter ... atd.Když si to takto nasimulujete ručně, funguje ?P.S.U mne samozřejmě chodí ...
vbehun2009-10-11 20:48:20

Mikemamm
11.10.2009, 22:11
Makro jsem tedy zmenil na    *^C^C_-attedit a ;;;\ v 10;;
a stale je to uplne to same, dostanu to do faze kde vybiram atribut mysis a nasledne musim do prikazoveho radku zadat v a pote ciselnou vysku.
Pokud vypisuji prikaz rucne do pr radku _-attedit a nasledne potvrzuji (odpovidam) na vyzvy, tak vse funguje.
Abych to uvedl na pravou miru, tak mi to makro funguje po "\" co nasleduje za timto znakem uz musim vybrat a zadat rucne :(
P.S. Zkousim to na dynamickem bloku dveri, kde menim vysku textu koty sirky a vysky dveriMikemamm2009-10-11 22:12:53

alfred
11.10.2009, 22:14
Zmenu vysky atributu (hromadne) umi moje prastara utilita "edit_atrib.lsp", ktera je napriklad v GGmenu.Nacistprikaz "MAEDIT"zvolit Atributynásobně-Výškavybrat blokyzvolit nazev atributu (pro vsechny *)hotovo...Pokud nechcete instalovat GGmenu, tak Vam ji klidne poslu, ale vykopirovat ji ze ZIP archivu neni tezke.Jinak krome toho umi i sirku atributu, barvu (krome zmeny na dlehlad). Zbytek funkci je jiz dnes prekonan standardnimi funkcemi AutoCadu.

vbehun
12.10.2009, 08:05


---edit---dnes (22.10.2009) vyzkoušeno na Autocadu LT 2010 - pracuje k plné spokojenosti---Dd,bohužel nemám dnes možnost vyzkoušet na Autocadu 2009 ani 2010, takže prosím ostatní o vyzkoušení (v nižších verzích funguje).[QUOTE=Mikemamm]Bohuzel musim rict, ze mi to stale nefunguje, ...[/QUOTE]vbehun2009-10-22 13:19:12

Mikemamm
12.10.2009, 08:32
[QUOTE=alfred] Zmenu vysky atributu (hromadne) umi moje prastara utilita "edit_atrib.lsp", ktera je napriklad v GGmenu. [/QUOTE]
GGmenu mam nainstalovane, ale o tomto lispu jsem nevedel, ani standartne nebyl nacteny, musel jsem ho nacist - nicmene funguje presne tak jak potrebuji- dekuji

Jinak pro informaci by mne opravdu zajimalo jak je to s tim makrem, aby vedel proc to nefunguje a mohl si vzit pouceni pri budouci tvorbe ... Kdyby to mohl nekdo vyzkouset, kdo ma verze 2009 ci 2010 a napsat zda mu to funguje, dekuji

Sedláček
12.10.2009, 08:57
Pro odladění maker musíte sledovat co se děje na příkazové řádce, resp. to zpětně zkontrolovat v textovém okně (F2). Stačí mezera navíc a už to nefunguje.