Zobrazit plnou verzi příspěvku: Přejmenování jedné instance bloku ve výkrese.

rychetsky
03.10.2012, 11:09




Dobrý den. Nezná někdo LISP, který by uměl následující
postup?

Chtěl bych přejmenovat jednu instanci bloku tak, aby ostatní
instance tohoto bloku zůstaly nezměněny.

Normálně to dělám tímto způsobem. Otevřu blok v editoru
bloků > uložit blok jako > návrat do výkresu > vložit blok > vyberu
blok s novým názvem> vložím blok na místo původního > původní  blok smažu. Tento postup je bohužel poněkud
pracný a časově náročný, pokud to chci dělat s více bloky.

Potřeboval bych utilitu, pomocí které bych změnil název
bloku, který vyberu myší. Ale pouze toho jediného bloku. Takže pokud je tento
blok ve výkresu např. 5x, tak zbylé 4 instance by zůstali nezměněny s původním
názvem.

Poradí mi někdo?


splonk
03.10.2012, 12:14


Zkuste utilitu CADStudia "riblock.vlx"...-> sice neumi prejmenovat ale umi krasne nahradit... (mozna ze je to uz jinak... a ja mam neaktualni verzi...?)A nemate nahodou v kotextove nabidce bloku neco jako "Copy block definition and assign..."  ... v ACA to je...?

Buba
03.10.2012, 12:20
Ešte by sa to dalo nasledovným spôsobom:
Blok vkladať z externého DWG (A.dwg)
Blok vložený nech sa volá A.dwg, následne vrámci pracovného výkresu _RENAME premenujete blok A na blok B. A zase vložíte externý blok A.dwg, a tak dookola. Vždy novo vložený bude mať názov A a tie predtým budú postupne premenované po skupinách.Buba2012-10-03 12:21:22

rychetsky
03.10.2012, 12:56


Tak "Copy block definition and assign" mi nefunguje.Pokud bych chtěl bloky nahradit, tak mohu použít funkci "Replace Block" z Express Tools, ale to je právě to co nechci. To Buba: Nehledám žádné "kostrbaté" řešení. Potřebuji něco, co funguje v modelovém prostoru. Jinak mohu zůstat u své původní metody. 

Uvedu
příklad toho, o co mi jde. Mám výkres, kde je vložený např. 50x blok lavičky.
Já chci, aby 49 laviček zůstalo tak jak jsou a pouze ta jedna vybraná aby
změnila název a já jí mohl dále upravovat, aniž bych se musel obávat, že to
bude mít vliv na původní blok "lavička".


Mantlík
03.10.2012, 13:33


Obávám se, že asi jeden z x bloků stejného jména jednoduše nepřejmenujete, musela by se někam ulužit i jeho definice (i když nevylučuji, že p. Michl něco takového nestvoří ... ) V zásadě bych s malým doplněním souhlasil se Splonk(em):1) uložit pozměňovaný blok do externího souboru (je-li pouze interní) - nebo zkopírovat ho pod jiným jménem (pokud ho máte jako externí blok)Stejně ho budete otvírat kvůli změnám2) upravený blok si někam načtete do výkresu (aby byl interní a )3) zmiňovanou utilitou RIBLOCK (či starší REBLOK) snadno nahradíte POUZE JEDNU (či více) umístění původního bloku novým - na stejný vkládací bod, se stejným měřítkem a natočením, jako měl původní blok PS. "Replace Block" z ET Vám (na rozdíl pod výše uvedených utilit) nahradí VŠECHNY existence bloku stejného jména  ve výkresu

splonk
03.10.2012, 13:38


Jen drobne upresneni... :)Ono "copy block..." je prikaz ktery se nachazi v kontextove nabidce v AutoCAD Architecture... V holem CAU myslim neni... Dela presne to co popisujete v tomto prispevku... >> kllikn na blok, zepta se mne na nove jmeno bloku, napisu nove jmeno, dam OK ajeto<<  - mam novy blok vypadajici stejne jako jeho "zdroj" a muzu ho vesele upravovat dal.Vam to ale asi moc nepomuuze, kdyz ho tam nemate, ze? :-(."RIblock" pak dela to, ze kdyz se rozhodnu, ze ve vykresu s 50ti lavickami jich chci vymenit, ne jednu ale 23, utilitak mi je vymeni. Predpokladem ale je, ze ve vykrese uz musim mit dany blok nadefinovan (napr. zpusobem uvedenym vyse nebo jakkoliv jinak) Otazka pro CADStudio: neslo by prosim napsat utiltku ktera by delala to ono "Copy block definition and assign" (pokud neco podobneho uz neexistuje :))? Myslim, ze by se to hojne uzivalo...Dekuji...

rychetsky
03.10.2012, 13:55



Tak LISP existuje a najdete ho zde. BlockDupNewName.lsp http://cadtips.cadalyst.com/blocks-general/make-a-new-block-old-block
rychetsky2012-10-03 13:59:23

Vladimír Michl
03.10.2012, 14:01
Nelze "přejmenovat" instanci bloku. Nějak se "jmenuje" jen definice bloku (ta co není vidět) a všechny INSERTem vložené instance jsou jen odkazy na dané jméno bloku.
"Přejmenování instance" je tedy ve skutečnosti nahrazení původního odkazu na jiný odkaz (jinou definici bloku) - a to je to co dělá ta zmíněná utilita RIBlock (ten jiný blok ale už musí existovat).

rychetsky
03.10.2012, 14:10
Mohl jsem to napsat přesněji, ale nevěděl jsem jak to napsat, aby ostatní rozuměli co tím myslím.Tou instancí jsem samozřejmě neměl na mysli "definici" bloku v rámci výkresu, ale fyzickou pozici bloku v modelovém prostoru (odkaz).Nicméně LISP dělá přesně to, co jsem potřeboval, takže považuji tento problém za úspěšně vyřešený. Díky všem za pomoc! 

splonk
03.10.2012, 14:16


No vyborne pane rychedsky!!! Dekuji :-)!Muzete taky zkusit nasledujici postup... cely postup funguje bez LISPu, tudiz doufam funkcni i na LT:Vyberu vsechny bloky, u kterych potrebuju aby zustaly nezmeneneho jmenazadam _CopyBase (kopirovat s vkladacim bodem 0,0,0)hned pote uz oznacene objekty smazu klavesou Del (objkety, zn. boku s puvodnim jmenem zustavaji ve schrancePrikazem _rename prejmenuju stavajici blok...Prikazem Ctrl+V;0,0,0 si zpetne vkopiruju bloky ze schranky - tzn. bloky s puvodnim jmenem... (POZOR prikaz _oops v toto pripade asi fungovat nebude :))_SavePostup bych si nejdriv nanecisto vyzkousel... preklep by mohl byt fatalni... a tkhle nejak by mohl fungovat i LISP ktery by delal presne to, coste popisoval na zacatku!!!Panu Mantlikovi dekuji za doupresneni... :-)zdravimJASponza

Mantlík
03.10.2012, 14:24


Ad Splonk: Já jsem zase díky Vám zjistil, že existuje novější Riblock (ze setrvačnosti jsem používal starší Reblok) Ad Rychetsky: Vaše hledání a nalezení bude určitě prospěšné i jiným ...