Sketcher ConstrainTangent/ru
Расположение в меню |
---|
Sketch → Ограничения эскиза → Ограничение касательности |
Верстаки |
Sketcher |
Быстрые клавиши |
T |
Представлено в версии |
- |
См. также |
Constraint point on object |
Contents |
Описание
Ограничение касательности делает две кривые касающимися друг друга. Линии полагаются бесконечными, а дуги как полные окружности или эллипсы. Ограничение так же может соединять две кривые, заставляя их идти по касательной в точке соединения, делая переход гладким.
Tangent Constraint can also be used with two lines to make them colinear.
Использование
Возможно четыре варианта назначения ограничения:
- между двумя кривыми (доступно не для всех кривых)
- между двумя конечными точками кривой, делая гладкое соединение
- между кривой и конечной точкой другой кривой
- между двумя кривыми в точке, определённой пользователем
Для назначения ограничения касательности следует:
- Выделить две или три элемента эскиза.
- Вызвать ограничение, кликнув его иконку на панели инструментов или выделив в меню, или использовав клавиатурное сокращение.
Между двумя кривыми (прямое касание)
Две прямые станут касательными, но точка касания будет неопределённой. Этот режим назначается, когда выделены две кривые.
Допустимые выделения:
- линия + линия, окружность, дуга, эллипс, дуга эллипса
- окружность, дуга + окружность, дуга
Если прямое касание между выделенными кривыми не поддерживается (например, между оуружностью и эллипсом), автоматически будет добавлена вспомогательная точка, и будет применено tangency-via-point.
Не рекомендуется реконструировать точку касания созданием точки и установкой принадлежности её обоим кривым. Это будет работать, но конвергенция будет значительно медленнее, сложнее, и потребует вдвое больше итераций чем в норме. Используйте другие режимы этого ограничения, если нужна точка касания.
Между двумя конечными точками (касание точка-к-точке)
В этом режиме конечные точки делаются совпадающими, и соединение делается касательным (C1-smooth, или "sharp", в зависимости от расположения кривых перед применением ограничения). Этот режим применяется, когда выделены две конечные точки двух кривых.
Допустимые выделения:
- конечная точка линии/дуги/дуги-эллипса + конечная точка линии/дуги/дуги-эллипса (т.е. две конечные точки любых двух кривых)
Между кривой и конечной точкой (касательная точки к кривой)
В этом режиме конечная точка одной кривой ограничивается лежать на другой кривой так, чтобы обе кривые были касательными в этой точке. Этот режим применяется, когда выделены кривая и конечная точка другой кривой.
Допустимое выделение:
- линия, окружность, дуга, эллипс, дуга эллипса + конечная точка линии/дуги/дуги эллипса (то есть любая кривая + конечная точка любой кривой)
Между двумя кривыми в точке (касательная через точку) (v0.15)
В этом режиме две кривые делаются касательными и отслеживается точка касания. Этот режим применяется, когда выделены две кривые и точка.
Допустимое выделение:
- любая линия/кривая + любая линия/кривая + любая точка
"Любая точка" может быть отдельной точкой, или точкой чего-либо, например, центр окружности, конечная точка дуги, начальная точка.
Чтобы ограничение работало правильно, точка должна быть на обоих кривых. Поэтому как только ограничение вызвано, точка будет автоматически ограничена на двух кривых (если нужно, будет добавлено вспомогательное ограничение), и кривые станут касательными в этой точке. Эти вспомогательные ограничения - простые регулярные ограничения. Они могут быть добавлены вручную, или удалены.
В сравнении с прямой касательностью, это ограничение медленнее, поскольку привлекается большее число степеней свободы, но если нужна точка касания, это рекомендованный режим, поскольку он предлагает лучшую сходимость в сравнении к прямому касанию + точке на двух кривых.
Подсказкой вычислителю, где должно быть касание, будет размещение точки перед наложением ограничения. С этим ограничением можно ограничить два эллипса на касание в двух точках.
Between two lines (collinear)
Accepted selection:
- any line/vertex + any line/vertex
Scripting
Ограничение касательности может создаваться из макросов и из консоли python следующим образом:
# 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))
Где:
Sketch
это объект эскизаicurve1
,icurve2
это два целых идентификатора кривых, которые станут касательными. Целые это индексы в эскизе (значения, возвращаемыеSketch.addGeometry
).pointpos1
,pointpos2
должны быть 1 для начальной и 2 для конечной точки.geoidpoint
иpointpos
вTangentViaPoint
это индексы, указывающие точку касания.
The Sketcher scripting page explains the values which can be used for incurve1
, incurve2
, pointpos1
, pointpos2
, geoidpoint
and pointpos
and contains further examples on how to create constraints from Python scripts.
- Инструменты: New sketch, Edit sketch, Leave sketch, View sketch, View section, Map sketch to face, Reorient sketch, Validate sketch, Merge sketches, Mirror sketch
- Геометрия эскиза: Point, Line by 2 point, Create an arc, Arc, Arc by 3 Point, Create a circle, Circle, Circle by 3 Point, Create a conic, Ellipse by center, Ellipse by 3 points, Arc of ellipse, Arc of hyperbola, Arc of parabola, Create a B-spline, Create B-spline, Create periodic B-pline, Polyline (multiple-point line), Rectangle, Create regular polygon, Triangle, Square, Pentagon, Hexagon, Heptagon, Octagon, Create Regular Polygon, Slot, Fillet, Trimming, Extend, External Geometry, CarbonCopy, Construction Mode
- Ограничения в Sketcher
- Геометрические ограничения Coincident, Point On Object, Vertical, Horizontal, Parallel, Perpendicular, Tangent, Equal Length, Symmetric, Constrain Block
- Размерные ограничения Lock, Horizontal Distance, Vertical Distance, Distance, Radius, Internal Angle, Snell's Law, Internal Alignment, Toggle reference/driving constraint,
- Инструменты в Sketcher Select solver DOFs, Close Shape, Connect Edges, Select Constraints, Select Origin, Select Vertical Axis, Select Horizontal Axis, Select Redundant Constraints, Select Conflicting Constraints, Select Elements Associated with constraints, Show/Hide internal geometry, Symmetry, Clone, Copy, Move, Rectangular Array, Delete All Geometry, Delete All Constraints
- Инструменты B-сплайнов в Sketcher Show/Hide B-spline degree, Show/Hide B-spline control polygon, Show/Hide B-spline curvature comb, Show/Hide B-spline knot multiplicity, Convert Geometry to B-spline, Increase degree, Increase knot multiplicity, Decrease knot multiplicity
- Виртуальное пространство Sketcher Switch Virtual Space

- Установка: Windows, Linux, Mac; Начинающим
- Базовая: О FreeCAD, Верстаки, Настройки, Структура документа, Настройка интерфейса, Свойства, Модель мыши; Учебники
- Верстаки: Arch, Draft, FEM, Image, Inspection, Mesh, OpenSCAD, Part, PartDesign, Path, Plot, Points, Raytracing, Reverse Engineering, Robot, Ship, Sketcher, Spreadsheet, Start, Surface workbench, TechDraw, Test Framework, Web
- Скрипты: Введение в Python, Учебник скриптов FreeCAD, Основы скриптов FreeCAD, Установка макросов, Команды графического интерфейса, Единицы Модули: Создание модулей, Создание верстаков, Добавление верстаков Сетки: Сеточные скрипты, Модуль сеток Детали: Модуль Part, Скрипты топологических данных, PythonOCC, Из Mesh в Part Coin scenegraph: The Coin/Inventor scenegraph, Pivy Интерфейс Qt: PySide, Использование графического интерфейса FreeCAD, Создание диалогов Параметрические объекты: Скриптовые объекты Прочее: Кусочки кода, Функции рисования линий, Встраивание FreeCAD, Библиотека векторной математики FreeCAD, Хаб опытных пользователей, Python, Макросы, Основы скриптов FreeCAD, Topological data scripting