Библиотеки стандартных элементов в SolidWorks
В журнале «САПР и графика» №4’2002 мы уже рассказывали об одном из возможных путей организации сквозного цикла проектирования и подготовки производства инструментальных штампов. Мы обещали читателям более подробно рассмотреть модуль StandardWorks, предназначенный для создания и использования библиотек стандартных изделий, с несколькими каталогами часто используемых в инженерной практике гостированных стандартных изделий. Модуль совместно разработали и наполнили каталогами компании SolidWorks-Russia и TESIS. Статья о StandardWorks сейчас особенно актуальна, так как выпущены новые версии и самого модуля, и поставляемых с ним каталогов. Однако едва принявшись за написание статьи, мы поняли, что данная тема требует более широкого освещения. Дело в том, что в настоящее время для SolidWorks разработан целый ряд модулей такого рода, и на первый взгляд было бы логично хотя бы кратко описать их все. Кроме того, SolidWorks способен сам, без каких-либо специальных модулей, создавать и использовать библиотеки конструктивных элементов, добавляемых по мере необходимости в модели деталей несколькими манипуляциями мыши, причем создавать такие библиотеки можно как для литых или механообрабатываемых деталей (например, библиотеки типовых ребер жесткости или опор подшипников), так и для деталей листовых (рифты, отверстия с отбортовками и пр.). Однако подробное описание всех функций SolidWorks даже в этой, вроде бы второстепенной и не слишком функционально насыщенной области, едва ли возможно, поскольку открытая архитектура SolidWorks вызывает постоянный количественный и качественный рост числа всевозможных специализированных модулей разработки третьих фирм. Да и объем журнальной статьи ограничен. Поэтому мы решили подробно рассмотреть только базовые возможности самого SolidWorks и детально рассказать лишь об одном модуле библиотек стандартных изделий, ограничившись кратким перечислением некоторых других разработок подобного рода и их отличий от StandardWorks.
Итак, любое изделие состоит из иерархического множества узлов, которые, в свою очередь, в конечном счете состоят из совокупности отдельных деталей, а в деталях часто используются типовые конструктивные элементы. С них мы и начнем.
Предположим, что вы — конструктор и в вашей практике постоянно встречаются геометрически подобные фрагменты деталей. Вы работаете с какой-либо трехмерной системой геометрического моделирования, позволяющей использовать в качестве основы для производства точную геометрическую модель. Создавая чертежи на кульмане или с применением любой «двухмерной» CAD-системы, вы уже привыкли вычерчивать такие элементы деталей не задумываясь, как говорится — одним движением руки. Разумеется, по мере освоения «трехмерки» вы приобретете навыки столь же быстрого воспроизведения одинаковых фрагментов и в объеме. Но рано или поздно у вас возникнет вопрос, нельзя ли вообще отказаться от утомительного повторения ряда действий и просто вставлять в модель нужные элементы, выбирая их из какого-либо списка и при необходимости изменяя несколько параметров? Тем более что те же плоские «чертилки» позволяют использовать различные блоки и другие подобные средства упрощения работы. «Да, можно!» — ответит вам поставщик практически любой системы трехмерного моделирования — и не обманет. Действительно, практически любая система позволяет отчасти автоматизировать типовые процедуры, причем, как правило, речь идет о механизме макросов, который просто сохраняет в специальном файле последовательность ваших действий, а затем воспроизводит ее при работе с новой деталью. Некоторые системы даже позволяют вводить при воспроизведении макроса требуемые размеры или указывать необходимые для размещения фрагмента элементы на уже созданной геометрии.
SolidWorks пошел по пути автоматизации таких действий значительно дальше. Допустим, в какой-то момент вы понимаете, что вам приходится несколько раз в неделю повторять процедуру создания, например, типового ребра жесткости на серии моделей конструктивно подобных деталей. Тогда вам достаточно один раз отвлечься на несколько минут от очередного «повторения пройденного» и воссоздать нужное вам ребро на вспомогательной детали. На этой детали достаточно воспроизвести лишь необходимые для размещения и определения размеров ребра фрагменты окружающей геометрии (рис. 1). Впрочем, если вам лень моделировать эти крохи, можно вообще взять за основу копию любой подходящей модели с любой степенью детализации — геометрическая сложность такой «подложки» и размер ее файла никоим образом не скажутся на конечном результате, ибо в целевые модели из библиотечного файла будут копироваться только необходимые элементы. А далее вам останется лишь сохранить нужные фрагменты модели как библиотечный элемент. И все!
Если вам понадобилось добавить такой элемент в новую модель, вы вызываете из меню необходимую команду и указываете в соответствии с объектами, подсвеченными в окне библиотечного элемента, которое автоматически распахивается рядом с окном вашей модели, те грани и кромки, куда следует «привязать» конструктивный элемент. В соответствии с реально существующей на текущий момент окружающей геометрией элемент будет перестроен. Причем некоторые привязки не являются обязательными — такие объекты SolidWorks попытается найти сам, а в случае неудачи (например, если на выбранной грани модели нет ни одной стенки, которая остановила бы «растущее» ребро) создаст точную геометрическую копию конструктивного элемента и выдаст соответствующие сообщения об ошибках, помогающие решить возникшую проблему.
Вновь созданный элемент является копией библиотечного и копирует в вашу модель всю историю исходного элемента. Это означает, что в целевую модель будут помещены все параметры исходной модели, все ее размеры и взаимосвязи, а значит, такой элемент будет полностью управляемым. Вы всегда сможете изменить любые его размеры, взаимосвязи и граничные условия в соответствии с текущими задачами, причем эти действия никак не отразятся на исходном библиотечном файле — библиотека для того и создается, чтобы многократно использовать накопленные в ней знания.
Ссылок, необходимых для позиционирования и уточнения размеров и формы конструктивного элемента, может быть сколько угодно. Но когда обязательная ссылка только одна, пользователю SolidWorks неизбежно захочется заполучить какой-нибудь механизм вставки таких элементов, подобный механизму ссылок на сопряжение, позволяющему автоматически позиционировать детали в сборках при перетаскивании их в окно сборки непосредственно из проводника Windows. И такой механизм в SolidWorks есть! Причем для его использования вообще не требуется каких-либо дополнительных действий — просто «тащите» файл библиотечного элемента прямо из проводника и «бросайте» его на нужную грань или, скажем, кромку (рис. 2).
При этом обязательная ссылка решится автоматически, а вспомогательные ссылки вы сможете сразу же уточнить перетаскиванием по модели специальных красных маркеров, появляющихся на экране на тех элементах геометрии, которые отвечают за уточнение позиционирования и формы типового фрагмента. Далее вы получите доступ ко всем размерам либо только к разрешенным для изменения создателем библиотеки (рис. 3).
Сложность библиотечных элементов ничем не ограничена, хотя обычно типизации и стандартизации на предприятиях, тем более в масштабах отрасли, подлежат сравнительно простые конструктивные элементы, такие как опоры под подшипники или усиления для размещения втулок, канавки под шпонки или уплотнительные кольца, различные бобышки с крепежными отверстиями на литых корпусных деталях и т.п. Но попробуйте выдержать последовательность даже из пары десятков несложных операций по многу раз да исправить в четверти случаев допущенные по невнимательности ошибки — и вы, без сомнения, дадите максимальный балл возможности элементарного создания и использования таких библиотек. Причем в SolidWorks для этого не потребуется никаких дополнительных капиталовложений — все функции по созданию и использованию библиотек конструктивных элементов являются штатными базовыми функциями системы. И конечно, проще создать те же шлицы на валу простым перетаскиванием в модель единожды созданного файла из проводника Windows, чем каждый раз заново строить несколько десятков линий и дуг, стараясь не ошибиться с вводом размеров (рис. 4).
Что ж, с деталями, изготавливаемыми литьем или механообработкой, все, вроде бы, ясно. Но и детали из листового материала тоже часто не только состоят из уникальных в рамках данного проекта определяющих их форму стенок, но и включают различные стандартизованные конструктивные элементы: различные рифты, подштамповки, отверстия с отбортовками для облегчения детали или прокладки коммуникаций и многое другое. Нельзя ли использовать и для работы с листом какие-нибудь библиотеки? Ведь такие элементы, как правило, создаются специальным инструментом одним махом, и было бы неплохо воспроизвести что-нибудь подобное и в процессе моделирования детали.
Разумеется, такой механизм существует. Причем в основу системы создания подобных элементов в листовом металле положена модель такой производственной ситуации, когда действительно стандартизованы фактические параметры формообразующего инструмента, что позволяет минимизировать его номенклатуру при использовании сколь угодно широкого ассортимента листов (по толщине). Соответственно смоделировать надо (причем также всего один раз) форму именно пуансона штампа — инструмента, который должным образом отформует материал при изготовлении детали в цехе. Более того, поскольку такие конструктивные элементы могут быть как глухими, так и с различными вырезами, в SolidWorks для задания этих условий предусмотрен соответствующий механизм, который реализован очень просто: на нужной грани задается красный цвет — и в конечной модели на этом месте будет вырез. Сама конечная модель, естественно, может иметь любую окраску — SolidWorks среагирует на характеристики библиотечного файла.
На риc. 5 читатель может заметить новое окно. Это так называемое окно Feature Palette — некий аналог проводника Windows, созданный специально для работы с библиотечными файлами. Данное окно отображает лишь файлы библиотечных элементов и позволяет сформировать из них несколько групп трех типов: отдельные группы конструктивных элементов «механических» (или, например, литых) и листовых деталей, а также группы стандартных деталей (о них мы поговорим чуть позже).
Итак, пришло время добавить в модель листовой детали, например, какого-нибудь корпуса, группу вентиляционных отверстий. Конструктор, работающий с SolidWorks, просто выберет нужную группу стандартных элементов (например, соответствующую конкретному ГОСТу) и перетащит необходимый «инструмент» из окна Feature Palette на соответствующую грань модели детали. При этом не надо заранее заботиться о том, чтобы поместить элемент на нужную грань модели: до тех пор пока не отпущена кнопка мыши, каждое нажатие на клавишу табуляции будет переориентировать предварительное изображение элемента на 180°, показывая, с какой именно стороны SolidWorks применит инструмент формы к данной детали на этот раз (рис. 6).
На следующем этапе перед конструктором появится сохраненный автором в библиотечной модели или автоматически добавленный системой установочный эскиз, позволяющий точно определить при помощи размеров и взаимосвязей положение стандартного элемента (рис. 7).
«Изнутри» конструктивный элемент будет точной копией сохраненной в библиотеке модели штампа, наружные же формы будут автоматически рассчитаны и созданы в соответствии с принятой в модели толщиной материала. Само собой разумеется, что при изменении этой толщины в дальнейшем будут автоматически пересчитаны и все зависимые конструктивные элементы, причем, если новая толщина окажется больше минимального внутреннего радиуса какого-либо элемента, конструктор получит и соответствующее уведомление об ошибочности своих действий.
Созданный в целевой модели элемент является обычным объектом модели SolidWorks и может участвовать во всех доступных системе операциях. Например, добавленное вентиляционное отверстие может быть размножено массивом любого типа, его зеркальное отображение легко вставляется на противоположные стенки (рис. 8); элемент можно перемещать по дереву истории модели, подавлять в отдельных конфигурациях; его можно вставить в модель так, чтобы в соответствии с задумкой конструктора и технолога он присутствовал или отсутствовал в развертке детали; копировать на другие стенки по технологии Windows drag-and-drop и т.д.
О конструктивных элементах сказано, вроде бы, достаточно — перейдем теперь к библиотекам.
Прежде всего надо отметить, что уже базовые средства SolidWorks позволяют создавать и использовать такие библиотеки стандартных изделий. Это возможно благодаря двум важным принципам построения систем, таких как наличие в системе механизма конфигураций, позволяющего создать файл, хранящий несколько (в принципе сколь угодно много) вариантов модели, а также построение сборки как множества ссылок на отдельные детали без копирования всех геометрических данных детали в файл самой сборки. Со сборкой, вроде бы, все понятно: ссылки — они везде ссылки. Но причем тут конфигурации? О них в наших статьях говорилось неоднократно, но преимущественно в контексте создания семейств конструктивно и геометрически подобных деталей и сборок, что отражает реальную практику создания новых изделий путем модификации старых и позволяет работать в SolidWorks с привычными групповыми конструкторскими документами.
Дело в том, что с точки зрения геометрии стандартная и нестандартная детали идеологически не различаются — различия между ними принципиально видны лишь в конструкторских спецификациях. Это позволяет создать многоконфигурационную модель, например, того же болта и просто указывать в каждом конкретном случае, какой конкретно вариант модели следует задействовать в определенном месте данной сборки.
Итак, для начала необходимо создать трехмерную модель. Первый ее вариант (любой) создается как обычно, а добавление всех остальных можно существенно ускорить и упростить, внедрив в модель управляющую таблицу параметров (рис. 9). В такой таблице будут перечислены все исполнения модели и для каждого будут прописаны значения изменяемых размеров и пользовательских свойств, отображаемых в спецификациях или, при необходимости, в чертежах — если, конечно, вы будете оформлять чертежи на такие модели. Начинать создание таблицы удобнее в SolidWorks, поскольку в этом случае можно не вводить вручную имена управляемых размеров, а просто указать их мышью на экране — в таблицу они при этом попадут сами, причем вместе со своим текущим значением. А вот внести все остальные параметры можно как в окне SolidWorks, так и в привычном для многих табличном процессоре Excel, так что с этим пусть и недолгим, но рутинным занятием справится теперь любой начинающий пользователь, даже не имеющий навыков работы в SolidWorks. К тому же, поскольку речь идет о действительно внедренной в документ SolidWorks таблице Excel, в ней доступны все математические функции данного табличного процессора и все его оформительские возможности.
Вставленная в модель таблица параметров создаст все оговоренные в ней конфигурации и будет в дальнейшем управлять ими (рис. 10). А в случае создания чертежа данной детали эту таблицу в нем можно просто отобразить, причем изменять ее впоследствии можно с одинаковым успехом как в модели, так и в чертеже — оба документа неизменно останутся согласованными.
В дальнейшем вы будете просто вставлять эту модель из проводника Windows или из окна Feature Palette. При этом в любом случае в процессе вставки вам будет предложено выбрать желаемую конфигурацию из списка имеющихся в модели (рис. 11). Разумеется, позже вы можете элементарно указать другую конфигурацию. Присущие данному исполнению детали размеры, оговоренные в таблице параметров, определят ее геометрию, а пользовательские свойства (например, конкретное обозначение или наименование) будут отражены в выходных текстовых документах (например, в спецификации) или использованы менеджером ведения проекта (к примеру, системой SWR-PDM).
Однако и без подробных разъяснений должно быть понятно, что такая работа со стандартными изделиями далека от оптимальной как с точки зрения создания и управления библиотеками, так и в плане их использования. Действительно, в реальной стандартной детали все переменные параметры разделены на несколько независимо изменяющихся групп, а обозначение детали составляется из нескольких «слогов», таких как геометрические параметры или обозначения покрытия. В случае создания многоконфигурационного файла придется многократно дублировать большую часть данных и отследить правильность и однозначность ввода данных будет не просто. Те же проблемы возникнут и при изменении библиотеки. Справиться с такими трудностями позволяет использование в качестве управляющей библиотекой основы какой-либо базы данных, а значит, возникает потребность в специальном библиотечном модуле. Как мы отмечали в начале статьи, таких модулей на рынке несколько, но о них мы расскажем в следующем номере — о некоторых вкратце, а о модуле StandardWorks весьма подробно.
«САПР и графика» 6'2002