Vytisknout stránku | Zavřít okno

srxTEXT

Vytištěno z: CAD Fórum
Kategorie: ARKANCE/CAD Studio
Název fóra: Aplikace ARKANCE, Be.Smart
Popis fóra: Otázky k aplikacím firmy ARKANCE (CAD Studio) - CS+ Tools, Be.Smart, twiGIS, LT Extension, VFK, XLSparam, CITin, RÚIAN, srxText, SureSave, Anaglyf, GeoRefImg, JobTime...
URL: https://www.cadforum.cz/forum/forum_posts.asp?TID=7252
Datum vytištění: 06.kvě.2026 v 17:59


Téma: srxTEXT
Odeslal: bobous007
Předmět: srxTEXT
Datum odeslání: 23.zář.2008 v 14:03
Dobrý den vespolek,

mám následující problém:

Při použití utilitky srxTEXT v makru (CUI) nevím, jak nahradit zpětná lomítka v regulárním výrazu. Při použití z příkazové řádky vše funguje bezvadně, ale v makru se ACAD2008 vždy zastaví na zpětném lomítku a čeká, co uživatel. Poradíte prosím ?

Díky Radek



Odpovědi:
Odeslal: PepaR
Datum odeslání: 23.zář.2008 v 14:12
Příkaz:  SRXTEXT
Popis:  Najde a nahradí hledaný řetězec v textech, kótách a atributech bloků. Funkce zahrnuje pokročilé funkce pro vyhledávání a nahrazení jako využití regulárních výrazů, přidání řetězců na začátek nebo konec textů, jednotlivých slov, nahrazení pouze jednoho/prvního výskyt podřetězce, apod. srxTEXT lze využít i pro dávkové nahrazení textů ve více výkresech (pomocí skriptů).
 
Více informací o regulárních výrazech naleznete na webu http://www.regularnivyrazy.info" rel="nofollow - www.regularnivyrazy.info .
Legenda pro instrukce funkce:
Search - Regular expression/Exact string/<Substring>:
Hledat – Regulární výrazy/Přesný řetězec/<Podřetězec>:
 
Enter the searched text:
Zadejte hledaný text:
 
Enter the replace text:
(no replacements will be done)
Zadejte text pro nahrazení:
(pokud nic nezadáte, bude funkce pouze vyhledávat)
 
Search Layer/<All>:
Hledat v hladině/<Ve všech hladinách>:
 
Search Selected/<All>:
Hledat ve výběru/<V celém výkresu>:
 
Number of searched entities: ??
Počet nalezených objektů: ??
 
Příkaz:  SRXTEXTCSV
Popis:  Najde a nahradí hledaný řetězec v textech, kótách a atributech bloků podle definicí v souboru CSV. Funkce zahrnuje pokročilé funkce pro vyhledávání a nahrazení jako využití regulárních výrazů, přidání řetězců na začátek nebo konec textů, jednotlivých slov, nahrazení pouze jednoho/prvního výskyt podřetězce, apod. Text bude nahrazen podle tabulky v souboru srxtext.csv. Soubor CSV lze upravovat např. pomocí programu Microsoft Excel. srxTEXT lze využít i pro dávkové nahrazení textů ve více výkresech (pomocí skriptů).
 
Formát zápisu v souboru CSV:
bolt,"nut" … řetězec bolt bude nahrazen řetězcem nut
male,"female" … řetězec male bude nahrazen řetězcem female
 
Zdroj: Nápověda pro jednu nejmenovanou firmu a textový soubor přiložený k nástroji SRXTEXT.


-------------
PepaR
https://www.jremes.cz" rel="nofollow - jremes.cz | https://www.stavlab.cz" rel="nofollow - stavlab.cz


Odeslal: PepaR
Datum odeslání: 23.zář.2008 v 14:20
Jinak zpětné lomítko znamená, že AutoCAD čeká na výzvu nebo něco podobného (z hlavy nevím, promiňte). Řešil bych to raději jako příkaz SRXTXTCSV. Nebudete si tak zbytečně komplikovat CUI.

-------------
PepaR
https://www.jremes.cz" rel="nofollow - jremes.cz | https://www.stavlab.cz" rel="nofollow - stavlab.cz


Odeslal: bobous007
Datum odeslání: 23.zář.2008 v 14:22
Díky, návod mám, jde mi pouze o ty zpětná lomítka při použití srxTEXTu z makra v CUI. Něčím by měla jít nahradit, aby acad nečekal na zadání uživatele, ale předal celý parametr jako řetezec této funkci.


Odeslal: PepaR
Datum odeslání: 23.zář.2008 v 14:30
Nepomohlo by "" nebo znak ; ? Nutno vyzkoušet, je mi líto, ale já nemám tu možnost.

-------------
PepaR
https://www.jremes.cz" rel="nofollow - jremes.cz | https://www.stavlab.cz" rel="nofollow - stavlab.cz


Odeslal: bobous007
Datum odeslání: 23.zář.2008 v 14:32
To právě nevím, zkouším to už od rána, středníky, dvoje lomítka, uvozovky, normální lomítka.................. plus google, ale jaksi bez výsledků ....


Odeslal: PepaR
Datum odeslání: 23.zář.2008 v 14:34
Vyvěste zde prosím jak to máte v CUI zapsáno, až se vrátím k PC, zkusím se podívat na tu syntaxi ... pokud mě pan Michl nebo nějaký jiný šikula nepředběhne :D

-------------
PepaR
https://www.jremes.cz" rel="nofollow - jremes.cz | https://www.stavlab.cz" rel="nofollow - stavlab.cz


Odeslal: Vladimír Michl
Datum odeslání: 23.zář.2008 v 15:05
srxText pracuje s lomítky normálně - tedy pokud je potřebujete zadávat formou regulárního výrazu, musíte je zdvojit. Pokud potřebujete hledat dvojici lomítek, musí být tedy celkem 4.
 
Se zpětnými lomítky ale může být problém v menu makrech. Dá se to ale obejít, např. takto:

(srxtext "Regular" (strcat(chr 92)(chr 92)(chr 92)(chr 92)) "|" "All")


-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz helpdesk.arkance-systems.cz)


Odeslal: bobous007
Datum odeslání: 23.zář.2008 v 15:05
Hledám řetezec začínající na YP a nahrazuji ho celý pěti pomlčkami (např. YP-2255-GH-2333 chci nahradit -----)

Zápis pro příkazovou řádku (funguje OK):

(srxtext "Regular" "\\YP\\(.*\\)" "-----" "All"

V CUI mám vytvořené tlačítko, v tlačítku makro a v makru tento příkaz. Máčknu na tlačítko a na prvním zpětném lomítku se vykonávání makra přeruší a čeká se na vstup uživatele. Já ale potřebuji, aby se parametr druhý parametr předal celý funkci srxTEXT, tak, jak je v uvozovkách.




Odeslal: bobous007
Datum odeslání: 23.zář.2008 v 15:16
Děkuji mnohokrát za pomoc. Funguje to. Paráda :-)

Jen pro info správný tvar pro makro:

(srxtext "Regular" (strcat(chr 92)"YP"(chr 92)"(.*"(chr 92)")")
"-----" "All")

Hezký den
Radek


Odeslal: Vladimír Michl
Datum odeslání: 23.zář.2008 v 15:21
Pro tento typ nahrazení (nepotřebujete "capture match") ale ani nepotřebujete ta zpětná lomítka - stačí:

(srxtext "Regular" "^YP.*" "-----" "All")


-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz helpdesk.arkance-systems.cz)



Vytisknout stránku | Zavřít okno