Zobrazit plnou verzi příspěvku: Výšky z textu

MatrO07
18.04.2017, 17:02
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í.

MatrO07
18.04.2017, 17:22
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ů.

MatrO07
18.04.2017, 17:33
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.

johny
18.04.2017, 21:37
_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))