Use the command in the express tools ( if you have it of course) called :txt2mtxt

Registered forum members do not see this ad.
Hi, we have recieved a Bathymetric survey, and the levels have been done in such a stupid way. Say the level at a certain point is 6.7, the numbers have been split into 2 single line text boxes. The number 6 is double the size of the number 7. We need the levels so we can convert the text into 3D, as it is currently all 2D, and there is no points in the drawing, so need to convert text to 3D in Civil 3D. But obviously need all the levels to have the 2 numbers in the same single line text. Anyone got any ideas how i could do this?
Regards
Martin
Use the command in the express tools ( if you have it of course) called :txt2mtxt
- When aim is being settled in my mind , I have to reach it and get it in hand whatever it costs and wherever it is and will never give up . Tharwat said








I think Lee Mac has a nice solution for you.
http://www.lee-mac.com/text2mtext.html
Thanks Lee!![]()
Volume and repetition do not validate opinions forged in the absence of thought.


Unfortunately the text to mtext option is not a valid option, thats the first thing I said before I seen the drawing, but there are thousands of individual Dtext objects. I would take forever to go through the survey.




You should make sure what units are being used. Conventionally, the large figure was Fathoms and the smaller one was Feet. But if you have any small figures which are larger than 6, then it is probably a decimal system, but not CAD friendly.

I am able to filter out the large numbers and delete them. Which leaves me with lots of small numbers. If I could insert the large number into dtext with the small number, that would help. Could I do this?
Below is an example of what I want to do
Survey.png
Hi Martin,
Assuming the smaller text items are closer to each of the corresponding larger text items than the surrounding text, try the following:
FixText.gif
Code:;; Fix Text - Lee Mac 2012 ;; Prompts for a selection of Text objects and groups the selected objects ;; by equal text height. For each item in the group with smallest text height, ;; the program will find the closest item in the group with largest text height ;; and modify the content of the smaller item to hold the value of the larger ;; item, separated by a point. (defun c:fixtxt ( / a d e i l s x z ) (if (setq s (ssget "_:L" '((0 . "TEXT")))) (progn (repeat (setq i (sslength s)) (setq e (entget (ssname s (setq i (1- i)))) l (cons (list (cdr (assoc 40 e)) (cdr (assoc 10 e)) e) l) ) ) (setq l (vl-sort (LM:GroupByFunction l (lambda ( a b ) (= (car a) (car b)))) '(lambda ( a b ) (< (caar a) (caar b))) ) ) (setq a (last l)) (foreach b (car l) (if a (progn (setq d (distance (cadr b) (cadar a)) e (caddr b) x (car a) ) (foreach y (cdr a) (if (< (setq z (distance (cadr b) (cadr y))) d) (setq d z x y) ) ) (entmod (subst (cons 1 (strcat (cdr (assoc 1 (caddr x))) "." (cdr (assoc 1 e)))) (assoc 1 e) e)) (entdel (cdr (assoc -1 (caddr x)))) (setq a (vl-remove x a)) ) ) ) ) ) (princ) ) ;; Group By Function - Lee Mac ;; Groups items considered equal by a given predicate function (defun LM:GroupByFunction ( lst fun / tmp1 tmp2 x1 ) (if (setq x1 (car lst)) (progn (foreach x2 (cdr lst) (if (fun x1 x2) (setq tmp1 (cons x2 tmp1)) (setq tmp2 (cons x2 tmp2)) ) ) (cons (cons x1 (reverse tmp1)) (LM:GroupByFunction (reverse tmp2) fun)) ) ) ) (princ)
Lee Mac Programming
With Mathematics there is the possibility of perfect rigour, so why settle for less?
Just another Swamper




Registered forum members do not see this ad.
Damn, you do nice work Lee.
I just hope Martin hasn't hunkered down to start doing thousands of these by hand,
and that he sees this before the surveyors send him another version.
Volume and repetition do not validate opinions forged in the absence of thought.
Bookmarks