Связи и уравнения в SolidWorks
Цель данной заметки – дать общие представления по применению уравнений и связей в 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. Все необходимые исходники во вложении. Кому интересно - смотрите…