Преобразовать в таблицу в автокаде

Преобразовать в таблицу в автокаде

AutoCAD 2008: конвертирование данных из старых таблиц в новый табличный формат.

Если вы перешли на AutoCAD 2008 с более ранней версии AutoCAD, перед вами может возникнуть задача преобразования таблиц, сделанные до введения команды в AutoCAD команды Table. Простейшим способом является использование метода извлечения данных в команды Table. Конечно это достаточно мощный инструмент, но когда данные находятся в форме линий, полилиний, текста, и mtext, получить данные в пригодном для использования формате довольно трудоёмко. Решением стало написание утилиты MAKETABLE.LSP, который позволяет пользователю выбирать линии, полилиний, и любой тип текста и преобразовывать их в табличный объект AutoCAD, который заменяет первоначальные данные.

Утилита называется MAKETABLE.LSP и ее можно скачать здесь. Ниже дано описание ее принципов работы и использования.

Как использовать MAKETABLE.LSP

Используйте средство Appload, выбрав пункт Load Application в меню Tools, а затем выбрав MAKETABLE.LSP в меню просмотра.

Чтобы загрузить программу, введите MTB в командной строке, затем у вас будет запрошено выбрать окном по двум точкам исходную таблицу. После этого, таблица, состоящая из линий, полилиний и текста будет автоматически преобразована в табличный объект AutoCAD, который будет содержать оригинальные данные и заголовки. На рисунках 1 и 2 показана таблица до и после преобразования.

Программа работает с большинством типов таблиц, которые могут содержать любое числом строк и столбцов и любой тип текста. Работоспособность программы сохраняется даже если есть линии, нарисованные точно одна над другой, или есть полилинии, используемые произвольно — например, как разделители для строк или столбцов. В новой таблице текст форматируется по центру ячеек, за исключением текста в столбце Description (если он существует), который форматируется по левому краю.

Описание программы.

После моих стандартных функций обработки ошибок и системных переменных, текст программы содержит функцию GETOLDTABLE, которая использует методы VLA-GETPOINT и VLA-GETCORNER чтобы установить две по диагонали противоположных точки, которые используются, чтобы выбрать объекты таблицы. Точки фактически используются дважды: один раз, чтобы выбирать все полилинии, которые могут существовать и второй раз, чтобы выделить все линии и текстовые объекты. Все найденные полилинии разбиваются с помощью метода VLA-EXPLODE. GETOLDTABLE заканчивает свою работу созданием наборов линий и текстовых объектов, а затем управление передается функции MAKETABLE, куда эти наборы передаются как аргумент.

MAKETABLE собирает линии и текст в отдельных списках вызывая функции GET-LINES и GET-TEXT. В дальнейшем линии разделяются на горизонтальные и вертикальные с помощью функции GET-ROWSCOLS до того, как они будут отсортированы в списки строк и столбцов. В случае, если присутствуют сдвоенные линии, списки строк и столбцов обрабатываются функцией DO-DUPES прежде, чем быть они будут отсортированы снова. Текстовые объекты собираются в списки многострочного и однострочного текста с помощью функции GET-TXTMTXT. Параметры для метода VLA-ADDTABLE — число строк и столбцов и высоты строки и ширины столбцов. Табличный же объект создается как пустая таблица следующим кодом:

Читайте также:  Как перевести группу в сообщество

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

Одна из наиболее интересных функций следует за вышеупомянутой DO-DUPES, и написана не смотря на то, что существует прекрасная функция Visual LISP VL-REMOVE, которая и предназначена для удаления любого элемента (и его дубликатов) из списка. К сожалению, в нашем случае метод не работал последовательно на списках точек, так как их координаты не были достаточно точны, даже если учитывать, что линии были точно на вершине друг друга в пределах 13 десятичных разрядов! Поэтому, затратив много времени на выяснение, почему двойные линии не удалялись, я вынужден был написать свою собственную версию удаляющегося метода (MYVL-REMOVE):

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

Функция POPULATE-TABLE за один раз берет каждый текстовый объект из текстового списка, и использует его точку вставки для определения, где (в какой строке и столбце) он должен быть размещен в новой таблице. Это является разумным подходом для таблиц, которые не полностью заполнены текстом, так как пустые ячейки просто не рассматриваются. Все текстовые объекты — заголовки располагаются в строке 0 (самой верхней строке), и это естественно облегчает работу с ними. Столбцы для текста заголовка были определены по расположению слитых ячеек. Все остальные текстовые объекты размещены с помощью метода VL-SETTEXT, устанавливаются такие параметры ячейки как высота, ширина колонки, стиль и высота текста. Фрагмент кода, который делает это:

Читайте также:  Thermaltake commander ms iii

Сначала создается пустая таблица, затем форматируются ячейки и добавляется текст. Каждый раз, когда это осуществляется, таблица автоматически регенерируется, и по моему мнению для ускорения черчения следует воздержаться от регенерации до того момента, пока все ячейки не будут заполнены. Регенерация определяется как true или false, и следующий код из функции MAKETABLE показывает, как это было сделано:

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

Создание таблиц в Автокаде – обязательный этап оформления проекта. И штамп, который в соответствии с ГОСТ 2.104-68 должен присутствовать на каждом чертеже, так же есть таблица. См. видеоурок "Новый алгоритм оформления в AutoCAD".

Как создать таблицу в Автокаде? Самая распространенная ошибка при создании таблицы AutoCAD – это рутинный ручной подход вычерчивания данного элемента чертежа с помощью стандартных примитивов (отрезков, полилиний и т.д.), а также заполнение строк и столбцов с помощью многострочного или однострочного текста.

Разберемся, как сделать таблицу в Автокаде быстро и правильно, при этом максимально автоматизировать процесс!

Как создать таблицу в Автокаде

Таблицы Автокад (спецификации) – сложный объект чертежа, данные в котором упорядочены в виде строк и столбцов. Рассмотрим, как создать таблицу Автокад. Одноименная команда находится на вкладке Аннотации – панель «Таблицы». В качестве примера рассмотрена таблица в Автокаде 2015.

Откроется диалоговое окно «Вставка таблицы». В нём следует указать ряд параметров, отвечающих за внешний вид и стиль таблицы в Автокаде, а также отдельных ее ячеек (см. рис.).

Таблицу можно создать пустую (с нуля) или на основе существующего файла Excel посредством установления связи.

  1. В первую очередь следует указать количество строк и столбцов.
  2. Затем задать стили ячеек.
  3. Установить параметры вставки таблицы в чертеже.

Результат создания и заполнения таблицы может выглядеть следующим образом:

Вставить таблицу в Автокаде можно двумя способами:

  1. Графически (указать мышкой точку вставки в рабочей области).
  2. С помощью указания точных координат X,Y через командную строку/динамический ввод.
Читайте также:  Инструкция по применению вайбера

Связи между таблицами в Автокаде и Excel

Таблицы AutoCAD хоть и подразумевают какой-то счет, всё же намного удобнее работать в Excel – функционал там намного шире. Поэтому самый оптимальный вариант – связывать данные с внешними файлами (ознакомьтесь с более подробным материалом про то, как вставить таблицу Excel в Автокад).

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

Рекомендуем ознакомиться с доп. материал по этой теме:

Если вы студент, то лабораторная работа на Автокаде с таблицами после ознакомления этого материала будет выполнена быстрее в 2 раза!

Зачастую бывает так, что нам достаются таблицы, импортированные из других приложений или попросту взорванные. Редактирование таких таблиц, особенно когда их много, становится целой проблемой. Данная надстройка, COT Convert Old Table, собирающая таблицы AutoCAD из разрозеннных объектов (примитивов и фрагментов текста), призвана эту проблему, если не решить полностью, то хотя бы упростить.

Инструкция по применению:

скачать архив "COT_Convert_Old_Table_V1.4_V1.5_V1.6a.rar" и распаковать. В разархивированной папке Вы найдете три версии надстройки, выбрать можно любую из них (1.4 и 1.5 работают точно, версия 1.6а, тестировавшаяся в AutoCAD 2014, оказалась нерабочей).

Процесс интеграции и использования :

I . Загрузка lsp-файла:

1. Через командную строку выполнить команду ЗАГПРИЛ (или APPLOAD).

2. Выбрать файл "COT_Convert_Old_TableV1.4.lsp" и нажать кнопку "Загрузить". Для того, чтобы lsp-файл загружался при каждом запуске автокад автоматически, необходимо добавить его в список автозагрузок, для этого необходимо нажать кнопку "Приложения. " в поле "Автозагрузка", затем кнопку "Добавить", снова выбрать файл "COT_Convert_Old_TableV1.4.lsp" и нажать кнопку "Открыть"

3. Закрыть окно загрузки/выгрузки приложений. Всё, lsp-файл загружен, функцией можно пользоваться.

II . Использование функции сборки таблиц из примитивов:

1. Через командную строку выполнить команду COT.

2. В ответ на запрос Select Table Style: [Legend / Standard] выбрть стиль будущей таблицы. В квадратные скобки программа автоматически запишет все имеющиеся в чертеже стили таблиц AutoCAD.

3. В ответ на запрос Search for merged cells? [Yes / No] выбрать, нужно ли искать объединенные ячейки (каким образом это влияет на результат неизвестно).

4. Рамкой выбрать массу объектов, из которых необходимо собрать таблицу и нажать клавишу Enter.

Ссылка на основную публикацию
Почему не работает видео на планшете
Достаточно распространенная проблема пользователей планшетов и телефонов на Google Android — невозможность просмотра видео онлайн, а также загруженных на телефон...
Почему flac одним файлом
Как мы знаем, MP3 — это самый популярный музыкальный кодек. Им сжимают музыку с потерей качества. Эмпэтришные файлы бывают худые...
Почему ios лучше чем android
Лучшие камеры, быстродействие и оперативные обновления системы — у iPhone есть немало преимуществ перед Android-смартфонами. 1. iPhone работает быстрее Топовые...
Почему не работает звук на телевизоре самсунг
Последние вопросы Рома Телевизоры Samsung LE40D550K1WXRU пропал звук на телевизоре Samsung LE40D550K1WXRU. смотрел в настройках результатов не дало Проверьте настройки:...
Adblock detector