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

Как объединить ячейки в автокаде в таблице

  • автор:

Как объединить ячейки в автокаде в таблице

Создание и редактирование таблиц

Создание и редактирование таблиц

Создание и редактирование таблиц

  1. Выделите объединяемые ячейки в таблице любым из следующих способов:
    • Выделите ячейку и, нажав клавишу SHIFT, выберите другую ячейку для выделения этих двух ячеек и всех ячеек, находящихся между ними.
    • Укажите выбранную ячейку и, удерживая нажатой кнопку мыши, укажите остальные выбираемые ячейки, а затем отпустить кнопку.

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

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

Панель: Таблица

Контекстное меню: Выберите ячейку или диапазон ячеек и щелкните на выбранных ячейках правой кнопкой мыши. Щелкните на пункте «Объединить» и выберите способ объединения.

А вы пробовали создать таблицу?

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

В этом способе, чтобы задать количество строк и столбцов, а также изменить размер строк, столбцов или всей таблицы, используется команда ТАБЛИЦА. При использовании вкладок листов для аннотаций создайте таблицу непосредственно на вкладке листа. Масштабирование будет выполнено автоматически. Если для аннотаций используется пространство модели, потребуется самостоятельно выполнить масштабирование таблицы. Таблицы не поддерживают аннотативное масштабирование.

  1. Введите ТАБЛИЦА в командной строке.
  2. В диалоговом окне «Вставка таблицы» задайте использование четырех столбцов и трех строк данных. Укажите местоположение таблицы.

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

Совет: Перед настройкой ширины столбцов в большинстве случаев лучше отключить объектные привязки [F3].

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

Добавление данных в таблицу

  1. Щелкните внутри каждой ячейки и введите текст, как показано.

Вот и все. Когда будете готовы, вернитесь, чтобы узнать еще больше про возможности программы. Например, можно настроить в стилях таблицы управление форматированием текста для различных типов ячеек. Кроме того, можно автоматически создать таблицу из таблицы Microsoft Excel и связать их данные.

На уровень выше: А вы пробовали работать с таблицами?

Понятия, связанные с данным
  • Таблицы
  • Работа со стилями таблицы и ячеек
  • Редактирование таблиц
  • Использование формул в ячейках таблицы
  • Добро пожаловать в раздел «А вы пробовали. »

Редактирование таблиц в Автокаде. 2 часть

Доброго времени суток, уважаемые друзья.
Сегодня мы продолжим тему редактирования таблиц в Автокаде.
Для выделения ячейки таблицы нужно один раз щелкнуть левой кнопкой мыши внутри неё.

Рис. 1

На рис. 1 видно, что на границах ячейки появились синие квадратики – ручки. При помощи этих ручек можно изменять ширину ячеек (заодно и ширину столбцов) и высоту ячеек.

Щелкнув левой кнопкой мыши по каждой из ручек и перемещая их (№2 и №5 – вверх и вниз, №1 – влево, №3 – вправо), можно менять по желанию высоту и ширину ячеек.

Рис. 2

Точно также, щелкнув левой кнопкой мыши по ручке №4 и перетаскивая её, мы осуществляем приращение данных (в выделенную область попадают новые ячейки).

Рис. 3

Для того чтобы выделить какие-либо данные в ячейке, нужно щелкнуть внутри нее левой кнопкой мыши дважды, либо щелкнув один раз внутри неё, нажать на кнопку F2 на клавиатуре.

Выделить несколько ячеек можно, щелкнув по одной из них и, не отпуская мыши, выделить остальные ячейки. Так же можно выделить ячейки следующим образом: выделить ячейку, щелкнув внутри неё левой кнопкой мыши и, затем нажать кнопку на клавиатуре SHIFT (она находится над кнопкой Ctrl) и выделять левой кнопкой мыши нужные ячейки.

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

Рис. 4

При помощи этой панели можно:

  • Вставлять строки выше и ниже выделенной строки (или ячейки);
  • Удалять выделенные строки;
  • Вставлять столбец слева и справа;
  • Удалять выделенные столбцы;
  • Объединять ячейки и отменять объединение ячеек;
  • Придать цвет таблице;
  • Изменять вид границ ячеек;
  • Выравнивать текст в ячейках;
  • Устанавливать формат данных;
  • Вставлять блоки, поля, формулы;
  • Управлять содержимым ячейки;
  • Редактировать стили ячеек;
  • Связывать информацию в ячейках с информацией во внешних данных.

Как объединить ячейки в таблице?

Чтобы это сделать, нужно сначала выделить их, затем на панели «Таблица» найти значок «Объединить ячейки» и выбрать из предложенного списка тип объединения (см. рис. 5).

Рис. 5

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

Вызывается оно правой кнопкой мыши при выделенных ячейках.

Рис. 6

Все рисунки, как всегда, кликабельны.

Объединение таблиц

В dwg файле есть много однотипных автокадовских таблиц кабельного журнала. Т.е. скажем 20 таблиц, состоящих из 5 колонок, количество строк и их содержимое различаются.

Есть ли в природе скрипт, позволяющий объединить их вертикально в одну? Т.е. чтобы получилась одна большая таблица из этих 5 колонок.

Конечно, можно попробовать руками или возиться с объединением через экспорт в Excel, но хочется автоматизировать этот процесс.

Последний раз редактировалось ElectricSib, 12.08.2016 в 07:22 .
Просмотров: 17623

ElectricSib
Посмотреть профиль
Найти ещё сообщения от ElectricSib

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

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

И в чем собственно трудность? Читаешь таблицы, получаешь оттуда данные, фильтруешь как надо, объединяешь — и выводишь в результирующую таблицу. В каком конкретно месте проблема? И где код?

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

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

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

Регистрация: 03.11.2015
Сообщений: 37
Сообщение от Кулик Алексей aka kpblc

И в чем собственно трудность? Читаешь таблицы, получаешь оттуда данные, фильтруешь как надо, объединяешь — и выводишь в результирующую таблицу. В каком конкретно месте проблема? И где код?

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

ElectricSib
Посмотреть профиль
Найти ещё сообщения от ElectricSib

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

Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,810
Тогда тема точно не в том разделе — либо в «Поиск исполнителей», либо в «Поиск литературы»

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

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

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

Регистрация: 20.03.2008
Сообщений: 2,653

А действительно ли надо их объединять? Для какой цели, интересно? Может, достаточно просто совместить обычным переносом верх второй с низом первой (и так далее), удалив шапки у всех, кроме первой?

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

Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,810
Или выгнать в Excel, там обработать, и обратно в чертеж.

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

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

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

Регистрация: 03.11.2015
Сообщений: 37
Сообщение от Кулик Алексей aka kpblc
Или выгнать в Excel, там обработать, и обратно в чертеж.

Этот вариант я уже упоминал в шапке темы. Слишком долго экспортировать каждую из десятков таблиц в Excel, затем вручную копировать их там в один файл, чтобы посчитать некоторые суммарные показатели. Я предполагал, что есть скрипты наподобие тех, что объединяют несколько text в MText, затем итоговую таблицу уже можно было бы экспортировать в Excel для подсчетов. Похоже, такой скрипт есть в ToolPack от Dotsoft.com, но он оказался небесплатным.

Последний раз редактировалось ElectricSib, 12.08.2016 в 08:07 .

ElectricSib
Посмотреть профиль
Найти ещё сообщения от ElectricSib

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

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

(defun C:MTB (/ col cols1 cols2 lastrow response rows1 rows2 ss start tblobj1 tblobj2 x) (or (vl-load-com)) (princ "\n*** Select both tables ***") (if (and (setq ss (ssget (list (cons 0 "ACAD_TABLE")))) (equal 2 (sslength ss))) (progn (setq tblobj1 (vlax-ename->vla-object (ssname ss 0)) rows1 (vla-get-rows tblobj1) tblobj2 (vlax-ename->vla-object (ssname ss 1)) rows2 (vla-get-rows tblobj2) lastrow rows2 cols1 (vla-get-columns tblobj1) cols2 (vla-get-columns tblobj2) ) (if (not (equal cols1 cols2)) (progn (alert "There is not equivalent number of rows found. Error. ") (exit) (princ) ) ) (if (eq :vlax-false (vla-get-titlesuppressed tblobj2)) (progn (setq lastrow (1- lastrow)) (setq start 1)) (setq start 0)) (if (eq :vlax-false (vla-get-headersuppressed tblobj2)) (progn (setq lastrow (1- lastrow)) (setq start 2)) (setq start 0)) (vla-put-RegenerateTableSuppressed tblobj1 :vlax-false) (vla-insertrows tblobj1 rows1 (vla-getrowheight tblobj1 (1- rows1)) lastrow) (repeat lastrow (setq col 0) (repeat cols1 (vla-settext tblobj1 rows1 col (vla-gettext tblobj2 start col)) (setq col (1+ col))) (setq start (1+ start)) (setq rows1 (1+ rows1))) (vla-put-RegenerateTableSuppressed tblobj1 :vlax-true) (initget 1 "Yes No") (setq response (getkword "\nAre you want to delete the second table [Y]es or [N]o : ")) (if (eq "Yes" response) (vla-delete tblobj2) ) (mapcar (function (lambda (x) (vl-catch-all-apply (function (lambda () (vlax-release-object x)))))) (list tblobj2 tblobj1) ) ) (alert "Or nothing selected or selected more than 2 tables. Error. ") ) (princ) ) (princ "\n >> Start command with MTB to merge tables") (princ) ;;=====================================================;;

Из минусов — он не сохраняет объединение ячеек добавляемой таблицы, но это не критично.
Кроме того, скрипт позволяет объединять только 2 таблицы, насколько сильно нужно изменить его код, чтобы можно было объединять несколько таблиц, выбрав их мышкой?

MERGE TWO TABLES.LSP (1.9 Кб, 224 просмотров)

Последний раз редактировалось ElectricSib, 16.08.2016 в 04:58 .

ElectricSib
Посмотреть профиль
Найти ещё сообщения от ElectricSib

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

насколько сильно нужно изменить его код, чтобы можно было объединять несколько таблиц, выбрав их мышкой?

(defun C:MTB3 (/ col cols1 cols2 lastrow response rows1 rows2 ss start tblobj1 tblobj2 x) (vl-load-com) (princ "\n*** Select First table ***") (if (setq ss (ssget "_:S:E:L" '((0 . "ACAD_TABLE")))) (setq tblobj1 (vlax-ename->vla-object (ssname ss 0))) ) (if (and tblobj1 (princ "\n*** Select other tables ***") (setq ss nil ss (ssget "_:L" '((0 . "ACAD_TABLE")))) (or (ssdel (vlax-vla-object->ename tblobj1) ss) t) (> (sslength ss) 0) ) (progn (foreach tblobj2 (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))) (setq rows1 (vla-get-rows tblobj1) tblobj2 (vlax-ename->vla-object tblobj2) rows2 (vla-get-rows tblobj2) lastrow rows2 cols1 (vla-get-columns tblobj1) cols2 (vla-get-columns tblobj2) ) (if (not (equal cols1 cols2)) (progn (alert "There is not equivalent number of rows found. Error. ") (exit) (princ) ) ) (if (eq :vlax-false (vla-get-titlesuppressed tblobj2)) (progn (setq lastrow (1- lastrow)) (setq start 1)) (setq start 0)) (if (eq :vlax-false (vla-get-headersuppressed tblobj2)) (progn (setq lastrow (1- lastrow)) (setq start 2)) (setq start 0)) (vla-put-RegenerateTableSuppressed tblobj1 :vlax-false) (vla-insertrows tblobj1 rows1 (vla-getrowheight tblobj1 (1- rows1)) lastrow) (repeat lastrow (setq col 0) (repeat cols1 (cond ((eq (vla-GetCellType tblobj2 start col) acBlockCell) (vla-SetCellType tblobj1 rows1 col acBlockCell) (vla-setcellalignment tblobj1 rows1 col (vla-getcellalignment tblobj2 start col)) (vla-setblockscale tblobj1 rows1 col (vla-getblockscale tblobj2 start col)) (if (and (wcmatch (getenv "PROCESSOR_ARCHITECTURE") "*64*") (vlax-method-applicable-p tblobj1 'getblocktablerecordid32) ) (vla-setblocktablerecordid32 tblobj1 rows1 col (vla-getblocktablerecordid32 tblobj2 start col) :vlax-false ) (vla-setblocktablerecordid tblobj1 rows1 col (vla-getblocktablerecordid tblobj2 start col) :vlax-false ) ) ) ((eq (vla-GetCellType tblobj2 start col) acTextCell) (vla-setcellalignment tblobj1 rows1 col (vla-getcellalignment tblobj2 start col)) (vla-SetCellTextHeight tblobj1 rows1 col (vla-GetCellTextHeight tblobj2 start col)) (vla-SetCellTextStyle tblobj1 rows1 col (vla-GetCellTextStyle tblobj2 start col)) (vla-settext tblobj1 rows1 col (vla-gettext tblobj2 start col)) ) (t nil) ) (setq col (1+ col))) (setq start (1+ start)) (setq rows1 (1+ rows1))) (vla-put-RegenerateTableSuppressed tblobj1 :vlax-true) ) (initget 1 "Yes No") (setq response (getkword "\nAre you want to delete the tables [Yes/No] : ")) (if (eq "Yes" response) (mapcar 'vla-delete (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))))) ) ;;; (mapcar (function (lambda (x) ;;; (vl-catch-all-apply ;;; (function (lambda () ;;; (vlax-release-object x)))))) ;;; (list tblobj2 tblobj1) ;;; ) ) (alert "nothing selected or selected less than 2 tables. Error. ") ) (princ) ) (princ "\n >> Start command with MTB3 to merge tables") (princ)

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

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