| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > *.txt -> чертёж?

*.txt -> чертёж?

Ответ
Поиск в этой теме
Непрочитано 18.03.2004, 07:27 #1
*.txt -> чертёж?
Sergey!!
 
Сообщений: n/a

Люди добрые! Подскажите пожалуйста как из файла *.txt, программно, вставить текст в чертёж.
Но неприменно многострочным текстом (примитив MTEXT), а не набором отдельных строчек.
Спасибо.
Просмотров: 3392
 
Непрочитано 18.03.2004, 13:38
#2
vk

сисадмин
 
Регистрация: 26.08.2003
Самара
Сообщений: 1,022
<phrase 1=


А чем команда MTEXT не угодила?

Открываем текстовый файл, читаем его строки, загоняем в список, обрабатываем, если нужно (особенно конец списка на предмет наличия пустой строки для завершения команды), далее
Код:
[Выделить все]
(command "_.mtext" pt1 pt2)
(while (car strl)
  (command (car strl))
  (setq strl (cdr strl))
)
pt1 pt2 - точки углов
strl - список со строками текста вида ("str1" "str2" "str3" "")
vk вне форума  
 
Непрочитано 18.03.2004, 14:21
#3
Эдуард

строительство
 
Регистрация: 16.01.2004
Петербург
Сообщений: 165
<phrase 1=


Да вроде ничего сложного нет
Код:
[Выделить все]
(defun mtxt-file()
  (vl-load-com)
  (if
    (setq vt (getreal "\n Введите высоту текста"))
    (setvar "textsize" vt)
    )
      
  (setq ms
    (vla-get-modelspace
      (vla-get-activedocument
	(vlax-get-acad-object)
	)
      )
    )
  (setq start-pt (getpoint "\n Ведите начальную точку:")
        w (getdist start-pt "\n Ведите ширину текста:")
        start-pt (vlax-3d-point start-pt)
	)
   (if
     (setq nfile
  (getfiled "Выберите файл для чтения" "C:\\" "txt" 16))
    (progn
  (setq desk (open nfile "r"))
  (setq str-list "")
  (while
    (setq str (read-line desk))
    (setq str-list (strcat str-list "\n" str ))
    )
  (close desk)	 
	(vla-addmtext ms start-pt w str-list)
  )
     )
  (princ)
  )
Эдуард вне форума  
 
Непрочитано 19.03.2004, 05:01
#4
dermoon


 
Регистрация: 26.08.2003
Россия, Красноярск
Сообщений: 1,252


Да просто скопируй текст в буфер, а потом вставь в акаде. Он и вставится MTEXTом. Размер и тип шрифта акад принимает по настройкам текстового стиля. Если текст выровнен и тебе надо что-бы и в акаде он был выровнен, надо установить тип шрифта "monotxt".
dermoon вне форума  
 
Непрочитано 19.03.2004, 07:24 *.txt -> чертёж?
#5
Sergey!!


 
Сообщений: n/a


Большое спасибо за подсказку.
Ещё я придумал, что можно (при перетаскивании строк из файла в переменную) разделять строки кодом "\\P" и вставлять эту переменную в MTEXT, тоже работает.
Ещйё раз спасибо.
 
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > *.txt -> чертёж?

Размещение рекламы