Таблицы nanoCAD, или Пуститься во все тяжкие
Таблицы — один из эффективных способов структурирования данных. В работе проектировщика они используются повсеместно. Именно поэтому важное преимущество получают те САПР-платформы, которые непрерывно развивают инструменты для создания и редактирования таблиц, делая их более удобными и автоматизированными.
Таблицы в Платформе nanoCAD имеют огромный спектр возможностей, использование которых существенно упростит вашу жизнь. Звучит заманчиво?
Сейчас многие САПР-платформы предоставляют стандартный набор возможностей, поэтому сегодня рассмотрим то, что, на мой взгляд, является роскошью.
Готовясь к написанию статьи, я размышляла о том, какой пример мог бы стать удачным для демонстрации этих возможностей. С одной стороны, таблица должна быть достаточно большой, с другой — понятной многим. И такая таблица нашлась: знаменитая периодическая система химических элементов, или таблица Менделеева.
Предлагаю «пуститься во все тяжкие» и попробовать воспроизвести таблицу Менделеева средствами Платформы nanoCAD. Помимо того, что мы разберемся с инструментарием и научимся обращаться с ним, на выходе у нас будет оцифрованная таблица, которую, в случае открытия нового химического элемента, для нас не составит большого труда оперативно обновить.
Казалось бы, в чем есть сложность создания таблицы Менделеева? Давайте для начала вспомним, как она выглядит, и составим небольшую стратегию ее выполнения. Я выбрала именно следующий вариант исполнения этой таблицы, так как именно такая таблица была у меня любимой «шпаргалкой», такая же висела у нас в кабинете химии, и она всегда была для меня «эталоном» (рис. 1, 2):
Рис. 1. Школьная версия таблицы МенделееваРис. 2. Оцифрованная с помощью Платформы nanoCAD 21 таблица МенделееваСтратегия наших действий по оцифровке таблицы Менделеева будет следующей:
Воспользуемся функцией создания отчетов для заполнения ячеек и сортировкой — для корректного расположения элементов.
Создадим элементы оформления таблицы: нумерацию по рядам и столбцам и название таблицы.
Подготовим блок с подсказкой по ячейкам на примере Лития и расположим его в правом верхнем углу таблицы.
Наполним таблицу цветами, воспользуемся специальными выражениями для автоматизации данного процесса.
Создадим небольшую форму с фамилией автора (не путать с файлами форм), которую, при необходимости, можно будет скрыть.
В завершение добавим готовую таблицу на панель инструментов.
Тизер к статье
Подготовка
Из статьи «Блоки и атрибуты блоков» Александра Горюнова вы уже знаете, как создавать блоки с разными атрибутами. Чтобы сформировать отчет, создадим блок элемента, в котором есть следующие атрибуты (рис. 3):
Рис. 3. Атрибуты блокаАтрибут МАССА расположен в правом верхнем углу (в этом примере он расположен ниже намеренно, чтобы был виден атрибут НОМЕР); атрибуты СТОЛБЕЦ и РЯД являются скрытыми.
После создания блока вставим его в область чертежа 138 раз — по блоку на каждую ячейку таблицы. В пустых ячейках зададим значения только для скрытых атрибутов. Должен получится такой результат (рис. 4):
Рис. 4. Блоки элементов таблицы МенделееваГотовые блоки можно скачать по следующей ссылке: блоки элементов таблицы Менделеева.
Создание отчета
Отчет — один из самых важных инструментов для регистрации и упорядочивания свойств объектов на чертеже .
Чтобы создать отчет, вызовем диалоговое окно создания таблицы. Таблицы nanoCAD расположены во вкладке Оформление — группа Таблицы — Таблица nanoCAD. Правее расположены таблицы .dwg, кнопки для мгновенного импорта/экспорта таблиц Excel и преобразования таблиц .dwg в таблицы nanoCAD, и наоборот.
Рис. 5. Расположение команд для работы с таблицамиВ открывшемся диалоговом окне Создание таблицы (рис. 6) выберем Нестандартная, укажем название таблицы, размеры ячеек, число строк и столбцов (их также можно задавать в графическом отображении таблицы) и наличие колонтитулов. В нижней части окна зададим точку вставки.
Рис. 6. Диалоговое окно «Создание таблицы»В Платформе nanoCAD представлена обширная база стандартных таблиц (и готовых спецификаций), которой можно воспользоваться через команду Загрузить из базы. С помощью полного редактора таблиц вы можете дополнять базу своими таблицами: загружать готовые таблицы (в форматах tbl, dat, xls, xlsx, csv, txt, xml, sxc, ods xls), импортировать из Excel (соответствующий лист должен быть открыт на момент импорта) или загружать из буфера обмена.
Создание отчета можно начать из диалогового окна «Создание таблицы» или через полный редактор таблиц.
После того, как мы создали и вставили в пространство чертежа таблицу, вызовем полный редактор двойным нажатием ЛКМ по таблице. Работа в полном редакторе таблиц (рис. 7) схожа с работой в Excel. Окно редактирования включает главное меню, панель инструментов, область ячеек и каретки прозрачности и масштаба показа ячеек. Познакомимся с некоторыми из функций редактора таблиц.
Рис. 7. Диалоговое окно редактора таблиц nanoCADСейчас в таблице активен раздел общих данных. Чтобы добавить раздел отчета, выберем в главном меню Разделы — Вставить раздел отчета. Для заполнения отчета данными атрибутов блоков выберем, по каким объектам nanoCAD будет производить отчет. Воспользуемся Быстрым выбором (рис. 8).
Рис. 8. Диалоговое окно «Быстрый выбор»В верхней части открывшегося диалогового окна определим область поиска, а также укажем, по какому типу объектов будет производиться отчет (объект на момент выбора должен быть вставлен в чертеж). В нашем примере тип объекта — вхождение блока.
Затем, чтобы расставить элементы в нужном порядке, определим, по какому принципу мы будем заполнять ячейки: строкам или столбцам. Используем вариант заполнения отчета по строкам. Позднее, так как отчет — это «вертикальная таблица», мы транспонируем его, или повернем таблицу на 90º.
Рис. 9. Свойства элементов первого рядаОтчет может состоять из нескольких столбцов и строк. Чтобы создать в шаблоне отчета строки и столбцы, через главное меню полного редактора выберем Строки/столбцы — Добавить строку/столбец или ПКМ по линейке — Вставить строку/столбец.
Чтобы изменить стиль и расположение текста в ячейке, перейдем в свойства ячейки (нажмем ПКМ по нужной ячейке). Если необходимо изменить свойства всего столбца/строки, настроим свойства ячеек в шаблоне отчета. Диалог Свойства ячейки представлен на рис. 10.
Рис. 10. Диалоговое окно «Свойства ячейки»В данном примере я создала текстовый стиль Элемент из шрифта Georgia, сделала разными высоту шрифтов для ячеек и размеры самих ячеек для лучшего восприятия таблицы. Все эти свойства задаются во вкладках Шрифт и Вписывание. Во вкладке Шрифт можно также повернуть текст вертикально. Во вкладке Границы задается расположение текста в ячейке. В ячейках можно оставлять комментарии, которые будут отображаться при наведении мышки на ячейку и на функциональной панели свойств в графе Именованные ячейки.
После определения свойств ячеек в шаблоне отчета выберем нужные атрибуты блока и назначим их ячейкам (рис. 11). Строки со значениями атрибутов добавятся автоматически.
Рис. 11. Вид оформления шаблона отчетаДалее произведем сортировку, так как все элементы должны быть расположены в строгом порядке. Для быстрой сортировки создадим скрытый столбец E со значением атрибута Столбец и воспользуемся функцией Группировать и объединять (рис. 12). Чтобы скрыть столбец (строку), необходимо выделить его (ее), нажать ПКМ по линейке и из выпадающего меню выбрать значение — Скрытый.
Рис. 12. Вызов диалогового окна «Группировать и объединять»Так как текст поворачивается на 90º против часовой стрелки, то сортировка столбца E должна быть «по убыванию» (рис. 13).
Рис. 13. Диалоговое окно «Группировка и объединение»Раздел с общими данными удалим, нажав на Данные — Удалить раздел.
После выполнения перечисленных действий мы получим первую строку таблицы Менделеева, а отчет будет выглядеть так, как показано на рис. 14.
Рис. 14. Отчет по первой строке таблицы МенделееваДалее в этой же таблице создадим следующий раздел отчета и повторим все действия для нового ряда — и так, пока таблица не заполнится 11 рядами элементов. Это полезно для закрепления навыков :)
Если сейчас мы закроем полный редактор, то увидим не таблицу, а один очень длинный столбец. Во-первых, с помощью команды ROTATE повернем столбец. Во-вторых, с помощью команды Деление на страницы разделим нашу таблицу (рис. 15).
Рис. 15. Инструмент «Деление на страницы»В диалоговом окне Деление на страницы укажем, как именно будет происходить деление, в нашем случае — не более 10 строк на одной странице (шаблоны отчетов не являются отдельной строкой для страницы, так как не отображаются в таблице). После деления на страницы в таблице появятся чёрточки, которые обозначают переход от одной страницы к следующей (рис. 16).
Рис. 16. Идентификация новой страницыГруппы Лантаноидов и Актиноидов я выполнила отдельной таблицей, назначив другие названия блокам.
Рис. 17. Произвольное деление на страницыДеление было выполнено произвольно: первые 11 строк — по 10 столбцов на листе, в группах Лантаноидов и Актиноидов — по 15 столбцов на листе. Для произвольного деления выберем нужную строку и, нажав ПКМ по линейке, выберем Начать новую страницу (рис. 17).
Для отдельных ячеек названий групп *Лантаноиды и **Актиноиды создадим раздел данных после каждого раздела отчета.
Теперь у нашей таблицы следующий вид (рис. 18):
Рис. 18. Промежуточный вид таблицыСоздание элемента оформления таблицы
Далее создадим для нашей таблицы нумерацию по строкам и валентности, а также оформление. Конечно, можно выполнить эти действия в той же таблице: например, нумерацию по строкам — в виде раздела данных после каждой строки, нумерацию по валентности — в виде отдельного столбца, а в не используемых ячейках таблицы стереть границы. Но мы облегчим себе задачу и создадим «рамку» отдельной таблицей.
Промежуточный вид «рамки» нашей таблицы будет выглядеть так, как показано на рис. 19.
Рис. 19. Оформление таблицыОтмечу, что нумерация ячеек, как и в Excel, очень удобна: необходимо лишь заполнить первые две ячейки и потянуть правый нижний край, чтобы остальные ячейки заполнились автоматически.
Для написания римских цифр я использовала английскую раскладку.
Вставка вспомогательного блока
В ячейки можно вставить блоки. Создадим на примере Лития блок, объясняющий расположение информации в ячейках (как в школьных таблицах).
Рис. 20. Показательный блокЭтот блок можно сделать целым, но для примера того, что блоки (как и текст) можно располагать в любой части ячейки, я разделила его на три части (рис. 20).
В свойствах ячейки во вкладке Границы выберем расположение: для верхнего участка — снизу по центру, для центрального — центр ячейки, для нижнего — сверху по центру.
Заливка ячеек (редактор формул)
Последний шаг в оформлении — раскрасить ячейки по цветам. Сделать это можно в диалоге Свойства ячейки, но займет такая процедура достаточно много времени (необходимо переходить в свойства каждой ячейки и раскрашивать ее). И поэтому попробуем закрасить ячейки специальной функцией
ctlSetCellFillColor (номер_цвета или «название цвета»; номер_ячейки или диапазон);
функция возвращает пустое значение. Для изучения работы с функциями и выражениями познакомимся с редактором формул (Построитель выражений).
В Платформе nanoCAD есть специальное диалоговое окно, позволяющее задавать параметры, функции, арифметические выражения и ссылки на свойства объекта для выбранной ячейки таблицы.
Выражения или формулы должны быть привязаны к определенной ячейке, поэтому для вызова диалога Построитель выражений выберем ячейку, в которую мы будем вводить формулу, нажмем ПКМ — Выражение или кнопку fx под панелью инструментов таблицы (рис. 21).
Рис. 21. Вызов диалога «Построитель выражений»Диалоговое окно выглядит так, как показано на рис. 22.
Рис. 22. Диалоговое окно «Построитель выражений»Функцию для закрашивания ячеек можно задать в любой ячейке, не являющейся отчетом. Для этого создадим еще один скрытый столбец и пропишем в нем эту функцию. В таблице использовано 6 цветов, включая белый (изначально у таблицы нет цвета). Ниже — примеры использования этой функции и названия цветов (Таблица 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. Вид формыЭтот инструмент удобен, когда в одной и той же таблице при одном варианте исполнения могут быть заголовки, при другом — нет. В нашем случае сделаем форму для строки с подписью автора, выполнившего таблицу в Платформе nanoCAD. Пользовательские формы также можно назвать диалогами вставки и редактирования.
Создание и включение/выключение пользовательских форм возможно только в модулях «СПДС» и «Механика».
Перед созданием формы подготовим таблицу: создадим раздел Нижний колонтитул и впишем необходимые данные, в нашем случае — ФИО.
В главном меню полного редактора переходим в Файл — Изменить форму. Откроется окно редактора форм, окно свойств и переменных (рис. 24).
Рис. 24. Редактор формДля добавления диалога с переключателем в графической части редактора форм выберем в главном меню Вставка — Флажок, зададим размеры и перейдем в окно свойств. В графе Текст укажем тот текст, для которого будет сделан переключатель, в нашем случае — «Подпись», и зададим название переменной в графе Переменная — »Sign». Также рядом с переключателем можно вставить картинку. Для этого в главном меню выберем Вставка — Рисунок и зададим размеры картинки. В диалоге свойств в графе Данные выберем нужную картинку.
Перед закрытием можно протестировать нашу форму: в главном меню редактора форм выберем Файл — Тест. Когда пользовательская форма готова, диалог редактора форм можно закрыть.
Далее необходимо передать таблице следующее сообщение: «Если переменная Sign = 1, то высота строки = 15, в противном случае высота строки = 0». Сделаем это с помощью функций.
В ячейках можно не только прописывать элементарные математические функции, как сложение, вычитание, деление и т.д., но и программировать сами ячейки, задавая определенные условия. Функция для задания высоты ячейки — setHeight (значение_высоты).
В любой из скрытых ячеек прописываем наше условие:
=iff(Sign==1;setHeight(15);setHeight(0)).
Теперь все должно заработать. Проверим? На панели инструментов полного редактора таблиц выберем Открыть форму, появится созданное нами диалоговое окно (рис. 25).
Рис. 25. Открытие формыТеперь наша таблица завершена!
Кто-то может спросить, для чего проделывать столько операций, когда можно воспользоваться удобной командой распознавания таблиц сразу после вставки блоков? Эта команда есть в модулях «СПДС» и «Механика», и расположена она во вкладках СПДС/Механика, в группе Форматы, Таблицы — Распознавание таблиц.
Рис. 26. Распознавание таблицДействительно, это было бы намного быстрее, зато теперь вы знаете гораздо больше возможностей редактора таблиц nanoCAD и можете использовать их на практике.
Добавление таблицы на палитру инструментов
Чтобы не потерять таблицу, всегда иметь под рукой часто применяемые таблицы, их можно хранить на палитре инструментов.
Рис. 27. Сохранение таблицы в базуДобавлять таблицу на палитру будем в модуле «СПДС». Для начала добавим таблицу в базу: в диалоге полного редактора таблиц, на панели инструментов выберем Сохранить в базу.
В диалоге сохранения можно создать новую папку для хранения своих таблиц или воспользоваться существующей. После добавления таблицы в базу вызовем для просмотра идентификатора (вкладку База элементов можно вызвать командой showtablibrary).
Рис. 28. Пример идентификатора таблицыИдентификатор таблицы будет также прописан в командной строке (рис. 28).
Далее переходим на функциональную панель Инструменты и перетаскиваем наши таблицы в нужный набор. Как вы уже заметили, при вызове таблицы возникает диалоговое окно создания таблицы. Чтобы сразу доставать из палитры нужную таблицу, необходимо войти в диалог свойств и прописать команду и идентификатор таблицы в графе Командная строка (через пробел), например, как показано на рис. 29.
Рис. 29. Свойства инструментаЭти действия необходимо повторить для каждой таблицы.
Рис. 30. Разбивка блока при вставкеТакже на палитру необходимо добавить все блоки элементов, иначе в новом документе таблица не найдет объекты для создания отчета, но, чтобы можно было доставать их из палитры одним нажатием, из всех блоков элементов сделаем один блок — блоки элементов. Далее перетащим его в нужный набор и в свойствах для Разбивки укажем Да (рис. 30).
Теперь весь комплект таблицы собран и всегда будет под рукой. Подробнее о хранении и передачи палитр поговорим в следующий раз :)
Некоторые лайфхаки, которые существенно упростят работу с таблицами:
· Функция Разделить ячейки карандашом — для быстрого деления ячеек.
· Нажмите ctrl+ПКМ, чтобы быстро редактировать ячейки без обращения к полному редактору.
· Использование жестов в полном редакторе: зажатой ПКМ можно быстро вызвать часто применяемые команды:
Надеюсь, что после изучения этой статьи вы оценили, насколько широк функционал таблиц nanoCAD. Давайте структурируем наши знания:
Отчеты (выборка и сортировка).
Формулы и задание условий.
Деление таблицы на страницы.
Свойства ячеек.
Пользовательские формы.
Экспорт/импорт в Excel.
Быстрое преобразование таблиц nanoCAD в *.dwg, и наоборот.
Распознавание таблиц.
Занесение таблицы в базу элементов и на инструментальную палитру.
Лайфхаки: карандаш, быстрое редактирования, жесты.
Бонусный вопрос в завершение: в полном редакторе некоторые ячейки, в зависимости от информации, имеют определенный цвет. Сможете ли вы соотнести цвет ячейки с тем, что в ней находится?
Ответ найдете ниже:
Удачного проектирования и оформления чертежей! :)
Все материалы доступны по QR-коду.
Прямая ссылка на скачивание: https://ftp.nanosoft.su/file_66315030060adfe1f8eb9c
Асель Бексултанова,
технический специалист
по Платформе nanoCAD,
«Нанософт разработка»