Activity
Данная заметка является продолжением Связи и уравнения в SolidWorks .
Рекомендую сначала изучить и понять принципы и методы задания уравнений и связей, т.к. в дальнейшем я буду их использовать, не тратя время на их пояснения.
Заметку посвящу демонстрации работы с конфигурациями детали. Конфигурации – это эффективный инструмент для унификации проектирования. Не поняв и не овладев им, проектирование превращается в долгую и рутинную работу.
В качестве примера (только для того, чтобы понять смысл конфигураций) рассмотрим простейшую деталь – сервомашинку.
Стандартные сервы отличаются размерами, весом, конструктивными особенностями и т.д., но есть и общие свойства, например геометрические параметры серв можно представить в виде базовых размеров, как это сделано на всем нам знакомом сайте ХК:
Рис. 1
При построении буду отталкиваться от них.
Для построения не хватает высоты корпуса (без выступа редуктора), поэтому введу еще один размер «G»:
Рис. 2
Теперь, собственно, создаем деталь «Сервомашинка».
Разные сервы могут быть с принципиально разными элементами, поэтому создаем все такие элементы.
Для примера создал отверстия для серв с двумя крепежными отверстиями (вырез «отверстия»). Они бывают как локализованные (у мелких серв), так и в виде пазов (для крупных), поэтому отдельным элементом делаю вырез «Вырез отверстий». Для серв с четырьмя крепежными отверстиями сделал другой вырез «Двойные отверстия». Т.к. они всегда в виде пазов, я во всяком случае других не встречал, то и элемент один.
Так же сервы имеют разные формы выступов редукторов. Сделал двух типов бобышки «редуктор1» и совместно «Редуктор1»+«редуктор2».
У больших серв бывают уголки жесткости ушей - делаю бобышку «Уголок уха».
Все строим с произвольными размерами. Размерам, необходимым для точного определения сервы, присваиваем понятные имена (чтобы потом не запутаться).
Я присвоил такие имена, как: A, B, C, D, E, F, G (в соответствии с рис. 2), «Толщина ушей», «Диаметр отвертий», «Между отв по длине», «Между отв на ухе», «Диаметр редуктора», «Смещение редуктора», «Диаметр вала». Так же задал скругление граней и фаску ушей.
Остановлюсь на важном моменте, таком как определенность элементов:
Приучайте себя не допускать неопределенностей при проектировании. Тем более, что SW позволяет это удобно отслеживать. Неопределенные элементы эскиза отображаются синим цветом, а определенные черным. Так же в древе построения, если эскиз не определен, то он помечается значком (-) перед названием эскиза. Не надо пользоваться такой «халявой» как «зафиксировать элемент», не сложно добавить размер, уравнение или взаимосвязь с другими элементами эскиза (или других эскизов), чтобы все было определенным. В этом случае при изменениях детали все останется на «своих местах». Почему я остановился на данном аспекте, вроде бы не относящемся к нашей теме?! Да потому, что глядя на обсуждения на форуме, тут и там вижу всеобщую «синеву»! Оставляя неопределенные элементы – обрекаете себя на возможную «непонятную изощренную деформацию детали» в случае ее изменения.
Во вложении есть деталь «Сервомашинка без конфигураций» - это то, что получилось у меня на данный момент. Прежде чем продолжать – посмотрите ее. Все построения простейшие и, по-моему, понятные, поэтому процесс построения пояснять не буду. Дабы не вводить лишних размеров, но четко определить все элементы задал «на глазок» четыре вспомогательных уравнения.
Делая операцию Погасить/Высветить (не путать со скрыть/отобразить) с такими элементами как «Отверстия», «Вырез отверстий», «Двойные отверстия», «Редуктор2» и «Уголок уха», можно получать сервы разных типов.
Вроде бы все готово! Приступим к конфигурациям:
На данный момент у нас есть единственная конфигурация «По умолчанию»:
Рис. 3
Создадим конфигурации нашей детали, соответствующие параметрам различных реальных серв.
Для описания конфигурирования я взял наугад пять серв из разных весовых категорий:
2-х гаммовую HK-282A, 9-ти граммовую HXT900, 12-ти граммовую HK-922MG, 32-х граммовую Corona DS339HV и 62-х граммовую Hitec HS-7985MG.
Есть разные способы создания конфигураций, я опишу наиболее часто используемый мною. Раз отличительные параметры серв удобно представлять в табличном виде, то создаю таблицу конфигураций. В главном меню Вставка->Таблицы->Таблица параметров.
Рис. 4
SW предложит разные способы создания таблицы. Мы оставляем «Авто-создать» и соглашаемся (зеленая галочка). Солид предложит выбрать из уже имеющихся размеров те, которые мы хотим добавить в таблицу. Выбираем все, кроме «D2@Фаска ушей» (угол фаски, пусть останется для всех конфигураций 45) и жмем ОК.
Рис. 5
Перед нами возникнет экселевская таблица (ADO-технология) в столбцах которой будут выведены наши размеры.
Рис. 6
Мне больше по душе редактировать таблицу напрямую в эксель, поэтому закрываем ее (кликаем по любому свободному месту).
В дереве конфигураций появилась наша таблица. Щелкая по ней правой кнопкой, выбираем «Редактировать в новом окне»
Рис. 7
Предложат добавить ряды и столбцы – отказываемся (отмена). Автоматом запустится эксель и откроется в нем наша таблица. Работать с ней можно как с любой экселевской таблицей, с тем лишь ограничением, что первый столбец (А) – должен оставаться столбцом названий конфигураций, а вторая строчка – перечнем параметров. Ячейку А1 также не трогаем.
По желанию (для удобства) меняем в ней местами столбцы и их ширину. К примеру, удобнее так:
Рис. 8
Строка 3 – это значения параметров для конфигурации по умолчанию.
Теперь добавим новые конфигурации:
В первом столбце указываем название. Параметры А-F данные с сайта. Точных данных по остальным параметрам у меня нет, поэтому заполняю их «условно от фонаря», а именно:
G=C-число, где число – высота редуктора (может быть разным для разных серв)
Между отв по длине = (B+E)/2 , отверстие по середине уха
Между отв на ухе = D/2
Смещение редуктора = (B-D)/2
Диаметр редуктора = 0,8*D, а для мелкой сервы =D
Остальные задаю руками (интуитивно на глазок).
По хорошему, надо бы было брать штангенциркуль, сервы и вносить реальные значения, или искать данные в инете, но я демонстрирую принципы, а не создаю точные сервы.
Если какие то поля оставить пустыми, то они заполнятся значениями по умолчанию.
Теперь просто закрываем эксель (сохранять не обязательно).
И… Конфигурации созданы, о чем свидетельствует сообщение:
Рис. 10
Жмем ОК.
Теперь нужно настроить погашение/высвечивание операций для наших конфигураций.
Это можно сделать сразу для всех наших элементов и конфигураций выделив в древе построения интересующие элементы и в контекстном меню выбрать пункт «Свойства конфигурации»
Рис. 11
Появившаяся форма также представляет собой экселевскую таблицу. В которой галочками указываем какой элемент в какой конфигурации погасить.
Рис. 12
Жмем ОК.
Теперь, двойным кликом по имени конфигурации (в древе конфигураций) можно выбирать нужную нам серву.
Рис. 13
Редактировать можно что угодно и как угодно. Например, в таблице, или войдя в нужную конфигурацию менять те или иные параметры, свойства, уравнения, материал и т.д. указывая к какой конфигурации эти действия относятся. Например, изменяя какой-нибудь размер:
Рис. 14
Мы можем указать, что данный размер только для этой, всех, или выбрать набор конфигураций.
Или, например, у сервы HXT900 синий корпус, а у других темно-серый.
Добавляем в таблицу параметр «цвет» и задаем его значения (код RGB ).
Рис. 15
Теперь эта серва синяя, а остальные остались темно-серые:
Рис. 16
Погашение/высвечивание тех или иных элементов также можно добавить в таблицу, хотя я не сторонник ее раздувательства и поэтому вношу его (погашение) в таблицу только если оно как то зависит от других элементов и удобно его задать формулой от них.
И т.д…. Проще говоря, теперь можно легко расширять «линейку» серв, просто в таблице параметров добавляя строчки (сколько угодно), в первом поле задавать имя сервы, а в остальных параметры ее характеризующие.
Ой! Извиняюсь!.. Описываю всякие непринципиальные параметры наподобие цвета, а про ключевой забыл!.. Вес серв не задал!!! 😃
Ну так зададим:
Заходим в таблицу, добавляем параметр (столбец) $SW-MASS. Можно добавить и координаты центра масс, но, по-моему, в данном случае это излишне. Если его не задавать, то солид посчитает плотность детали равномерной и, исходя из этого, определит центр масс.
Рис. 17
Теперь можно вставлять деталь «Сервомашинка» в любую сборку. И указывать какую конфигурацию применить.
Причем можно вставлять сколько угодно таких деталей (каждая своей конфигурации). Например если в модели в качестве разных приводов используются разные сервы, то в проекте будет всего одна деталь «Сервомашинка», а в сборке сервы будут разные (каждая со своей геометрией и массой).
«Изгаляться» можно как угодно, даже, к примеру, создать массив из серв и каждому элементу массива задать свою конфигурацию 😁
P.S. На этот раз, все сделал в SW2010, дабы большинство могло открыть. Более ранней версии у меня нет.… И еще, на такие вопросы как «бобышку можно было строить по другому», или «Твоя деталь не подходит для такой-то сервы» реагировать не буду. Как уже говорил – цель заметки показать что такое конфигурация, а не как построить серву.
Цель данной заметки – дать общие представления по применению уравнений и связей в SW.
В качестве примера опишу создание эскиза профиля крыла с применением сплайнов по опорным точкам.
Сразу оговорюсь, что данный пример создан для обучения работы в SW, а не для проектирования конкретной модели. Я, например, стараюсь не использовать сплайны, а создавать профили из стандартных элементов, таких как дуги окружностей и эллипсов, парабол, а по крайней необходимости кривой, управляемой уравнением. Все перечисленные элементы связываю касанием и параметризую так, чтобы они шли по опорным (справочным) точкам. Такой подход обеспечивает монотонность кривизны, что при использовании сплайнов не гарантировано.
Для примера я выбрал произвольный несимметричный S-образный профиль из справочника авиационных профилей
В приведенном примере это Clark-YH-20% (на 131 станице). Процент утолщения мы впоследствии зададим как глобальную переменную.
Рис.1
Для более простых, например симметричных профилей, построение упрощается.
Итак, приступим:
Создаем деталь, нарекаем ее, к примеру, «шаблон крыла».
Задаем глобальные переменные, В нашем случае это хорда и утолщение. Они задаются как уравнения, читаем хелп, а именно:
_-----------------------------------
Чтобы отредактировать уравнения:
- Выполните одно из следующих действий.
• Нажмите кнопку Уравнения на панели инструментов Инструменты…
• Выберите Инструменты, Уравнения.
• Нажмите правой кнопкой мыши на папку Уравнения в дереве конструирования FeatureManager и выберите Редактировать уравнение. - В диалоговом окне Уравнения выберите параметр Редактировать все.
- В диалоговом окне Редактировать уравнения отредактируйте текст одного или нескольких уравнений. При редактировании помните следующее:
• Каждое уравнение должно располагаться на отдельной строчке.
• Имена размеров должны быть заключены в кавычки.
• Расчет уравнений выполняется слева направо (то есть размер слева управляется значением справа).
• Уравнения решаются в порядке их появления в списке уравнений. Можно также копировать и вставлять уравнения в этом диалоговом окне для изменения их последовательности, если необходимо.
• Можно добавить комментарии к уравнениям для записи замысла проекта.
------------------------------------_
Добавлю еще, что дробные числа пишутся через десятичную точку, а не запятую! Следите за этим, иначе (не зная) придется долго ломать голову, где ошибка в уравнении!..
Рис.2
Значения можно задать любые, но для удобства хорду задал 100, т.к. ассоциируется со 100%, а утолщение как в выбранном шаблоне 20%.
Обратите внимание, что получились безразмерные переменные, значения которых можно использовать далее как глобальные параметры.
Теперь, собственно, сам эскиз:
В плоскости «Справа» создаем эскиз «Профиль корневой». В нем из начала координат рисуем горизонтальную вспомогательную прямую (хорду) произвольной длины. Задаем ей размер. В окне изменения размера в выпадающем списке выбираем «Значение связи».
Рис.3
Далее из выпадающего списка имен выбираем хорду.
Рис.4
Тычем ОК. Все! Теперь этот размер связан с нашей глобальной переменной. Красный значок перед значением размера указывает на эту связь.
В нашем профиле 23 пары опорных точек (не считая точки носика). Поэтому рисуем 23 вертикальных (пока никак не привязанных) вспомогательных отрезка. Конечно же рисуем один, а остальные просто копируем. Концы этих отрезков будут опорными точками (верхние – Yв, нижние - Yн). Так как в нашем случае ни верхняя ни нижняя граница контура не пересекают линию хорды, то все отрезки должны пересечь ее. Если бы мы, к примеру, выбрали профиль FX60-100/126/, то часть отрезков пересекала бы линию хорды, а часть располагалась бы выше. Это обусловлено тем, что размер – строго неотрицательная величина!
Т.к. в нашем профиле при X=1 Yв и Yн не равны, то для замыкания контура профиля у последнего отрезка снимаем галочку вспомогательной геометрии. Это будет задняя кромка профиля.
Рис. 5
Теперь определяем эти отрезки по горизонтали, просто указывая размер от начала координат (носик будущего профиля) до них. Т.к. мы располагали их наугад, то и значения размеров будут хаотичными, но это не важно! Не тратьте время на красивое ручное указание этих значений!
Рис. 6
На данном этапе, важным являются имена размеров, а не их значения, поэтому размеры проставляем строго по очереди от первого отрезка до последнего. В этом случае автоматически присвоенные имена будут такие:
Расстояние до первого отрезка - D1@Профиль корневой
.
.
.
Расстояние до последнего (23-го) отрезка - D23@Профиль корневой.
Данные размеры будут ни чем иным, как Х опорных точек.
Далее, также, по аналогии строго последовательно проставляем размеры от концов отрезков до линии хорды.
Рис.7
Все необходимые размеры мы задали. Получили:
Х координаты - это D1…D23
Yв координаты – это D24…D46
Yн координаты – это D47…D69
Это только кажется, что их так много, поэтому долго и мучительно их создавать. На самом деле все очень быстро (реальные значения ведь не задаешь). Я например, все размеры наскоро навтыкал просто указанием мышки, при этом в другой руке держа чашку чая…
Теперь нужно их связать уравнением. Делать это можно вручную, например двойным кликом по размеру D1 вызываем окно изменения размера. В нем в выпадающем списке выбираем «Добавить уравнение».
Рис. 8
В появившемся окне «добавить уравнение» в поле ввода можно задать любую формулу с любыми переменными/константами. Причем имена размеров можно не набирать, а просто кликать по нужному размеру, будь он на этом эскизе или в любом другом месте…
Рис. 9
В нашем случае нам надо, чтобы выбранный размер “D1@Профиль корневой” был равен 0,0025 от Хорды. Так и пишем, 0.0025* и кликаем в «Хорда корневая» в глобальных переменных. Жмем два раза ОК и все! Уравнение задано!
В эскизе перед значением размера появится красный значок суммы. Это означает, что размер задан уравнением. Такого же вида будут и уравнения для остальных отрезков.
Т.к. мы хотим иметь возможность управлять утолщением, то для размеров Yв и Yн уравнения будут другого типа. Мы используем исходную таблицу для профиля с утолщением в 20%, поэтому вводим масштабирующий коэффициент (наше утолщение/20).
Получим, к примеру для D24:
“D24@Профиль корневой” = 0.0142*“Хорда корневая”*“Утолщение корневой”/20
Так и дальше можно задать уравнения всех размеров, если не лень, конечно же!.. Но мне лень! Поэтому делаем проще и удобнее!
Выходим из эскиза. В дереве конструирования правой кнопкой кликаем на «Уравнения»->Редактировать уравнения. В появившемся окне жмем «Редактировать все».
Появится окно:
Рис. 10
Правила задания уравнений описаны в приведенной выше цитате из хелпа.
Это простой текст, каждая строчка которого – отдельное уравнение.
Как видите, в нем уже присутствует заданное нами вручную уравнение расстояния первого отрезка от носика (“D1@Профиль корневой” = 0.0025*“Хорда корневая”).
Все остальные необходимые нам уравнения формируются по такому же правилу с данными из таблицы профиля. Раз таблица – значит, вспоминаем о вездесущем Excel.
Сворачиваем на некоторое время SolidWorks.
Создаем экселевский файл. Вставляем в него данные из выбранной нами таблицы справочника. Эту процедуру описывать не буду – все умеем пользоваться офисом и такие операции как вставка данных и «заменить все» (дабы сменить запятые на точки и избавиться от отрицательных значений) занимают в сумме не больше минуты…
После чего задаем нужные нам формулы (их, как мы уже выяснили всего две), и применяем их на все подходящие размеры.
В итоге получаем таблицу, в которой данные столбца G и есть наши уравнения.
Рис. 11
Копируем их. Возвращаемся в покинутое нами ранее окно SW «Редактировать все». Вставляем (Ctrl+V).
Рис. 12
Дважды жмем ОК. Все заданные нами уравнения вступают в силу, соответственно все опорные точки определены на своих местах:
Рис. 13
Ну и последний штрих. По нашим точкам строим сплайн.
Рис. 14
Вот, в общем-то и все готово!
Что же мы получили?! Меняя всего на всего два параметра
Рис. 15
получаем эскиз профиля с заданным значением хорды и утолщения.
Ради самопроверки, попробуйте задать значения утолщений соответствующие приведенным вариантам из справочника и убедитесь, что все параметры будут соответствовать табличным! )))
Ну и напоследок приведу пример того, что еще можно сделать с получившимся шаблоном:
Ну, например, изменим профиль?! Я умышленно изначально выбрал из вышеозвученного справочника профиль с максимальным количеством опорных точек (23 пары), т.к. что-то удалить всегда легче и быстрее чем добавить.
Например, мне нужен профиль СУ-26 из того же справочника.
Засекаю время (19:58).
Делаю:
Дублирую файл детали, обзываю экземпляр «шаблон СУ-26»
В нем, удаляю все уравнения, кроме первых двух.
Т.к. в таблице профиля СУ-26 (я взял 18% на стр. 81) 20 пар опорных точек, то в эскизе удаляю сплайн и 21,22,23 отрезки (соглашаюсь удалить связные с ними размеры). У 20-го (последнего) отрезка снимаю галочку «вспомогательная геометрия».
Копирую из справочника таблицу в текстовый документ «СУ-26-18». В нем делаю заменить все запятые на точки и минусы на ничего.
В нашем экселевском файле копирую все уравнения на другой лист «СУ-26-18». Вставляю в него данные из подготовленного на предыдущем этапе текстового файла. Удаляю девять лишних строк. В двух ячейках меняю «20» на «18» (табличное утолщение).
Копирую получившийся столбец G в уравнения.
Строю сплайн по обновленным точкам.
Все! Профиль СУ-26 готов!..
Текущее время 20:02. (конечно же, сначала перестроил и засек время, а потом описал действия:))
Итого за четыре минуты (без предварительной тренировки, да еще и на тормозящем ноутбуке) наш шаблон профиля превратился в шаблон СУ-26!
Еще раз упомяну, что я не сторонник использования сплайнов, да и построение симметричного профиля проще, чем в приведенном примере с СУ-26. Так же, раздувать как тут количество уравнений в проекте не рекомендую. Данная заметка написана исключительно для демонстрации работы со связями и уравнениями!
Искренне надеюсь , что изложенные принципы будут полезны для читателей!
P.S. Все необходимые исходники во вложении. Кому интересно - смотрите…