Diskuzní fórum a databáze tipů a utilit pro AutoCAD, Inventor, Revit a další produkty Autodesk - od firmy Arkance Systems [www.cadforum.cz]
CZ | SK | EN | DE
Přihlášení
či registrace
   právě nás čte: 10459 
RSS kanál - CAD tipy RSS tipy
RSS diskuze

Diskuze Diskuzní fórum, poradna

 

NápovědaCAD 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 360, 3ds Max a s dalšími CAD 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 Systems (CAD Studio) - přímá podpora pro zákazníky funguje na helpdesk.cadstudio.cz
  FAQ FAQ  Prohledat fórum   Události   Registrovat Registrovat  Přihlásit Přihlásit

Téma uzavřenosprávce stavů hladin - akt. pro všechny výřezy

 Odpovědět Odpovědět archiv
Autor
Koluch Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 04.dub.2012
Lokalita: ČR (OS)
Používám:
AutoCAD 2018
Stav: Offline
Bodů: 166
Přímý odkaz na tuto zprávu Téma: správce stavů hladin - akt. pro všechny výřezy
    Zasláno: 09.říj.2020 v 09:42
Dobrý den,
prosím Vás, řeším jeden problém:

Mám 50 rozvržení a v nich vždy jeden výřez (někde je výřez A, někde B a někde C - střídají se mi tyto tři výřezy). V každém výřezu mám zmražené různé hladiny. A pro každý výřez mám nastaveno STAV HLADIN. Když chci přidat novou hladinu a zobrazovat ji jen ve výřezech A, tak musím proklikat všechny rozvržení, prokliknout se do daných výřezů A a přes Správce stavů hladiny dát aktualizovat. A přitom by se mi hodilo, kdyby po klinutí na tlačítko AKTUALIZOVAT ve Správci stavů hladin, se zaktualizovaly všechny výřezy, kde mám daný stav hladiny.

Dá se toto nějak udělat? Abych nemusel po přidání jedné nové hladiny, procházet všechny rozvržení a výřezy?
Děkuji.

Lukáš

Připojené souborypdfuploads/40779/stav._hlad.pdf
Zpět nahoru
splonk Zobrazit panel
CAD/BIM manager
CAD/BIM manager
Avatar

Přihlášen: 25.lis.2006
Lokalita: ČR (Pha)
Používám:
AutoCAD/ACA'21, RVT'21
Stav: Offline
Bodů: 1252
Přímý odkaz na tuto zprávu Zasláno: 09.říj.2020 v 12:27
Zdravím,
asi to není 10% řešení... možná to může být směr, kudy se vydat...

Zkoušel jste "tisknout přes XREFy". Do jednoho DWG kreslíte a do ostatních (např. A, B a C) to připojíte jako externí referenci a potřebné layouty si řešíte tam... Pak by StavHladin mohl platit pro všechny Layouty v DWG-čku (3 typy STavHlad -> 3 DWG) a k tomu by se asi lehce dalo napsat něco, co by je aktualizovalo...

A vůbec, to tisknutí přes Xref otevírá další level možných "vychytávek" při tisku... 
JASponza

ACA (AutoCAD) 2021,
RVT 2021

Win 10 x64
Zpět nahoru
Koluch Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 04.dub.2012
Lokalita: ČR (OS)
Používám:
AutoCAD 2018
Stav: Offline
Bodů: 166
Přímý odkaz na tuto zprávu Zasláno: 09.říj.2020 v 13:18
hmmm tak to už bude vyšší dívčí asi :-(
Zpět nahoru
johny Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 24.led.2006
Lokalita: ČR (JM)
Používám:
C3D 2022
Stav: Offline
Bodů: 1671
Přímý odkaz na tuto zprávu Zasláno: 13.říj.2020 v 13:51
Můžete zkusit tuto utilitku. Stav hladin se páruje dle názvu hladiny viewportu (výřezu). Updatuje všechny.
Jinak má to trochu problém s regenerací, něco se zregeneruje, něco ne. Kdyžtak je třeba manuálně regenerovat. 


; příklad použití
; (lsapply "C2" "vykres_rozvrzeni C2")

(vl-load-com)

(defun LSApply (lsname vplayer / s o i b l a) 
  (if (and (or (layerstate-has lsname)
       (prompt (strcat "\nError: No '" lsname "' layerstate found in the drawing.")))
           (or (setq s (ssget "_X" (list '(0 . "VIEWPORT") (cons 8 vplayer))))
       (prompt (strcat "\nError: No viewport found in '" vplayer "' layer.")))
   (setq o (getvar 'ctab))
           )
    (progn
      (repeat (setq i (sslength s))
(setq e (ssname s (setq i (1- i)))
      b (cdr (assoc 410 (entget e)))
      l (if (setq a (assoc b l))
  (subst (append a (list e)) a l)
  (cons (cons b (list e)) l))))
      (foreach tab l
(setvar 'ctab (car tab))
(foreach vp (cdr tab)
(command "_.REGENALL")
      (setvar 'ctab o)))
  (princ)
  )
Zpět nahoru
Koluch Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 04.dub.2012
Lokalita: ČR (OS)
Používám:
AutoCAD 2018
Stav: Offline
Bodů: 166
Přímý odkaz na tuto zprávu Zasláno: 03.lis.2020 v 15:02
Johny, prosím Vás, poradíte mi, co mám dále dělat se zdrojovým kódem, který jsme napsal?
Děkuji, L.
Zpět nahoru
Koluch Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 04.dub.2012
Lokalita: ČR (OS)
Používám:
AutoCAD 2018
Stav: Offline
Bodů: 166
Přímý odkaz na tuto zprávu Zasláno: 12.led.2021 v 11:01
Johny, prosím Vás, poradíte mi, co mám dále dělat se zdrojovým kódem, který jste napsal?
Děkuji, L.
Zpět nahoru
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
Arkance Systems

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Dodáváme produkty Autodesk
Stav: Offline
Bodů: 21434
Přímý odkaz na tuto zprávu Zasláno: 12.led.2021 v 11:30
Je to LISP makro, takže uložit do textového souboru s příponou .LSP, načíst jej do AutoCADu příkazem APLČTI a použít dle naznačeného příkladu.
Vladimír Michl (moderátor)
Arkance Systems s.r.o. - www.arkance-systems.cz
(podpora viz hd.cads.cz)
Zpět nahoru
Koluch Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 04.dub.2012
Lokalita: ČR (OS)
Používám:
AutoCAD 2018
Stav: Offline
Bodů: 166
Přímý odkaz na tuto zprávu Zasláno: 08.úno.2021 v 15:05
Dobrý den, Johny,
utilitka mi nefunguje, ani po ruční aktualizaci.

Oba výřezy mám v hladině 0. 

Poradíte mi ještě nějak prosím?
Děkuji, Lukáš.



Zpět nahoru
johny Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 24.led.2006
Lokalita: ČR (JM)
Používám:
C3D 2022
Stav: Offline
Bodů: 1671
Přímý odkaz na tuto zprávu Zasláno: 08.úno.2021 v 17:16
Funguje, přesně jak jsem psal asi před půl rokem. Jen je třeba to občas přeregenerovat aby se to updatovalo. Jediné co se tedy dá zlepšit, je to nechat regen ve všech layoutech.
Toť asi vše co mohu pro vás udělat. Jestli se nezadaří, pak nechte ležet.

(vl-load-com)

(defun LSApply (lsname vplayer / s o i b l a) 
  (if (and (or (layerstate-has lsname)
       (prompt (strcat "\nError: No '" lsname "' layerstate found in the drawing.")))
           (or (setq s (ssget "_X" (list '(0 . "VIEWPORT") (cons 8 vplayer))))
       (prompt (strcat "\nError: No viewport found in '" vplayer "' layer.")))
   (setq o (getvar 'ctab))
           )
    (progn
      (repeat (setq i (sslength s))
(setq e (ssname s (setq i (1- i)))
      b (cdr (assoc 410 (entget e)))
      l (if (setq a (assoc b l))
  (subst (append a (list e)) a l)
  (cons (cons b (list e)) l))))
      (foreach tab l
(setvar 'ctab (car tab))
(foreach vp (cdr tab)
  (layerstate-restore lsname vp 4)
      (setvar 'ctab o)))
  (princ)
  )
Zpět nahoru
Koluch Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 04.dub.2012
Lokalita: ČR (OS)
Používám:
AutoCAD 2018
Stav: Offline
Bodů: 166
Přímý odkaz na tuto zprávu Zasláno: 09.úno.2021 v 11:07
Děkuji Johny,
ale pořád mi to nejde.

Posílám na ukázku výkres ve kterém mám dvě rozvržení a každé rozvržení má několik výřezů.

Když do modrého výřezu v Rozvržení1 dokreslím světle modrý 6-ti úhelník - aktualizuji stav hladiny MODRÉ. Poté spustím příkaz _.regenall a nic se nestane. Tady v tom momentě očekávám, že se druhý modrý výřez na Rozvržení1 taky zregeneruje a objeví se tam 2 modré obdélníky, modré kolečko a světle modrý 6-ti úhelník.

Nebo jsem ten autoLISP pochopil špatně?

Děkuji za rady.

Lukáš

Zpět nahoru
johny Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 24.led.2006
Lokalita: ČR (JM)
Používám:
C3D 2022
Stav: Offline
Bodů: 1671
Přímý odkaz na tuto zprávu Zasláno: 09.úno.2021 v 11:52
@kolouch
ten lisp funguje bezchybně - https://autode.sk/3a3gSkB

prvně se prosím vyhledejte a naučte jak lisp vůbec použít, jak jej načíst, jak jej spustit. ten lisp opravdu nefunguje automaticky, musíte jej spustit. třeba tak jak jsem to udělal v prvním videu, nebo ve druhém...

taky se důkladně seznamte s tím jak stavy hladin fungují. jak se dají nastavit, co a jak se aktualizuje. 

pak se snažte si život trochu z zjednodušit - ten lisp aktualizuje všechny výřezy dané hladiny ve všech rozvrženích do daného stavu hladin. čili si pro každý stav hladin založte hladinu, optimálně stejného jména jako ten stav hladin a ty hladinu nepoužívejte pro nic jiného.

učte se, zkoušejte a bojujte. já vám víc pomoct nemůžu
Zpět nahoru
Koluch Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 04.dub.2012
Lokalita: ČR (OS)
Používám:
AutoCAD 2018
Stav: Offline
Bodů: 166
Přímý odkaz na tuto zprávu Zasláno: 09.úno.2021 v 15:05
Moc děkuji Johny,
cítím, že jsem blízko :-) - moc děkuji za ta videa, moc si toho vážím.
Snad budu mít zítra čas to doladit a udělat bez chyb.

Hezký den.
Zpět nahoru
Koluch Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 04.dub.2012
Lokalita: ČR (OS)
Používám:
AutoCAD 2018
Stav: Offline
Bodů: 166
Přímý odkaz na tuto zprávu Zasláno: 10.úno.2021 v 15:07
Super Johny,
už mi to funguje, moooc děkuji za váš čas.

Teď se ještě naučit, jak zautomatizovat ten příkaz (lsapply "MODRÉ" "Hladina MODRÁ"), abych to nemusel vypisovat.

Hezký den.

Lukáš
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 12538:Jak vykreslit část výřezů barevně a část černobíle?
Tip 5993:Jak předefinovat vlastnosti hladin vlastnostmi z jiného DWG výkresu?
Tip 2013:Jak přetáhnout vlastnosti hladin z jednoho výkresu do druhého?
Tip 4592:Vypnutí hladiny ve výřezu.
Tip 3501:Jak vynutit nebo zabránit vytváření zmrazených hladin v nových rozvrženích?
Tip 3858:Jak potlačit výpis hladin xrefů v panelu hladin?


 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 1,531 sekund.