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.
Diskuzní fórum, poradna
?CAD diskuze, rady, výměna zkušeností

Fórum nenahrazuje technický support firmy ARKANCE (CAD Studio) - přímá podpora pro zákazníky funguje na helpdesk.arkance-systems.cz
|
Odpovědět ![]() |
Stránka <12 archiv |
Autor | ||
Sedláček ![]() TOP uživatel ![]() Přihlášen: 15.dub.2005 Lokalita: Czech Republic Používám: AutoCad 2024 LT Stav: Offline Bodů: 384 |
![]() |
|
Pro náhradu textů fungoval tento LISP (byl součástí nějaké prehistorické verze AutoCadu, dnes by to šlo řešit asi elegantněji):
(defun C:CHGTEXT ( / p l n e os as ns st s nsl osl sl si test chm olderr)
(setq olderr *error* ; Initialize variables *error* chgterr chm 0) (setq p (ssget)) ; Select objects (if p (progn ; If any objects selected (while (= 0 (setq osl (strlen (setq os (getstring t "\nOld string: "))))) (princ "Null input invalid") ) (setq nsl (strlen (setq ns (getstring t "\nNew string: ")))) (setq l 0 n (sslength p)) (while (< l n) ; For each selected object... (if (= "TEXT" ; Look for TEXT entity type (group 0) (cdr (assoc 0 (setq e (entget (ssname p l)))))) (progn (setq test nil si 1) (setq s (cdr (setq as (assoc 1 e)))) (while (= osl (setq sl (strlen (setq st (substr s si osl))))) (if (= st os) (progn (setq s (strcat (substr s 1 (1- si)) ns (substr s (+ si osl)))) (setq test "t") ; Found old string (setq si (+ si nsl)) ) (setq si (1+ si)) ) ) (if test (progn ; Substitute new string for old (setq e (subst (cons 1 s) as e)) (entmod e) ; Modify the TEXT entity (setq chm (1+ chm)) )) ) ) (setq l (1+ l)) ) )) (princ "Changed ") ; Print total lines changed (princ chm) (princ " text lines.") (terpri) (setq *error* olderr) ; Restore old *error* handler (princ) ) |
||
![]() |
||
alfred ![]() Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
TOP uživatel ![]() Přihlášen: 14.říj.2004 Lokalita: ČR (JČ) Používám: AutoCad MAP 2011 Stav: Offline Bodů: 1675 |
![]() |
|
Soubor SRXTEXT.VLX a SRXTEXT2.VLX mam stazeny nekdy od roku 2006. Nepamatuji se, jestli jsem je stahoval z VIP a nebo v te dobe byly ke stazeni free. V zadnem pripade jsem je ale v te dobe neplatil - mozna je to nejaka starsi free verze. Pokud vim, tak fungovaly bez omezeni.
Nicmene pokud by slo o to zamenit jeden text za druhy v celem vykresu a nebylo by nutne se zabyvat s regulernimi vyrazy, tak by snadno slo upravit jeden muj skriptik. Snadno se zedituje a dopise se zamenovany par. Pozor, skript prochazi databazi vykresu - tedy i zmrazene hladiny! http://alfredcadpage.wz.cz/download/replace_unicode_v_textech.zip Upravil alfred - 05.led.2010 v 10:22 |
||
![]() |
||
alfred ![]() Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
TOP uživatel ![]() Přihlášen: 14.říj.2004 Lokalita: ČR (JČ) Používám: AutoCad MAP 2011 Stav: Offline Bodů: 1675 |
![]() |
|
A nebo vkladejte obrazek jako rastr - prikazem -OBRÁZEK (_-IMAGE) Samozrejme si nastavte promennou FILEDIA na 0 a pak zpet na 1 |
||
![]() |
||
martiner33 ![]() Nováček ![]() Přihlášen: 03.led.2010 Lokalita: Slovensko Používám: AUTOCAD2009 Stav: Offline Bodů: 9 |
![]() |
|
srxtext funguje pekne priamo v prikazovom riadku Autocadu ale v lispe ani za svet. v autocade si program pyta nasledovne:
Search - Regular expression/Exact string/<Substring>: Enter the searched text: male Enter the replace text: female Search Layer/<All>: Search Selected/<All>: Number of searched entities: 258 male-->female Replace/Dont ask - yes/Exit/<Next>: dont Number of found/replaced entities: 1/1 takze ako uzivatel zadavam 6x vstup pre program preto by aj v LISPe malo fungovat nasledovne: (command "srxtext" "Substring" "male" "female" "All" "All" "Dont") vysledok je nasledujuci Příkaz: REPLACE_TEXT Neznámý příkaz "SRXTEXT". Stiskněte F1 pro nápovědu. Neznámý příkaz "SUBSTRING". Stiskněte F1 pro nápovědu. Neznámý příkaz "MALE". Stiskněte F1 pro nápovědu. Neznámý příkaz "FEMALE". Stiskněte F1 pro nápovědu. Neznámý příkaz "ALL". Stiskněte F1 pro nápovědu. Neznámý příkaz "ALL". Stiskněte F1 pro nápovědu. Neznámý příkaz "DONT". Stiskněte F1 pro nápovědu. Avsak ak tam dam (srxtext "Substring" "male" "female" "All" "All" "Dont") tak mi vypise ze tam mam prilis mnoho argumentov. ak som ich tam dal 4 ako ste pisali tak program nespravi nic (srxtext "Substring" "male" "female" "spravna volba") Troska som sa zamotal ale nechapem preco to nefunguje. Co sa tyka programu SRXTEXTCSV. Tam zadava uzivatel tiez viacero vstupov. Pri druhom vyskoci okno load file, da sa tato volba nahradit? Myslim tym (srxtextcsv "Substring" "cesta k suboru csv/pripadne nieco ako prikaz load" "...." "...." ) |
||
![]() |
||
alfred ![]() Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
TOP uživatel ![]() Přihlášen: 14.říj.2004 Lokalita: ČR (JČ) Používám: AutoCad MAP 2011 Stav: Offline Bodů: 1675 |
![]() |
|
Nevim, pouzil jsem to pred par lety v jednom lispu presne podobnem pripade - soucasne s SCRIPTMAKER.
Jinak ja v lispu pouzivam SRXTEXT2.VLX - krome toho take jeste mam stazene SRXTEXT.VLX, ale to pro pouziti v LISPu nelze pouzit. Oba soubory jsou z roku 2006. Pokud by mi nekdo z XANADU v diskusi potvrdil, ze to sem muzu dat, tak Vam klidne tu historickou verzi poslu... Nicmene zpet k Vasemu problemu - chapu to tak, ze nepotrebujete nejaky text smazat a jinde tvorit novy (jak jste puvodne planoval), ale postaci zamena retezce? Pokud pri tom nepotrebujete regulerni vyrazy, tak Vam v nejhorsim postaci nejake jine zamenovani (viz vyse nebo na webu nebo vlastni tvorba).... |
||
![]() |
||
martiner33 ![]() Nováček ![]() Přihlášen: 03.led.2010 Lokalita: Slovensko Používám: AUTOCAD2009 Stav: Offline Bodů: 9 |
![]() |
|
Neviem co si pod pojmom retazec predstavujete, jaj mam na mysli text ktory oznacuje napriklad nazov vykresu - teda retazec. Tento retazec xcem nahradit novym retazcom. Chcem to riesit pomocou suradnic, teda na konkretnych suradniciach sa zmaze obsah a nahradi sa to novym retazcom. Mam spraveny csv subor kde v prvom stlpci je TITLE vykresu a v druhom DATE, pricom sa daju dalsie doplnat.
Mojou snahou je teda spravit LISP skript ktory mi nahradi retazec na konkretnych suradniciach. Co sa tyka obrazka na to mam spraveny zvlast LISP script. Tot vsjo. Ako ste to mysleli ze SRXTEXT.VLX nefunguje v LISPe? Kde momentalne stagnujem? Momentalne sa mi nedari rozbehat srxtext.vlx. Nefunguje mi ked ho zakomponujem to svojho LSP skriptu, pricom v AutoCADe samotnom bezi v pohode. Vid moj komentar vyssie. |
||
![]() |
||
alfred ![]() Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
TOP uživatel ![]() Přihlášen: 14.říj.2004 Lokalita: ČR (JČ) Používám: AutoCad MAP 2011 Stav: Offline Bodů: 1675 |
![]() |
|
Retezec - mam na mysli "textovy retezec", string, proste text.
Nahrazeni textu lze dvema zpusoby: -editaci jedne entity a pouhou zamenou obsahovaneho textu (retezce). To dela SRXTEXT.VLX . Podobnych utilit najdete hromadu. Specialita SRXTEXT.VLX je ze umi hledat regulerni vyrazy -smazanim jedne entity a vytvorenim nove entity SRXTEXT.VLX nefunguje v lispe - tedy alespon ta moje prastara verze. Proste pokud napisu : (srxtext "Substring" "xxx" "yyy" "ALL") tak to nefunguje, musim pouzit (nacist) jiny soubor, ktery se u me jmenuje SRXTEXT2.VLX. Kde jsem ho ale stahnul uz nevim. |
||
![]() |
||
martiner33 ![]() Nováček ![]() Přihlášen: 03.led.2010 Lokalita: Slovensko Používám: AUTOCAD2009 Stav: Offline Bodů: 9 |
![]() |
|
Nuz pan Google nenasiel ani mastny mak, mam na mysli SRXTEXT2.VLX.
Ten druhy system sa mi pozdava viac nakolko umiestnenie konkretneho retazca je v kazdom vykrese rovnake. V kazdom vykrese su dva retazce. Ak by som prepisoval v kazdom vykrese napriklad datum, tak to bude jednoduche nakolko datum bude vsade rovnaky. Ja sa pokusam vsak do kazdeho suboru dat iny TITLE. Poradie v zozname vykresov bude rovnake ako poradie novych udajov v CSV/XLS subore. Teda ani by som nemusel pouzit ziaden SRXTEXT.VLX/SRXTEXT2.VLX. (defun c:vymaz_text () (setvar "clayer" "Drawing_title") (command "_-layer" "Odemkni" "Drawing_title" "") (initget 1) (setq coordinate1 '(348.7742 39.9479)) (command "_erase" coordinate1 "") (princ) ) Program odomkne hladinu a na suradniciach 348.7742 39.9479 zmaze objekt. Pridat by som xcel prikaz ktory pri kazdom vykrese zapise udaje z jedneho riadku CSV/XLS subora. Riadok zodpoveda jednemu vykresu, stlpec jednej polozke. Idem teda surfovat ako drak, ak niekoho z vas napadne nejaka featurina budem rad. Zatial vrele diiiiki ... |
||
![]() |
||
Vladimír Michl ![]() Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
Moderátor ![]() ![]() Arkance Systems Přihlášen: 09.zář.2004 Lokalita: ČR (JČ) Používám: Implementujeme řešení Autodesk Stav: Offline Bodů: 21899 |
![]() |
|
Starší verze srxText byly free kompletně, několik novějších verzí (s řadou oprav a doplnění) je také free, kromě speciálního režimu CSV (Excel), ten je třeba nejprve aktivovat (např. pomocí bezplatného generátoru kódů na vip.xanadu.cz). Starší verze srxText si mj. neporadí s novějšími typy entity (podobně jako výše uvedená Alfredova utilita) a obsahovaly několik drobnějších chyb, takže je nedoporučujeme už používat. |
||
![]() |
||
alfred ![]() Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
TOP uživatel ![]() Přihlášen: 14.říj.2004 Lokalita: ČR (JČ) Používám: AutoCad MAP 2011 Stav: Offline Bodů: 1675 |
![]() |
|
Tak v poradku. Pokud by martiner33 potreboval starsi verzi utility poslat tak muji poslu treba e-mailem. Pokud tedy budete mit zajem, ozvete se mi pres soukromou zpravu.
|
||
![]() |
||
Sedláček ![]() TOP uživatel ![]() Přihlášen: 15.dub.2005 Lokalita: Czech Republic Používám: AutoCad 2024 LT Stav: Offline Bodů: 384 |
![]() |
|
Měl jsem chvilku na experimentování tak posílám pro inspiraci.
Pro vygenerování scriptu jsem použil Exel, kde v buňkách B-I jsou jednotlivé příkazy a jejich parametry. V buňce A jsou pak tyto příkazy sloučeny (pomocí "&").
Sloupec A je pak v Notepadu překopírován (přes schránku) do vykr.scr
V novějších verzích Autocdu to nemusí být funkční - nevím zda byla zachována posloupnost parametrů jednotlivých příkazů.
Místo "Enter" jsou použity "Mezery" a tak je zápis dost nepřehledný.
(script by měl ve všech výkresech vymazat kružnici a text "ddddd" nahradit dle sloupce I ve vykres_11.xls)
Upravil Sedláček - 07.led.2010 v 15:49 |
||
![]() |
||
Sedláček ![]() TOP uživatel ![]() Přihlášen: 15.dub.2005 Lokalita: Czech Republic Používám: AutoCad 2024 LT Stav: Offline Bodů: 384 |
![]() |
|
Zasílám ještě jednou - v předchozím příspěvku jsem měl vzorové výkresy už po aplikování scriptu. |
||
![]() |
Pro technickou podporu CAD
kontaktujte Helpdesk
Odpovědět ![]() |
Stránka <12 archiv |
Přejít na fórum | Oprávnění fóra ![]() Nemůžete vytvářet nová témata v tomto fóru Nemůžete odpovídat na témata v tomto fóru Nemůžete vymazávat vaše příspěvky v tomto fóru Nemůžete upravovat vaše příspěvky v tomto fóru Nemůžete vytvářet ankety v tomto fóru Nemůžete hlasovat v anketách v tomto fóru |
Stránka byla vygenerována za 1,863 sekund.