A typo in my post a moment ago made me wonder if I should just add a letter to the word “linkage” and use that as the new name of the program. “Linkjage” has a certain ring to it.
Oscillating input is something that I have thought about a few times recently. It would be a rotating input that moved back and forth between two angles instead of going in circles. Of course it is completely unnecessary because the same thing can be accomplished with a rotating input connected to some other link that then oscillates. But the angle cannot be easily controlled and it adds complexity to the mechanism.
Oscillating Mechanism
The video above shows a simple oscillating mechanism. The larger link rocks back and forth. But what if the person who designed this mechanism wasn’t going to use a motor? They might plan for hand operated action and the oscillations would be within the valid range of movement that would be done by hand. Maybe physical limits would be built in to the mechanism.
I would need to special way to show the oscillating input anchor. In addition to controlling the range of motion using the properties dialog box, having some sort of grab handles would also be nice. In fact, there are a few places in the program where using grab handles to change some property would be nice and I need to work on code to manage the handle for that as well as have a way to show and hide the handles at the right time. Maybe they need to be displayed for a element only when it is selected. Maybe they should always be shown like the throw control knob on the actuator.
Possible Oscillating Input Display
Above is a picture showing one idea for the oscillating input representation. It shows the range of movement in a crude manner by filling in the area between the two circles in the area of movement. This still cannot be used to drag the range of motion but would be a reasonable display mechanism. The shaded in area would not move in the same way that the small line moves in a rotating input. One problem with this is that the range of motion has nothing to do with the links that are part of the input anchor. They can be moved in any direction and changed in size and shape, and the range of motion indicator would not change.
There are many ways to program this and to display the information but the ultimate usefulness of this is still a question. How many people will create hand-operated mechanisms using this tool?
[Addendum]
I just realized that someone building a hand-operated mechanism might want to just make the rotating input have manual control and then use the sliding knob during simulation to control the movement by hand. That would mimic the real world action but isn’t quite so good for generating a video of the movement happening over and over.