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.094.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.
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

hromadné vložení tečky do textu

 Odpovědět Odpovědět archiv
Autor
xJanik Zobrazit panel
Diskutér
Diskutér

Přihlášen: 10.říj.2008
Lokalita: ČR (PA)
Používám:
AutoCad 2024, Civil 3D 2023
Stav: Offline
Bodů: 89
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace xJanik Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Téma: hromadné vložení tečky do textu
    Zasláno: 11.čer.2025 v 10:41
Děkuji všem, nakonec vyřešeno s Copilotem

(defun c:ZMEN_CISLA ()
(vl-load-com)
(setq ss (ssget)) ; Výběr všech objektů
(if ss
    (progn
      (setq i 0)
      (while (< i (sslength ss))
        (setq ent (ssname ss i))
        (setq ent-data (entget ent))
        (setq txt (cdr (assoc 1 ent-data))) ; Načtení textové hodnoty
       
        (if (and txt (>= (strlen txt) 3)) ; Musí být alespoň 3 znaky dlouhý
          (progn
            (setq nova-hodnota (strcat (substr txt 1 2) "." (substr txt 3))) ; Vložení tečky

            ;; Změna textové hodnoty
            (setq ent-data (subst (cons 1 nova-hodnota) (assoc 1 ent-data) ent-data))
            (entmod ent-data)
            (entupd ent)
            (princ (strcat "\nZměněno: " txt " -> " nova-hodnota))
          )
          (princ (strcat "\nPřeskakuji: " txt " (méně než 3 znaky)"))
        )

        (setq i (1+ i))
      )
      (command "REGEN") ; Aktualizace AutoCADu
      (princ "\nHotovo.")
    )
    (princ "\nNebyl vybrán žádný objekt.")
)
(princ)
)
Zpět nahoru
Jan Palička Zobrazit panel
Nováček
Nováček

Přihlášen: 08.led.2025
Lokalita: ČR (SČ)
Používám:
Civil
Stav: Offline
Bodů: 7
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace Jan Palička Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 10.čer.2025 v 10:09
Zkouším to v Civilu a funguje mi SRXTEXT2 s regulárním nahrazením

(\d)(\d{4})
$1.$2


Připojené náhledyPřihlaste se pro zobrazení plné verze - 119777/srx.jpg


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

Přihlášen: 16.úno.2007
Lokalita: ČR (JM)
Používám:
AutoCAD LT 2025
Stav: Offline
Bodů: 426
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace Petr75 Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 10.čer.2025 v 08:55
Dobrý den,
předpokládám, že jste soubor uložila s příponou *.lsp". Pro jistotou přikládám soubor. Soubor načíst příkazem APLČTI a pak spustit příkaz NUM_1_4

Připojené souborylspuploads/2271/Num_1_4.lsp

Zpět nahoru
xJanik Zobrazit panel
Diskutér
Diskutér

Přihlášen: 10.říj.2008
Lokalita: ČR (PA)
Používám:
AutoCad 2024, Civil 3D 2023
Stav: Offline
Bodů: 89
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace xJanik Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 10.čer.2025 v 08:33
Děkuji, ale nějak mi to nejde zprovoznit. Nenačte se, hlásí chybu: nedefinovaná funkce - command-s. Zkoušela jsem přepsat command-s za jen command, ale také nic. Kódování jsem zadala ANSI
I tak děkuji
Zpět nahoru
Petr75 Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 16.úno.2007
Lokalita: ČR (JM)
Používám:
AutoCAD LT 2025
Stav: Offline
Bodů: 426
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace Petr75 Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 09.čer.2025 v 14:17
Dobrý den,
pokud jsou daná čísla jako text "XXXXX" a chcete vytvořit text "X.XXXX", tak můžete zkusit Lisp viz. níže. Předpokládám, že čtvrtou pozici jste myslel zprava. V dotazu tedy používáte násobení číslem 0.001, cože by tedy byla tečka na třetím místě zleva.

;;▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
(defun c:Num_1_4 (  / ss Num j en enList errorTrapNum)
;;↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
(defun errorTrapNum (errmsg)
(if (not (member errmsg '("console break" "Function Cancelled")))
(princ (strcat "\nError: " errmsg "\n"))
)                
(and (= (logand (getvar 'UNDOCTL) 8))
(command-s "_.undo" "_e")
)
(command-s "_.undo" "")
(setvar 'CMDECHO 1)
(setvar 'NOMUTT 0)
(setvar 'CLIPROMPTUPDATE 1)
(setq *error* temperr)
   (princ)
) ;defun errorTrapNum
;;↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

;;=========================
(and (= (logand (getvar 'UNDOCTL) 8))
(command-s "_.undo" "_e")
)
(setvar 'CMDECHO 0)
(command-s "_.undo" "_be")
(princ)
(setq temperr *error*)
(setq *error* errorTrapKM1)

(setq ss (ssget "_X" '((0 . "TEXT") (1 . "#####"))))
(if ss (progn
(setq j 0)
(repeat (sslength ss)
(setq en (ssname ss j))
(setq enList (entget en))
(setq num (cdr (assoc 1 enList)))
(setq num (strcat (substr num 1 1) "." (substr num 2 4)))
(entmod (subst (cons 1 num) (assoc 1 enList) enList))
(setq j (1+ j))
) ;repeat
)) ;if

(command-s "_.regen")
(command-s "_.undo" "_e")
(setvar 'NOMUTT 0)
(setvar 'CLIPROMPTUPDATE 1)
(setvar 'CMDECHO 1)
(setq *error* temperr)
(princ)
) ;defun _Num_1_4
;;▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲
(princ)
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ů: 21914
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace Vladimír Michl Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 09.čer.2025 v 14:15
Asi nejjednodušší je to vzít řetězcově - takže např. pomocí utility srxText - příkaz SRXTEXT2, regulární výraz:

hledat: (.*\d\d\d\d)(\d.*)
nahradit: $1.$2

Vladimír Michl (moderátor)
ARKANCE CZ - arkance.world
(podpora viz helpdesk.arkance-systems.cz)
Zpět nahoru
xJanik Zobrazit panel
Diskutér
Diskutér

Přihlášen: 10.říj.2008
Lokalita: ČR (PA)
Používám:
AutoCad 2024, Civil 3D 2023
Stav: Offline
Bodů: 89
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace xJanik Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 09.čer.2025 v 09:58
Dobrý den, jde nějak hromadně vložit do textu tečka? Mám čísla o 5ti místech a tečku bych potřebovala dát na čtvrtou pozici. Zkoušela jsem v lisp numintext dát Multiply 0.001, ale nedaří se mi, pouze mi to číslo ořízne. Lze to nějak jinak?
Děkuji
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 4877:VIPHromadné přenastavení jednotek ve všech DWG výkresech (nesprávné měřítko vkládání).
Tip 13998:VIPSnadné hromadné vyhledání a nahrazení textu ve výkresech Inventoru - iLogic (viz nový tip)
Tip 3509:Snadné vložení textu do výkresu AutoCADu.
Tip 7838:Problém s OLE objekty v dokumentu Inventoru.
Tip 5330:VIPSnadné vložení zformátovaného textu v azbuce do výkresu AutoCADu
Tip 6818:Texty a symboly jsou v PDF zobrazeny jen jako tečky.


 Odpovědět Odpovědět

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



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