|
Current version is LGS 2D 6.0
LGS 2D 6.0 implements segments and arcs as new types of entities. Jointly, they are known as edges. Edges can be interpreted as new kinds of geometric objects and as ternary constraints. (The latter means that each edge is created on top of three LGS2D objects — a line, circle, or ellipse, and two points — and then imposes two coincidence constraints between the first object and each point.)
In addition, the endpoints of edges keep their order during the constraint solving process. For segments, this means that the direction of lines is always oriented from the first to the second end point. (This direction can be reverted by modifying the edge’s alignment attribute.)
Each edge also has a length attribute, with values of free, fixed, or linked to a variable. Circular and elliptic arcs have the angle attribute with the same properties.
Through edges, any LGS-based application can provide users with full parametric control over their drawings, which is unreachable when the geometry is modeled with unbounded objects (i.e., lines, circles, ellipses) that are connected with two incident points. See example below.
Edges also represent a special case of dependent curves with three control objects. This means that they can be linked with other geometries using the appropriate constraints, such as incidence with a point, and tangency to a line. For example, when users set the incidence constraint between a point and a segment, then the point will always lie between the segment's endpoints. This is behavior that cannot be modeled with unbounded geometry.
Edges are implemented as a new add-on module for LGS 2D named LGSProfiles. Programmers can use edges in the same way as they do other LGS 2D objects. In the future, LEDAS plans to extend the LGSProfiles module with other bounded geometries, such as composite and offset curves.
Version 6.0 produces more natural solutions for several constraint scenarios. The solver implemented two new techniques to minimize changes to the model, and to keep the sketch as close as possible to the initial drawing. These techniques work effectively for scenarios with one to three unsatisfied constraints, which are typical for interactive sketcher applications.
For the full list of changes see Release Status page.
|