Zobrazit plnou verzi příspěvku: diakritika - přepsání znaků

Honzík
12.03.2008, 10:01
Od geodetů mi chodí výkresy, a texty popisů jsou občas zkomolené například místo štěk mám ?těrk (pokud otevřu text tak se mi objeví %%154těrk) Změna fontů nepomohla, zkusil jsem FIND a nahradit, ale píše mi že nemůže hledaný text najít. Nechce se mi přepisovat každý text zvlášť, potřeboval bych hromadnou opravu. v Tipech nemůžu návod najít tak se obracím na vas. co vy na to?

vbehun
12.03.2008, 10:49


[QUOTE=Honzík] ...%%154těrk) Změna fontů nepomohla, zkusil jsem FIND a nahradit, ale píše mi že nemůže hledaný text najít.[/QUOTE]Jako co jste hledal ? Je to text, MText, atribut, nebo něco jiného ?Řetězec textu "%%154" najít v celém výkrese a nahradit za "š" nepomohlo ?vbehun2008-03-12 10:52:11

zdrk
12.03.2008, 13:17
Pokud je to text nebo atribut pak to musí fungovat. Pokud se, ale jedná o blok, pak by se ty bloky museli nejdříve rozložit, nebo jednotlivě (pokud má každý jiný název) upravit.

alfred
12.03.2008, 13:42
Pokud je to v entitach TEXT nebo MTEXT tak by Vam mohla pomoci utilita "replace_unicode_v_textech.LSP"

http://mujweb.cz/Pocitace/alfred/download/replace_unicode_v_textech.zip

zdrk
12.03.2008, 15:57
Ten lisp nebude pod LT fungovat

Vladimír Michl
12.03.2008, 19:00
Kromě ručního nahrazení nebo automatického tabulkového nahrazení (viz např. tip 1741) zkuste přesvědčit dodavatele na používání správného formátu DWG.

zdrk
12.03.2008, 20:00
Ty podklady jistě geodeti zpracovávali v MicroStationu - ten to rád způsobí - špatná náprava.
(ten tip 1741 je také pro plný cad)

Kotlaba
13.03.2008, 09:18
Kdysi jsem si s tím také hrál. Zkoušel jsem takový výkres uložit jako DXF a pak jej zpracovat svým prográmkem ale už je to dost dávno a nevím jestli by to šlo i u nových verzí. Ale třeba se to ještě někomu hodí
 

1 REM zkouska programu, ktery ve vykresovem souboru nahradi textove retezce
2 REM %%<trojmistne cislo> jednim bajtem - osmibitovym kodem znaku. Upravena
3 REM data zapise do noveho souboru
 
rem tabulka kodu
DATA 130, é
DATA 133, ů
DATA 144, É
DATA 155, Ť
DATA 156, ť
DATA 159, č
DATA 160, á
DATA 161, í
DATA 162, ó
DATA 163, ú
DATA 166, Ž
DATA 167, ž
DATA 172, Č
DATA 181, Á
DATA 183, Ě
DATA 210, Ď
DATA 212, ď
DATA 213, Ň
DATA 214, Í
DATA 216, ě
DATA 222, Ů
DATA 224, Ó
DATA 229, ň
DATA 230, Š
DATA 231, š
DATA 233, Ú
DATA 236, ý
DATA 237, Ý
DATA 252, Ř
DATA 253, ř
 
 
defint i,j,k,l,m,n
rem dimenzovani pole kodu
 
dim ko$(30,2)
cls
rem nacteni dat do pole kodu
for n=1 to 30
read ko$(n,1)
read ko$(n,2)
next n
 
10 OPEN "ZDROJ.DXF" FOR RANDOM AS #1 len=1
24 OPEN "CIL.DXF" FOR RANDOM AS #2 len=1
30 FIELD #1, 1 AS A$
40 FIELD #2, 1 AS X$
 
50 IF EOF(1) THEN PRINT: print "Konec souboru": GOTO 140
60 GET #1: LET B$ = A$:print ".";
80 if B$<>"%" then lset X$=B$: put #2: goto 50
 
get #1
let B$=A$
if B$<>"%" then lset X$="%": put #2:lset X$=B$: put #2: goto 50
 
get #1
B$=A$
get #1
B$=B$+A$
get #1
B$=B$+A$
 
rem hledani v tabulce
c$=""
for n=1 to 30
if B$=ko$(n,1) then c$=ko$(n,2): goto ven
next n
rem kod se nenasel
lset X$="%": put #2
lset X$="%": put #2
for n=1 to 3
lset X$=mid$(B$,n):put #2
next n
goto 50
 
ven:
rem kod se nasel
print"*";
lset X$=C$:put #2
goto 50
 
140 close
stop
 

Ferdinand
13.03.2008, 11:12
...nádhera... 

Honzík
13.03.2008, 12:15
ty popisky jsou jako TEXT, a možná je něco špatně nastaveno, nebo je poškozen výkres, dřív jsem si poradil s příkazem FIND, teď to prostě nejde. zkusil jsem nahradit celé slovo, to mi našlo a opravilo, ale pouze jednou, přitom ve celém výkrese je min. 30 stejných popisek
S geodety je totiž, pokaždé potíž, co jsou nová zaměření, to si ohlídám, ale pokud se mi dostane do rukou starší zaměření, tak je rychlejší si to opravit sám, než se pídit po geodetovi.   

Buba
13.03.2008, 12:18
Tiež mi to niekedy robilo. Myslím, že je to vnorenou referenciou.

zdrk
13.03.2008, 13:03
[QUOTE=Honzík] ty popisky jsou jako TEXT, a možná je něco špatně nastaveno, nebo je poškozen výkres, dřív jsem si poradil s příkazem FIND, teď to prostě nejde. zkusil jsem nahradit celé slovo, to mi našlo a opravilo, ale pouze jednou...[/QUOTE]
Nedal ste jen příkaz nahradit místo NAHRADIT VŠE. Dále bych se podíval do možností nahradit a případně vypnul - ROZLOŠOVAT MALÁ A VELKÁ a také POUZE CELÁ SLOVA. Zbytek nechat zapnuto.

KisserWolf
05.09.2008, 13:12

[QUOTE=alfred]Pokud je to v entitach TEXT nebo MTEXT tak by Vam mohla pomoci utilita "replace_unicode_v_textech.LSP"

http://mujweb.cz/Pocitace/alfred/download/replace_unicode_v_textech.zip[/QUOTE]Moc díky pomohlo

PepaR
05.09.2008, 23:35
Lisp od Alfreda je velmi dobrý, nedocenitelný při přebíraní mapových podkladů pro situace od geodetů. Najdete jej i v GGmenu.

alfred
06.09.2008, 07:00
Jen je třeba mít na paměti, že není univerzální - zaměňuje pouze české znaky. Zaměňované kódy jsou znadno z funkce čitelné.

alfred
06.09.2008, 07:50
A ještě doplním, pokud si chcete zjistit které číslo patří ke kterému znaku (%%cislo) lze použít například excel funkce:KÓD()např. KÓD("š") vrátí 154opačně funkce ZNAK(číslo)

např. ZNAK(154) vrátí "š"a nebo místo excelu lze použít openoffice.orgfunkce :CODE()
např. CODE("š") vrátí 154opačně funkce CHAR(číslo)
např. CHAR(154) vrátí "š"

KisserWolf
09.09.2008, 13:43
Ještě jedna věcička.v Alfredově lispu
"replace_unicode_v_textech.LSP" lze lehce doplnit znaky které se dají nahradit. Nevím proč, ale v Cadu 2008 a 2009 když občas otevřu výkres po kolegovi co má pouze AutoCad 2006LT nemám problém pouze se znaky typu è = %%232 - by mělo být ASCI jestli se nepletu(dištak mě opravte,ale našel jsem v ASCI tabulce pod tímto číslem) - ty se oběvují od geodetů, ale také takový è = \U+00E8 - UNICODE.Takže jsem si do lispu doplnil:            ("č" . "\U+00E8")Tady ještě odkaz na znaky psané tímto způsobemhttp://www.xanadu.cz/dl/unicodes.dwgSnad to někomu pomůže