7 - 2002

Библиотеки стандартных элементов в SolidWorks

Михаил Малов

В предыдущей статье мы рассмотрели возможность создания в SolidWorks библиотек деталей и конструктивных элементов базовыми средствами системы. Но если для создания и использования библиотек конструктивных элементов возможностей встроенной подсистемы FeaturePalette вполне достаточно, то попытки применять ее для работы с моделями стандартных деталей и сборок вскоре покажут необходимость использования специальных программных средств, причем как для создания, так и для использования библиотек. «В чем дело? — изумится читатель, а возможно, и начинающий пользователь SolidWorks. — Вроде бы возможностей системы и вправду достаточно!» Для типовых деталей и сборок, все многообразие которых можно описать одной простейшей таблицей, это так. Мы можем, не покривив душой и ничуть не преувеличивая возможностей SolidWorks, рекомендовать рассмотренный путь. Трудности начнутся, когда вы захотите создать и использовать библиотеки деталей, параметры которых собраны в несколько структурированных таблиц. Например, для болта некоторые его геометрические параметры зависят только от диаметра, другие — от длины, и есть еще независимые параметры. И для каждой возможной комбинации пришлось бы создать отдельную конфигурацию, а список их при добавлении детали в сборку занял бы несколько экранных страниц. Но это только половина вопроса, ибо есть еще параметры, никак не влияющие на геометрию детали и отражающиеся лишь в выходной текстовой документации. Опять же для болта — это вид, класс и толщина покрытия, шаг резьбы, класс точности, а вообще говоря, сюда же относятся цвет, климатическое исполнение, класс защиты и т.д. и т.п. SolidWorks позволяет прописать в модель детали эти свойства как текстовые комментарии, и они будут отображаться в документации — в той же спецификации, или в соответствующих полях PDM-системы, или в любых отчетах, но в реальной модели SolidWorks свойства эти должны быть приписаны всей модели в целом либо конкретной конфигурации. А это уже означает необходимость или плодить конфигурации до бесконечности, а значит, работа станет практически невозможной, или вводить эти параметры вручную для каждого добавленного в сборку SolidWorks болта (гайки, шайбы, покупного электромотора…) Что делать? Ответ един для любой CAD-системы — использовать библиотечный модуль.

Сейчас в мире насчитывается свыше десятка подобных разработок. Как и было обещано, мы подробно расскажем об одном из них — о модуле StandardWorks. Данный модуль разработан совместными усилиями компаний ООО «ТЕСИС» и SolidWorks-Russia и в минувшем году после полномасштабного тестирования в SolidWorks Corp получил официальный статус партнерского приложения (Solution Partner) системы SolidWorks. Это первое (но уже не единственное) официально признанное и представленное на Интернет-сайте SolidWorks Corp приложение к SolidWorks, разработанное в России. На сегодняшний день пользователям SolidWorks поставляется уже десятая версия (считая пререлиз и существовавшие под другими названиями два модуля-предшественника) продукта StandardWorks 2002. Модуль позволяет создавать библиотеки стандартных изделий — деталей или сборок, а затем вставлять сгенерированные модели в сборки или сохранять их как самостоятельные модели (например, для использования в качестве заготовок для новых моделей). Модуль выпускается в двух вариантах, позволяющих только использовать созданные на других машинах библиотеки или же разрабатывать их самостоятельно. Это, конечно, снижает расход средств предприятия на нужды автоматизации. Кроме того, вы можете по желанию получить либо только программную оболочку, которую сами будете наполнять в соответствии с необходимыми вам стандартами, либо сразу приобрести готовые каталоги моделей крепежа, прокатного сортамента, подшипников качения или элементов пресс-форм, разработанные в соответствии с отечественными ГОСТами.

Итак, рассмотрим подробнее работу с модулем.

Сначала библиотеку надо, конечно, создать, и мы кратко опишем эту процедуру. Кратко — потому, что цель статьи отнюдь не обучение будущих администраторов системы. Главное для нас — показать, что получит от модуля конечный пользователь. Поэтому опишем лишь основные принципы создания библиотеки на примере все того же болта. Они просты и очевидны для любого программиста, желающего создать подобную утилиту самостоятельно. Вы создаете модель-прототип, содержащую необходимые конструктивные элементы, а затем стыкуете ее с таблицами параметров. Именно с несколькими таблицами, а не с одной, как в случае использования FeaturePalette.

Разделение данных на несколько таблиц (в теории построения баз данных это называется нормализацией) позволяет избежать дублирования данных, а значит, и связанных с этим возможных ошибок многократного ввода с клавиатуры, не говоря уже об экономии времени. Но StandardWorks управляет не только размерами модели. Вы можете ввести в свои связанные с моделью таблицы свободные параметры и уравнения, позволяющие более гибко управлять как геометрией, так и текстовыми атрибутами будущих моделей на этапе их создания из библиотеки. Здесь же задаются (если есть необходимость или желание) условия позиционирования модели в сборке, а равно и ограничения на отдельные размеры, которые пользователь захочет ввести вручную (например, на максимально возможную длину прокатного профиля). При этом для еще большего упрощения и ускорения ввода исходных данных администратор системы может создать в окне StandardWorks лишь заготовку всех таблиц, включающую имена размеров и начальные значения для одного из исполнений, и одним щелчком мыши превратить такую «рыбу» в обычную таблицу Excel. В нее уже можно легко и просто ввести все данные, причем можно использовать все возможности табличного редактора. По окончании ввода таблица так же элементарно возвращается в StandardWorks и стыкуется с моделью-прототипом.

Подробно вопросы создания библиотек (впрочем, как и их использования) подробно описаны в файле встроенной помощи. И не только описаны, но и проиллюстрированы примерами с пошаговым описанием действий пользователя системы.

Так что же получит на выходе конечный пользователь, время которого слишком ценно для того, чтобы быть потраченным на многократное повторное моделирование конструктивно схожих и, главное, давно стандартизованных деталей? А вот что. Простая типовая ситуация. Конструктор создает свой проект и сталкивается с необходимостью использовать стандартные детали. Он запускает библиотеку и видит список доступных моделей.

Все содержимое библиотеки может быть проиллюстрировано, причем можно приписать свою картинку и иконку каждой тематической папке, предоставляющей доступ к каким-либо конкретным стандартам. Ориентироваться в рисунках, конечно, несравненно проще и быстрее, чем в иерархических списках, пусть и организованных весьма логично. Однако StandardWorks предлагает и дополнительный сервис: каждой папке может быть приписан файл описания ее содержимого. Это может быть сопроводительный текст или отсканированное содержимое ГОСТа — все, что вам будет необходимо или удобно в работе.

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

Библиотечный модуль позволит выбрать швеллер нужного сечения. Причем если для выбранной строительной высоты стандарт предусматривает несколько вариантов размеров полки профиля или его толщины, то соответствующие списки выбора также автоматически станут доступны. Заодно сразу можно выбрать и материал детали — этот параметр не повлияет, конечно, на геометрию, но окажется «обречен» на попадание во все виды отчетов и может быть использован в дальнейшем как один из критериев поиска в SolidWorks или PDM-системах. Параметры выбраны, имя будущей детали задано — и StandardWorks, сгенерировав модель правильной геометрии, вставляет ее в сборку. Конечно, можно просто «бросить» новую деталь в произвольном или желаемом месте, а потом позиционировать ее средствами SolidWorks, но можно и воспользоваться той информацией о сопряжениях, которая внесена в библиотеку. StandardWorks сразу предлагает в таком случае список возможных привязок к геометрии уже составляющих сборку деталей. В случае если собственно модель SolidWorks позволяет определить и использовать при помещении детали в сборку методом drag-and-drop лишь одну ссылку на сопряжение, StandardWorks ничем не ограничивает возможности конструктора. Для реализации этой возможности при использовании библиотеки вы лишь указываете интересующие вас грани соседних деталей, а StandardWorks подсвечивает в окне наложения сопряжений возможные варианты. Можно вдоволь наиграться, изменяя ориентацию детали на противоположную, отменяя уже указанные привязки или изменяя свой выбор, а получив удовлетворительный вид модели, подтвердить свой выбор. Но удовлетворять всем заложенным в библиотеку условиям сопряжения вовсе не обязательно, можно прервать эту работу в любой момент и задать лишь необходимую часть условий.

Кстати, даже при активном окне наложения сопряжений еще не до конца отработавшей библиотеки конструктор все равно имеет доступ к командам манипуляции со всей сборкой SolidWorks, а значит, может переместить модель добавляемой детали поближе к желаемому месту и повернуть ее так, как ему будет удобнее с ней работать. Всю модель сборки также можно удобным для пользователя образом повернуть и смасштабировать. И все это можно сделать обычными приемами SolidWorks, так что изучать что-либо новое конструктору не придется.

Разумеется, созданный швеллер — лишь заготовка будущей детали, но ближе к концу статьи мы покажем, чем еще поможет конструктору использование именно библиотеки проката для создания основания детали. Сейчас же сечение профиля строго соответствует стандарту, и деталь установлена на место. На простой технической работе, превращающей отрезок стандартного швеллера в индивидуальную деталь, мы останавливаться не будем. Важно лишь отметить, что созданная библиотекой деталь может быть без каких-либо проблем открыта и изменена и при отключенном библиотечном модуле, и даже на любом другом компьютере безо всяких ограничений. Мы же продолжим работу над сборкой, перейдя в каталог крепежа. В нашей сборке не хватает еще и комплекта крепежных деталей, соединяющих только что созданный кронштейн с амортизатором и лыжей. Начнем с первого соединения.

Обратите внимание, что рисунки, сопровождающие работу с библиотекой и, как мы уже видели, помогающие быстро ориентироваться во множестве заложенных в модуль каталогов, — не просто красивые цветные картинки, но способны помочь в выборе из библиотеки нужной детали. Ничто не мешает администратору, создававшему библиотеку, прикрепить к каждому конкретному каталогу информативный описательный рисунок, поясняющий смысл выбираемых параметров. Вообще, и собственно SolidWorks, и модуль StandardWorks являются полноценными Windows-приложениями, изначально созданными для работы именно в этой операционной системе, а потому пользователи получают все удобства работы с системой. Применительно к диалоговым окнам, в которых происходит выбор параметров модели, это означает не только возможность насыщения свободных зон окна вспомогательной справочной информацией, но и, например, систему подсказок, всплывающих при подводе курсора к командным кнопкам или полям ввода.

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

Итак, мы вроде бы насытили нашу сборку стандартными деталями, а также сделали одну нестандартную, но из прокатного сортамента. Все ли возможности библиотеки мы рассмотрели? Нет, отнюдь не все. А что будет, если мы, работая с достаточно большой сборкой со многими вложениями, вдруг попытаемся добавить в нее болт, который уже один раз использовался в ней? Ничего страшного и… нового. На этот раз сработает уже SolidWorks. Он распознает ситуацию и сообщит пользователю об этом факте, предложив не генерировать модель заново, а использовать уже существующую. StandardWorks при этом «подхватит» из сборки с любого уровня вложенности готовую деталь или сборку — в зависимости от того, что описывает ваша библиотека — и продолжит работу с ней. Каталоги крепежа, которые поставляются с модулем, настроены таким образом, что имя файла модели совпадает с наименованием детали по ГОСТу, так что система никогда не запутается и будет различать два болта, геометрически совпадающие, но различающиеся, например, типом покрытия. «Пусть так, — скажете вы, — но вдруг мне захочется позже заменить деталь, взятую из библиотеки, на другую, тоже библиотечную?» Опять-таки никаких проблем не возникнет. В контекстном меню, вызываемом при щелчке мышью на библиотечной детали, будет присутствовать специальная команда, которая запустит StandardWorks и сразу откроет соответствующий каталог. В нем можно будет выбрать новый набор параметров или же подняться на уровень выше и выбрать новую модель из другого каталога, соответствующего другому ГОСТу. «Хорошо, а если нужно создать модель, не входящую по каким-то параметрам в стандартный ряд?» — зададите вы следующий вопрос. И это не проблема. Очевидный путь решения — создать близкую стандартную модель и потом изменить ее размеры — не единственный. Можно просмотреть модель и найти в ней размер, управляющий интересующим вас элементом. Но если данный размер виден в диалоговом окне выбора параметров стандартной детали, то достаточно снять «галку» связи с библиотекой, и тогда вы сможете ввести прямо в это же окно нужные размеры. Конечно, в процессе вставки детали в сборку вы получите дополнительное предупреждение об отходе от стандарта. И, разумеется, ручная корректировка одной детали никак не повлияет на саму библиотеку.

«А где же образцы выходной документации и о каких дополнительных удобствах вы обещали рассказать в конце статьи?» — спросите вы. На одной из иллюстраций к статье представлена спецификация, автоматически заполненная по модели SolidWorks и согласованная с чертежом сборки.

Легко убедиться, что полученные документы соответствуют требованиям ЕСКД, так как SolidWorks полностью отвечает требованиям российских стандартов, а модуль автоматического заполнения спецификации изначально создавался на их основе. Но что действительно важно с точки зрения использования библиотеки StandardWorks, так это автоматическое попадание всех стандартных деталей в соответствующий раздел спецификации. Вообще говоря, если библиотечная деталь должна всегда попадать в один и тот же раздел спецификации, этот факт просто один раз постулируется в библиотеке при ее создании. Но при необходимости можно добавить в нее поле выбора со списком разделов спецификации — возможных кандидатов размещения будущей детали. Еще один момент. На детали, изготавливаемые из стандартного проката, обычно не выпускаются отдельные чертежи — такие детали, как правило, образмериваются в сборочном чертеже, а в спецификациях проходят как детали БЧ (бесчертежные). Легко заметить, что и наша деталь оформлена таким же образом, причем все параметры, соответствующие материалу детали и сортаменту заготовки, попали в документ автоматически, вообще без участия конструктора. Возможно, это мелочь, но весьма приятным образом раз и навсегда избавляющая вас от нудного выписывания типовых повторяющихся текстов, а заодно подстраховывающая молодежь от ошибок, а «старую гвардию» — от описок.

И последнее о StandardWorks. Мы назвали четыре группы стандартных изделий, которые могут быть поставлены с системой: крепеж, прокат, подшипники и детали пресс-форм. Готовится к выпуску пятая группа стандартов — стандартизованные элементы штампов. Тем, кто не нуждается в полной библиотеке по штамповке, можно в более сжатые сроки (и с соответствующей коррекцией цены, разумеется) поставить ее ограниченное подмножество — ограниченное по номенклатуре деталей или списку типоразмеров. Однако поставка готовых библиотек — не единственное решение, предлагаемое пользователям SolidWorks. По желанию заказчика мы разрабатываем библиотеки по стандартам предприятия или по любым экзотическим, редко используемым ГОСТам, ОСТам и т.д. Конечно, любой пользователь StandardWorks может сделать это и сам, но такая работа все-таки потребует отвлечения работников предприятия от текущей производственной деятельности и изучения ими новой, как правило, области знаний. Мы предлагаем вам не тратить время своих подчиненных на выполнение этой задачи, а полностью передать ее нам и получить готовое решение, полностью адаптированное под ваше производство.

Как неоднократно говорилось, StandardWorks — лишь один из библиотечных модулей для SolidWorks. Есть и множество других решений, причем часть из них выходит по своему функционалу за рамки библиотек. Так, SolidWorks Corp разработала и предлагает модуль Toolbox, способный не только вставить в сборку комплект крепежа или создать основу детали из проката, но и выполнить проектировочный расчет методами сопромата балок из того же сортамента, подобрать подшипник по нагрузке и ресурсу, сгенерировать круговой или линейный кулачек. Есть модуль MechSoft Profy, генерирующий дополнительно к библиотечным функциям различные пружины, рассчитывающий по передаваемой нагрузке зубчатую пару, создающий в интерактивном диалоге детали вращения и оценивающий прочность сварных швов. Не скроем: дополнительные функции повышают и цену продукта. Кроме того, модули иностранного происхождения грешат слабым соответствием ГОСТам и ЕСКД и не всегда могут быть полностью под них настроены. Но есть и альтернативные отечественные разработки, например модули от компаний ООО «Глосис» или НПП «ИнтерМех». Конечно, можно задаться целью перебрать и перепробовать их все и попытаться сделать обоснованный выбор по результатам такого исследования. Правда, на это придется потратить уйму времени. А потому рекомендуем всем, задумывающимся об использовании библиотек в работе с SolidWorks, обратить внимание прежде всего на подробно описанный в данной статье модуль, вполне заслуженно имеющий в среде пользователей SolidWorks наибольшее распространение.

«САПР и графика» 7'2002