Skip to content

uk_Constraint with Expressions

Kuzemko Alexsandr edited this page May 2, 2022 · 2 revisions

FreeCAD має потужний Expression Engine. У цьому посібнику показано, як створити простий механізм за допомогою обмежень, керованих деякими виразами.

Гвинтовий механізм

Дуже легко створити гвинтовий механізм за допомогою обмеження PlaneConicident. Просто виконайте декілька простих кроків

  • Встановіть властивість LockAngle обмеження на True;
  • Введіть вираз;
    • Якщо ви хочете рухатись, обертаючи гвинт, виразіть властивість Offset через властивість Angle, як показано на екрані нижче;
    • Якщо ви хочете рухатися шляхом переміщення, виразіть Angle через Offset.

Зубчастий механізм

Трохи складніший приклад це rack and pinion система нижче. Всі шестерні мають модуль 1 мм. Велика шестерня має 18 зубів, а мала – 15. Ви можете завантажити деталі тут. Вам необхідно встановити Gear Workbench, якщо ви хочете змінити шестерні.

При перегляді зображення вище, інтуїтивно можна подумати про використання PointOnLine обмеження для шестерні в слоті. Але в цьому випадку набагато простіше використовувати беззаперечно потужне обмеження PlaneCoincident. Ми ділимо цю систему на дві збірки - шестерні та рейки.

Спочатку створіть ескіз, щоб визначити положення двох шестерень. У реальних застосунках вам, ймовірно, знадобиться також визначити відстань двох кіл, а також більшості інших констант за допомогою виразів, показаних у цьому посібнику, або краще використовувати >Spreadsheet.

Потім створіть збірку, додати ескіз та два шестерні та розташуйте їх використовуючи ескіз з PlaneCoincident обмеженням.

Увімкніть властивість LockAngle для обох обмежень. І оскільки ми будемо переміщати велику шестерню, введіть вираз для властивості Angle обмеження малої шестерні, як показано нижче, яке по суті є коефіцієнтом передачі з деяким зміщенням,

-Constraint002.Angle*18/15-6

Ви можете перевірити механізм, змінюючи Angle великого шестерні.

Тепер ми створюємо остаточну збірку, додавши збірку шестерні та основу з зубчастою рейкою та закріплюємо їх разом за допомогою іншого PlaneCoincident. Зверніть увагу на те, що ми використовуємо для обмеження Sketch. Це важливо, тому що шестерня має повертатись, поки Sketch зафіксований. Ми знову маємо заблокувати поворот цього обмеження. Ми хочемо переміщати шестерні відносно осі Y, тому введіть вираз у властивість OffsetY обмеження,

-Constraint001.Angle/360*15*pi

Готово!

Clone this wiki locally