Features
-
Constraint support. The user may express dependencies between the various points of a drawing, such as the distance from one endpoint of a line segment to the other, the angle at vertex of a triangle, horizontal alignment of a point relatively to another point. (Mathematically speaking, these points are point variables since they may take different values (or positions) at different times.) Drawmetry automatically repositions any point variables so that the constraints are satisfied at all times. This is Drawmetry's most important feature.
-
Text and text anchoring. Text is entered into cells, which may be added to the drawing in any numbers at any place and with any dimensions. The contents of a cell may be either a text string, or a formula whose value is a number. For instance, a cell may contain a formula that expresses the distance between the two points, and is updated automatically if this distance changes. A cells may be anchored to points in the drawing, and is automatically repositioned if any of its anchor points moves so that it remains fixed with respect to its anchor points. A cell may be anchored to up to 3 points at the time. A cell may have to stretch into the shape of a parallelogram in order to stay fixed with respect to 3 anchor points, in which case the same transformation is applied to the text within the cell.
-
Tracing and path generation. A point may move either as the result of being dragged or as the result of a point of which it is a (direct or indirect) depended being dragged. As a point moves it may be traced, resulting in a in a curve, which Drawmetry represents as a sequence of cubic parametric curves (Bézier curves) also known as paths. Drawmetry may be found useful to some just for its capability of generating paths. Like cells, curves may be anchored.
-
SVG saved file format. The file format used to save a drawing created in Drawmetry is an extension of SVG. Files produced with Drawmetry may be rendered in web browsers such as Firefox, Opera, and Safari, and opened in other drawing tools such as Inkscape and Microsoft Visio. Inkscape may, for instance, be used to add effects that are currently not supported by Drawmetry. Note that other tools will ignore the constraints, and that the constraints will be lost if a drawing is saved by a tool other than Drawmetry. Currently, Drawmetry can only open files that it has created and no other tool has modified.
-
Export file formats. Drawings may be exported to PNG, JPEG or GIF formats.
-
Drag, drop and snap. Saved drawings may be dragged from a file browser and dropped into the document that the user is currently editing. Drawmetry also supports a snap feature whereby two points may be merged into one. Thus, after dropping a drawing into a document, it may be snapped into place. Constraints ensure that the inserted drawing is fitted into place in a desirable manner. Constraints and snap are what make drawings reusable; constraints define the flexibility of a drawing that allows it to be fitted into another drawing, whereas snap allows the drawing to be anchored into the larger context. Note: Drag and drop is disabled when running Drawmetry "in the sandbox", which means that Drawmetry has restricted access to the computer's resources. Use Include on the File Menu instead.
-
Various editing functions. Copy and paste not only copies the elements inside of a selection, but also the constraints within the selection. Constraints that reference an element (e.g., a point variable) outside of the selection are not copied. Approximately 100 last edits may be undone/redone. Zooming and panning include user specified zoom (e.g., user may specify 10000% zoom), "fit to view", and auto-centering of the drawing to the view.
-
Various formatting. Strokes may have user defined thickness, dash pattern, color. Curves and polygons may be filled with color with adjustable opacity, and cells may be formatted with a selection of fonts and font sizes and font colors. Cell formatting features include text wrapping, left, rigt, or center text adjustment, but not line breaks, number format (e.g., number of decimal places), selection of unit (e.g., cm, in, pt, px), background fill, border selection. Other formatting functions not yet supported are gradients and filters.
The Introduction page demonstrates some of the features listed above with an example.