Как объединить однострочный текст в многострочный в автокаде
Перейти к содержимому

Как объединить однострочный текст в многострочный в автокаде

  • автор:

ТЕКСТВМТЕКСТ (команда)

Преобразование или объединение однострочных или многострочных текстовых объектов в один или несколько многострочных текстовых объектов.

найти

Выбранные текстовые объекты будут заменены одним или несколькими многострочными текстовыми объектами. По возможности сохраняются различия в размере текста, шрифтах и цветах.

Выберите объекты или [НАстройки]: выберите текст любым способом выбора объектов или укажите параметр «Настройки», чтобы открыть диалоговое окно параметров преобразования текста в многострочный текст.

Параметры диалогового окна

Объединить в один многострочный текстовый объект Объединение выбранных текстовых объектов в один многострочный текстовый объект.
Упорядочение текста — сортировка сверху вниз Указание порядка следования выбранного текста по убыванию по вертикали.
Упорядочение текста — выберите порядок следования текста Указание порядка следования выбранного текста путем выбора вручную.
Перенос текста по словам Объединение всех строк текста в одну строку с последующим переносом в следующую строку всего текста, ширина которого превышает ширину многострочного текстового объекта.
Принудительное использование единого межстрочного интервала Применение согласованных значений межстрочного интервала и интервала между абзацами при включенной функции переноса по словам. Значение интервала между абзацами на 50 % больше значения межстрочного интервала.

Пример

Выберите три текстовых объекта и преобразуйте их в один многострочный текстовый объект.

Выберите текстовые объекты:

Текстовые объекты будут преобразованы в один многострочный текстовый объект.

Прим.: Многострочный текстовый объект по-прежнему содержит набор строк, потому что три текстовых объекта были выровнены по вертикали. Если текстовые объекты не выровнены, в результате будет создан многострочный текстовый объект, где текст содержится в одной строке или переносится по словам (если включена функция переноса по словам).

Понятия, связанные с данным
  • Создание примечаний с текстом
  • Форматирование многострочного текста
  • Текстовые стили
Ссылки, связанные с данной

Текст в многострочный текст AutoCAD

Перевести обычный текст в многострочный, так называемый MTEXT, приходится в основном по причине расширенных возможностей форматирования.

Как изменить ТЕКСТ в МТЕКСТ

Многострочный текст имеет ряд преимуществ, так его проще форматировать, редактировать, выравнивать, можно установить фон и т.п.

Если вам попался чертеж от умельцев, которые не догадываются о существовании МТЕКСТ или кто-то просто разбил его по ошибке, и вас изрядно раздражает это, то ситуацию можно исправить с помощью инструментов Express.

В меню Express Вы найдёте интересные команды по работе с текстами и не только, но об этом чуть позже, а сейчас о команде для объединения текста:

1. Запустите команду TXT2MTXT из строки состояния или соответствующего пункта меню.

Объединить ТЕКСТ в МТЕКСТ

2. Укажите группу однострочных текстов которые необходимо конвертировать и нажмите Enter.

Вот в принципе и все, радуйтесь используйте весь функционал МTEXT.

Маска текста, текст по дуге, нумерация текста и т.д.

Теперь несколько слов об интересных командах модификации текста из меню Express:

( 1 ) Text Mask — команда позволяющая создать маску текста, для выделения при насыщенных чертежах.

Примечание. При копировании текстов с масками с одного чертежа на другой возникают различные глюки, поэтому рекомендуется пользоваться фоном многострочного текста. Более подробно читайте здесь.

( 2 ) Explode Text — команда позволяющая взорвать текст преобразовав его в полилинии.

( 3 ) Arc-Aligned Text — команда, с помощью которой вы сможете вписать текст по дуге или окружности.

( 4 ) Automatic Text Numbering — команда для автоматической нумерации однострочных текстов.

Свои вопросы по использованию команд оставляйте ниже в форме для комментариев.

Полезно. Как найти и зменить текст в Автокаде читайте здесь.

Урок как перевести TEXT в MTEXT в Автокаде. Видео

Премьера урока уже скоро…

Текст в AutoCAD — Как написать и Как редактировать

На чертежах в AutoCAD текст используется в виде надписей, пояснений или буквенно-цифровых обозначений.

Рассмотрим, какие виды текста в автокаде бывают. Также разберёмся, как написать текст и как редактировать текст в автокаде.

Значения размеров не являются текстовыми объектами.

Виды текста в AutoCAD

В системе AutoCAD предусмотрено два вида текста — однострочный и многострочный.

Это два разных разных объекта. Каждый из них предусматривает использование разных команд.

Для создания текста система AutoCAD может использовать как свои собственные векторные шрифты, так и Windows-шрифты, установленные на компьютере. Работа с векторными шрифтами осуществляется быстрее, а значит, и их использование является предпочтительным. Особенно это существенно для маломощных компьютеров.

Создание и редактирование однострочного текста в AutoCAD

Перейдите на вкладку «Главная»панель «Аннотации»«Однострочный».

Я рекомендую пользоваться набором первых букв вызова команд. Для однострочного текста — это «ДТ».

Команда вызова однострочного текста в автокаде

После вызова команды программа попросит Вас указать точку вставки текста. При этом в командной строке появится следующий запрос:

[ Тек.текстовый стиль:»Стандарт» Высота текста:2.5000 Аннотативный: нет
Начальная точка текста или [Выравнивание /Стиль]: ]

В первой строке этого запроса выводится информация о текущих настройках текстового стиля — название стиля и высота текста. Стили текста в автокаде будут рассматриваться в другом уроке.

Во второй строке запроса необходимо указать точку, которая будет характеризовать месторасположение текста — так называемую точку вставки текста. По умолчанию вводимый текст будет располагаться справа от этой точки. Точку можно указать, задав координаты или указав просто ЛКМ (левой кнопкой мыши).

Далее необходимо указать размер шрифта. Запрос высоты появляется в том случае, если текущий текстовый стиль имеет нулевую высоту.

В моем случае высота текста задана 2,5 мм. Если у Вас появляется такое числовое поле, то введите туда значение 2.5.

Следующий шаг — это задание угла поворота текста. По умолчанию угол наклона принят равным 0, то есть никакого наклона нет, текст выводится по горизонтали.

Если вы с этим согласны, то нажмите Enter. Если нет — задайте свое значение угла поворота текста в автокаде.

Ввод значение угла поворота текста в автокаде

Вам будет предложено ввести сам текст. При этом появится мигающий курсор. Введите любой текст.

Чтобы создать еще одну строку с текстом, нажмите Enter. Вы перейдете на следующую строку.

Чтобы закончить написание текста в автокаде, нажмите еще раз Enter.

Создание еще одной строки текста в автокаде

При создании нескольких строк с помощью однострочного текста в автокаде, каждая строка текста является независимым объектом, который можно переносить и форматировать.

В этом и заключается их разница с многострочным текстом, в котором весь текст, из скольких бы он строк ни состоял, воспринимается и обрабатывается как один объект.

Строки однострочного текста необязательно должны располагаться друг под другом. Вы можете их создавать в разных местах чертежа. Для этого после окончания ввода одной строки вместо нажатия Enter щелкните мышкой в том месте, где следует создать другую однострочную надпись.

Создание новой строки текста в любом месте чертежа в автокаде

Чтобы отредактировать однострочный текст в autocad, произведите двойной щелчок ЛКМ по самому тексту. После этого текст станет выделен и будет активен для редактирования.

Редактирование однострочного текста в autocad

Можно вводить новый текст поверх старого. Либо мышкой выделить ту часть, которую надо отредактировать.

При нажатии ПКМ в режиме редактирования Вам станет доступно контекстное меню по работе с однострочным текстом в автокаде.

Выравнивание однострочного текста.

По умолчанию вводимый текст располагается справа от указанной точки вставки и над ней.

Выравнивание текста в автокаде по умолчанию

Однако это не всегда удобно. Бывают ситуации, когда необходимо расположить текст слева от точки вставки, ниже ее и т.д.

Такая возможность в AutoCAD реализована в виде опции «Выравнивание». Обратите внимание на самый первый запрос программы при вызове команды «Текст».

[ Начальная точка текста или [Выравнивание /Стиль]: ]

В ответ на нее в командной строке или просто на рабочем пространстве нажмите клавишу «В».

После ее вызова в командной строке появится запрос, предназначенный для выбора нужного вида выравнивания:

Виды выравнивания однострочного текста в autocad

Рассмотрите эти варианты выравнивания текста в автокаде на наглядном рисунке. Кстати, эти точки также являются точками привязки к тексту.

Виды выравнивания однострочного текста в автокаде

Есть еще две дополнительные опции, предназначенные для размещения текста
точно между двумя указанными точками:

  1. Опция «впИсанный» .
  2. Опция «Поширине».
  • Опция «впИсанный». Выбор опции можно произвести, нажав клавишу «И», а затем Enter на клавиатуре.

Далее потребуется просто указать две точки, между которыми должен располагаться
текст. Он будет выводиться таким образом, чтобы заполнить все пространство между двумя указанными точками. Ширина букв текста будет установлена автоматически. И пропорционально ширине будет принята и высота текста.

Если точки будут находиться не на одной горизонтали, то строка текста в autocad будет выведена под наклоном к оси X.

  • Опция «По ширине». Выбор опции можно произвести, нажав клавишу «П», а затем Enter на клавиатуре.

Далее также указываем две точки расположения строки текста. Разница между опциями состоит лишь в том, что от Вас потребуется указать еще высоту текста. У меня эта высота задана 2,5 мм. Ширина букв по-прежнему будет вычисляться автоматически, исходя из расстояния между точками.

При этом возможны искажения: если граничные точки строки текста будут далеко друг от друга, а высота будет небольшой, то буквы будут непропорционально широкими.

дополнительные опции, предназначенные для размещения текста в автокаде

Создание и редактирование многострочного текста в AutoCAD

Под многострочным текстом в AutoCAD понимается массив текста, состоящий из нескольких строк или даже абзацев, столбцов. Воспринимается он как единый объект.

Для многострочного текста используется встроенный в AutoCAD текстовый редактор. Он позволяет форматировать не только целые фразы целиком, но и отдельные слова, буквы. В нем существует возможность проверки орфографии.

Для создания многострочного текста на чертеже в системе AutoCAD я использую короткую команду «МТ». Для ознакомления я покажу вам, где находятся кнопки вызова команд однострочного и многострочного текста в автокаде.

Кнопки вызова команд однострочный и многострочный текст

в которой должен располагаться текст. Для этого потребуется сначала указать месторасположение первого угла области, а затем — второго угла (по диагонали).

Обращайте внимание на командную строку! Появится запрос:

[ Текущий текстовый стиль: «Стандарт» высота текста: 2.5 Аннотативный: Нет
Первый угол: ]

Верхняя строка напоминает о текущем текстовом стиле и высоте текста. Во второй строке Вы можете ввести значение координат первого угла прямоугольной области. Я делаю это графически, указывая точку на чертеже мышью.

Далее указываем второй угол, противоположный первому. Значение можно задать с помощью координат или мышью. При использовании мыши на экране будет отображаться рамка, показывающая размеры текстовой области.

Текстовая область многострочного текста в автокаде

После того, как Вы задали текстовую область в AutoCAD, появится окно встроенного текстового редактора. На ленте инструментов AutoCAD возникнет специальная вкладка «Текстовый редактор». С помощью неё можно задать или изменить настройки внешнего вида текста.

Работа в текстовой области абсолютно аналогична работе в любом текстовом редакторе.

По окончании ввода текста нажмите комбинацию клавиш «Ctrl»+»Enter».

Вкладка

Редактирование многострочного текста в AutoCAD

Чтобы приступить к редактированию многострочного текста, следует дважды щелкнуть по нему ЛКМ. В результате откроются окно ввода текста и вкладка «Текстовый редактор», с помощью которых Вы сможете произвести все необходимые правки и изменения.

Здесь также доступно контекстное меню, с помощью которого можно копировать и вырезать текст, снимать всё проделанное форматирование, объединять абзацы и прочее.

Контекстное меню работы с многострочным текстом в автокаде

Удобно редактировать параметры текста (выравнивание, угол поворота, ширину текстового блока, стиль текста и т. д.) с помощью окна «Свойства». Для начала выйдите из редактора, выделите саму текстовую область и нажмите комбинацию клавиш «Ctrl»+»1».

Окно

Импорт текста в автокаде из различных источников

Часто бывает необходимо внести на чертеж многострочный текст, который
уже имеется в некотором текстовом файле.

Если имеющийся текст находится в формате .txt или .rtf, то удобно импортировать текст в автокад следующим образом.

Откройте два окна (Окно AutoCAD и окно проводника с текстовым файлом) одновременно. Зажмите ЛКМ на текстовом файле и, не отпуская ее, перетащите файл в область окна AutoCAD.

Весь текст скопируется в AutoCAD.

Импорт текста перетаскиванием файла

Я чаще всего использую буфер обмена Windows. Т.е. открываю файл любого формата, выделяю нужный мне текст и нажимаю комбинацию клавиш «Ctrl»+»C». А затем перехожу в AutoCAD, вхожу в текстовый редактор и нажимаю комбинацию клавиш «Ctrl»+»V».

Если неудобно нажимать данные комбинации, Вы всегда можете воспользоваться контекстным меню, вызывается нажатием правой кнопки мыши. А там уже выбирать нужный пункт «Копировать», «Вырезать» или «Вставить».

Импорт текста в автокад при помощи буфера обмена

Теперь Вы знаете, как создать, импортировать и копировать текст в AutoCAD. А также разобрались с понятиями «однострочный» и «многострочный» текст в автокаде.

Освойте профессию проектировщика

Научитесь быстрому черчению, освоите прикладное 3D, автоматизируете создание ведомостей и спецификаций.

Преобразование однострочного текста в многострочный

Такая проблема. Прислали проект, в котором записка , выполненная многострочным текстом взорвана и, естественно, тест стал однострочным. Сейчас необходимо записку править-в виде однострочного текста-проще пойти застрелиться. Отсюда вопрос: каким образом однострочный текст вернуть в многострочный или переконвертировать в любой текстовый редактор?

Просмотров: 97315
Регистрация: 29.10.2004
Сообщений: 16,324
Команда «Convert Text to Mtext» из Express Tools
с командной строки

_TXT2MTXT

LISP, C# (ACAD 200[9,12,13,14])

Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,745

Только эта команда не отслеживает нескольких вещей:
1. Переводы строк — сносятся.
2. Текст добавляется в процессе выбора, а не по точкам вставки.
Можно, наверное, и свое написать, только некогда

__________________
Моя библиотека lisp-функций

Обращение ко мне — на «ты».
Все, что сказано — личное мнение.

Кулик Алексей aka kpblc
Посмотреть профиль
Посетить домашнюю страницу Кулик Алексей aka kpblc
Найти ещё сообщения от Кулик Алексей aka kpblc

Регистрация: 10.03.2005
Сообщений: 54
Огромное спасибо, а про Express Tools забыл, стыдно
Регистрация: 09.08.2005
Сообщений: 302

Я обычно пользуюсь в таких случаях замечательной программкой, которая была здесь на форуме: MtmdEdit 2.2. Можно задавать шаг строк по высоте и менять высоту шрифта. Она удобна еще и тем, что сразу видишь на экране результаты правки. Пользуюсь случаем сказать спасибо Автору (Правда, кажется, работает под ACAD 2002 и 2004).
Надо выделить всю тучу одиночных строк и править текст полностью. Можно тупо выстроить весь текст в одну строку и enter’ом разбивать так, как надо (как в Word). Правда, текст все равно будет однострочным, любую строку после правки можно удалять и править отдельно. Примитивно, конечно, но иногда это единственный выход.

Регистрация: 10.03.2005
Сообщений: 54

Переводы строк уже не такая большая проблема, это все лечится просто. Кад- 2005, да и текст мы редактируем в Word, потом в кад вставляем. Спасибо всем, кто откликнулся.

Регистрация: 29.10.2004
Сообщений: 16,324

А вот переводы строк и порядок следования строк- можно выбрать из контекстного меню . Вызываешь программу

и затем правой клавишей мыши или «Enter» открываешь опции команды. (в 2004-ом)
Регистрация: 20.07.2005
Сообщений: 89

Посмотри:
http://dwg.ru/dwl/250
где есть функция перевода Текст в МТекст с учетом высоты букв, цвета каждой строчки и дистанции между ними.

Денис Флюстиков
Посмотреть профиль
Найти ещё сообщения от Денис Флюстиков

LISP, C# (ACAD 200[9,12,13,14])

Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,745
> Хмурый : Хехе, и я теперь на эти грабли наступил — напрочь забыв о ком.строке

__________________
Моя библиотека lisp-функций

Обращение ко мне — на «ты».
Все, что сказано — личное мнение.

Кулик Алексей aka kpblc
Посмотреть профиль
Посетить домашнюю страницу Кулик Алексей aka kpblc
Найти ещё сообщения от Кулик Алексей aka kpblc

Регистрация: 10.03.2005
Сообщений: 54

Про контекстное меню спасибо, если честно не знал, в 2005 каде работает великолепно, теперь проблем нет совсем.

Регистрация: 10.03.2011
Сообщений: 101

вопрос: можно ли сделать так, чтобы при выделении нескольких надписей простого текста они преобразовывались в такое же количество надписей многострочного текста?

а данная команда объединит их в одну многострочную надпись.

Регистрация: 18.10.2011
Сообщений: 9

поддержу CHILD_11. Иногда бывает нужно именно раздельное преобразование текста в мтекст. ждем-с реализации.

Регистрация: 11.05.2005
Сообщений: 6,989
Сообщение от evgeny-86
ждем-с реализации.
Используя Express’овский TXT2MTXT

(defun c:T2MT (/ ss cnt ) ;;;Convert each text to mtext use express tools command txt2mtxt (and (setq cnt -1 ss (ssget '((0 . "text")))) (repeat (sslength ss) (command "_.txt2mtxt" (ssname ss (setq cnt (1+ cnt))) "") ) (command "_draworder" ss "" "_f") ) (princ) )

__________________
Как использовать код на Лиспе читаем здесь
Регистрация: 30.04.2013
Сообщений: 3

Доброго дня! Вставил я этот код.
Команда Т2МТ срабатывает и предлагает выбрать объекты, но после нажатия ентер не происходит преобразования. Пишет: Имя объекта: FFA701F0.
Я может что-то делаю неправильно?

Регистрация: 11.05.2005
Сообщений: 6,989
Сообщение от Rudic
но после нажатия ентер не происходит преобразования

Эта команда использует Express Tools
Скорее всего, он у тебя не установлен. Набери в командной строке txt2mtxt. Работает?
PS. Проверил #13 на AutoCAD 2015 SP2. Код рабочий
Еще ссылки на команды преобразования текста в МТЕКСТ
Text2MText Upgraded
Help with TEXT
Convert selected texts to Mtexts individually
Improved Text to Mtext

__________________
Как использовать код на Лиспе читаем здесь
Регистрация: 30.04.2013
Сообщений: 3

Я установил Express Tools. Все команды есть, но именно команды txt2mtxt нету. Что делать я не знаю.
Может попробовать вытащить tools с другого автокада?

LISP, C# (ACAD 200[9,12,13,14])

Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,745
Один из вариантов, без использования ET : http://forum.dwg.ru/showpost.php?p=162618&postcount=21

__________________
Моя библиотека lisp-функций

Обращение ко мне — на «ты».
Все, что сказано — личное мнение.

Кулик Алексей aka kpblc
Посмотреть профиль
Посетить домашнюю страницу Кулик Алексей aka kpblc
Найти ещё сообщения от Кулик Алексей aka kpblc

Регистрация: 11.05.2005
Сообщений: 6,989
Сообщение от Rudic

Я установил Express Tools. Все команды есть, но именно команды txt2mtxt нету. Что делать я не знаю.
Может попробовать вытащить tools с другого автокада?

из справки

Express menu: Text Convert Text to Mtext
Command Command line: TXT2MTXT
Files Files: leaderex.arx

Поищи leaderex.arx для своей версии Автокада
Еще версия от Dotsoft (без проверки)

; ---------------------------------------------------------------------- ; (Converts Stack of TEXT to MTEXT) ; Copyright (C) 1998 DotSoft, All Rights Reserved ; Website: www.dotsoft.com ; ---------------------------------------------------------------------- ; DISCLAIMER: DotSoft Disclaims any and all liability for any damages ; arising out of the use or operation, or inability to use the software. ; FURTHERMORE, User agrees to hold DotSoft harmless from such claims. ; DotSoft makes no warranty, either expressed or implied, as to the ; fitness of this product for a particular purpose. All materials are ; to be considered ‘as-is’, and use of this software should be ; considered as AT YOUR OWN RISK. ; ---------------------------------------------------------------------- (defun col2str (inp) (cond ((= inp nil)(setq ret "BYLAYER")) ((= inp 256)(setq ret "BYLAYER")) ((= inp 0)(setq ret "BYBLOCK")) ((and (> inp 0)(< inp 255))(setq ret (itoa inp))) (t nil) ) ) (defun savprop () (setq clayer (getvar "CLAYER")) (setq cecolor (getvar "CECOLOR")) (setvar "CECOLOR" "BYLAYER") (setq celtype (getvar "CELTYPE")) (setvar "CELTYPE" "BYLAYER") (setq thickness (getvar "THICKNESS")) (setvar "THICKNESS" 0) (if (>= (atoi (getvar "ACADVER")) 13) (progn (setq celtscale (getvar "CELTSCALE")) (setvar "CELTSCALE" 1.0) ) ) ) (defun resprop () (if (>= (atoi (getvar "ACADVER")) 13) (setvar "CELTSCALE" celtscale) ) (setvar "THICKNESS" thickness) (setvar "CELTYPE" celtype) (setvar "CECOLOR" cecolor) (setvar "CLAYER" clayer) ) (defun textrect (tent / ang sinrot cosrot t1 t2 p1 p2 p3 p4) (setq p0 (cdr (assoc 10 tent)) ang (cdr (assoc 50 tent)) sinrot (sin ang) cosrot (cos ang) t1 (car (textbox tent)) t2 (cadr (textbox tent)) p1 (list (+ (car p0) (- (* (car t1) cosrot) (* (cadr t1) sinrot))) (+ (cadr p0) (+ (* (car t1) sinrot) (* (cadr t1) cosrot)))) p2 (list (+ (car p0) (- (* (car t2) cosrot) (* (cadr t1) sinrot))) (+ (cadr p0) (+ (* (car t2) sinrot) (* (cadr t1) cosrot)))) p3 (list (+ (car p0) (- (* (car t2) cosrot) (* (cadr t2) sinrot))) (+ (cadr p0) (+ (* (car t2) sinrot) (* (cadr t2) cosrot)))) p4 (list (+ (car p0) (- (* (car t1) cosrot) (* (cadr t2) sinrot))) (+ (cadr p0) (+ (* (car t1) sinrot) (* (cadr t2) cosrot)))) ) (list p1 p2 p3 p4) ) (defun C:TXT2MTXT ( / mwid dset ibrk bitm bent sset rect mlay mcol mlst bins bang tang nins num ndis chnd cent nhnd nstr str pt1 pt2 pt3 dis dvx dvy dvz new) (if ( < (atoi (getvar "ACADVER")) 13) (alert "This Function Requires\nRelease 13 or Higher") (progn (setq cmdecho (getvar "CMDECHO")) (setvar "CMDECHO" 0) (command "_.UNDO" "_G") (setq mwid 0.0) (setq dset (ssadd)) ; (initget "Y N") (setq tmp (getkword "\nDS>Include Line Breaks /N: ")) (if (/= tmp "N")(setq ibrk "Y")(setq ibrk "N")) ; (setq bitm (car (entsel "\nDS> Pick Base String: "))) (setq bent (entget bitm)) (setq rect (textrect bent)) (setq chk (distance (car rect)(cadr rect))) (if (> chk mwid)(setq mwid chk)) ; (if (= "TEXT" (cdr (assoc 0 bent))) (progn (redraw bitm 3) (princ "\nDS> Select Remaining Text: ") (setq sset (ssget '((0 . "TEXT")))) (if sset (progn (setq rect (textrect bent)) (setq orig rect) (setq mlay (cdr (assoc 8 bent))) (setq mcol (cdr (assoc 62 bent))) (setq mlst (list (cdr (assoc 1 bent)))) ; (if (> (cdr (assoc 72 bent)) 0) (setq bins (cdr (assoc 11 bent))) (setq bins (cdr (assoc 10 bent))) ) (setq bang (cdr (assoc 50 bent))) (setq tang (- bang (/ PI 2))) (setq nins bins) (ssdel bitm sset) (while (> (sslength sset) 0) (setq num (sslength sset) itm 0) (setq ndis 99999999.9) (while ( < itm num) (setq chnd (ssname sset itm)) (setq cent (entget chnd)) (if (>(cdr (assoc 72 cent)) 0) (setq cins (cdr (assoc 11 cent))) (setq cins (cdr (assoc 10 cent))) ) (setq cdis (distance bins cins)) (if ( < cdis ndis) (setq ndis cdis nhnd chnd nent cent) ) (setq itm (1+ itm)) ) (setq dset (ssadd nhnd dset)) (ssdel nhnd sset) ; (setq rect (textrect nent)) (setq chk (distance (car rect)(cadr rect))) (if (>chk mwid)(setq mwid chk)) ; (setq nstr (cdr (assoc 1 nent))) (setq mlst (append mlst (list nstr))) ) ; (entdel bitm) (setq num (sslength dset) itm 0) (while (< itm num) (setq hnd (ssname dset itm)) (entdel hnd) (setq itm (1+ itm)) ) ; (savprop) (setvar "CLAYER" mlay) (if (/= mcol nil) (setvar "CECOLOR" (col2str mcol)) ) (setq mwid (+ mwid (* mwid 0.025))) (setq pt1 (car orig)) (setq pt2 (cadr orig)) (setq dis (distance pt1 pt2)) (setq dvx (/ (- (car pt2)(car pt1)) dis)) (setq dvy (/ (- (cadr pt2)(cadr pt1)) dis)) (setq pt3 (list dvx dvy 0.0)) (setq nins (list (car (cadddr orig)) (cadr (cadddr orig)) (nth 2 (cdr (assoc 10 bent))))) ; (setq new '((0 . "MTEXT")(100 . "AcDbEntity")(100 . "AcDbMText"))) (setq new (append new (list (assoc 7 bent)))) (setq new (append new (list (assoc 8 bent)))) (setq new (append new (list (cons 10 nins)))) (setq new (append new (list (cons 11 pt3)))) (foreach lin mlst (if (= ibrk "Y") (if (/= lin (last mlst)) (setq lin (strcat lin "\\P")) ) (setq lin (strcat lin " ")) ) (setq new (append new (list (cons 1 lin)))) ) (setq new (append new (list (assoc 40 bent)))) (setq new (append new (list (cons 41 mwid)))) (setq new (append new (list (cons 71 1)))) (setq new (append new (list (cons 72 1)))) (entmake new) (resprop) ; (setq sset nil) (setq dset nil) (setq lst nil) (command "_.UNDO" "_E") (setvar "CMDECHO" cmdecho) ) (redraw bitm 4) ) ) ) ) ) (setq sset nil) (setq mlst nil) (princ) )

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *