Таблицы — один из эффективных способов структурирования данных. В работе проектировщика они используются повсеместно. Именно поэтому важное преимущество получают те САПР-платформы, которые непрерывно развивают инструменты создания и редактирования таблиц, делая их более удобными и автоматизированными.

Таблицы в nanoCAD располагают огромным спектром возможностей, использование которых существенно упростит вашу жизнь. Звучит заманчиво?

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

Готовясь к написанию статьи, я размышляла о том, какой пример мог бы стать удачным для демонстрации этих возможностей. С одной стороны, таблица должна быть достаточно большой, с другой — понятной многим. И такая таблица нашлась: знаменитая периодическая система химических элементов, или таблица Менделеева.

Предлагаю «пуститься во все тяжкие» и попробовать воспроизвести таблицу Менделеева средствами nanoCAD. Помимо того что мы разберемся с инструментарием и научимся обращаться с ним, на выходе у нас будет оцифрованная таблица, которую, в случае открытия нового химического элемента, для нас не составит большого труда оперативно обновить.

Казалось бы, в чем сложность создания таблицы Менделеева? Давайте для начала вспомним, как она выглядит, и продумаем стратегию ее выполнения. Я выбрала вариант исполнения этой таблицы, показанный на рис. 1: именно такая таблица была у меня любимой «шпаргалкой»; такая же висела у нас в кабинете химии, и она всегда была для меня «эталоном».

Рис. 1. Школьная версия таблицы Менделеева Рис. 1. Школьная версия таблицы Менделеева
Рис. 2. Таблица Менделеева, оцифрованная с помощью Платформы nanoCAD 21 Рис. 2. Таблица Менделеева, оцифрованная с помощью Платформы nanoCAD 21

Стратегия наших действий по оцифровке таблицы Менделеева (рис. 2) будет следующей:

  1. Воспользуемся функцией создания отчетов для заполнения ячеек и сортировкой — для корректного расположения элементов.
  2. Создадим элементы оформления таблицы: нумерацию по рядам и столбцам, название таблицы.
  3. Подготовим блок с подсказкой по ячейкам на примере лития и расположим его в правом верхнем углу таблицы.
  4. Наполним таблицу цветами, воспользуемся специальными выражениями для автоматизации этого процесса.
  5. Создадим небольшую форму с фамилией автора (не путать с файлами форм), которую при необходимости можно будет скрыть.
  6. В завершение добавим готовую таблицу на панель инструментов.

Подготовка

Из статьи Александра Горюнова «Блоки и атрибуты блоков» вы уже знаете, как создавать блоки с разными атрибутами. Чтобы сформировать отчет, создадим блок элемента, в котором есть атрибуты, представленные на рис. 3.

Рис. 3. Атрибуты блока Рис. 3. Атрибуты блока

Атрибут МАССА расположен в правом верхнем углу (на рисунке он помещен ниже намеренно, чтобы был виден атрибут НОМЕР); атрибуты СТОЛБЕЦ и РЯД являются скрытыми.

После создания блока вставим его в область чертежа 138 раз — по блоку на каждую ячейку таблицы. В пустых ячейках зададим значения только для скрытых атрибутов. Должен получится результат, показанный на рис. 4.

Рис. 4. Блоки элементов таблицы Менделеева Рис. 4. Блоки элементов таблицы Менделеева

Создание отчета

Отчет — один из самых важных инструментов регистрации и упорядочения свойств объектов на чертеже.

Чтобы создать отчет, вызовем диалоговое окно создания таблицы. Таблицы nanoCAD расположены во вкладке Оформление → группа ТаблицыТаблица nanoCAD (рис. 5). Правее расположены таблицы dwg, кнопки для мгновенного импорта/экспорта таблиц Excel, а также преобразования таблиц dwg в таблицы nanoCAD, и наоборот.

Рис. 5. Расположение команд для работы с таблицами Рис. 5. Расположение команд для работы с таблицами

В открывшемся диалоговом окне Создание таблицы (рис. 6) выберем Нестандартная, укажем название таблицы, размеры ячеек, число строк и столбцов (их также можно задавать в графическом отображении таблицы) и наличие колонтитулов. В нижней части окна зададим точку вставки.

Рис. 6. Диалоговое окно Создание таблицы Рис. 6. Диалоговое окно Создание таблицы

В Платформе nanoCAD представлена обширная база стандартных таблиц (и готовых спецификаций), которой можно воспользоваться через команду Загрузить из базы. С помощью полного редактора таблиц вы можете пополнять базу собственными таблицами: загружать готовые таблицы (в форматах *.tbl, *.dat, *.xls, *.xlsx, *.csv, *.txt, *.xml, *.sxc, *.ods), импортировать из Excel (на момент импорта соответствующий лист должен быть открыт) или загружать из буфера обмена.

Создание отчета можно начать из диалогового окна Создание таблицы или через полный редактор таблиц.

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

Рис. 7. Диалоговое окно редактора таблиц nanoCAD Рис. 7. Диалоговое окно редактора таблиц nanoCAD

Сейчас в таблице активен раздел общих данных. Чтобы добавить раздел отчета, выберем в главном меню РазделыВставить раздел отчета. Для заполнения отчета данными атрибутов блоков следует выбрать, по каким объектам nanoCAD будет производить отчет. Воспользуемся Быстрым выбором (рис. 8).

Рис. 8. Диалоговое окно Быстрый выбор Рис. 8. Диалоговое окно Быстрый выбор

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

Затем, чтобы расставить элементы в нужном порядке, определим, по какому принципу мы будем заполнять ячейки: по строкам или столбцам. Используем вариант заполнения отчета по строкам. Позднее, так как отчет — это «вертикальная таблица», мы транспонируем его, или повернем таблицу на 90°.

В окне Быстрый выбор выберем условие для скрытого атрибута РЯД =1. Затем, щелкнув правой кнопкой мыши (ПКМ) по ячейке шаблона отчета, внесем любые из свойств элементов, расположенных в первом ряду таблицы Менделеева. В одной ячейке через знак «+» можно вручную указать несколько свойств (рис. 9).

Рис. 9. Свойства элементов первого ряда Рис. 9. Свойства элементов первого ряда

Отчет может состоять из нескольких столбцов и строк. Чтобы создать в шаблоне отчета строки и столбцы, через главное меню полного редактора выберем Строки/столбцыДобавить строку/столбец или щелкнем ПКМ по линейке и укажем Вставить строку/столбец.

Чтобы изменить стиль и расположение текста в ячейке, перейдем в ее свойства (нажмем ПКМ на нужной ячейке). Если необходимо изменить свойства всего столбца/строки, настроим свойства ячеек в шаблоне отчета. Диалог Свойства ячейки представлен на рис. 10.

Рис. 10. Диалоговое окно Свойства ячейки Рис. 10. Диалоговое окно Свойства ячейки

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

После определения свойств ячеек в шаблоне отчета выберем нужные атрибуты блока и назначим их ячейкам (рис. 11). Строки со значениями атрибутов добавятся автоматически.

Рис. 11. Вид оформления шаблона отчета Рис. 11. Вид оформления шаблона отчета

Далее произведем сортировку, так как все элементы должны быть расположены в строгом порядке. Для быстрой сортировки создадим скрытый столбец E со значением атрибута Столбец и воспользуемся функцией Группировать и объединять (рис. 12). Чтобы скрыть столбец (строку), необходимо выделить его (ее), щелкнуть ПКМ по линейке и в выпадающем меню выбрать значение Скрытый.

Рис. 12. Вызов диалогового окна Группировать и объединять Рис. 12. Вызов диалогового окна Группировать и объединять

Так как текст поворачивается на 90° против часовой стрелки, сортировка столбца E должна быть выстроена по убыванию (рис. 13).

Рис. 13. Диалоговое окно Группировка и объединение Рис. 13. Диалоговое окно Группировка и объединение

Раздел с общими данными удалим, нажав на ДанныеУдалить раздел.

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

Рис. 14. Отчет по первой строке таблицы Менделеева Рис. 14. Отчет по первой строке таблицы Менделеева

Далее в этой же таблице создадим следующий раздел отчета и повторим все действия для нового ряда — и так пока таблица не заполнится 11 рядами элементов. Это полезно для закрепления навыков. ☺

Если сейчас мы закроем полный редактор, то увидим не таблицу, а один очень длинный столбец. Во-первых, повернем его с использованием команды ROTATE. Во-вторых, с помощью команды Деление на страницы разделим нашу таблицу (рис. 15).

Рис. 15. Инструмент Деление на страницы Рис. 15. Инструмент Деление на страницы

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

Рис. 16. Идентификация новой страницы Рис. 16. Идентификация новой страницы

Группы лантаноидов и актиноидов я выполнила отдельной таблицей, назначив другие названия блокам. Деление было выполнено произвольно: первые 11 строк — по 10 столбцов на листе, в группах лантаноидов и актиноидов — по 15 столбцов на листе. Для произвольного деления выберем нужную строку и, щелкнув ПКМ по линейке, выберем Начать новую страницу (рис. 17).

Рис. 17. Произвольное деление на страницы Рис. 17. Произвольное деление на страницы

Для отдельных ячеек названий групп *Лантаноиды и **Актиноиды создадим раздел данных после каждого раздела отчета.

Теперь наша таблица приобрела вид, показанный на рис. 18.

Рис. 18. Промежуточный вид таблицы Рис. 18. Промежуточный вид таблицы

Создание элемента оформления таблицы

Далее создадим для нашей таблицы нумерацию по строкам и валентности, а также оформление. Конечно, можно выполнить эти действия в той же таблице: например, нумерацию по строкам — в виде раздела данных после каждой строки, нумерацию по валентности — в виде отдельного столбца, а в неиспользуемых ячейках таблицы стереть границы. Но мы облегчим себе задачу и создадим «рамку» отдельной таблицей.

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

Рис. 19. Оформление таблицы Рис. 19. Оформление таблицы

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

Для написания римских цифр я использовала английскую раскладку.

Вставка вспомогательного блока

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

Этот блок можно сделать целым, но для примера того, что блоки (как и текст) можно располагать в любой части ячейки, я разделила его на три части (рис. 20).

Рис. 20. Показательный блок Рис. 20. Показательный блок

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

Заливка ячеек (редактор формул)

Последний шаг в оформлении — раскрасить ячейки по цветам. Сделать это можно в диалоге Свойства ячейки, но такая процедура займет достаточно много времени: понадобится переходить в свойства каждой ячейки и раскрашивать ее. Поэтому для закрашивания попробуем использовать специальную функцию ctlSetCellFillColor (номер_цвета или «название цвета»; номер_ячейки или диапазон); функция возвращает пустое значение. Для изучения работы с функциями и выражениями познакомимся с редактором формул.

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

Выражения или формулы должны быть привязаны к определенной ячейке, поэтому для вызова диалога Построитель выражений выберем ячейку, в которую мы будем вводить формулу, нажмем ПКМ → Выражение или кнопку fx под панелью инструментов таблицы (рис. 21).

Рис. 21. Вызов диалога Построитель выражений Рис. 21. Вызов диалога Построитель выражений

Диалоговое окно выглядит так, как показано на рис. 22.

Рис. 22. Диалоговое окно Построитель выражений Рис. 22. Диалоговое окно Построитель выражений

Функцию для закрашивания можно задать в любой ячейке, не являющейся отчетом. Создадим еще один скрытый столбец и пропишем в нем эту функцию. В таблице использовано шесть цветов, включая белый (изначально у таблицы нет цвета). Примеры применения этой функции и названия цветов представлены в таблице 1. Со всеми функциями можно ознакомиться в разделе справки Оформление чертежейТаблицыИнтерфейс полного редактораИнтерфейс редактора формулФункции, операции и переменные в редакторе формул.

Таблица 1. Соответствие функции и названия цвета

Функция

Цвет

=ctlSetCellFillColor («FFFFFE»;N17:N18)

Белый

=ctlSetCellFillColor («PaleVioletRed»;A2:D12)

Бледно-фиолетовый

=ctlSetCellFillColor («yellow»;A2:D12)

Желтый

=ctlSetCellFillColor («DeepSkyBlue»;A6:D6)

Голубой

=ctlSetCellFillColor («PapayaWhip»;A1:B13)

Бежевый

=ctlSetCellFillColor («Lime»;B3:E15)

Зеленый

Имена цветов HTML нетрудно найти на просторах интернета.

Пользовательские формы в таблице и скрытие строк

Научимся делать скрытие строк через пользовательские формы (не путать с файлами форм *.shx). Работа формы должна выглядеть следующим образом: при вызове формы появляется окно (рис. 23) с переключателем; если флажок выставлен — строка с подписью появляется в конце таблицы, если не выставлен — строка скрывается.

Рис. 23. Вид формы Рис. 23. Вид формы

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

Создание и включение/отключение пользовательских форм возможно только в модулях «СПДС» и «Механика».

Перед созданием формы подготовим таблицу: создадим раздел Нижний колонтитул и впишем необходимые данные, в нашем случае — ФИО.

В главном меню полного редактора переходим в ФайлИзменить форму. Откроется окно редактора форм, окно свойств и переменных (рис. 24).

Рис. 24. Редактор форм Рис. 24. Редактор форм

Для добавления диалога с переключателем в графической части редактора форм выберем в главном меню ВставкаФлажок, зададим размеры и перейдем в окно свойств. В графе Текст укажем тот текст, для которого будет сделан переключатель (в нашем случае — «Подпись»), и зададим название переменной в графе Переменная: «Sign». Также рядом с переключателем можно вставить картинку. Для этого в главном меню выберем ВставкаРисунок и зададим размеры картинки. В графе Данные диалога свойств выберем нужную картинку.

Перед закрытием можно протестировать нашу форму: в главном меню редактора форм выберем ФайлТест. Когда пользовательская форма готова, диалог редактора форм можно закрыть.

Далее необходимо передать таблице следующее сообщение: «Если переменная Sign=1, то высота строки =15, в противном случае высота строки =0». Сделаем это с помощью функций.

В ячейках можно не только прописывать элементарные математические функции, такие как сложение, вычитание, деление и т.д., но и программировать сами ячейки, задавая определенные условия. Функция для задания высоты ячейки — setHeight (значение_высоты).

В любой из скрытых ячеек прописываем наше условие:

=iff (Sign==1;setHeight (15);setHeight (0)).

Теперь все должно заработать. Проверим? На панели инструментов полного редактора таблиц выберем Открыть форму, появится созданное нами диалоговое окно (рис. 25).

Рис. 25. Открытие формы Рис. 25. Открытие формы

Теперь наша таблица завершена!

Кто-то может спросить, для чего проделывать столько операций, когда можно воспользоваться удобной командой распознавания таблиц сразу после вставки блоков? Эта команда есть в модулях «СПДС» и «Механика», и расположена она во вкладках СПДС/Механика, в группе Форматы, ТаблицыРаспознавание таблиц.

Рис. 26. Распознавание таблиц Рис. 26. Распознавание таблиц

Действительно, это было бы намного быстрее, зато теперь вы знаете гораздо больше возможностей редактора таблиц nanoCAD и можете использовать их на практике.

Добавление таблицы на палитру инструментов

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

Добавлять таблицу на палитру будем в модуле «СПДС». Для начала добавим таблицу в базу: в диалоге полного редактора таблиц, на панели инструментов выберем Сохранить в базу.

Рис. 27. Сохранение таблицы в базу Рис. 27. Сохранение таблицы в базу

В диалоге сохранения можно создать новую папку для хранения своих таблиц или воспользоваться существующей. После добавления таблицы в базу вызовем для просмотра идентификатор (вкладку База элементов можно вызвать командой showtablibrary). Идентификатор таблицы будет также прописан в командной строке (рис. 28).

Рис. 28. Пример идентификатора таблицы Рис. 28. Пример идентификатора таблицы

Далее переходим на функциональную панель Инструменты и перетаскиваем наши таблицы в нужный набор. Как вы уже заметили, при вызове таблицы возникает диалоговое окно создания таблицы. Чтобы сразу доставать из палитры нужную таблицу, необходимо войти в диалог свойств и прописать команду и идентификатор таблицы в графе Командная строка (через пробел) — например, как показано на рис. 29.

Рис. 29. Свойства инструмента Рис. 29. Свойства инструмента

Эти действия необходимо повторить для каждой таблицы.

Также в палитру необходимо добавить все блоки элементов, иначе в новом документе таблица не найдет объекты для создания отчета, а чтобы можно было доставать их из палитры одним нажатием, из всех блоков элементов сделаем один — блоки элементов. Далее перетащим его в нужный набор и в свойствах для Разбивки укажем Да (рис. 30).

Рис. 30. Разбивка блока при вставке Рис. 30. Разбивка блока при вставке

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

Некоторые лайфхаки, которые существенно упростят работу с таблицами:

  1. Функция Разделить ячейки карандашом — для быстрого деления ячеек.
  2. Нажмите Ctrl+ПКМ, чтобы быстро редактировать ячейки без обращения к полному редактору.
  3. Использование жестов в полном редакторе: зажатой ПКМ можно быстро вызвать часто применяемые команды.

Действие

Результат

Вправо

Калькулятор

Влево

Записная книжка

Вверх

Построитель выражений

Вниз

Свойства ячейки

Крюк вправо

Вернуть

Крюк влево

Отменить

Замкнутая область выделенных ячеек по часовой стрелке

Объединение

Замкнутая область выделенных ячеек против часовой стрелки

Разъединение

Символ «z» на выделенных ячейках

Очистить

Надеюсь, что после изучения этой статьи вы оценили, насколько широк функционал таблиц nanoCAD. Давайте структурируем наши знания:

  1. Отчеты (выборка и сортировка).
  2. Формулы и задание условий.
  3. Деление таблицы на страницы.
  4. Свойства ячеек.
  5. Пользовательские формы.
  6. Экспорт/импорт в Excel.
  7. Быстрое преобразование таблиц nanoCAD в *.dwg, и наоборот.
  8. Распознавание таблиц.
  9. Занесение таблицы в базу элементов и в инструментальную палитру.
  10. Лайфхаки: карандаш, быстрое редактирование, жесты.

Бонусный вопрос в завершение: в полном редакторе некоторые ячейки, в зависимости от информации, имеют определенный цвет. Сможете ли вы соотнести цвет ячейки с тем, что в ней находится?

Ячейка, содержащая выражение (формулу)

Нередактируемая ячейка

Ячейка с ошибкой в выражении

Ячейка, содержащая данные раздела отчета

Выбранная на данный момент ячейка

Удачного проектирования и оформления чертежей!

Скачать все материалы можно по ссылке.

Асель Бексултанова,
технический специалист
по Платформе nanoCAD
«Нанософт разработка»
E-mail: bexultanova@nanocad.ru