Geometric constraint solver now supports Nurbs

Paul Boughton
Ledas is releasing version 3.0 of its LGS 2D geometric constraint solver. As a core component of parametric drawing applications, LGS 2D allows users to express design intent through geometric constraints and driving dimensions applied to 2D points, lines, curves, and other elements of sketches and drawings.
Since its first release in 2004, the LGS 2D software component has been licensed and embedded by several CAD/CAM/CAE vendors into parametric drawing applications. In five years, Ledas has released eight intermediate versions of LGS 2D.
Version 3.0 of LGS 2D adds support for Nurbs curves, equal-curvature geometric constraints, memory management, and many additional improvements.
Nurbs (non-uniform rational B-spline) curves are commonly used in computer-aided design and computer graphics applications. Previous versions of LGS 2D supported Nurbs, but required that they be evaluated on the application side. Whereas application developers before had to implement callback functions to regenerate the shapes of curves, they will now find that working with Nurbs is as easy as working with lines and circles in LGS 2D 3.0. The application simply calls the spline creation function, passing all needed parameters (algebraic degree, control points, knots and weights), and then the solver evaluates the spline. This new feature reduces the software development cycle and shortens the time to market for a new parametric drawing application.
An even greater advantage to using the new Nurbs support is the significant performance improvement. The derivatives of Nurbs evaluation functions needed for numerical methods of constraint solving are now expressed analytically and computed by the solver.
Version 3.0 supports a new form of geometric constraint, known as equal curvature. It is useful for parametric drawing applications that require smooth (G2) tangencies between curves. In this case, application developers create both tangency and equal curvature constraints between two curves (or between a curve and a circle or a line) and then make the corresponding 'help' parameters equal.
In addition, version 3.0 allows application developers to define custom sets of memory management tools for controlling and optimising memory use. This new feature is important for applications that deal with large drawings, which are typically composed of thousands of geometric elements.
LGS 2D 3.0 also contains many other improvements, such as alignments for tangency constraints with curves, versioning for binary dump, and journaling enhancements. Several bugs in the autoconstraining function have been fixed, and issues reported by Ledas customers have been resolved.
Dmitry Ushakov, director of product management at Ledas, comments: "LGS 2D is used by our customers to implement powerful parametric drawing functions, which are compatible with the capabilities of mainstream MCAD systems, but at an affordable price. Our new version 3.0 is another significant step towards this direction: it introduces new functions aimed at supporting advanced user requirements yet shortening the application development time."
An integration module has also been created, which allows version 3.0 of LGS 2D to be used with applications based on DWGdirect of the Open Design Alliance (ODA). This integration module was developed jointly by Ledas and the ODA, and it provides DWGdirect-based applications with support for constraints contained in the DWG 2010 file format.
For more information, visit

Recent Issues