Testing Drawing Features

I am planning on a big feature addition to the Linkage program. The new drawing feature will allow a user to draw points, lines, and polygons, as non-functioning elements in their mechanism. These are essentially drawing elements that have no effect on the simulated mechanism and have a special appearance.

The picture above shows some examples of what these might look like. I have also added some check boxes in the View panel to show the drawing elements or the mechanism elements as layers. I will probably remove the word layer since it doesn’t add anything to the interface.

I have not added a way to add elements to the drawing layer. I added these by saving a mechanism then editing the .linkage2 file to change the layers.

The code is designed to eventually let the user have more than just a single mechanism layer.

Some things to do next and some other ideas:

Allow the user the ability to pick which layer they want to edit. This will limit all selection actions to the selected layer. This is separate from which layers can be seen.
Show dimensions of the drawing layer differently from how they are displayed for the mechanism layer. Perhaps I can use the drawing lines as the dimension lines directly instead of showing dimension lines separately.
Add the ability to add drawing circles around drawing points and also around mechanism connectors.
Draw all drawing elements first so that they appear “under” the mechanism.
Not fill in the drawing links. They should just look like polygons but not be filled.
Add items to the element insert menu (and popup element gallery) for inserting directly to the drawing layer.
Add properties dialog boxes that apply only to drawing elements. This would exclude the ability to make a solid drawing link or change the line size. This would also exclude the ability to make a connector an anchor. In fact, the drawing elements need to be called points, lines, and polygons, to better describe their intended function.

There are other things to be done but this is an experiment right now. It will need some testing and some feature refinements before it is releasable. I also don’t want to change the ribbon bar user interface too much because those types of changes can make for unhappy users.