Sketcher ConstrainCoincident
Sketcher ConstrainCoincident |
Menu location |
---|
Sketch → Sketcher constraints → Constrain coincident |
Workbenches |
Sketcher |
Default shortcut |
C |
Introduced in version |
- |
See also |
Constrain Lock, Constrain Point onto Object |
Description
Create a coincident constraint on the selected item
This constraint tool takes two points as its argument and serves to make the two points coincident. (Meaning to make them as-one-point).
In practical terms this constraint tool is useful when there is a break in a profile for example - where two lines end near each other and need to be joined - a coincident constraint on their end-points will close the gap.
Usage
As stated above, this tool takes two arguments - both are points.
- First, it is necessary to highlight two distinct points. (Note: this will not work if, for example, you attempt to select the start and end point of the same line).
- Highlighting of a drawing item is achieved by moving the mouse over the item and clicking the left-mouse-button.
- A highlighted item will change its color to green. (This color can be customized in Editing → Preference → Display → Colors → Selection)
- Subsequent items can be highlighted by repeating the above procedure(s). Note: it's unnecessary to hold-down any special key like Ctrl to achieve multiple item selection in a drawing.
- Once you have two points highlighted, you can invoke the command using several methods:
- Pressing on the PointOnPoint constraint button in the toolbar.
- Using the C keyboard shortcut.
- Using the Sketch → Sketcher constraints → Constrain coincident entry in the top menu.
Result: the command will cause the two points to become coincident and be replaced by a single point.
Note: In order to make two points coincident, FreeCAD must out of necessity move one (or both) of the original points.
Scripting
General scripting
The constraint can be created from macros and from the python console by using the following command:
Sketch.addConstraint(Sketcher.Constraint('Coincident',LineFixed,PointOfLineFixed,LineMoving,PointOfLineMoving))
where :
Sketch
is a sketch objectLineFixed
is the number of the line, that will not move by applying the constraintPointOfLineFixed
is the number of the vertex of the lineLineFixed
that has to fulfilled the constraintLineMoving
is the number of the line, that will move by applying the constraintPointOfLineMoving
is the number of the lineLineMoving
, that has to fulfilled the constraint
The main issue by using this function is to identify correctly the line number and the vertex number of the lines you want to process.
The next paragraph will explain you how to identify the numbering of a line and of a vertex of a line.
Identifying the numbering of a line
I have drawn three lines as shown in the following figure.
By moving the cursor of the mouse above the line you can see the line number at the bottom left of the FreeCAD windows, see next figure.
Unfortunately the numbering displayed on the FreeCAD windows start from 1 whereas the numbering of the line used to script start from 0: this means that you have to retrieve one each time you want to refer to a line.
Identifying the numbering of the vertices of a line
The vertices of one line can only have the value 1 or 2. (Don’t ask me, why the vertices numbering does not start from 0 …) The vertices are numbered according to their order of creation. To find out the order of their creation (If you have a lot of lines, you cannot remember which vertex you have created first), you just have to move the cursor of your mouse above the two vertices of one line, see following figure.
If you read e.g. 4 and 5, it means that the vertex 4 will be referenced by using the number 1 in the script command and the vertex 5 will be referenced by using the number 2 in the script command. Etc.
Example
Let us take the previous example of the three lines. The subsequent figure indicates the numbering of each line and their vertices according to the convention for scripting.
blue text: numbering of line, black text: numbering of vertices
The command Sketch.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1))
yields following result:
The command Sketch.addConstraint(Sketcher.Constraint('Coincident',0,2,2,2))
yields following result:
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Assembly, BIM, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub
- General: Create sketch, Edit sketch, Attach sketch, 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, Polyline, Line, Arc, Arc by 3 points, Arc of ellipse, Arc of hyperbola, Arc of parabola, Circle, Circle by 3 points, Ellipse, Ellipse by 3 points, Rectangle, Centered rectangle, Rounded rectangle, Triangle, Square, Pentagon, Hexagon, Heptagon, Octagon, Regular polygon, Slot, Arc slot, B-spline by control points, Periodic B-spline by control points, B-spline by knots, Periodic B-spline by knots, Toggle construction geometry
- Sketcher constraints:
- Dimensional constraints: Dimension, Horizontal distance, Vertical distance, Distance, Auto radius/diameter, Radius, Diameter, Angle, Lock
- Geometric constraints: Coincident (unified), Coincident, Point on object, Horizontal/vertical, Horizontal, Vertical, Parallel, Perpendicular, Tangent or collinear, Equal, Symmetric, Block
- Other constraints: Refraction (Snell's law)
- Constraint tools: Toggle driving/reference constraint, Activate/deactivate constraint
- Sketcher tools: Fillet, Chamfer, Trim, Split, Extend, External geometry, Carbon copy, Select origin, Select horizontal axis, Select vertical axis, Array transform, Polar transform, Scale transform, Offset geometry, Symmetry, Remove axes alignment, Delete all geometry, Delete all constraints
- Sketcher B-spline tools: Convert geometry to B-spline, Increase B-spline degree, Decrease B-spline degree, Increase knot multiplicity, Decrease knot multiplicity, Insert knot, Join curves
- Sketcher visual: Select unconstrained DoF, Select associated constraints, Select associated geometry, Select redundant constraints, Select conflicting constraints, Show/hide circular helper for arcs, 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, Show/hide internal geometry, Switch virtual space
- Additional: Sketcher Dialog, Preferences, Sketcher scripting