ARKANCE - globální Platinum partner Autodesk ARKANCE | KONTAKT - CZ | SK | EN | DE
Již 10.000+ CAD tipů. Přes 118.500 registrovaných u nás, celkem 1.093.000 registrovaných (CZ+EN), přes 53.000 CAD/BIM bloků. Vyzkoušejte nový přesný Inženýrský kalkulátor. Kompletní příkazy AutoCADu a proměnné AutoCADu 2026.
Katalog CAD bloků
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

Téma uzavřenoVyplnanie titulneho bloku automaticky

 Odpovědět Odpovědět Stránka  12> archiv
Autor
martiner33 Zobrazit panel
Nováček
Nováček

Přihlášen: 03.led.2010
Lokalita: Slovensko
Používám:
AUTOCAD2009
Stav: Offline
Bodů: 9
Přímý odkaz na tuto zprávu Téma: Vyplnanie titulneho bloku automaticky
    Zasláno: 03.led.2010 v 18:20
Mam zhruba 3000 vykresov. Na kazdom potrebujem zmenit verziu revizie, nazov vykresu a este par poloziek v titulnom bloku.
Je mozne napisat urcity program ktory mi zmeni tento titulny blok podla urciteho vstupneho suboru?
Moja predstava je taka ze mam v tabulkovom editore stlpce, kde kazdy stlpec zodpoveda urcitemu polu v titulnom bloku a kazdy riadok zodpoveda jednemu vykresu. Pretoze praca typu otvorit kazdy vykres a prepisat to manualne sa mi zda zdlhava.
Co vsetko potrebujem? Mam AUTOCAD2009 full version.

Dik


Upravil martiner33 - 03.led.2010 v 18:22
Zpět nahoru
alfred Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 14.říj.2004
Lokalita: ČR (JČ)
Používám:
AutoCad MAP 2011
Stav: Offline
Bodů: 1675
Přímý odkaz na tuto zprávu Zasláno: 03.led.2010 v 18:57
nejsnazsi se mi zda napsat si programek v LISPu, ktery zmeni pozadovane veci v jednom vykresu. Pak pouzijte skript s nazvem SCRIPTMAKER.LSP, ktery vytvari se Vas zepta na seznam souboru, nazev prikazu, ktery se ma provest a pak vytvori skript *.SCR, ktery pak z prazdneho souboru spustite.
Seznam souboru musi byt v textovem souboru - LISP bohuzel neumi otevrit vice souboru najednou. Ale to je jen drobnost.

Dle seznamu se jednotlive soubory otevrou, nacte se LISP, ktery jste si vytvoril, soubor se ulozi a zavre. A pak dalsi... To prave dela ten vytvoreny skript.


Připojené souboryLSPhttp://www.cadforum.cz/forum/uploads/20081110_184049_scriptmaker.LSP

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

Přihlášen: 14.říj.2004
Lokalita: ČR (JČ)
Používám:
AutoCad MAP 2011
Stav: Offline
Bodů: 1675
Přímý odkaz na tuto zprávu Zasláno: 03.led.2010 v 19:09
Zpět nahoru
martiner33 Zobrazit panel
Nováček
Nováček

Přihlášen: 03.led.2010
Lokalita: Slovensko
Používám:
AUTOCAD2009
Stav: Offline
Bodů: 9
Přímý odkaz na tuto zprávu Zasláno: 04.led.2010 v 08:12
Dik za super radu. V LISPe som este nerobil. Bude stacit AutoLISP alebo tu aplikaciu mam spravit vo VisualLISPe? Ako som spominal do peciatky bude treba vlozit par veci, aj obrazok. Otvaram teda nejaky manual a idem studovat ;)
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:
Implementujeme řešení Autodesk
Stav: Offline
Bodů: 21899
Přímý odkaz na tuto zprávu Zasláno: 04.led.2010 v 08:21
Nebude to úplně triviální (pokud s LISPem začínáte). AutoLISP a VisualLISP je dnes už prakticky totéž.
 
Vedle následné dávkové úpravy atributů rovněž zvažte možnost napojení titleblocku přímo na externí na databází (např. Excel).
Vladimír Michl (moderátor)
ARKANCE CZ - arkance.world
(podpora viz helpdesk.arkance-systems.cz)
Zpět nahoru
alfred Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 14.říj.2004
Lokalita: ČR (JČ)
Používám:
AutoCad MAP 2011
Stav: Offline
Bodů: 1675
Přímý odkaz na tuto zprávu Zasláno: 04.led.2010 v 08:42
AutoLisp a VisulalLIs je prakticky totez. Spustte prikaz  VLIDE (_VLIDE) a uvidite.

S tim scriptmakerem si to predtim zkuste. Napriklad si cvicne ulozte par prazdnych souboru a jako funkci pouzijte treba nakresleni primky z bodu 0,0 do bodu 1,1.


(defun c:kratka_usecka ()
(command "_line" "0,0" "1,1" "")
(princ)
)


Jinak, pokud v LISPu vubec neumite delat tak preji hodne stesti...
Kouknete sem:
http://www.cadforum.cz/cadforum/Vyvojove-prostredky-AutoCADu/

Pokud potrebujete pouze zamenit texty (treba datum zakazky, apod. ) tak to jsem jednou resil.







Zpět nahoru
martiner33 Zobrazit panel
Nováček
Nováček

Přihlášen: 03.led.2010
Lokalita: Slovensko
Používám:
AUTOCAD2009
Stav: Offline
Bodů: 9
Přímý odkaz na tuto zprávu Zasláno: 04.led.2010 v 11:48
No tak ten manual Vyvojove prostredky AutoCADu je genialny, citam to od vcera vecera ;)

Mojim planom je konkretne zmenit v peciatke par udajov, teoreticky je jedno kolko. Tie udaje by som nacital z externeho suboru.

Co som sa dozvedel z mojich studii - ako mam postupovat:
1..Vymazat text na urcitych suradniciach - kazda suradnica(X,Y,Z) bude predstavovat jednu polozku v titulnom bloku
2. Vymazat obrazok na urcitej suradnici (vsetky budu dane rucne podla polohy obrazkov a textov)
3. Vlozit text na definovane suradnice .. kazdy jeden z urcitej casti EXCEL/TXT suboru
4. Vlozit obrazok na definovane suradnice

Co sa tyka toho scriptmakera.

Postupoval som nasledovne:
1.nacital som aplikaciu kratka_usecka uvedenu vo vyssom prispevku
2. nacital som aplikaciu Scriptmaker, nasledne som ju spustil
3. zadal som TXT subor so zoznamom dwg suborov, pricom jednotlive nazvy som dal pod seba .. skusal som aj iba jeden subor
4.vybral som subor LSP ktory obsahuje zdrojak kratka_usecka
5.zadal smo prikaz kratka_usecka
6.ulozil som suobr scr na disk

problem je ze subor ma velkost 0B

Kde je problem?
Zpět nahoru
martiner33 Zobrazit panel
Nováček
Nováček

Přihlášen: 03.led.2010
Lokalita: Slovensko
Používám:
AUTOCAD2009
Stav: Offline
Bodů: 9
Přímý odkaz na tuto zprávu Zasláno: 04.led.2010 v 12:03
Problem ze subor *.scr bol prazdny bol ten ze som nemal zadefinovanu kompletnu cestu k dwg suboru
Vysledok
._OPEN
"D:\devices\autocad\scriptmakr-test\1.dwg"
(setq LispFile (getstring))
"D:\devices\autocad\scriptmakr-test\usecka_test.LSP"
(load LispFile )
KRATKA_USECKA
._QSAVE
._CLOSE

teraz uz len prist na to ako to spustit ;) idem surfovat


Upravil martiner33 - 04.led.2010 v 12:09
Zpět nahoru
Martin Bielina Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 04.led.2007
Lokalita: ČR (Pha)
Používám:
AutoCAD True view 2016
Stav: Offline
Bodů: 100
Přímý odkaz na tuto zprávu Zasláno: 04.led.2010 v 12:11
Tak to je zcela správná úvaha. Ve scriptu, který Vám Alfred dal k dispozici se o vyhledávání souboru stará funkce (findfile).

(findfile filename)

"The findfile function makes no assumption about the file type or extension of filename. If filename does not specify a drive/directory prefix, findfile searches the AutoCAD library path. If a drive/directory prefix is supplied, findfile looks only in that directory."

To znamená že musíte ve svém seznamu buď přidat celou cestu k souborům DWG nebo (když nejde Mohamed k hoře...) nakopírovat soubory DWG do adresáře, které funkce prohledává sama. Ta druhá možnost je ale spíš pro zasmání, to radši nedějte.
Zpět nahoru
Martin Bielina Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 04.led.2007
Lokalita: ČR (Pha)
Používám:
AutoCAD True view 2016
Stav: Offline
Bodů: 100
Přímý odkaz na tuto zprávu Zasláno: 04.led.2010 v 12:29
A abych Vám trochu zkrátil serfování. Seznam souborů ke zpracování získate snadno a rychle takto:

dir d:\PROJEKT\DWG\*.dwg /b /s > c:\seznam_dwg.txt

Pak budete mít první část úkolu hotovou a zbývá jen napsat nebo najít vhodný LSP který udělá ten zbytek.


Upravil Martin Bielina - 04.led.2010 v 12:30
Zpět nahoru
alfred Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 14.říj.2004
Lokalita: ČR (JČ)
Používám:
AutoCad MAP 2011
Stav: Offline
Bodů: 1675
Přímý odkaz na tuto zprávu Zasláno: 04.led.2010 v 12:53
Původně odeslal(a) martiner33 martiner33 napsal(a):

.....
teraz uz len prist na to ako to spustit ;) idem surfovat


Prikaz pro spusteni SCR souboru je DEMO (_SCRIPT)
Zpět nahoru
alfred Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 14.říj.2004
Lokalita: ČR (JČ)
Používám:
AutoCad MAP 2011
Stav: Offline
Bodů: 1675
Přímý odkaz na tuto zprávu Zasláno: 04.led.2010 v 13:06
Původně odeslal(a) martiner33 martiner33 napsal(a):


Mojim planom je konkretne zmenit v peciatke par udajov, teoreticky je jedno kolko. Tie udaje by som nacital z externeho suboru.

Co som sa dozvedel z mojich studii - ako mam postupovat:
1..Vymazat text na urcitych suradniciach - kazda suradnica(X,Y,Z) bude predstavovat jednu polozku v titulnom bloku
2. Vymazat obrazok na urcitej suradnici (vsetky budu dane rucne podla polohy obrazkov a textov)
3. Vlozit text na definovane suradnice .. kazdy jeden z urcitej casti EXCEL/TXT suboru
4. Vlozit obrazok na definovane suradnice



Nevim, jak vypada razitko stavajici/nove.
V prvnich prizpevcich jsem pochopil, ze chcete menit BLOK (tedy jsem predpokladal ze menite jeho atributy) ted pisete, ze chcete menit texty a obrazky. S tim Vam uz nikdo nepomuze, pokud to nepopisete podrobneji.

AD obrazek - neni mozne jen zmenit obrazek - tedy pokud to je externe odkazovany rastr a ne OLE objekt.

AD texty - neni mozne zamenit konkretni string jinym stringem? Je nutne  nekde neco smazat a pak nove vytvaret?

Jsou vykresy tvorene stejne? Tedy jako ze vsechny maji na 100% stejne umisteni entit v razitku.




Zpět nahoru
martiner33 Zobrazit panel
Nováček
Nováček

Přihlášen: 03.led.2010
Lokalita: Slovensko
Používám:
AUTOCAD2009
Stav: Offline
Bodů: 9
Přímý odkaz na tuto zprávu Zasláno: 04.led.2010 v 15:15
Takze finalne sa mi podarilo scr pekne spustit ako ste pisali prikazom DEMO. Do vsetkych troch pripravenych suborov mi to nadherne vkreslilo usecku.

Aby som este raz upresnil co xcem spravit: Mam cca 3000 vykresov. Tit.blok ostane povedny, zmenia sa v nom len dve textove polia TITLE a DATE, a jedna cast kde je vlozene BMP logo firmy. To xcem zmazat a vlozit tam nove - povodny obrazok je OLE objekt. Predpokladam ze postup bude obdobny ako zamena textov.

Uvazujem spravit externy subor. Prvy stlpec TITLE a druhy DATE. Potom predpokladam bude mozne pridat XY stlpcov a riadkov.

Jsou vykresy tvorene stejne? Tedy jako ze vsechny maji na 100% stejne umisteni entit v razitku. ANO MAJU VSETKY ROVNAKE UMIESTNENIE.

Povodny titulny blok uzamknuty v hladine. Nasiel som ze vsetky sa daju odomknut prikazom layerp (Undoes the last change or set of changes made to layer settings). Tento prikaz ale funguje len v pripade z hladina bola menena od otvorenia suboru. Pouzit sa da teda neskor na konci na zamknutie hladiny.

Existuje prikaz -layer ktory vsak pracuje s aktualnou hladinou. Takze dalsim orieskom je zmenit aktualnu hladinu na hladinu titulneho bloku.

 Program na zmazanie obrazku, chyba tam este odomknutie hladiny Drawing_title.

(defun c:vymaz_ole ()
(command "layerp")
(setq coordinate '(365.2295 91.875))
(command "_erase" coordinate)
(initget 1)
(princ)
)








Upravil martiner33 - 04.led.2010 v 15:20
Zpět nahoru
alfred Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 14.říj.2004
Lokalita: ČR (JČ)
Používám:
AutoCad MAP 2011
Stav: Offline
Bodů: 1675
Přímý odkaz na tuto zprávu Zasláno: 04.led.2010 v 15:24
Původně odeslal(a) martiner33 martiner33 napsal(a):


Existuje prikaz -layer ktory vsak pracuje s aktualnou hladinou. Takze dalsim orieskom je zmenit aktualnu hladinu na hladinu titulneho bloku.




Nastaveni nejake hladiny jako aktualni:
(setvar "clayer" "nazev_pozadova_aktualni_hladiny")


Pro manipulaci s hladinami muzete take pouzit prikaz
(command "_-layer" "prislusne prikazy ....... ")

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

Přihlášen: 14.říj.2004
Lokalita: ČR (JČ)
Používám:
AutoCad MAP 2011
Stav: Offline
Bodů: 1675
Přímý odkaz na tuto zprávu Zasláno: 04.led.2010 v 15:31
Pokud by Vam stacilo textove pole najit a nahradit jinym textem, tak muzete pouzit utilitu SRXTEXT2.VLX od XANADU

Utilitu nactete:
(LOAD "C:\\cesta......\\SRXTEXT2.VLX")

a pouzijte prikaz
(srxtext "Substring" "hledany text" "novy text" "spravna volba")

vyzkousejte si to prikazem:
srxtext


Upravil alfred - 04.led.2010 v 15:31
Zpět nahoru
martiner33 Zobrazit panel
Nováček
Nováček

Přihlášen: 03.led.2010
Lokalita: Slovensko
Používám:
AUTOCAD2009
Stav: Offline
Bodů: 9
Přímý odkaz na tuto zprávu Zasláno: 05.led.2010 v 07:57
Takze podarilo sa mi spravit program ktory odomkne hladinu Drawing_title a zmaze obrazok podla zadanych suradnic. Doriesit musim teraz ako na to iste miesto vlozit novy OLE objekt pomocou prikazov. Prikaz insertobj mi vsak otvori len win okno s moznostami.

(defun c:vymaz_ole ()
(setvar "clayer" "Drawing_title")
(command "_-layer" "Odemkni" "Drawing_title" "")
(initget 1)
(setq coordinate '(365.2295 91.875))
(command "_erase" coordinate "")
(princ)
)

Co sa tyka tej utility od Xanadu .. celkom pekna srandicka akurat ze je obmedzena (first 2 pairs are processed). Takze bud mi niekto z vas posle full verziu alebo to budem musiet riesit podobne ako s tym obrazkom. Teda podla suradnic zmazem text a potom ho tam aj vlozim.

Idem sa trapit teda dalej. Zatial sa mi LISP fest zapacil, zrejme sa mu zacnem venovat aktivnejsie.

Zpět nahoru
Martin Bielina Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 04.led.2007
Lokalita: ČR (Pha)
Používám:
AutoCAD True view 2016
Stav: Offline
Bodů: 100
Přímý odkaz na tuto zprávu Zasláno: 05.led.2010 v 09:28

 

Původně odeslal(a) martiner33 martiner33 napsal(a):

...Co sa tyka tej utility od Xanadu .. celkom pekna srandicka akurat ze je obmedzena (first 2 pairs are processed). Takze bud mi niekto z vas posle full verziu alebo to budem musiet riesit podobne ako s tym obrazkom...

Dost pochybuji, že Vám kdokoliv z tohoto fóra v tomto smyslu vyhoví. Ne snad proto že by tu byli samí krkouni co se nechtějí s nikým a o nic rozdělit, ale předávat zdarma něco, co je majetkem firmy XANADU je přinejmenším NEETICKÉ i kdyby už neexistoval žádný jiný právní důvod (jako že existuje...) proč by jste to něměl dělat.

Můžete se ptát, nějaká odpověď se vždycky najde. Přemýšlejte o tom co děláte. Zkoušejte práci druhých napodobit svými vlastními utilitkami. Dělám totéž a je to myslím jedna z nejlepších cest jak se něco naučit. Zmíněná funkce od XANADU nědělá přeci nic složitějšího než že nahrazuje části textových řetezců jinými řetězci. Stačí udělat je několik kroků:

  1. vytvořit seznam řetězců ve výkresech
  2. spárovat je s požadacky na nový obsah
  3. vyměnit vzájemně jejich obsah

K tomu si přidejte nějakou metodu načítání obsahu z externího souboru a jednoduše řečeno máte hotovo. Práci si můžete rozdělit do více LISPů a při troše snahy je jeden po druhém najdete na webu už hotové. Pak to jen celé vhodně spojíte buď pracovním postupem nebo jejich skutečnou kombinací v jednom LSP.

Zpět nahoru
Sedláček Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 15.dub.2005
Lokalita: Czech Republic
Používám:
AutoCad 2024 LT
Stav: Offline
Bodů: 384
Přímý odkaz na tuto zprávu Zasláno: 05.led.2010 v 10:09
Původně odeslal(a) martiner33 martiner33 napsal(a):

Prikaz insertobj mi vsak otvori len win okno s moznostami.

Možná by šlo vytvořit blok (_WBLOCK) s oním OLE obrázkem a do výkresů vkládat ten (_-INSERT)
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 2320:Jak automaticky přidávat odkazy/popisy do vkládaných symbolů?
Tip 11006:Kde se ve výkresu berou bloky typu AnonymousCell123?
Tip 11707:Jak převést texty na atributy bloků (referencí)?
Tip 8858:Přesun všech bloků obsahujících určitou hladinu do této hladiny.
Tip 5383:Jak vložit blok do všech vrcholů (nebo koncových bodů) zvolené křivky?
Tip 4067:Jak zčitelnit natočené texty a atributy bloků ve výkresu?


 Odpovědět Odpovědět Stránka  12> archiv

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



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