Sketcher Ограничение касательности
Sketcher ConstrainTangent |
Системное название |
---|
Sketcher ConstrainTangent |
Расположение в меню |
Sketch → Ограничения эскиза → Ограничение касательности |
Верстаки |
Sketcher |
Быстрые клавиши |
T |
Представлено в версии |
- |
См. также |
Constraint point on object |
Описание
Ограничение касательности делает две кривые касающимися друг друга. Линии полагаются бесконечными, а дуги как полные окружности или эллипсы. Ограничение так же может соединять две кривые, заставляя их идти по касательной в точке соединения, делая переход гладким.
Использование
Возможно четыре варианта назначения ограничения:
- между двумя кривыми (доступно не для всех кривых)
- между двумя конечными точками кривой, делая гладкое соединение
- между кривой и конечной точкой другой кривой
- между двумя кривыми в точке, определённой пользователем
Для назначения ограничения касательности следует:
- Выделить две или три элемента эскиза.
- Вызвать ограничение, кликнув его иконку на панели инструментов или выделив в меню, или использовав клавиатурное сокращение.
Между двумя кривыми (прямое касание)
Две прямые станут касательными, но точка касания будет неопределённой. Этот режим назначается, когда выделены две кривые.
Допустимые выделения:
- линия + линия, окружность, дуга, эллипс, дуга эллипса
- окружность, дуга + окружность, дуга
Если прямое касание между выделенными кривыми не поддерживается (например, между оуружностью и эллипсом), автоматически будет добавлена вспомогательная точка, и будет применено tangency-via-point.
Не рекомендуется реконструировать точку касания созданием точки и установкой принадлежности её обоим кривым. Это будет работать, но конвергенция будет значительно медленнее, сложнее, и потребует вдвое больше итераций чем в норме. Используйте другие режимы этого ограничения, если нужна точка касания.
Между двумя конечными точками (касание точка-к-точке)
В этом режиме конечные точки делаются совпадающими, и соединение делается касательным (C1-smooth, или "sharp", в зависимости от расположения кривых перед применением ограничения). Этот режим применяется, когда выделены две конечные точки двух кривых.
Допустимые выделения:
- конечная точка линии/дуги/дуги-эллипса + конечная точка линии/дуги/дуги-эллипса (т.е. две конечные точки любых двух кривых)
Между кривой и конечной точкой (касательная точки к кривой)
В этом режиме конечная точка одной кривой ограничивается лежать на другой кривой так, чтобы обе кривые были касательными в этой точке. Этот режим применяется, когда выделены кривая и конечная точка другой кривой.
Допустимое выделение:
- линия, окружность, дуга, эллипс, дуга эллипса + конечная точка линии/дуги/дуги эллипса (то есть любая кривая + конечная точка любой кривой)
Между двумя кривыми в точке (касательная через точку) (v0.15)
В этом режиме две кривые делаются касательными и отслеживается точка касания. Этот режим применяется, когда выделены две кривые и точка.
Допустимое выделение:
- любая линия/кривая + любая линия/кривая + любая точка
"Любая точка" может быть отдельной точкой, или точкой чего-либо, например, центр окружности, конечная точка дуги, начальная точка.
Чтобы ограничение работало правильно, точка должна быть на обоих кривых. Поэтому как только ограничение вызвано, точка будет автоматически ограничена на двух кривых (если нужно, будет добавлено вспомогательное ограничение), и кривые станут касательными в этой точке. Эти вспомогательные ограничения - простые регулярные ограничения. Они могут быть добавлены вручную, или удалены.
В сравнении с прямой касательностью, это ограничение медленнее, поскольку привлекается большее число степеней свободы, но если нужна точка касания, это рекомендованный режим, поскольку он предлагает лучшую сходимость в сравнении к прямому касанию + точке на двух кривых.
Подсказкой вычислителю, где должно быть касание, будет размещение точки перед наложением ограничения. С этим ограничением можно ограничить два эллипса на касание в двух точках.
Scripting
Tangent Constraint can be created from macros and from the python console by using the following:
# direct tangency
Sketch.addConstraint(Sketcher.Constraint('Tangent',icurve1,icurve2))
# point-to-point tangency
Sketch.addConstraint(Sketcher.Constraint('Tangent',icurve1,pointpos1,icurve2,pointpos2))
# point-to-curve tangency
Sketch.addConstraint(Sketcher.Constraint('Tangent',icurve1,pointpos1,icurve2))
# tangent-via-point (plain constraint, helpers are not added automatically)
Sketch.addConstraint(Sketcher.Constraint('TangentViaPoint',icurve1,icurve2,geoidpoint,pointpos))
where:
Sketch
is a sketch objecticurve1
,icurve2
are two integers identifying the curves to be made tangent. The integers are indexes in the sketch (the value, returned bySketch.addGeometry
).pointpos1
,pointpos2
should be 1 for start point and 2 for end point.geoidpoint
andpointpos
inTangentViaPoint
are the indexes specifying the point of tangency.
- General: Create sketch, Edit sketch, Map sketch to face, Reorient sketch, Validate sketch, Merge sketches, Mirror sketch, Leave sketch, View sketch, View section, Toggle grid, Toggle snap, Configure rendering order, Stop operation
- Sketcher geometries: Point, Line, Arc, Arc by 3 points, Circle, Circle by 3 points, Ellipse, Ellipse by 3 points, Arc of ellipse, Arc of hyperbola, Arc of parabola, B-spline by control points, Periodic B-spline by control points, B-spline by knots, Periodic B-spline by knots, Polyline, Rectangle, Centered rectangle, Rounded rectangle, Triangle, Square, Pentagon, Hexagon, Heptagon, Octagon, Regular polygon, Slot, Fillet, Corner-preserving fillet, Trim, Extend, Split, External geometry, Carbon copy, Toggle construction geometry
- Sketcher constraints:
- Geometric constraints: Coincident, Point on object, Vertical, Horizontal, Parallel, Perpendicular, Tangent, Equal, Symmetric, Block
- Dimensional constraints: Lock, Horizontal distance, Vertical distance, Distance, Radius or weight, Diameter, Auto radius/diameter, Angle, Refraction (Snell's law)
- Constraint tools: Toggle driving/reference constraint, Activate/deactivate constraint
- Sketcher tools: Select unconstrained DoF, Select associated constraints, Select associated geometry, Select redundant constraints, Select conflicting constraints, Show/hide internal geometry, Select origin, Select horizontal axis, Select vertical axis, Symmetry, Clone, Copy, Move, Rectangular array, Remove axes alignment, Delete all geometry, Delete all constraints
- Sketcher B-spline tools: Show/hide B-spline degree, Show/hide B-spline control polygon, Show/hide B-spline curvature comb, Show/hide B-spline knot multiplicity, Show/hide B-spline control point weight, Convert geometry to B-spline, Increase B-spline degree, Decrease B-spline degree, Increase knot multiplicity, Decrease knot multiplicity, Insert knot, Join curves
- Sketcher virtual space: Switch virtual space
- Additional: Sketcher Dialog, Preferences, Sketcher scripting
- Начинающим
- Установка: Загрузка, Windows, Linux, Mac, Дополнительных компонентов, Docker, AppImage, Ubuntu Snap
- Базовая: О FreeCAD, Интерфейс, Навигация мыши, Методы выделения, Имя объекта, Настройки, Верстаки, Структура документа, Свойства, Помоги FreeCAD, Пожертвования
- Помощь: Учебники, Видео учебники
- Верстаки: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework