Diskuzní fórum a databáze tipů a utilit pro AutoCAD, Inventor, Revit a další produkty Autodesk - od firmy CAD Studio [www.cadforum.cz]
Česky Slovensky English Deutsch
Přihlášení:
▶ Registrace

 právě čte: 8972 
RSS tipy RSS kanál - CAD tipy
RSS diskuze RSS kanál - CAD diskuze

Diskuze Diskuzní fórum

NápovědaCAD diskuze

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 a 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.
Fórum nenahrazuje technický support firmy 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řenoEfektivna praca s velkym poctom blokov

 Odpovědět Odpovědět archiv
Autor
Jakub6 Zobrazit panel
Diskutér
Diskutér

Přihlášen: 19.úno.2009
Lokalita: Slovensko
Používám:
AutoCAD2014
Stav: Offline
Bodů: 41
Přímý odkaz na tuto zprávu Téma: Efektivna praca s velkym poctom blokov
    Zasláno: 22.lis.2014 v 13:21
Dobrý deň,

chcem sa spýtať ako čo najefektívnejšie môžem vytvoriť cca 1000 dynamických blokov v situácii:

Potrebujem vytvoriť bloky s názvami: A(1), A(2), A(3), ...., A(10), B(1), B(2), B(3), ...., B(10), C(1), ...., C(10), atď., pričom bloky A(1), B(1), C(1), atď. majú rovnakú geometriu (aj "dynamiku"), A(2), B(2), C(2), atď. majú opäť rovnakú geometriu (aj "dynamiku"), A(3), B(3), C(3), atď. zase rovnakú geometriu (aj "dynamiku") atď...
Všetkých 1000 blokov má cca 10 rovnakých atribútov, pričom hodnota v 6 atribútoch je rovnaká pre všetkých 1000 blokov a hodnoty  v ostatných 4 atribútoch sú rovnaké pre 10 blokov s rovnakým názvom (nie aj číslom), teda pre A(1), A(2), A(3), ..., A(10) a bloky B(1), B(2), B(3), ...., B(10) majú opäť rovnaké hodnoty aj v spomínaných 4 atribútoch, atď.

Dúfam, že problém som opísal dostatočne zrozumiteľne.

Za rady Vám vopred ďakujem
Zpět nahoru
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
CAD Studio a.s.

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Dodáváme produkty Autodesk
Stav: Offline
Bodů: 16655
Přímý odkaz na tuto zprávu Zasláno: 22.lis.2014 v 15:39
Nebude jednodušší vkládat jen jeden blok a v paletě/menu si přednastavit hodnotu oněch proměnných/fixních atributů?
Vladimír Michl (moderátor)
CAD Studio a.s. - www.cadstudio.cz
(podporu najdete na helpdesk.cadstudio.cz)
Zpět nahoru
Jakub6 Zobrazit panel
Diskutér
Diskutér

Přihlášen: 19.úno.2009
Lokalita: Slovensko
Používám:
AutoCAD2014
Stav: Offline
Bodů: 41
Přímý odkaz na tuto zprávu Zasláno: 22.lis.2014 v 16:09
Ďakujem za odpoveď, no tak to odo mňa nechcú. Mám za úlohu vytvoriť týchto cca 1000 blokov s pevne danými atribútmi a geometriou. Aby sa nemuselo nič dopĺňať ani dopisovať/prepisovať. Aby si mohli jednotlivé bloky vkladať s tým, že o hodnoty jednotlivých atribútov sa už nemusia zaujímať, pretože sú vyriešené a pevne dané.


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

Přihlášen: 24.led.2006
Lokalita: ČR (JM)
Používám:
AutoCAD Civil 3D 2016
Stav: Offline
Bodů: 1131
Přímý odkaz na tuto zprávu Zasláno: 23.lis.2014 v 18:42
Jestli to dobře chápu, tak by vám stačilo vytvořit 10 bloků (nebo 1 blok s deseti stavy viditelnosti?) s různými dynamickými vlastnostmi a jejich různým nastavením vytvoříte 1000 bloků, které pak uložíte pod specifickými názvy. 
Takže asi máte dvě možnosti.... buď to budete prostě 14 dní klikat ručně, což vás nepochybně bude velmi bavit, ale určitě se při to nic nového nenaučíte. Nebo týden řešit jak to zautomatizovat, nevím jestli vás to bude víc bavit, ale určitě se i něco přiučíte. A myslím, že by to ani nemuselo být tak složité... Předně - dyn. blokům moc nerozumím.., tak se kdyžtak omlouvám, když moje domněnky nebudou úplně exaktni... Problém číslo
1) vyřešit jak v autocadu zautomatizovat nastavování dyn. parametrů bloků. Myslím, že na to není standardní příkaz v autocadu. Kdysi jsem to potřeboval, tak jsem zjistil, že to umí poměrně snadno vba, a ačkoli vba neumím, tak s několika vzory a radami jsem to dal do kupy a dodnes funguje - mohu poskytnout kód (dnes nutný vbaenabler)
Nebo se to nechá udělat lispem. Na netu existují procedury; dají se dohledat i nějaké prográmky z kterých by se to dalo odkoukat.. možná trochu složitější, ale i to by se dalo.
Třeba jsou i jiné možnosti.. pro vás snazší.. nevím, možná pohledat na netu.
2) no druhý krok už je snazší určitě, nebo snáze naučitelný.. udělat v excelu z nějaké tabulky stavů script, který pak proženete autocadem. Ten bude řešit načtení toho obecného bloku s nastavením vlastností dle bodu 1 a jeho uložení do nové bloku.
Takže tak, to bych zkusil.

Edit: Jó a ještě existuje třetí možnost.. buď jako doplněk předchozím dvěma, nebo je nahrazující... Napsat na fóra typu theswamp.org, forums.autodesk.com.. kde je spousta až nevěřícně ochotných lidí, kteří rádi poradí.. někdy i celé naprogramují...


Upravil johny - 23.lis.2014 v 18:49
Zpět nahoru
Jakub6 Zobrazit panel
Diskutér
Diskutér

Přihlášen: 19.úno.2009
Lokalita: Slovensko
Používám:
AutoCAD2014
Stav: Offline
Bodů: 41
Přímý odkaz na tuto zprávu Zasláno: 24.lis.2014 v 00:58
Ďakujem za rady, no nemám čas sa učiť VBA, LISP, ... potrebujem čo najskôr mať aspoň zopár tých blokov spravených. Viete mi povedať či je možnosť aspoň tým blokom A(1), A(2), ..., A(10) zmeniť hodnoty jednotlivých atribútov naraz? (aby som nemusel každý jeden otvárať a prepisovať jednotlivé atribúty v prípade, že budem musieť bloky kopírovať a prepisovať názvy blokov s rovnakou geometriou)
Ďakujem.
Zpět nahoru
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
CAD Studio a.s.

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Dodáváme produkty Autodesk
Stav: Offline
Bodů: 16655
Přímý odkaz na tuto zprávu Zasláno: 24.lis.2014 v 07:43
Sice si pořád myslím že by bylo jednodušší upravit vkládání než definice, zde je utilita na rychlou úpravu hodnoty konstantních atributů v bloku (mj. jdou upravovat také příkazem BATTMAN).
 
(defun editattdef (blok tag val / ent entdata)
 (if (setq ent (tblobjname "block" blok)) ; existuje?
   (while (setq ent (entnext ent)) ; projdi definici
      (if
        (and
          (= (cdr (assoc 0 (setq entdata (entget ent)))) "ATTDEF") ; ATTDEF?
          (= (strcase (cdr (assoc 2 entdata))) (strcase tag)) ; editovaný?
          (= (logand 2 (cdr (assoc 70 entdata))) 2) ; konstantní?
        )
        (entmod (subst (cons 1 val) (assoc 1 entdata) entdata)) ; uprav
      ) ; if
   ) ; while
 )
)
 
volá se příkazem:
 
(editattdef "MujBlok" "NazevAtributu" "JehoNovaHodnota")
 
Vladimír Michl (moderátor)
CAD Studio a.s. - www.cadstudio.cz
(podporu najdete na helpdesk.cadstudio.cz)
Zpět nahoru
Jakub6 Zobrazit panel
Diskutér
Diskutér

Přihlášen: 19.úno.2009
Lokalita: Slovensko
Používám:
AutoCAD2014
Stav: Offline
Bodů: 41
Přímý odkaz na tuto zprávu Zasláno: 24.lis.2014 v 16:07
Ďakujem, skúsim to pomocou tohto poriešiť...
Zpět nahoru
Buba Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 05.říj.2005
Lokalita: Slovensko
Používám:
AutoCAD Electrical 2016
Stav: Offline
Bodů: 1639
Přímý odkaz na tuto zprávu Zasláno: 25.lis.2014 v 08:14
- Vložte si bloky do výkresu, tak ako ste ich vytvorili.
- pomocou export atribútov z Express tools si ich vyexportujete do *.txt,
- následne Select All a Ctrl+C Ctrl+V do *.xls
- v Exceli si ich upravíte Excelovskými nástrojmi,
- a potom si ich naspäť okopírujete do *.txt
- a pomocou Importu atribútov z Express tool prepíšete v AutoCAD výkrese.
 
Tip: Texty, ktoré sa nemenia dajte ako preset, alebo obyčajný text v bloku a ostatné ako meniteľný atribút
Zpět nahoru
Buba Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 05.říj.2005
Lokalita: Slovensko
Používám:
AutoCAD Electrical 2016
Stav: Offline
Bodů: 1639
Přímý odkaz na tuto zprávu Zasláno: 25.lis.2014 v 08:18
Ešte raz čítam Vašu otázku a napadlo ma, že jednoduchšie je nastaviť atribúty priamo cez Properties dialog (Atribúty, ktoré budú mať rovnaké hodnoty, nech majú aj rovnaký názov atribútu)
Zpět nahoru
Jakub6 Zobrazit panel
Diskutér
Diskutér

Přihlášen: 19.úno.2009
Lokalita: Slovensko
Používám:
AutoCAD2014
Stav: Offline
Bodů: 41
Přímý odkaz na tuto zprávu Zasláno: 25.lis.2014 v 12:20
Myslíte cez properties v Editore blokov? Ale to by som musel každý jeden otvoriť a prepísať nie? (1000 blokov - v každom zmeniť 4 hodnoty atribútov = 4000 )
Zpět nahoru
Buba Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 05.říj.2005
Lokalita: Slovensko
Používám:
AutoCAD Electrical 2016
Stav: Offline
Bodů: 1639
Přímý odkaz na tuto zprávu Zasláno: 25.lis.2014 v 13:26
Cez okno Vlastnosti (Properties) na príkazovom riadku _PROPERTIES

Připojené náhledyPřihlaste se pro zobrazení plné verze - 762/properties.jpg

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

Přihlášen: 05.říj.2005
Lokalita: Slovensko
Používám:
AutoCAD Electrical 2016
Stav: Offline
Bodů: 1639
Přímý odkaz na tuto zprávu Zasláno: 25.lis.2014 v 13:31
Definícií bloku je len zopár a vložení bloku je množstvo.
Preto aby sa využili rovnaké vlastnosti jedného celku, v tomto prípade vzhľad objektu a nastaviteľná hodnota textu, t.j. hodnota atribútov, preto sa použije blok vo výkrese.
Ak ukážete ako vyzerajú tie bloky, skôr Vám poradíme, koľko definícií budete potrebovať.
Zpět nahoru
johny Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 24.led.2006
Lokalita: ČR (JM)
Používám:
AutoCAD Civil 3D 2016
Stav: Offline
Bodů: 1131
Přímý odkaz na tuto zprávu Zasláno: 25.lis.2014 v 20:32
Ještě jeden pokus.. když nepotřebujete měnit dynamicke vlastnosti je to jednodušší.
Záměr: Mám 10 bloků, každý z nich musím rozkopírovat 100x, přejmenovat a pak jim po různu přenastavovat atributy - kdyžtak mě opravte, jestli jsem to opět nepochopil.

V příloze je utilita, která VŠECHNY bloky vložené ve výkrese přejmenuje na BLOCK-1, BLOCK-2... atd. 

1) potřebuju získat 100 kopií deseti bloků s unikátními názvy. Takže těch 10 rozkopíruju 100x třeba pod sebe. Pak vždy těch 100 stejných bloků vyberu a vložím do samostatného výkresu (10x). V každém tom výkresu to projedu tou utilitou a dostanu bloky na BLOCK-1 až BLOCK-100. 

2) přejmenování. V excelu udělám jednoduchý skrip na hromadné přejmenování bloků přičemž výsledkem na každém řádku bude text (snad je správná syntaxe, netestováno):
_-rename _block "BLOCK-1" "A(1)" 
_-rename _block "BLOCK-2" "B(1)"
atd.
proženu to každým výkresem v příslušném formátu

3) přenastavení atributů - jak doporučovala Buba udělám to přes Export-Excel-Import Atributů.

4) všechny bloky vyexportuju do samostaných výkresů.. Použiju jednu z utilit tady:
http://www.theswamp.org/index.php?topic=13436.0

Připojené souborylspuploads/1045/blr.lsp



Upravil johny - 27.lis.2014 v 12:01
Zpět nahoru
johny Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 24.led.2006
Lokalita: ČR (JM)
Používám:
AutoCAD Civil 3D 2016
Stav: Offline
Bodů: 1131
Přímý odkaz na tuto zprávu Zasláno: 27.lis.2014 v 12:05
Původně odeslal(a) johny johny napsal(a):

_-rename _block "BLOCK-1" "A(1)" 
_-rename _block "BLOCK-2" "B(1)"
atd.

Ukazuje se, že to není správná syntaxe. Zatím mi funguje jen když za těmi texty dávám Enter a nerozhoduje jestli je to v uvozovkách nebo není. Původně jsem myslel že těmi uvozovkami se zbavím Enterů.. lze se jich nějak zbavit? Díky

-rename block OldName1
NewName1
-rename block OldName2
NewName2



Upravil johny - 27.lis.2014 v 12:08
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 1297:Jak efektivně pracovat s rozsáhlými výkresy?
Tip 8981:Jak vytvořit vlastní WMS server s výkresy či mapami?
Tip 7863:Vícenásobné klávesové zkratky v Revitu.
Tip 5460:VIPRevit: Toto sezení používá více paměti, než tento počítač efektivně podporuje.
Tip 4563:Kusovník i v holém AutoCADu.
Tip 2599:Jak vložit efektivně do AutoCADu tabulku nebo text z Excelu či Wordu?


 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,953 sekund.