ARKANCE - globální Platinum partner Autodesk ARKANCE | KONTAKT - CZ | SK | EN | DE
Registrujte se na 22. ročník konference CADfórum 2025 - 30.9. Zámek Valeč.
Přes 119.000 registrovaných u nás, celkem 1.099.000 registrovaných (CZ+EN), přes 53.000 CAD/BIM bloků. Vyzkoušejte nový přesný Inženýrský kalkulátor a aktualizovaný Generátor čarových kódů.
RSS kanál - CAD tipy RSS tipy
RSS diskuze

Diskuze Diskuzní fórum, poradna

?
CAD diskuze, rady, výměna zkušeností

CAD Fórum - Homepage Veřejné diskuzní fórum k CAD aplikacím - ptejte se na libovolné otázky týkající se oboru CAx, podělte se o vaše znalosti a zkušenosti s programy AutoCAD, Inventor, Revit, Fusion, 3ds Max, Vault a s dalšími CAD/BIM/PDM aplikacemi. Zaregistrujte se nebo se přihlašte a zašlete váš příspěvek do odpovídajícího fóra. Viz další informace o CAD Fóru. Nechcete se registrovat? Zeptejte se v naší Facebook poradně.
Fórum nenahrazuje technický support firmy ARKANCE (CAD Studio) - přímá podpora pro zákazníky funguje na helpdesk.arkance-systems.cz
  FAQ FAQ  Prohledat fórum   Události   Registrovat Registrovat  Přihlásit Přihlásit

Změna hladiny bloku podle entit, které ho tvoří

 Odpovědět Odpovědět archiv
Autor
Pavel Pospíšil Zobrazit panel
Nováček
Nováček

Přihlášen: 08.zář.2005
Stav: Offline
Bodů: 6
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace Pavel Pospíšil Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Téma: Změna hladiny bloku podle entit, které ho tvoří
    Zasláno: 8 hodin 23 minut zpět v 09:56
Dobrý den,
mám ve výkrese bloky, které jsou tvořeny entitami s nastavenou Tloušťkou čáry, Typem čáry, Barvou a Hladinou. Všechny entity v každém bloku mají tyto vlastnosti nastavené stejným způsobem. Samotné bloky jsou v hladině 0. Ve výkrese jsou nižší desítky unikátních bloků s takovými vlastnostmi, z nichž každý má větší množství duplicit. Celkové množství bloků ve výkrese je v řádu tisíců, někdy nízkých desetitisíců.
Rád bych dosáhl toho, aby

minimum: jedním příkazem nastavím pro každý blok takovou hladinu, jakou mají jeho entity (hromadně, pro všechny jeho duplicity současně). Dneska to dělám tak, že otevřu "Blok1" v editoru bloků, zjistím, že jeho entity jsou v hladině "28", poznamenám si to nebo si to zapamatuji, zavřu editor bloků, Rychlým výběrem vyberu ve výkresu všechny "Bloky1" a hromadně změním jejich hladinu z "0" na "28"

v lepším případě: když už mám otevřený ten editor bloků, potřebuji změnit Tloušťku čáry, Typ čáry a Barvu na "DleHlad" a Hladinu entit na "0". Takže by se mi hodilo, kdybych dokázal jedním nebo dvěma příkazy změnit hladinu bloku podle entit, ze kterých se skládá a pak ty entity nastavit na výše uvedené hodnoty. Opět hromadně, pro všechny duplicity "bloku1"

v dokonalém světě: úplně dokonalé by bylo udělat to pro všechny bloky ve výkrese naráz. "Blok1" má entity v hladině "28", potřebuji ho tedy dostat do hladiny "28" a jeho entity přenastavit viz výše. Ve všech jeho duplicitách. "Blok2" má entity v hladině "11", potřebuji tedy všechny "Bloky2" dostat do hladiny "11" a entity, které ho tvoří, nastavit opět na "DleHlad" a hladinu "0". A tak dále.

Děkuji za případné tipy.

Pavel Pospíšil.
Zpět nahoru
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
ARKANCE

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Implementujeme řešení Autodesk
Stav: Offline
Bodů: 21978
Možnosti příspěvku Možnosti příspěvku   Poděkování (1) Poděkování1   Citace Vladimír Michl Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 5 hodin 14 minut zpět v 13:05
Můžete vyzkoušet aktualizovanou verzi naší utility SetByBlock. Volitelně umí povýšit vlastnosti definičních entit bloku na vlastnosti reference daného bloku.

Vladimír Michl (moderátor)
ARKANCE CZ - arkance.world
(podpora viz helpdesk.arkance-systems.cz)
Zpět nahoru
Petr75 Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 16.úno.2007
Lokalita: ČR (JM)
Používám:
AutoCAD LT 2025
Stav: Offline
Bodů: 441
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace Petr75 Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 5 hodin 11 minut zpět v 13:08
Myslím, že by na to stačil jednoduchý lisp program. Bez ošetřování nějakých chyb bo to mohlo být např. toto:

(defun c:Block_Layer ( / ss i n n_text en en2 enList enList2 name Layer)
(setq ss (ssget "_X" (list (cons 0 "INSERT"))))
(if ss (progn
(setq n (sslength ss))
(setq n_text (strcat "/" (itoa n)))
(setq i 0)
(repeat n
(setq en (ssname ss i))
(setq enList (entget en))
(setq name (cdr (assoc 2 enList)))
(setq en2 (tblobjname "BLOCK" name))
(setq enList2 (entget (entnext en2)))
(setq Layer (cdr (assoc 8 enList2)))
(setq enList (subst (cons 8 Layer) (assoc 8 enList) enList))
(entmod enList)
(setq i (1+ i))
(princ (strcat "\r" (itoa i) n_text))
) ;repeat
(princ "\r             ")
(setq oldSetByLayerMode (getvar "SetByLayerMode"))
(setvar "SetByLayerMode" 255)
(setq ss (ssget "_X"))
(command-s "_.setbylayer" ss "" "_y" "_y")
(setvar "SetByLayerMode" oldSetByLayerMode)
)) ;if
(command "._REGEN")
(princ)
) ;defun Block_Layer
(princ)

--
Byl jsem byl o pár minut pomalejší s odpovědí a možná jsem vymýšlel něco, co už je vymyšlené. Bohužel si tipy na tomto serveru nepřečtu.


Upravil Petr75 - 4 hodin 55 minut zpět v 13:24
Zpět nahoru
Pavel Pospíšil Zobrazit panel
Nováček
Nováček

Přihlášen: 08.zář.2005
Stav: Offline
Bodů: 6
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace Pavel Pospíšil Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 4 hodin 36 minut zpět v 13:43
Původně odeslal(a) Vladimír Michl Vladimír Michl napsal(a):

Můžete vyzkoušet aktualizovanou verzi naší utility SetByBlock. Volitelně umí povýšit vlastnosti definičních entit bloku na vlastnosti reference daného bloku.




Díky za tip, funguje.
Vaší utilitou hromadně změním hladinu bloků podle potřeby (a současně entity uvnitř bloku převedu do hladiny "0") a pak příkazem AutoCADu NASTAVDLEHLAD stejně tak hromadně upravím vlastnosti entit uvnitř bloků.
Mám všechny bloky ve výkrese na dva příkazy, což je paráda.
Ještě jednou děkuji.
Pavel Pospíšil.

Upravil Pavel Pospíšil - 4 hodin 17 minut zpět v 14:02
Zpět nahoru
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
ARKANCE

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Implementujeme řešení Autodesk
Stav: Offline
Bodů: 21978
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace Vladimír Michl Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 4 hodin 29 minut zpět v 13:50
Původně odeslal(a) Petr75 Petr75 napsal(a):

Myslím, že by na to stačil jednoduchý lisp program.
Nestačil. U druhého vložení téhož bloku to selže (definice bloku už bude jednou modifikována).

Upravil Vladimír Michl - 4 hodin 26 minut zpět v 13:53
Vladimír Michl (moderátor)
ARKANCE CZ - arkance.world
(podpora viz helpdesk.arkance-systems.cz)
Zpět nahoru
Petr75 Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 16.úno.2007
Lokalita: ČR (JM)
Používám:
AutoCAD LT 2025
Stav: Offline
Bodů: 441
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace Petr75 Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 3 hodin 54 minut zpět v 14:25
Já v programu vybral všechny bloky a postupně se přesouval jednotlivé bloky do hladiny, dle první entity v bloku. Až nakonec jsem všechny bloky nastavil dlehlad.
Zpět nahoru
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
ARKANCE

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Implementujeme řešení Autodesk
Stav: Offline
Bodů: 21978
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace Vladimír Michl Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 3 hodin 1 minut zpět v 15:18
Jenomže ty definice procházíte vícekrát a už po první úpravě se definice změní (opravoval jsem v mé aplikaci stejnou chybu).
Vladimír Michl (moderátor)
ARKANCE CZ - arkance.world
(podpora viz helpdesk.arkance-systems.cz)
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 13857:Existuje i příkaz NASTAVDLEBLOK/SETBYBLOCK?
Tip 2426:Jak přebarvit blok vložený do výkresu?
Tip 6500:Rozdělení barev či entit výkresu do samostatných hladin.
Tip 3107:VIPZměna pořadí entit výkresu podle barvy.
Tip 10573:Čtyři metody rozložení bloku v AutoCADu.
Tip 2036:VIPJak vypnout uchopování na dané hladiny, segmenty šraf nebo určité typy entit? (3 metody)


 Odpovědět Odpovědět

Přejít na fórum Oprávnění fóra Zobrazit panel



Stránka byla vygenerována za 0,250 sekund.