View Issue Details

IDProjectCategoryView StatusLast Update
0003127SketcherFeaturepublic2018-01-30 11:10
Reportergraffy Assigned Toabdullah  
Status closedResolutionfixed 
PlatformLinuxOSMintOS Version18.1
Product Version0.17 
Fixed in Version0.17 
Summary0003127: Apply tangent constrains while preventing geometry from moving
DescriptionWhen applying a tangent constraint to two geometries, the position and orientation of both are changed by the solver. In the case of an arc, this sometimes results in the arc tangent direction reversing, depending on the difference between the tangents of the geometries before they are constrained.

Avoiding this behavior requires drawing the geometries so that they are tangentially aligned before applying the constraint.

A desirable action would be to specify one geometry as "fixed" when applying the constraint, preventing it's orientation and position from changing.

Also, the tangent of the moveable geometry should not change by more than 90 degrees from the originally drawn tangent, as doing so would result in a reversal of the tangent - the implicit assumption being that the user intuitively draws geometry in a generally aligned fashion.

While the feature exceeds the design intent of the solver, it would address the undesirable behavior of an arc's tangent reversing, creating a circle. At a bare minimum, this condition should be checked for - that the starting and ending angle of the result doesn't exceed a maximum value... intuitively, it should not be substantially different than the original angle delta of the arc. The primary problem seems to be caused by complexes of constrained geometry as noted in the video linked in the thread below.

See the following thread for more discussion and video demonstrating the failures:
Steps To ReproduceHard to reproduce what causes the arc failures. It appears what happens is the endpoint of the arc is moved past the end point of the other geometry, forcing the arc to be drawn as a circle in order to connect. Will try to create a geometry arrangement that triggers this condition and upload it.
FreeCAD Information



2017-07-15 03:45

administrator   ~0009758

Assigned to @abdullah per


2018-01-28 17:59

manager   ~0010889


The Block constraint has recently been merged to master. Is that what we were looking for in this ticket? If not, could you please further specify what we need?



2018-01-28 18:00

manager   ~0010890

oh... I still have to learn to use the tracker... what I have just asked in the previous note...


2018-01-28 18:34

reporter   ~0010891

It's a bit hard to determine what needs to be done to solve this problem. Much of it has to do with the solver producing undesirable (but not incorrect) results. Insofar as the block constraint is concerned, I would say it certainly provides part of the solution.

It might be wise to consider it closed for a lack of a clear definition at this point. I'm developing a much more constrained workflow which may, in the end, generally avoid this issue. If I still run into the same problem, I'd sooner open a new ticket, if only because the use case will be different.


2018-01-29 13:31

manager   ~0010893

As Joel says, it is difficult to redefine ATM what else would be required. Feel free to reopen the ticket or submit a new ticket when/if needed.

Issue History

Date Modified Username Field Change
2017-07-15 03:40 graffy New Issue
2017-07-15 03:44 Kunda1 Tag Attached: constraints
2017-07-15 03:45 Kunda1 Assigned To => Kunda1
2017-07-15 03:45 Kunda1 Status new => assigned
2017-07-15 03:45 Kunda1 Assigned To Kunda1 => abdullah
2017-07-15 03:45 Kunda1 Note Added: 0009758
2018-01-28 17:59 abdullah Note Added: 0010889
2018-01-28 18:00 abdullah Status assigned => feedback
2018-01-28 18:00 abdullah Note Added: 0010890
2018-01-28 18:34 graffy Note Added: 0010891
2018-01-28 18:34 graffy Status feedback => assigned
2018-01-28 20:57 Kunda1 Tag Attached: #pending
2018-01-29 13:31 abdullah Status assigned => closed
2018-01-29 13:31 abdullah Resolution open => fixed
2018-01-29 13:31 abdullah Fixed in Version => 0.17
2018-01-29 13:31 abdullah Note Added: 0010893
2018-01-30 11:10 Kunda1 Tag Detached: #pending