-
Notifications
You must be signed in to change notification settings - Fork 0
uk_Constraint with Expressions
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
Готово!
