LGS 2D 6.0

LGSProfiles add-on that appears with LGS2D 6.0 release adds segments and arcs objects to LGS2D that are created over existing line/circle/ellipse objects and two points and imply certain restrictions on these objects relative position. Thus, segments and arcs can be considered as ternary constraints.

Segments and arcs imply incidence of points to the line/circle/ellipse object with additional restrictions depending on the alignment attribute value of segment and arc.

This example demonstrates the behavior of segments and arcs with default (positive) alignments.

In the first part arc is at first modeled with just a circle and two incidences with points. When some dimension parameter of the model is changed and the model is recalculated, solver tries to find the solution with the least movements of the sketch. Since LGS2D “sees” just two points and a circle and has no knowledge about the real design intent of these objects (modeling arc), it finds minimal movements of points to be placed on the circle. But since, due to the constraints, circle was significantly moved to the left, on of the points “switches the side” on the circle. Thus, arc shape changes unnaturally.

Then, the mode of using LGSProfiles add-on is turned on and the arc is modeled using LGSArc object. Now, LGS2D is aware about “arc design intent” and aims to keep arc angle.

In the second part the additional restriction of segments (comparing to two point-line incidences) is demonstrated. At first model is solved without LGSProfiles. Points that models diagonal segment have no restriction to keep their relative position on line. Thus, LGS2D finds the solution where the movement of the left border is minimized. But the design intent is broken: profile is self-intersected. Next, model is solved using segments from LGSProfiles add-on. By default, segments have positive alignment that specifies that line direction is to be equal to the vector connecting segment start point with segment end point. Thus, relative points position on the line can’t change. As a result, we see the natural behavior of the shown example.