unique combination of competence, reliability and cost

Products & solutions:


Products & solutions


In October, 2011 the intellectual property rights for the flagship LEDAS products has been acquired by Menhirs NV, the parent company of Bricsys NV. In the framework of this deal, LEDAS became an authorized reseller of its former products and in coordination with Bricsys is ready to provide various services on maintenance, integration as well as related software development. At the same time, the sold IP can be considered as an additional proof of the LEDAS team competence, experience, and ability to provide high level and unique software development service in the domain of science-intensive software engineering.

[Try Flash-LGS] [Intro] [Overview] [Samples] [Tutorial]

Flash-LGS :: Basic principles

Flash-LGS is an easy-to-use vector drawings editor with extensive parameterization capabilities. It is based on the following underlying idea - you draw an approximate sketch, apply a set of constraints to the sketch elements and Flash-LGS beatifies this sketch automatically according to those constraints. The user interface is traditional for drawing programs. On the left of the drawing window you see a set of tools and controls, separated into the following sections, from top to bottom:

  • File operations that allow creating new drawing, loading and saving your own designs, and loading predefined samples.
  • Recalculate the model button - performs geometry calculation using the LGS engine.
  • Management tools: Object properties, Delete object and Drawing description.
  • Drawing tools.
  • Quick constraint tools: most frequently used constraint types, which are set to quick access buttons; the whole list of provided constraints is available through the More constraints button.
  • Drawing browser consists of two sections: a list of geometry objects and a list of constraints.

Flash LGS

Coordinate system of the drawing pane

Coordinate system of the drawing pane has its center in the top left corner. OX axis is directed to the right in parallel to the horizontal boundary of the drawing pane, OY axis directed to the bottom (points closer to the bottom of the screen have bigger coordinates) in parallel to the vertical boundary of the drawing pane. Coordinates are measured in pixels, a small cell size on drawing pane is 10 pixels, a big cell is equal to 5 small cells so it is 50 pixels high and 50 pixels wide.

At any moment the Status bar shows the name of the file with model (or Untitled for a model which was not yet saved) and position of cursor on drawing pane. Operations with models

Ledas provides a number of read-only sample models, available via Predefined samples tool. You may also save your own models to the server and then load them back and edit using the Save drawing/Load user drawing functions. Besides, you can add description to your model by clicking the Drawing description icon.

Create a new model

Once Flash-LGS is loaded, a new model can be created. To start drawing a new model use the Create empty drawing tool. Creating a new model will erase the current model, so it is lost unless it was saved.

Save current model

To save the model, choose the Save drawing tool. You will be prompted for the name, you may enter a new name or choose among the names of the previously saved models. If you select the name of an existing model, the model will be overwritten by the current one.

All the model data, including objects, their positions and properties, constraints and model description are saved.

Models are saved on the server and associated with the user, so you may load the saved model from any machine connected to the Internet by entering your user name and password.

The last used name when model was saved is displayed in the Status bar.

Load model

To load the model saved during your Flash-LGS session, choose the Load user drawing tool and pick the required model from the list. List of models is retrieved from the server and thus contains all models saved under the current user name from any machine on the Internet.

All the model data including objects, their positions and properties, constraints and model description are loaded.

Name of the loaded model (until it is changed by the Save command) is displayed in the Status bar.

Loading from the library of samples

Ledas provides a number of sample models. To load a model from the library, choose the Predefined samples tool and pick a model from the list. The list will contain the same models regardless of machine and current username and will reflect a set of sample models created by the Flash-LGS authors.

It is not possible to save a model to the library, however, you can change the library model and save it to the server for further loading of a modified version under your account. Even if you choose the same name, a model will not be overwritten: you still are able to load the original version from the library, while the saved version will be available using the Load user drawing tool.

Model description

You may describe any model and save this description within the model. Model description is available using the Drawing description (the "T" button) tool. Choose this tool and view or enter a model description. The entire window is an edit field so if it is empty, just click on it and enter your description. You can also use the "Ctrl-C" and "Ctrl-V" hotkeys in order to copy/paste fragments of text. Don't forget to click "OK" to save the description; "Cancel" will discard changes.


To draw, you should choose one of the drawing tools. To do this, just click on the corresponding icon. Once selected, a drawing tool will remain active until other drawing tool or selection tool is chosen.

Currently there are 3 types of drawing tools available:

  • Points
  • To draw point, position the mouse to an appropriate place and click. Each click will set a new point. Points are depicted as small crosses. Note that segments and circles also contain points as their parts: ends of segments and centers of circles.

  • Segments
  • To draw the line, click the mouse to set the first point of the segment, than reposition the mouse and click again. The length of segment is not fixed and may change when constraints are applied. To fix the segment length you should set the Distance constraint on its endpoints.

  • Circles
  • To draw the circle, first click to set the center and than move the mouse to select the radius. Same as for the segment, the radius is not fixed and may change due to the constraints. To fix the radius of the circle, you should implicitly set the Radius constraint on the circle.

Editing of objects

Objects can be changed by selecting and moving them with a mouse. When a segment is selected, its position may change; if one of segment endpoints is selected, its position is changed, along with the segment length and direction. Selecting and moving a circle and its center has the same effect - the position of the circle will change.

Position of a point, segment endpoints or visible radius of circle may be viewed and changed with the Object Properties tool (the "i" button). Just click on the icon and type in the value of the property in the edit box. Change of a visible property does not require re-computation so an object is changed on the sketch immediately.

Note that original positions of the objects, lengths and directions of the segments, and radii of the circles visible on sketch can be changed upon computation to comply with the constraints set. Use the Fixation, Distance and Radius constraints to fix the object position (including the segment direction), the segment length and the circle radius respectively.

Removing objects

To remove an object, select it on sketch or in the Objects tree and click the Delete object (the red "x" button) tool. You may select multiple objects to remove them simultaneously.


To select objects on the sketch and modify the sketch, Select object is used. Click on its icon to activate.

Using the selection tool, you may click on the objects on the sketch and drag them to modify their position.

Object on the sketch is selectable when a mouse pointer is placed close to it. The color of the object that can now be selected is changed from black to red. The selected object is painted yellow when a mouse pointer leaves its neighborhood.

Object remains selected until it is implicitly deselected. To deselect an object, click on the empty space in the drawing area or select another object.

To select multiple objects, hold the "Shift" key when selecting second, third and all following objects. You may move multiple objects by clicking and dragging any of currently selected objects. It is not necessary to hold the shift key to move multiple objects.

Note: Multiple selection will also apply to the set constraints.

You also may select object in the Objects tree. The same rules apply: to select 2 or more objects, select the first one and than use "Shift" to select second, third, and so on. Objects selected on the list are painted as selected on the drawing pane and vice versa.

Unlike objects, constraints cannot be selected on a sketch. The only way to select a constraint is to choose it from the Constraints tree (don't forget to switch to the appropriate tab). Multiple selection is not applicable to constraints. Selected constraint is highlighted with red on the sketch.


You may set constraints to the objects on your sketch. Later the constraints will be applied and sketch will change accordingly.

To set constraint you should select an object or objects upon which a constraint will be imposed and then choose an appropriate constraint tool. Constraint tools are grouped on the Constraints pane. LGS solver, which is responsible for constraints support, provides a rich set of constraint types; only most useful constrains have their icons on the pane. All supported constrains are available from the More constraints list, which is opened by choosing the ellipsis icon on the constraints pane.

The Constraints pane and More constraints list highlight only constraints that can be applied to a selected object or objects.

Constraints are depicted on the sketch. Most constraints are depicted with its icon and the lines leading to the objects to which constraints are applied. Please note that the objects position will not change immediately after constraints setting. Objects will be repositioned after the constraints are explicitly applied. Since all constraint-related computations are done on a server, it would be too slow to re-compute the model after setting every new constraint.

Removing constraints

To remove a constraint, select it in the Constraint tree and click the Remove (the red "x" button) tool.

Constraint properties

Distance and angle constraints have an associated numeric value. This value is also depicted on a sketch. Initial values for distances and angles are computed from the current positions of objects on the sketch and then can be set to an appropriate value. To do this, select a distance or angle constraint and choose the Properties (the "i" button) tool and edit value, then press OK to remember changes. Please note that positions of the constrained objects will not change, though the value in constraint sign will be changed. An object will be repositioned upon explicit application of the constraints.

Applying constraints

To recalculate positions of objects with respect to the imposed constraints, click on the Recalculate the model icon. Geometric data is sent to server for calculation and then updated positions of objects are received. You may choose to keep the updated position on the sketch or to rollback computations by the Undo icon and revert to the prior-to-computation positions.

If the imposed constraints are contradictory (inconsistent), you get a Failed message while the sketch remains unchanged. Try to remove the last imposed constraints until the model becomes consistent.

Constraint types


Fixation constraint "glues" the object to its current position. If you manually reposition the object on the sketch, it will remain in its position after computation.

Fixation constraint is applied to a single object of any type.


Coincidence constraint makes two objects of same type coincide or makes a point belong to line or circle.

Coincidence constraint takes 2 objects. It may be a pair of objects of the same type regardless of the type or Point and object of any type. You should note that a point is incident to a segment if it belongs to the line on which a segment lies, so this point may lie outside one of the segment endpoints.


Distance constraint sets the distance between two objects to some value, which may be set through the Object Properties tool. The distance set in pixels, small cell size on drawing pane is 10 pixels, and a big cell is equal to 5 small cells in each dimension.

When distance is created, its value is taken from sketch, rounded to integer.

Distance constraint may be set between 2 objects of any types. The constraint value depends on the types of objects.

For 2 points the distance is natural and intuitive. You should use the distance between segment endpoints to define the length of the segment.

For a point and a segment, it is a distance between point and the line on which segment lies. Distance between the line and the point is defined as the distance from the point to the closest point of the line. It is measured as the length of the segment perpendicular to the line, starting form the point and having its second endpoint on the line. In the application, distance between the point and the line is always positive regardless of a semi-plane to which the point belongs.

For 2 segments, distance constrains the parallelism of the segments' lines and natural distance between these 2 parallel lines.

For a point and a circle, distance is measured from the point to the closest point lying on the circle. Note that distance can be measured both from outside the circle and from inside it. In any case distance is positive.

For a line and a circle, distance is measured between the line and the closest line tangent to the circle and parallel to the line. The same rule applies both when line is completely outside the circle and when line has intersection with the circle.

For 2 circles, distance is measured between the closest points of circles.


Angle constraint fixes the value of the angle between lines of the segments. Values are measured in degrees. When an angle is created, its value is taken from a sketch, rounded to integer, later it can be changed with the Object Properties tool.

Angle constraint is applied to 2 objects of the Segment type.


Perpendicularity constraint makes 2 segments perpendicular. Perpendicularity has the same meaning as the Angle constraint with the value of 90 degrees.

Perpendicularity constraint is applied to 2 objects of the Segment type.


Tangency constraint makes a segment or a circle tangent to another circle.

Tangency constraint may be applied only to 2 objects. It may be Segment and Circle or a pair of Circles.


Parallelism makes 2 segments parallel, without fixing the distance between them.

Parallelism constraint is applied to 2 objects of the Segment type.


Concentricity constraint makes a point or a circle concentric to another circle (makes objects centers coincident). Incidence constraint on the circle centers has the same value.

Concentricity constraint is applied to 2 objects of the Point or Circle type.


Radius constraint fixes the radius value of the circle to which the constraint is applied. The radius value is expressed in the same points as the value for the Distance constraint.

Radius constraint is applied to a single Circle type object.

Angle OX

Angle OX constraint fixes the absolute angle between the segment line and the OX axis (horizontal) of the sketch coordinate system (which always coincides with the natural coordinate system of the screen). When the Angle OX is created, its value is taken from the sketch, rounded to integer, later it can be changed with the Object Properties tool.

Angle OX constraint is applied only to a single Segment type object.

Equal radii

Equal radii constraint makes 2 circles to have the same radii. If both circles have their radii set to different values, equal radii constraint will contradict to them. If only one radius is set or none radius is set, the constraint will work.

Equal radii constraint is applied to 2 objects of the Circle type.

Horizontality, Verticality

Horizontality and verticality constraint makes segment horizontal or vertical relatively to the sketch coordinate system (which always coincides with the natural coordinate system of the screen).

Horizontality and verticality constraints are applied only to a single object of the Segment type.

Horizontal, Vertical distance

Horizontal or vertical distance constrains the distance between objects measured along the OX (horizontal) or OY (vertical) axis of the sketch coordinate system. When the constraint is created, its value is taken from the sketch, rounded to integer, later it can be changed with the Object Properties tool.

Horizontal and vertical distance between points is the distance between projections of the points to corresponding coordinate axis.

Although horizontal and vertical distances are possible for a pair of objects of any type, they make sense only for a pair of Points. Please note that Horizontal and Vertical distance are depicted similarly to normal distance. You may check the type of constraint in the Constraints tree.


Symmetry makes 2 objects of same type symmetric with respect to the given line.

Symmetry can be applied to 3 objects of the Segment type, when the first one is used as a symmetry axis; or 2 points and a segment, where the segment is used to define the symmetry axis. Please note, that symmetry constraint is not depicted on the sketch. Refer to the Constraints tree to verify that the constraint is set.

   LEDAS & Partners News
  Copyright © 2002–2018 LEDAS Ltd