This is the first version of a general feedback sketch
The idea of such a sketch was to reduce the inner complexity of a sketch by swap out helper construction to another sketch or to combine multiple sketches for complex constructions.
it is more powerful than expressions.
It is possible to deactivate some components to speed up design or flip between different sketches on demand.
this is the first version and not all parameters are already used.
The Sketch_Rectangle contains a rectangle with constraints ax,ay for the position of the left lower corner and bx,by for the lenght an height of the rectangle.
The Skethc001_Circle contains a circle with constraint cr for the radoius of the circle.
The goal is to resize the rectangle depending on ax,ay with this conditions:
1) one corner is on the circle
2) the diagonal from this corner goes through the origin
The TwoClientsFeedback is a Sketch obekct, which does the calculation of bx,by and sends the values back to Sketch_Rectangle
it has 4 named constraints
ax,bx,cr are red constraints and get their values from the other skteches
bx,by are blue constraints and are used for feedback.
configuration of the TwoClientsFeedback
ClientA is Sketch_Rectangle
data from ClientA are ax,ay
date back to ClientA are bx,by
ClientB is Sketch_Circle
data from ClientB are cr
there are no date back to ClientB
Whenever ClientA or ClientB changes the Feedback Sketch is recomputed and the values are send back to ClientA.
To demonstrate this there are 3 Animation Managers.
When you double clickj a Manager and start it,
it changes one constraint (ax,ay, cr) by expressions
You can stop updating of a client <?> be setting its "active Client <?>" Flag to False.
https://www.dropbox.com/s/llyubzr3594rv ... fcstd?dl=0
nurbswb https://github.com/microelly2/freecad-n ... 66d83e7b5e
animation - not realy needed, you can delete the managers and change the parameters by hand.