На дворе 2025 год, вроде давно уже все обсуждения инструментов проектирования производственных и гражданских объектов сводятся к рассмотрению САПР с поддержкой 3Д моделирования и технологии BIM (Building Information Model, цифровая информационная модель здания). Однако, параллельно с проектированием BIM и 3Д модели, проектировщики по-прежнему активно используют «плоские» чертежи, которые создаются с использованием 2Д инструментов и примитивов. Почему? Обычный ответ: «так проще и быстрее».
И всё же, при 2Д проектировании требуется иметь инструменты среды САПР, автоматизирующие и ускоряющие работу. Одним из основных инструментов можно назвать разного рода «умные» блоки, которые представляют какой-либо объект с задаваемыми параметрами. При вставке в чертеж проектировщик задает конкретные параметры размещенного элемента, таким образом уточняя 2Д отображение и/или вычисляемые атрибуты. Например, при вставке элемента, представляющего проем в стене, задается ширина стены, ширина и высота проема. В результате УГО (условное графическое отображение, 2Д примитив) проема подстраивается под ширину стены и ширину проема.
В данной статье рассмотрим и сравним два инструмента такого рода. Это динамические блоки AutoCAD и параметрические объекты nanoCad СПДС (далее – «динамические блоки» и «параметрические объекты»).
Почему именно их?
Использование динамических блоков и параметрических объектов возможно как на платформе AutoCAD, так и на платформе nanoCad СПДС. Так что при создании библиотеки таких элементов перед проектным институтом (или перед производителем оборудования) зачастую стоит дилемма: какую технологию выбрать? Попробуем помочь разобраться в этом вопросе.
Краткое сравнение
Динамические блоки являются элементами данных, сохраняемыми в файле формата dwg (базе данных чертежа). Динамические блоки созданы как развитие статического блока и наследуют его архитектуру. Блоки содержат правила и ограничения, которые управляют внешним видом и поведением блока при его вставке/копировании в чертеж или изменении в дальнейшем (1).
Параметрические объекты (детали) являются элементами данных модуля nanoCad СПДС, определения которых сохраняются во внешней базе данных, а набор параметров экземпляра объекта и точка вставки детали сохраняются в текущем чертеже (2).
Определение параметрического объекта представляет собой скрипт, в котором задаются параметры экземпляра объекта (детали), ручки и диалоги задания параметров, ссылки на табличные объекты, реакции на изменение параметров и операции отрисовки детали в плоскостях проекции и т. д.
Попробуем свести основные особенности и различия тех и других в одной таблице, а затем подробнее раскрыть некоторые моменты.
Динамические блоки |
Параметрические объекты |
Предоставляемый функционал | |
Определение присоединяемых параметров и свойств для динамического блока. |
Определение открытых, закрытых и табличных параметров объекта. |
Определение зависимостей для геометрических параметров с помощью формул. |
Определение зависимостей для открытых и закрытых параметров объекта с помощью формул. |
Определение табличных параметров как набора фиксированных значений. |
Загрузка табличных параметров из внешней базы данных. |
Динамическое изменение 2Д отображения. Управление выводом геометрических примитивов осуществляется наложением геометрических и размерных зависимостей. При изменении одного из параметров блока, выполняется перерисовка зависимых от этого параметра геометрических примитивов. |
Динамическое изменение 2Д отображения. Геометрическое представление определяется подпрограммой отрисовки скрипта параметрического объекта. Отрисовка выполняется при первичном размещении объекта в пространстве модели (на чертеже) и при любом изменении значений параметров. |
Изменение значений параметров. Инструменты изменения значений параметров размещенного блока: всевозможные ручки для изменения размерных параметров, выбора строки табличных параметров. |
Изменение значений параметров. Для изменения значений открытых параметров экземпляра объекта используются ручки и/или диалоговое окно (форму). Набор изменяемых параметров, внешний вид и содержание формы сохраняется в виде процедуры в скрипте определения объекта. |
Графические примитивы. Для вывода в пространство чертежа доступны любые 2Д элементы: от отрезков, прямоугольников, дуг и окружностей до массивов элементов. |
Графические примитивы. Для вывода в пространство чертежа 2Д объектов используется ряд функций отрисовки линий и плоских объектов. Доступны: отрезок, дуга, окружность, эллипс, штриховка, текст. Для создания массива элементов в процедуре отрисовки необходимо использовать цикл. |
Инструменты для создания и редактирования динамических блоков и параметрических объектов | |
Создание нового динамического блока или редактирование размещенного в пространстве чертежа бока производится через редактор блоков AutoCAD и доступно для проектировщика в любой момент. AutoCAD содержит полный набор инструментов для определения и редактирования параметров, геометрических зависимостей, формул вычисляемых параметров и т.д. В среде nanoCad инструментов для редактирования динамических блоков нет. |
Создание или редактирование параметрического объекта сводится к редактированию сохраненного в базе скрипта определения объекта. Редактирование может производиться в любом текстовом редакторе, однако это достаточно трудоемко. Среда СПДС предоставляет мастер объектов, который позволяет создать скрипт определения объекта, пройдя через несколько шагов. Мастер объектов позволяет также открыть определение объекта из базы и отредактировать его, но только до тех пор, пока в текст скрипта не вносились какие-либо изменения напрямую. |
Сбор данных для отчетов и спецификации | |
Параметры динамического блока доступны для чтения любыми инструментами, позволяющими читать атрибуты стандартных блоков, включая инструменты AutoCAD экспорта в Excel или экспорта в табличную форму, сторонние инструменты формирования спецификации из атрибутов размещенных на чертеже блоков. |
Формирование спецификации производится с помощью инструмента СПДС «Вывод в спецификацию». Для связи со спецификацией параметрический объект должен иметь два открытых свойства с предопределенными именами: SpecPartition для группировки деталей в спецификации и strPartName для вывода наименования детали и её технических параметров. Параметрический объект не является блоком, и возможность определить для него атрибут не имеется или не документирована. |
Совместимость | |
Динамические блоки являются объектами AutoCAD. Платформа nanoCad позволяет использовать созданные в AutoCAD блоки (т.е. размещать в пространстве чертежа и изменять значения параметров), но не редактировать их. Однако, полная совместимость с динамическими блоками платформа nanoCad не обеспечивает, по крайней мере до версии 24. По отзывам проектировщиков, при использовании в динамическом блоке массивов и в ряде других случаев, поведение динамического блока при вставке в чертеж средствами nanoCad отличается от поведения при использовании среды AutoCAD. |
Модуль nanoCad СПДС поставляется как часть платформы nanoCad и вне его не используется. Однако, выпускается отдельный модуль СПДС GraphiCS, который устанавливается на AutoCAD. Судя по технической документации, функционал и язык скриптов nanoCad СПДС и СПДС GraphiCS одинаковы. Однако, nanoCad СПДС лицензируется компанией «Нанософт», в то время как лицензии на СПДС GraphiCS распространяется АО «СиСофт Девелопмент». Заверений о том, что параметрические объекты, созданные в данных модулях, взаимно-совместимы, найти не удалось. |
При всём сходстве функционала, динамические блоки и параметрические объекты имеют существенные различия, так что области их применения не совпадают.
Очень ёмко сравнение и, в особенности, различия технологий описаны в статье электронного журнала CADmaster №2(88) 2018 (3), с которой рекомендую ознакомиться и ссылку на которую привожу в конце статьи.
Ниже приведем несколько моментов, важных при подготовке библиотек динамических блоков или библиотек параметрических объектов.
Особенности использования в проектах
На взаимодействие с пользователем (проектировщиком) существенно влияет способ сохранения динамических блоков и параметрических объектов.
Любой экземпляр динамического блока, размещенный в пространстве чертежа, является самостоятельной единицей данных. Это означает, что проектировщик в любой момент может как изменить параметры блока, так и изменить сам блок, открыв его в редакторе блоков. При открытии файла на другом рабочем месте, гарантировано сохранение состояния и поведения динамического блока. Для размещения динамического блока на чертеже можно использовать привычные для всех проектировщиков инструменты и команды: копирование элементов через меню/контекстное меню, командную строку, копирование с помощью мыши или использование палитры блоков. В отличие от статических блоков, экземпляры динамических блоков взаимо-независимы. При изменении одного блока на чертеже, остальные экземпляры не изменяются. Это удобно для проектировщиков, но при увеличении количества экземпляров размещенных блоков происходит пропорциональное увеличение размера файла и соответствующее увеличение времени регенерации чертежа (т.е., ухудшается отзывчивость интерфейса при работе с большими чертежами).
С другой стороны, параметрический объект хранит определение во внешней базе данных; в чертеже хранится только текущее графическое представление экземпляра объекта и значения его параметров. Это, по сравнению с аналогичным чертежом с использованием динамических блоков, значительно уменьшает объем чертежа и уменьшает время регенерации чертежа. С другой стороны, для возможности изменения значений параметров размещенного объекта и размещения нового объекта необходимо иметь открытое подключение к внешней базе, в которой определен данный объект. Размещение параметрического объекта производится соответствующей командой модуля СПДС. Редактирование определения параметрического объекта следует выполнять с особой осторожностью, поскольку изменение сохраняется в базу и может затронуть не только текущий чертеж, но и другие чертежи, использующие данный параметрический объект (деталь).
Таким образом, протокол использования и, в особенности, распространения по рабочим местам в пределах проектного института существенно различается. Если редактирование динамических блоков рядовыми проектировщиками допустимо и не может привести к неожиданным последствиям, то редактирование определений объектов базы данных должно быть строго регламентировано. Предоставление прав на редактирование базы рядовым проектировщикам нежелательно и может нарушить рабочий процесс проектных работ, даже при условии развертывания базы индивидуально на каждом рабочем месте.
В целом, ухудшение отзывчивости интерфейса при использовании динамических блоков и преимущества параметрических объектов проявляются только на чертежах, содержащих сотни или тысячи экземпляров блоков. Например, на планах размещения оборудования или на строительных чертежах здания. На относительно небольших чертежах (например, на сборочных чертежах узлов) различие в производительности несущественны.
Требования к квалификации проектировщика.
Для редактирования динамических блоков среда AutoCAD предоставляет богатый и дружественный пользователю интерфейс. Работы с инструментами редактирования элементов динамических блоков аналогична работе с другими инструментами AutoCAD.
Для несложных сценариев создания параметрических объектов достаточно использовать предоставляемый средой мастер. Время, необходимое для изучения функций и диалоговых окон мастера, сравнимо со временем, необходимым для изучения особенностей инструментов редактирования динамического блока. Однако, уже начиная с применения массивов графических примитивов и более сложного функционала, требуется изучение специализированного скриптового языка и ручное программирование процедур в определении объекта.
Поэтому, хотя порог вхождения для выполнения простых блоков или объектов можно считать невысоким, создание параметрических объектов средней сложности, по сравнению с созданием схожего по функционалу динамического блока, требует большей квалификации проектировщика, большего времени на проектирование объекта и на отладку его функций.
Требования к рабочему окружению.
Разработка динамических блоков возможна в среде проектирования AutoCAD.Функциональность динамических блоков в программе AutoCAD LT сильно урезана, так что она не может считаться подходящим инструментом ни для разработки, ни для применения динамических блоков.
Применение динамических блоков возможно на платформе nanoCad любой конфигурации. Однако, если предполагается использование данной платформы, требуется тщательное тестирование поведения блока на платформе nanoCad.
Разработка и использование параметрических объектов возможна в среде проектирования nanoCad СПДС или СПДС GraphiCS. Среда nanoCad СПДС поставляется как часть платформы nanoCad, начиная с конфигурации Standart Build.
Среда проектирования СПДС GraphiCS требует для работы Autocad. На AutoCAD LT модуль СПДС GraphiCS не работает.
Как среда nanoCad СПДС, так и СПДС GraphiCS требует подключения к серверу баз данных, в роли которого может быть использован PostgreSQL или MS SQL Server. Сервер баз данных может быть развернут как непосредственно рабочем месте, так и на сервере локальной сети (интранета).
Модель распространения и развертывания в рабочем окружении.
При создании базы элементов предлагаемый проектировщику набор элементов целесообразно оформить в виде подключаемого плагина. Предоставляемые элементы включаются в меню ленты (риббона).
Плагин для динамических блоков может быть оформлен как пакет подключаемого модуля AutoCAD или nanoCad. В состав пакета включаются динамические блоки, сохраняемые в отдельные файлы, и файлы адаптации пользовательского интерфейса. При запуске приложения автоматически загружается лента (меню) плагина, позволяющая вставлять блоки в пространство чертежа. Для вставки объектов используется стандартная команда среда AutoCAD или nanoCad, поэтому при подключении плагина нет необходимости в загрузке сторонних исполняемых модулей (библиотек dll). Установка такого плагина несложна и сводится к копированию файлов пакета в преопределенное место в файловой системе АРМ проектировщика. В случае nanoCad, возможно, потребуется подключение файла адаптации интерфейса вручную.
Плагин для параметрических объектов также может быть оформлен как пакет подключаемого модуля, имеющий в своем составе файлы адаптации пользовательского интерфейса. Однако, в отличие от динамических блоков, для вставки объектов потребуется использовать специально разрабатываемый модуль (библиотеку dll) для загрузки в среду выполнения команд вставки предопределенных объектов и предусмотреть инструмент для изменения соединения с внешней базой. При распространении библиотеки dll от имени производителя оборудования, обязательным требованием является цифровая подпись библиотеки сертификатом юридического лица, от имени которого распространяется модуль.
Сценарий разворачивания плагина, содержащего параметрические элементы, несколько сложнее и, кроме копирования файлов адаптации интерфейса, предполагает разворачивание в рабочем окружении базы данных элементов от производителя и автоматическую загрузку исполняемого модуля, необходимого для работы плагина. Возможно, для распространения плагина потребуется разработать инсталлятор, учитывающий все варианты развертывания.
Вместо заключения
Наша студия занимается подготовкой баз данных оборудования для Российских производителей, и данная статья написана как ответ на запросы по подготовке баз элементов для применения на 2Д чертежах в виде набора динамических блоков или набора параметрических объектов. Однако надеюсь, информация будет интересна не только представителям производителей оборудования, но и руководителям отделов проектных институтов и рядовым проектировщикам.
С уважением, руководитель студии Bolapansoft Мишкин И.Н.
Ссылки
1. AutoCAD LT 2025. Динамические блоки. help.autodesk.com. [В Интернете]
2. Nanosoft. СПДС GraphiCS 2024. Мастер объектов. help.spds.ru. [В Интернете]
3. Капарова, Светлана. Сравнение параметрических объектов СПДС GraphiCS и блоков AutoCAD. cadmaster.ru. [В Интернете] 2018 г.
Комментарии (8)
Surrogate
20.01.2025 09:01Как среда nanoCad СПДС, так и СПДС GraphiCS требует подключения к серверу баз данных, в роли которого может быть использован PostgreSQL или MS SQL Server. Сервер баз данных может быть развернут как непосредственно рабочем месте, так и на сервере локальной сети (интранета).
Однако!
При создании базы элементов предлагаемый проектировщику набор элементов целесообразно оформить в виде подключаемого плагина.
Плагин для динамических блоков может быть оформлен как пакет подключаемого модуля AutoCAD или nanoCad. В состав пакета включаются динамические блоки, сохраняемые в отдельные файлы, и файлы адаптации пользовательского интерфейса.
Значит такое осилят не только лишь все?
Dotarev Автор
20.01.2025 09:01Значит такое осилят не только лишь все?
Ну, это требует времени, как минимум. Однако, если не стоит задача сгруппировать и иметь постоянно на расстоянии пары кликов мышью 100-200 элементов (блоков или параметрических объектов), можно поступать проще. Дли использования динамических блоков достаточно собрать их в одном dwg файле и брать в чертеж простым копированием (или через палитру библиотеки блоков). Собственно, так и поступают в большинстве известных мне случаев. В случае параметрических объектов -можно сгруппировать их в подключенной базе и опять-таки вытаскивать на чертеж с помощью штатных команд СПДС. Для передачи определений блоков на другое рабочее место имеется команда экспорта-импорта элементов базы.
lenyadish
20.01.2025 09:01Без параметризации моделировать - прошлый век или любительский. Это даже неоспоримо.
Ты контролируешь себя на ошибки, зачастую параметризация позволяет удачно спроектировать или проработать вариант исполнения
Экономия времени на оперативное внесение изменений.
Экономия времени приклонировании или изменении клона.
Взаимосвязь деталей в сборке
solarscream1988
20.01.2025 09:01Черчение в Автокаде это примерно как чтение текста по буквам.
Surrogate
20.01.2025 09:01Surrogate
20.01.2025 09:01Черчение в Автокаде это примерно как чтение текста по буквам
Не знаю, куда себя отнести? Я хоть динамические блоки создаю, 90% коллег и знакомых рисуют в CAD черточками.
Без параметризации моделировать - прошлый век или любительский.
Для нас отрисовать трассу поверх планировки предел, по хорошему для большинства наших задач CAD это перебор: фасады шкафов, схемы организации связи, схемы коммутации оборудования (коммутаторы, сервера), таблицы коммуникации
CBET_TbMbI
Что-то одна вода какая-то. Мне кажется, было бы интереснее привести примеры создания того и того. Можно даже в 2 средах: и в автокаде, и в нанокаде. Тогда можно было бы и сравнить.
В моей памяти, та ещё пакость. Проблема в том, что для работы с созданными объектами необходим этот модуль. Отправишь коллеге, а он редактировать не может. И ладно, если только редактировать. Для автокада создана куча разных надстроек. Некоторые из них особенно мерзкие. После них остаются так называемые прокси-объекты, которые ты, мало того, что редактировать не можешь, но и даже копировать или удалять. Чтобы просто их стереть или ещё что, нужен специальный интрумент в сети найти, который сможет их расчленить до автокадовских элементов. Например: https://forum.dwg.ru/showthread.php?t=14455
Почему автокад не сделал так, чтобы все надстройки могли создавать только удаляемые/расчленяемые/копируемые объекты - для меня загадка.