Vytisknout stránku | Zavřít okno

Lze vylepšit FIXBLOCK?

Vytištěno z: CAD Fórum
Kategorie: Autodesk - stavebnictví, strojírenství, CAD/GIS
Název fóra: AutoCAD
Popis fóra: Otázky kolem aplikací AutoCAD a AutoCAD LT, AutoCAD 360, prohlížečů, DWG a DWF, Design Review, Navisworks, nadstavby, 123D, A360 a cloud Autodesk 360
URL: https://www.cadforum.cz/forum/forum_posts.asp?TID=9505
Datum vytištění: 12.kvě.2026 v 23:51


Téma: Lze vylepšit FIXBLOCK?
Odeslal: rychetsky
Předmět: Lze vylepšit FIXBLOCK?
Datum odeslání: 22.říj.2009 v 12:08
Dobrý den.
Chci se zeptat nějakého LISPového mága...
Docela často používám fixblock, nicméně teď mám rozdělaný projekt kde je spousta externích výkresů, které obsahují spoustu bloků a díky tomu má projekt skoro 600 hladin. Pro mojí potřebu jsou ovšem tyto externí hladiny zbytečné. Když použiji Fixblock, tak mi to sice blok převede do hladiny "0", ale pokud jsou v bloku vnořené další bloky v jiných hladinách, tak se jich jednoduše nezbavím. A editovat několik set až tisíc bloků ručně by zabralo nehorázné množství času.
 
Proto se ptám, existuje něco jako Fixblock ale s tím, že by převedl do hladiny "0" úplně všechny bloky, které se ve výkrese nachází bez ohledu na úroveň jejich vnoření?



Odpovědi:
Odeslal: Vladimír Michl
Datum odeslání: 22.říj.2009 v 22:09
Není potřeba nic vylepšovat - vestavěný příkaz [CMD]NASTAVDLEHLAD[/CMD] to zařídí - viz:
http://www.cadforum.cz/cadforum/qaID.asp?tip=2426 - http://www.cadforum.cz/cadforum/qaID.asp?tip=2426

-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz helpdesk.arkance-systems.cz)


Odeslal: rychetsky
Datum odeslání: 26.říj.2009 v 11:51

Vestavěný příkaz to sice zařídí, ale přesně tak jak jsem popsal výše. Bloky, které jsou ve výkrese uvede do hladiny "0", ale nedej bože, aby byly v bloku vnořené bloky další.

Potřebuji převést úplně všechny bloky ve výkrese do jedné hladiny a potom si je přiřadit ke svým vlastním.

Ve výkrese je několik tisíc bloků a pokud jsou vnořeny v nějakém bloku, tak s tím ani fixblock ani http://www.cadforum.cz/cadforum/command.asp?Cmd=NASTAVDLEHLAD -  nic neudělají.

 

Pokud si myslíte, že ano, tak si vytvořte blok v hladině „X“ vložte do něj jiný blok v hladině „Y“ a ten ať zároveň obsahuje blok v hladině „Z“. Pokud Váš tip dokáže všechny bloky převést do hladiny „0“ tak něco dělám špatně.

 

Ale obávám se, že vaše tipy prostě neberou v potaz případné vnoření bloků.

Já potřebuji jedním příkazem převést naprosto všechny bloky do jedné hladiny, nehledě na úroveň jejich vnoření.

 

Zkoušel jsem příkazem Rychle vybrat... vybrat všechny bloky ve výkrese a pak použít   http://www.cadforum.cz/cadforum/command.asp?Cmd=NASTAVDLEHLAD - . Příkaz proběhl, ale bloky vnořené v blocích zůstali v původních hladinách.

 
Confused


Odeslal: Martin Bielina
Datum odeslání: 26.říj.2009 v 13:24
Zkuste tuhle variantu Fixblocku. Možná to váš problém vyřeší.

uploads/20091026_132058_fixblock.lsp" rel="nofollow - uploads/20091026_132058_fixblock.lsp


Odeslal: Vladimír Michl
Datum odeslání: 26.říj.2009 v 13:27
Máte pravdu, nepřečetl jsem si to pořádně - NASTAVDLEHLAD neřeší váš problém, ale problém explicitně přiřazených vlastností (barev). To je něco jiného.
 
Přiřazení hladin blok/bloků do hladiny 0 ale řeší jiná LISP utilita - BL0 (taktéž na Download). Umí i vnořené bloky.


-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz helpdesk.arkance-systems.cz)


Odeslal: rychetsky
Datum odeslání: 26.říj.2009 v 13:50

Tu jsem zkoušel a nevím, jestli je to tím, že mám ACAD 2010...ale když jí použiju, tak sice blok převede bez problému, ale pak to rozhází vnořené bloky do šílené vzdálenosti.

Viz obrázek>
 


Odeslal: rychetsky
Datum odeslání: 26.říj.2009 v 13:56
Je zajímavé, že něco podobného co jsem nakousnul já, se na fóru už kdysi řešilo, ale nedořešilo > viz link
 
http://www.cadforum.cz/forum/forum_posts.asp?TID=2692 - http://www.cadforum.cz/forum/forum_posts.asp?TID=2692


Odeslal: Martin Bielina
Datum odeslání: 26.říj.2009 v 13:59
Tak to je opravdu zvláštní chování, protože ten LSP manipuluje pouze s vlastnostmi "hladina" a "barva". Nemohlo by to být třeba různými jednotkami bloků (metry, milimetry, palce atd.)? Ty ten LSP ale taky nemění, to jsem si jistý. Už mě napadá to pouze vyzkoušet sám přímo na vašem souboru. Můžete mi poslat třeba jen nějaký slepý výřez na PM?


Odeslal: rychetsky
Datum odeslání: 26.říj.2009 v 14:23
Mám zajímavý poznatek.
Pokud vložím blok do nového dwg, tak vše proběhne jak má...ikdyž některé entity změní svojí polohu v řádech desítek cm.
Problém je v layoutu ve kterém je tento blok vložen. Tak když spustím Bl0 tak začne tento blok postupně mizet, až se nakonec "rozsype" okolo původního umístění.
 
Dotyčný blok bych Vám zaslal, ale v PM nemohu dát přílohu a striktní zabezpečení naší sítě mi neumožňuje nahrát blok někam ven...


Odeslal: Martin Bielina
Datum odeslání: 26.říj.2009 v 14:50
Bl0 by to dělat mohl, protože ten manipuluje mimo jiné i s měřítky. Zkusil jste ten LSP, který jsem Vám nabídnul já. Je to skoro neznámá varianta FIXBLOCK, která když místo výběru konkrétního stisknete enter, opraví všechny bloky ve výkresu tak jako by to udělal původní FIXBLOCK jen s jediným vybraným blokem a tedy i s vnořenými bloky.

Není úplně doladěná, takže výpis pokynů na příkazovém řádku nejsou takové jak bych si to představoval, ale bohužel nemám čas všechno doladit až do úplného konce a tenhle kód je bezezbytku přejatý. Neudělal jsem v něm jedinou úpravu, ale funguje na 100%.


Odeslal: rychetsky
Datum odeslání: 26.říj.2009 v 15:09
Paráda...vše proběhlo bez problémů.
Děkuji za pomoc...tohle je to, co jsem potřeboval.
 
Clap


Odeslal: rychetsky
Datum odeslání: 26.říj.2009 v 15:15
Takhle to dopadá, když máte zapnuté dynamické zadání a nečtete si pro sichr příkazový řádek Wink.
Děkuji



Vytisknout stránku | Zavřít okno