Zobrazit plnou verzi příspěvku: Jak hromadně zmenšit dwg soubory?

Mart.Kolin
15.06.2005, 12:57
Pokud možno zdarma a s zárukou...i pro LT.

SWISSS
15.06.2005, 13:00
pročistit (PURGE) a uložit v dwg2004. pokud nemate cad 2004 a novejsi
ulozit v dwg2000 a potom zkomprimovat do zipu, pripadne raru. :)


Kubeczka
15.06.2005, 13:18
Pomocí skriptu (DEMO):
Na počátku nastavíte FILEDIA na 0. Pak si napíšete soubor např. CISTI.scr (obyč. texťák), ve kterém se bude opakovat následující sekvence příkazů.
_open
"D:\DWG\xxx1.dwg"    (tady bude název souboru i s cestou)
_purge
_B
 
_N
_QSAVE
_CLOSE
Tuhle sekvenci zopakujete pro každý soubor, který chcete vyčistit. A uložíte :o) Pak v AutoCADu příkazem DEMO spustíte tento soubor a sledujete, jak ted skutečně PC za Vás pracuje :o) Pak už jen nezapomenout znova nastavit FILEDIA na 1 a je to. Protože ale výše uvedený příklad vyčistí pouze jednu úroveň nepoužitých bloků, můžete skript CISTI.scr spustit několikrát, až se u každého souboru objeví hláška: Žádné nepoužívané bloky(y) nenalezeny. Zkuste, uvidíte.

Kubeczka
15.06.2005, 13:20
Ještě jedno upozornění: Mezi řádky _B a _N musí být prázdný řádek.

Mart.Kolin
15.06.2005, 13:25
No zrovinka tenhle postup není ten co potřebuji :)
Potřebuju to provést dávkově, např. pro celý adresář (bez otvírání výkresů).
A ještě jeden tip pro ty co mají starší CAD: pokud se výkres vyčistí a pak uloží celý (popř. výběrem) výkres jako blok, lze pošetřit poměrně dost bajtů (u výkresu 1300kB po vyčištění na 728kB uloženo jako blok). Pokud se ale tento výkres otevře a znova normálně uloží bude ale velký původních 1300kB. Ale hodní se to např. pro archivaci (jednodušší než rozbalovat z archivu) nebo na posílání emailem.

Seiner
15.06.2005, 13:33
No ale vždyť pan Kubeczka Vám radí zpracování dávkou. Akorát, že si ji musíte vytvořit ručně. Na to, abyste nemusel otrocky vpisovat cesty k jednotlivým souborům, slouží právě ten generátor scriptu, na který se ptám jinde.
K té druhé části - nějak se mi to nezdá. Proč by měl soubor pouze otevřením a uložením nabobtnat? Vyčištění pomocí pišblok je stará vesta a princip je v tom, že rychle a účinně vyhodíte vše, co není vidět.

Kubeczka
15.06.2005, 14:12
Mohu poskytnout prográmek, kterým si vyberete potřebné dwg soubory v daném adresáři a on už sám vytvoří soubor cisti.scr. Ten pak v AutoCADu spustíte. Nakonec je třeba nezapomenout nastavit FILEDIA na 1. Co Vy na to?

Mantlík
15.06.2005, 14:25
Taky je jště možné nastavit ISAVEPERCENT na 0

Mart.Kolin
15.06.2005, 14:34
TO>Seiner
Jdo o to, že ten výkres je před tím uložen jako blok. ALe pak když se uloži opět jako dwg, tak zas "nabobtná". Ale to platí pro starší verze, nevím do jaké, ale u verze 2004 už to neplatí (odzkoušeno)

Seiner
15.06.2005, 14:38
A co si představujete pod "uložen jako blok"? Příkazem Pišblok vytvoříte zase jen soubor DWG, nic jiného. Uložit jako blok nemá žádný speciální formát.

Mart.Kolin
15.06.2005, 15:21
Je to klasický dwg, ale probíhá tam zřejmě nějaká komprese. Jak to funguje netuším, ale funguje to, vyzkoušet. (ale jak jem psal, u verze 2004 to už žádný účinek nemá, dokonce bxl výsledný soubor ještě větší než původní)

Mrázek
15.06.2005, 15:34
Troufnu si říci, že je to nesmysl. Dwg formát nikdy žádnou "komprimovanou formu" nepoužíval. Pokud tuto zkušenost máte, tak to není vlastním způsobem uložení (příkazem _save nebo _wblock), ale něčím jiným. A jediné co mě napadá, že jste ve starší verzi pracoval s nějakou nadstavbou, která soubor zaneřádí něčím, co jej takto nafukuje. Pochopitelně že při uložení pomocí _wblock se toto obchází a data se vkládají do čistého prostředí. A máte-li u verze 2004 skutečně pouze "holý"ACAD, tak už vám to nedělá.

SWISSS
15.06.2005, 15:45
[QUOTE=Mrázek]Troufnu si říci, že je to nesmysl. Dwg formát nikdy
žádnou "komprimovanou formu" nepoužíval. Pokud tuto zkušenost máte, tak
to není vlastním způsobem uložení (příkazem _save nebo _wblock),
ale něčím jiným. A jediné co mě napadá, že jste ve starší verzi
pracoval s nějakou nadstavbou, která soubor zaneřádí něčím,
co jej takto nafukuje. Pochopitelně že při uložení pomocí _wblock se
toto obchází a data se vkládají do čistého prostředí. A máte-li u verze
2004 skutečně pouze "holý"ACAD, tak už vám to nedělá.[/QUOTE]

nechci odporovat, ale jak si vysvetlujete rozdil velikosti stejneho
souboru, jednou ulozeneho v dwg2000 (768kb) a podruhe v dwg2004
(224kb), kdyz ne nejakou vnitrni kompresi? Ulozeno z ADT2004 pres SAVE
AS s vyberem verze. Podotknul bych, ze v souboru jsou jen cary a oba
soubory jsou ulozeny behem pul minuty, bez jakehokoliv zasahu do obsahu
vykresu.

Mart.Kolin
15.06.2005, 15:52
Zkoušel jsem to a:
Dělá to AutoCad 2004 LT s Mechsoftem (z 2 245kB na 1 553kB)
Dělá to i Autocad 2002 bez nadstaveb (z 3 031kB na 1 553kB)
Může to někdo prakticky vyzkoušet a porovnat?

Mart.Kolin
15.06.2005, 15:57
TO>SWISSS: a nejzajímavější na tom je, že se to podle mého postupu děje i v rámci jedné verze

SWISSS
15.06.2005, 16:03

[QUOTE=Mart.Kolin]Zkoušel jsem to a:
Dělá to AutoCad 2004 LT s Mechsoftem (z 2 245kB na 1 553kB)
Dělá to i Autocad 2002 bez nadstaveb (z 3 031kB na 1 553kB)
Může to někdo prakticky vyzkoušet a porovnat?[/QUOTE]
jen pro zajimavost jsem to ted taky zkusil. ADT2004 bez doplnku.
soubor ulozen klasicky pres save (dwg2000) - 768kB
tentyz soubor ulozen PISBLOK (dwg2000) - 220 kB
kdyz otevru "pisblokovany" vykres a ulozim ho klasicky pres SAVE (dwg2000) - 744kB

rozdil mezi dwg 2000 a 2004 chapu tak, ze novejsi verze dwg je nejakym zpusobem komprimovana.


Mart.Kolin
15.06.2005, 17:55
Jak jste z 2004 udělal pomocí pišblok blok verze 2000? Lze zvolit pouze mezi dwg a nebo dxf.

SWISSS
15.06.2005, 17:58
myslel jsem, ze kdyz mam v profilu nastaveno ukladani v 2000, tak se
tak bude ukladat i pres pisblok. Jestli to tak neni, tak se omlouvam za
dezinformaci.

Seiner
15.06.2005, 19:07
No já jsem si to teda zkusil a výsledky jsou (LT 2002):
Původní soubor: 56 266
Uloženo jako blok: 67 676 (vybráno vše viditelné oknem)
Nové uložení jako: 54 148
Chytrej z toho teda nejsem, ale "komprese" se nekonala ani náhodou. Nejsem si jist, jestli jsem původní výkres neukládal plným AutoCADem 2002.

Kubeczka
16.06.2005, 05:48
Pánové. AutoCAD skutečně od verze 2004 používá jiný formát ukládání dwg. Jak to je uvnitř, netuším, ale jedno je jisté: např. Mám AutoCAD 2004 a v něm nastaveno ukládání ve verzi DWG 2000 (ve které ukládá i AutoCAD 2002). Když však udělám PIŠBLOK, tak mi ho uloží ve formátu DWG 2004, což je onen úsporný, komprimovaný - jak si ho nazveme.  Když ho otevřu a uložím (tedy ve verzi DWG 2000), tak zase "nabobtná". Pokud si nastavím ukládání ve verzi DWG 2004, tak bude podstatně menší. Takže pro pana M. Kolina: nastavte si v Možnostech ukládání ve verzi DWG 2004 (AutoCAD 2004,2005) a zjistíte, že i při ukládání budete mít malé soubory.

Kubeczka
16.06.2005, 05:56
Ještě jednou zdravím. S panem Michlem jsem se domluvil a poskytl do sekce Download prográmek Cisti.exe pro tvorbu skriptu na hromadné čištění dwg souborů od nepoužitých bloků.

Seiner
16.06.2005, 06:51
To, že se může měnit velikost souboru s verzí, mne nepřekvapuje. Formát je samozřejmě jiný, ale změny velikosti bych spíše přičítal zlepšené optimalizaci při ukládání. Taky mám vysledováno, že se může mírně měnit velikost souboru po jeho vyčištění a znovu uložení - důvod neznám. Ohradil jsem se jen proti tvrzení, že uložit jako blok používá nějaký jiný formát DWG.

Mrázek
16.06.2005, 08:00
[QUOTE=SWISSS]nechci odporovat, ale jak si vysvetlujete rozdil velikosti stejneho souboru, jednou ulozeneho v dwg2000 (768kb) a podruhe v dwg2004 (224kb), kdyz ne nejakou vnitrni kompresi? [/QUOTE]
Prosím vás - nemíchejme hrušky s jablkama. Nediskutuji o tom, že velikost téhož souboru uložená v různých verzích se liší a to někdy i dost podstatně. Proto je také problém s kompatibilitou (ve starší verzi nenačtete novější formát); hraje v tom roli spousta věcí, m.j. třeba formát "náhledového obrázku" a mnoho dalších. Můžeme úspornější formát nazvat třeba jako komprimovaný, ale je to prostě jiný formát dat.
Jádro této diskuze bylo, zda data získaná příkazem _wblock se ukládá "nějak jinak" než příkazem _save. A to jsem rozporoval.

Mart.Kolin
16.06.2005, 08:16
No to se to pěkně rozjelo :)
Jak jsem zmiňoval, změna velikosti je od verze 2004 neznatelná. popř. je soubor uložený jako blok i větší...
Ale co Autocad 2002??? Má odlišný způsob ukládání oproti 2000? V 2002 je při ukládání možné uložit jen do verze 2000 a starší... Je tedy 2000 a 2002 dwg "stejné". Bohužel nemám verzi 2000 abych to mohl otestovat...

Kubeczka
16.06.2005, 08:30
Ještě je otázka, zda máte AutoCAD čistý nebo s MechSoftem anebo Mechanical. Každopádně se mi zdá, že AutoCAD 2000,2000i a také 2002 ukládají data do stejného formátu. Protože není problém otevřít c AutoCADu 2000i soubor vytvořený ve verzi 2002 (v holém). S AutoCADem 2000i Mechanical a AutoCADem 6 Mechanical už je to trochu jiné (zdá se mi). Asi by bylo třeba rozlišovat, co máte a jak máte nastaveno ukládání.

Mart.Kolin
16.06.2005, 09:29
Jak jsem psal: V Autocadu 2002 mám nastaveno ukládání do 2000 a tam je právě znát ten rozdíl mezi uložením (i po vyčištění) a uložením přes "PIŠBLOK" (celý výkres). Autocad je plná verze 2002 bez nastaveb.

Mart.Kolin
16.06.2005, 09:34
... v Autocadu 2002 ani jiné ukládání nastavit nelze (jiné ve smyslu novější verze)

Kubeczka
16.06.2005, 09:57
Vyzkoušeno v čistém AutoCADu 2002: soubor 66kB, po pišblok 69kB - tedy téměř žádná zásadní změna. Ale výkres vytvořený v AutoCADu Mechanical měl původně 1,433MB a uložením v čistém AutoCADu ve verzi DWG2000 se zmenšil na 680kB. Po jeho otevření a opětovném uložení se velikost prakticky nezměnila (670kB). Takže otázky: 1. vznikl původně výkres v holém AutoCADu? 2. Neprošel někdy např. Mechanicalem? 3. Neimportoval jste někdy do něho něco z Mechanicalu či případně jiných CADů? Neimportoval jste nějaké filtry? Pokud vše bylo děláno v holém AutoCADu a výkres nepřišel nikdy(!) do styku s daty z jiných CADů, pak je to záhada. Ale na ty moc nevěřím, na 99% se chyba objeví mezi klávesnicí a židlí, takže pátrejme nejprve u sebe

PepaR
16.06.2005, 12:09
Ja osobně při exportu výkresu a číštění používám výhradně 1 tlačítko, kde mám nadefinováno čisti vše, nastav jako aktualni hladinu 0 a nastav maximalni zoom. Popř. použivám ještě fci an čištění hladi, kdy dochazi ke zmenseni velikosti a vykresu az na 1/3.
 
Viz.: ^C^C_-layer _s 0  _-dimstyle _r standard _-purge _a * _n _zoom _e _qsave

Kubeczka
16.06.2005, 14:32
Čisti vše není podle mne zrovna to pravé: protože tvoříme výkresy zařízení, které musí mít výkresovou dokumentaci v pořádku po celou dobu životnosti, tak potřebujeme zachovat neporušený systém hladin, čar, kótovacích stylů atd. Je to o určitých systémových pravidlech. Když za několik let vlezu do výkresu s nějakou aplikací, která předpokládá určitý systém, tak poměrně jednoduše provedu potřebný úkon. Pokud však poruším systémová pravidla, tak budu donekonečna řešit výjimky, až se v tom zamotám. Největší nárůst v objemu výkresu znamenají nepoužité bloky a filtry hladin, takže ven s nimi.

Pepa
27.02.2006, 08:41

[QUOTE=Kubeczka]Ještě jednou zdravím. S panem Michlem jsem se domluvil a poskytl do sekce Download prográmek Cisti.exe pro tvorbu skriptu na hromadné čištění dwg souborů od nepoužitých bloků.[/QUOTE]bezva věcička, jen škoda, že lze najednou vygenerovat script jen pro jeden adresář. Nebo dělám něco špatně?PS: K čemu slouží přepínač TŘÍDIT/NETŘÍDIT?

Ivan Rybák
27.02.2006, 11:53
Používám k hromadnému čištění program ScriptPro z Migration Tools od Autodesku.
Vytvořil jsem si vlastní script:
(command "_purge" "_all" "*" "_n")
scr-saveas-2004

Ten stačí načíst do programu, vyhledat soubory, které chceme čistit a spustit.


Ferdinand
28.02.2006, 09:08
To čištění výkresů již zde bylo kdysi probíráno...
Pokud teda čistit, tak alespoň udělat "velký úklid":
1. Vybrat obsah celého výkresu (_Select _All ), vložit do typového výkresu dle ACADISO.DWT
2. Pokud tam byly nějaká rozvržení, přetáhnout je tam taky (Design Center)
3. (Hlavní příkazy z lispu ACAD2004.LSP, který já k tomu používám a je uložen mimo adresář AutoCADu)
(COMMAND "_-layer" "_T" "*" "_U" "*" "_ON" "*" "_LW" "0" "*" "_S" "0" "");nastaví jako akt. hladinu 0 (nula)
(COMMAND "_-vports" "_si");pokud je více Viewportů-bude režim zobrazování pouze 1 VP
(COMMAND "_zoom" "_e");zobraz vše
(COMMAND "_erase"
"_all" "_r" "_w" (getvar "extmin") (getvar "extmax") "" "_DELAY"
3000);vymaže entity obsahující pouze prázdný text
(COMMAND "_killdots");vymaže "nulové" entity
(C:DeleteFilters);vymaže filtry hladin
(COMMAND "_purge" "_A" "" "_N" "_purge" "_A" "" "_N");mohou být vnořené bloky (=blok v bloku)

Pokud ale ve výkresu jsou bloky definovány např. v osmi hladinách s
natvrdo přiřazenými vlastnostmi, tak je ještě vhodné převést je do
hladiny 0 (nula) - pomocí utility BL0.LSP anebo FIXBLOCK.LSP a postup zopakovat. Je vhodné toto pročišťování provést ve všech rozvrženích (mohou tam být přikresleny nějaké "nečisté" věci).
Lisp mi dělá to, že po napsání příkazu "ACAD" do příkazového řádku se spustí AutoCAD, postupně otvírá výkresy v akt. adresáři jeden za druhým a čistí a čistí...