Zobrazit plnou verzi příspěvku: Výšky z textu
Zdravím všechny,potřeboval bych 2D text převést do 3D, běžný postup nefunguje (Upravit-> Povrch -> Výšky z textu...) protože v poli obsah ve vlastnostech textu není jen výška ale nějaký další text, viz obrázek...Díky všem za odpovědi...
martinfolber
18.04.2017, 17:11
Dobrý den,to je formátování MTEXTu. Zkuste Mtexty převést rozbitím na DTEXT, případně použijte nějaký lisp na odstranění formátování.
Dobrý den,tak rozbitím se sice MTEXT převedl na text ale, převod do 3D stejně nefunguje...
martinfolber
18.04.2017, 17:25
Nemáte tam desetinnou tečku ale mezeru. Zkuste nahradit mezeru za tečku nebo použít naši funkci z Civil Tools pro převod textů.
Ještě jeden problém, nahradí to i mezeru na konci tečkou takže pak jeto "234.32."
martinfolber
18.04.2017, 21:09
To není problém. Funkce z našich Civil Tools si s tím poradí. Pokud je nemáte, budete muset přes příkaz EXTRDATA dostat texty např. do Excelu a úpravu udělat tam.
_DATAEXTRACTION je nepochybně legitimní cesta a rozhodně není o tom, že "budete muset". Jen nezapomeňte dat bod zarovnání textu na výchozí "Levý". Používám to docela rád, páč ikdyž vyžaduje více kroků, tak si to můžete v excelu krásně zkontrolovat, a do civilu to pustit už v cajku. Jistě že to jde i v tom civilu, ale excel je excel - v tom umí každý!Každopádně lze najít na netu spoustu utilitek na opravu takových výšek... a když se nechce hledat, nechá se to celkem jednoduše napsat... Takže jedna pro vás. Jak použít LISP... google napoví.(vl-load-com)(defun c:FixTextHeights (/ ss ed i) (if (setq ss (ssget '((0 . "*TEXT")))) (repeat (setq i (sslength ss)) (setq ed (entget (ssname ss (setq i (1- i))))) (if (wcmatch (cdr (assoc 1 ed)) "#*") (entmod (subst (cons 1 (rtos (atof (vl-string-translate " ," ".." (cdr (assoc 1 ed)))) 2 2)) (assoc 1 ed) ed))))) (princ))