Введение
Работа инженера-конструктора любой отрасли машиностроения, занятого проектированием различных изделий, связана с выполнением большого количества регламентированных и часто повторяющихся действий: проведением расчетов, составлением спецификаций и пр.
Проектирование технического объекта – это создание, преобразование и представление в общепринятой форме образа этого еще не существующего объекта [1]. Однако, как показывает практика, непосредственно «создание» объекта, т.е. формирование в сознании проектировщика его конструктивного исполнения, состава элементов и принципов действия, занимает лишь незначительную часть процесса проектирования, около 10-15%. Все остальное время инженер посвящает изложению своих мыслей на бумагу и приведению их к общепринятому виду. Проведение инженерных расчетов, и особенно оформление результатов проектирования являются наиболее трудоемкими операциями в этом процессе.
Автоматизация и ее преимущества
Если провести анализ процедур, выполняемых конструктором при оформлении своей работы, то можно увидеть, что все они следуют строгим алгоритмам, в основу которых положены общепринятые методики (нормы проектирования), а также требования различных нормативных документов (ЕСКД, СНиПы и др.). Наличие таких формализованных алгоритмов открывает путь автоматизации проектных работ с использованием ЭВМ – персональных компьютеров.
Рассмотрим простой пример. После анализа нескольких вариантов будущего изделия, проектировщик решил применить зубчатое зацепление для передачи вращения между валами. Из служебного назначения разрабатываемого изделия ему известны частоты вращения валов (n) и передаваемая нагрузка (T). Необходимо дать полное исчерпывающее описание механизма и его элементов. Каковы будут действия проектировщика? Сначала, исходя из величины крутящего момента, он подберет материалы колес; затем, по формулам, известным из курса «детали машин», проведет расчет всех геометрических параметров, назначит технические условия и перейдет к оформлению рабочих чертежей проекта. Таким образом, в результате 2-3 часов работы в зависимости от квалификации будет получен требуемый результат – комплект чертежей.
Если взглянуть на проделанную проектировщиком работу, то можно увидеть, что, начиная с момента принятия решения об использовании зубчатой передачи и определения ее основных параметров (n, T), все дальнейшие действия вплоть до выдачи готовой конструкторской документации, могут быть за считанные секунды выполнены на ЭВМ без участия самого конструктора. Для реализации этой идеи используются специальные программные приложения – системы автоматизированного проектирования (САПР).
Еще один пример – оформление спецификаций или других ведомостей изделий, инструмента или процедур. На этом этапе вся проектная информация (детали, их количество и т. п.) уже известна, задача заключается в том, чтобы представить этот массив данных в требуемом виде – по форме ЕСКД (ГОСТ 2.106-96). Все связанные с этим процедуры также могут быть выполнены с использованием САПР.
Исходя из всего вышесказанного, можно сформулировать основные преимущества использования САПР:
1. Повышение производительности проектирования.
2. Возможность более детальной проработки проектных решений за счет сравнения нескольких вариантов.
3. Снижение вероятности ошибок при проведении расчетов за счет исключения влияния человеческого фактора.
4. Исключение неточностей при оформлении (шрифт, толщина линий и пр.), и, как следствие, повышение читабельности конструкторского документа.
5. Снижение трудоемкости оформления результатов проектирования, что дает возможность увеличить удельный вес творческой работы конструктора.
Современные языки программирования делают задачу автоматизации инженерных расчетов достаточно легко решаемой. Большое количество инструментальных средств было так же создано и для оформления рабочей документации. В различных отраслях промышленности нашли свое применение различные конструкторские САПР (CAD-системы), такие как AutoCAD, Компас-3D, SolidWorks и множество других.
Основная проблема заключается в передаче данных из расчетных программ в графические, а встроенные расчетные модули (например, библиотеки Компас-3D), как правило, не имеют возможности модификации под задачи, решаемые конкретным пользователем.
В представленной статье рассматриваются способы подобной передачи данных из расчетных программ в графические. Решение этой задачи приводится на примере конкретной программы.
Способы автоматизации черчения
Итак, имеется следующая задача: необходимо выполнить готовый чертеж по данным расчета без непосредственного участия пользователя. В качестве графической программы для определенности выберем систему AutoCAD – высокая популярность этой конструкторской системы дает возможность найти множество практических приложений рассмотренным вопросам (хотя описанные ниже принципы подойдут и для многих других систем). AutoCAD имеет свой собственный встроенный язык программирования, AutoLisp, однако его использование накладывает определенные ограничения. Во-первых, разработчику придется изучать новый язык программирования, а во-вторых, невозможно будет использовать всю мощь современных языков высокого уровня. Поэтому необходимо построить принципы автоматизации, не зависящие ни от языка программирования, ни от операционной системы.
Рассмотрим несколько способов автоматизации:
1. Непосредственная генерация файла чертежа. Результатом работы программы является графический файл, готовый к открытию, корректировке, печати и пр. (рис. 1).
Рис. 1. Схема генерации чертежа
На первый взгляд, это самый быстрый и эффективный способ автоматизации черчения, однако его использование связано с определенными трудностями. Для генерации файла чертежа AutoCAD, т.е. файла с расширением .dwg, необходимо знать его формат (т. н. спецификацию файла). Учитывая, что эта информация является интеллектуальной собственностью разработчика и, как правило, не предоставляется в общее пользование, приходится использовать открытый формат графических файлов .dxf. Это текстовый файл, включающий большое количество различных секций и разделов, в которых содержится вся информация о чертеже. Как показывает практика программирования, генерация таких файлов оказывается проблематичной ввиду их значительных размеров и сложности структуры.
2. Автоматизация с использованием API-интерфейса. В этом случае работа программы выглядит следующим образом: после проведения всех необходимых расчетов программа запускает AutoCAD и посредством API-команд (таких как, например «линия», «окружность») формирует чертеж (рис. 2.).
Рис. 2. Схема генерации чертежа с использованием API
В дальнейшем его можно откорректировать, напечатать, сохранить и т.п.
Недостатком данного способа является необходимость изучения большого количества API-команд, набор которых различен для каждой графической системы. Кроме того, ошибки, связанные с использованием API на этапе отладки приложения, могут нанести повреждения, как программному обеспечению, так и всей операционной системе.
3. Автоматизация на основе скриптов. В этом случае результатом работы программы становится скрипт – промежуточный текстовый файл, на основании данных которого производится построение готового чертежа (рис. 3).
Рис. 3. Схема генерации чертежа c использованием скриптов
Этот способ автоматизации подходит для всех графических систем, поддерживающих работу с командной строкой (в т. ч. AutoCAD, SolidWorks). Данные, содержащиеся в файле скрипта, представляют собой команды, аналогичные тем, которые вводятся в командной строке AutoCAD. Параметрами команд являются данные, полученные в результате расчетов, выполненных программой. После выполнения скрипта получаем готовый чертеж, готовый к печати сохранению и т.п.
Из сказанного выше видно, что эффективность использования расчетной программы во всех трех случаях практически одинакова – пользователь практически сразу получает готовый чертеж. Поэтому целесообразность использования того или иного способа автоматизации следует оценивать по трудоемкости разработки расчетной программы и требуемой квалификации программиста.
На основе опыта использования всех трех методов можно сделать вывод, что автоматизация на основе скриптов является самой эффективной, и достигается это по следующим причинам:
- Не требуется изучение спецификаций каких либо файлов или принципов работы API.
- Команды, включаемые в скрипт, привычны для пользователя и по ним всегда можно получить помощь в стандартной справочной системе.
- Файл скрипта имеет значительно меньший размер по сравнению с файлами других форматов. На рис. 4 представлена диаграмма, показывающая сравнение размеров трех типов файлов (в килобайтах): файл «обмена чертежами» (*.dxf), файл AutoCAD-2004 (*.dwg) и файл скрипта AutoCAD (*.scr). Как видно из диаграммы, файл скрипта имеет минимальный размер. Это достигается за счет включения в него только самой необходимой (и в тоже время достаточной) информации.
Рис. 4. Сравнение размеров файлов различного формата.
- Для работы программы не обязательно наличие на компьютере установленной CAD-системы. Сгенерированные скрипты могут, быть преобразованы в случае необходимости в чертежи позже, на другом компьютере. Это дает возможность существенно ускорить процесс проектирования на малых предприятиях, где, как правило, число пакетов лицензионного программного обеспечения ограничено в виду высокой стоимости последнего. Таким образом, скрипты представляют собой простой и в тоже время эффективный механизм автоматизации, позволяющий существенно повысить производительность проектных работ.
Пример автоматизации на основе скриптов – программа «Спецификация»
Рассмотрим в качестве примера программу, построенную на вышеизложенных принципах (рис. 5). Программа предназначена для автоматизации составления конструкторских спецификаций, а также получения готовых заполненных бланков спецификаций по ГОСТ 2.106-96 в формате AutoCAD.
Рис. 5. Основное окно программы «Спецификация».
В структурном плане программа состоит из двух модулей, предназначенных, соответственно, для внесения информации в спецификацию и для приведения ее к требуемому виду (преобразования в чертеж).
Первый модуль представляет собой интерфейс, благодаря которому пользователь может быстро занести данные в спецификацию. При этом встроенная библиотека элементов существенно ускоряет и облегчает процесс заполнения формы. (рис. 6).
Рис. 6. Окно добавления данных в спецификацию.
В базах данных программы содержится информация о наиболее часто применяемых деталях, материалах и типах документов. Наличие шаблонов обозначений стандартных изделий позволяет исключить их поиск в соответствующих нормативных документах (ГОСТах), а также частично отказаться от использования самих нормативных документов, т.к. вся необходимая информация уже содержится в программе. Дополнительные функции позволяют упорядочить позиции, ввести обозначения деталей по шаблону и выполнить другие действия, позволяющие ускорить работу со спецификацией. В программе имеется возможность сохранить введенные данные в своем собственном формате и использовать их в дальнейшем как аналог.
Второй модуль представляет собой алгоритм, преобразующий введенные проектировщиком данные в требуемый по ЕСКД вид. Запускается он после нажатия на кнопку «Преобразовать (F9)» и результатом его работы является файл скрипта, предназначенный для выполнения в среде AutoCAD (рис. 7).
Рис. 7. Окно, информирующее пользователя о генерации скрипта.
После выполнения скрипта в AutoCAD (любой версии) получаем электронный чертеж спецификации в полном соответствии с ЕСКД.
Практическая ценность разработанной программы заключается в том, что она позволяет существенно повысить производительность работ на этапе конструкторской подготовки производства, связанном с заполнением стандартизированных конструкторских документов. В настоящее время программа внедрена и активно используется в проектном отделе ООО «ЭнергоТехнологии» - компании, занимающейся проектированием и строительством электростанций; идет дальнейшее совершенствование программы.
Таким образом, рассмотренные принципы позволяют создавать большое количество программных приложений, предназначенных для автоматизации выполнения работ на различных этапах технической подготовки машиностроительного производства.
Библиографический список
- Норенков И.П. Основы автоматизированного проектирования. Учебник для вузов – 3-е изд., перераб. и доп. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2006. – 448 с.: ил. – ISBN 5-7038-2892-9.
- AutoCAD 2007. Справочник команд / Autodesk, Inc. 2006. – 302 c.: ил.
- ГОСТ 2.106–96. Единая система конструкторской документации. Текстовые документы. – Введ. 01.07.97. – М.: Изд-во. стандартов, 2002. – 40 с.: ил.