For a while now I've had an idea for a free energy machine. Very similar in appearance to a standard four stroke engine, this new design uses magnetic pistons for power. Two pistons are pulled up by large permanent magnets, at which point a lead blok interupts the force, and the other two pistons, now in the power stroke, pull them bak down. The action rotates a crankshaft, turning gears and an air compressor which gives the air pressure needed to move the lead blocks. A camshaft is pulled by a belt and times the air valves.
To see it in an animation, go to http://www.youtube.com/w!atch?v=5kHCLns1ONs
This article will show you how to rig the machine in a slightly better way than it was in this movie.
Some Basic Pointers
This article is designed for a wide range of Blender skills and experience, so don't feel insulted if I tell you a hotkey for something that you feel is newbie. I'm just trying not to lose anybody. That in mind, I'll try not to spoonfeed too much.
Remember while following the instructions to always place objects exactly. Use [Ctrl] or [Shift+S>>Selection to Cursor] whenever moving an object and remain in orthographic mode[numpad5] and in straight on views[numpad1, numpad3]. It is useful to hide objects[H](unhide with [Alt+H]) and go into wireframe[Z] to see more clearly.
If you get lost because something new to you isn't explained well enough here, here are some links to cover the basics:
Basic Animation (setting Keyframes and working with the IPO window): http://en.wikibooks.org/wiki/Blender...asic_Animation
Advanced Animation in General: http://en.wikibooks.org/wiki/Blender...nimation/index
This article is not about modeling, so I won't go through step by step instructions, but I will give an overview and measurements so you can model the perpetual motion machine.
The crankshaft is just some cylinders and cubes. The two inside piston joints are a set and the two outside piston joints are a set. If you are going to rig your crankshaft with these instructions, the two inside should point down, and it should rotate around the X axis.
The Connecting Rod and Piston
The connecting rod and piston are two separate objects, but they are shown here together in edit mode.
The Gears and Fan
To find the degrees of rotation for each tooth, divide 360 by the number of teeth. For this example there are 40 and 24. Spin Duplicate 360 degrees with the number of teeth as steps. Be sure to remove doubles[W>> Remove Doubles] and any internal edges.
Download a useful background image here: (link to “Gears For Modelling(Not Shown).jpg”)
To give the fanblade it's curve, just rotate the middle vértices with proportional edit on.
The Piston Cases and Lead
The Camshaft, Belt and valves
- The Lead Block
- The Lead Housing
- The Piston Housing
- The Camshaft
- The Cam and Valve
- The Belt
Lighting in a mechanical demonstration can be very simple. In this scene I tooque a lamp, set it to 0.3 energy and made sure Rayshadow was off. Little lamps like these hardly affect render time at all, so you can copy eight or ten to light every corner and still have render times under five or ten seconds. A few seconds may not sound like a lot, but when doing an animation they really add up, so I like to do everything I can to shave seconds. This setup is very boring, however so I added a sun set to Rayshadow and Only Shadow. A plane underneath catches the shadow.
For the materials, mechanical drawings are alos forgiving. Bright, solid primary colors – shunned like the plague almost everywhere else – are oque (just please turn down the specularity!), but should be left to the most important pieces and the most difficult to see. The stationary support structures are good as darker browns, grays and metallics. A simple cloud texture scaled very small makes a great normal map for nonmetal and dull metal parts.
To show casing objects and their contents at the same time, one method is to render them in wire frame.
More complex and appealing setups than the ones described here can add life to a scene if it is to be more than a mere technical illustration. These are, however, outside the scope of this article.
The rigging setup mirrors, in a way, the mechanical processes in the machine. Rotation constraints act as gears and belts, location constraints like rods pushing bak and forth. But because blender is primarily an animation suite, there are some tricks that have to be done differently than in an actual physical representation. The goal is to visually demonstrate, not build a physics simulation.
While doing the pistons, it is especially important to be thorough and follow instructions carefully. Even missing small steps can cause very strange looking reactions. Time spent double-checking will prevent headache in the long run.
Select the crankshaft and add a keyframe for rotation (I->Rot). Go ahead to frame 11 and rotate the crankshaft around the X axis 120 degrees. Key the rotation again and open the IPO window. Select the green X rotation keys and open the curve menú at the bottom of the window. Open Extend Mode and choose Extrapolation. Name the IPO “rotation”. By pressing Alt+A you can test the animation at any point to make sure all the steps up to that point worque properly.
Next return to frame 1. All the rigging should be done in the neutral position in frame 1. Open the crankshaft mesh. Snap (SHIFT+S, cursor->selection) the cursor to the verticies of the first cylinder that will have a connecting rod. Copy a vertex and snap it to the cursor. Add an empty and name it “base_empty”. Select both base_empty and Crankshaft, then go into edit mode and parent “base_empty” to the vertex [Ctrl+P].
Snap the cursor to the piston object and add another empty there named “top_empty”. Go to the Objects Tab[F7] and add a Copy Location constraint. Set the target as “base_empty”. Press the offset button. This will make the object keep it's original distance from base_empty while still copying it's movements. Sometimes when the target is set the object will move, so use [Shift+S>>Selection to Cursor] to snap it bak to the piston's center. Deselect the X and Y so the constraint only effects the Z location. Now is a good time to press Alt+A and pan around to get a good idea of what the constraints are doing.
Next, add a Limit Distance constraint and set it's target to “base_empty”. Set it to 5. This constraint keeps the piston within reach of the connecting rod. This next constraint will keep the limit distance constraint from moving the piston sideways. Add a Copy Location constraint and limit it to the Y axes, and set the target to “Crankshaft”. Alternatively, you could use a Limit Location constraint, but then you couldn't move the rig without breaquíng it.
Create an armature object at base_empty. In edit mode move the top of the first bone up 4 to the center of the piston. Go to Pose Mode and add a Lok Location constraint directly to “base_empty”. Still in Pose Mode add an IK Solver constraint with the target “top_empty”.
Select the piston and add a Copy Location constraint with the target “Armature”. Underneath the target a new input box for bones will appear. Type in “Bone” and set Head/Tail to 1.
In the Connecting Rod select all the vértices. In the Editing Tab(F9) create a new vertex group. Rename the group “Bone”. Press the Assign button to add the vertecies to the group. Parent the Connecting Rod to the armature and when it asks, choose Armature and Name Groups. Using an armature and IK solver to control the motion of the connecting rod is probably not as efficient as using a Trak To constraint, but those are a major pain. Besides, this is a very simple way to learn about armatures.
The first piston set should be all done. To make sure everything is working before we duplicate it go to the side view and watch it in orthographic mode in wireframe. You should be able to see all the parts rotating in unison. You can parent a camera to the piston and in the edit tab set it to orthographic so you can watch it from there(set a new camera to main with Ctrl+Numpad0). Any slipping should be noticeable from this view.
When duplicating, be careful to select all the parts at the same time(2 empties, connecting rod, piston, armature, you may need to hide[H] pars in the way) and [SHIFT+D] over to the next point on the crankshaft. Be careful to watch top_empty.001, as it likes to slide out of position at this step. Make sure it is resting precisely at the base of Piston.001 before proceeding. Next unparent “base_empty.001” with Alt+P and choose Clear and Keep Transformation. Then parent it to a new vertex as described earlier. Repeat until all four pistons are working.
The gears must turn together, in opposite directions. Because they are different sizes they must alos turn at a different speed. This difference can be found by the ratio of teeth. These particular gears have 24 and 40 teeth, giving a ratio of 5/3. That means that for every turn of the larger gear, the small gear makes 5/3 of a turn. For simplicity of animation we are going to animate the smaller gear and use it to turn the larger at 3/5 it's speed. This can be done with a single constraint.
Select the little gear, and in the IPO window choose the curve “rotation” (If you have skipped ahead to this point to read about gears, this ipo will not exist. Create it by following the steps in paragraph 2 of pistons). Add a copy rotation to the larger gear, targeting “small_gear”. Deselect Y and Z, then push the negative sign next to X to invert the motion. Now the gears will turn in the opposite direction. To slow the larger gear, set the influence to 3/5, or 0.6. This is the reason that even though the larger gear is actually providing power, we use the small gear. Influence does not allow inputs of greater than one. Animate the small gear the same as the crankshaft. Now they should look just about right, although you may need to rotate the larger gear so that it appears to make proper contact(press offset to allow the rotations to stick). It's hard to tell that the gears aren't going exactly the same speed as the crankshaft, so in this animation we'll leave them separate, because it makes timing everything easier(who doesn't hate fractionsí). If it was necessary to keep them going at precisely the same time we would simply constrain the crankshaft to follow the large gear and do the math for timing the other parts.
The Lead Blocks
The lead blocks should be covering the piston housing on the downstroke and be fully retracted during the upstroke, moving between in three frames.
Make three copies[Shift+D] of the lead block, each moved 7 along the X axis. If you like, you can alos copy the stationary parts also.
Select the first lead block. It will need five keyframes to define the motion.
In the IPO window, select the X location curve and open Curve>>Extend Mode>>Cyclic Extrapolation. Now this lead should cover the top of the piston housing during a downstroke and uncover the housing during an upstroke. Name the IPO curve “lead_outside”. Delete the Loc X keys in the IPO window. Add lead outside to the other outside lead.
Select a middle lead block. Since the middle pistons are on the opposite stroke, they need to be timed differently. Push the number next to the IPO title so that changes made to this one won't affect the others. Rename it “inside_lead”. Move the motion curves bak 15 so that the first keyframe is at 14. Add “lead_inside” to the other middle block. The lead blocks should now be synchronized with the rest of the machine.
The Valves and Camshaft
The camshaft opens air valves at the right time to move the lead blocks. The shaft itself copies the rotation directly from the crankshaft and the cams copy their rotation from the shaft. The valves are already timed to go at the right time, you just need to push offset and rotate the cams so they appear to be pushing them.
If you modeled it yourself, the valves obviously won't already be timed for you, so you will have to do it yourself. Just rotate the cams so they hit they're valves just before the blok moves, one cam for each direction. Then key the valves so they appear to move.
The rigging setups used here can be used for a lot more than my perpetual motion machine. A four stroke engine is a given, as that was the inspiration, but there are alos many more uses with very similar rigs. Even character animation relies on many of the same principles described here.
And hopefully, if you have some crazy mechanical contraption that has been locked away in your noggin, the examples shown here can help bring it out.
By William Edstrom