simple rig for a motorized damper !

Don’t know very much about rigging so need some help here.

trying to make a simple rig for damper with motor

I would like to do it if possible with only empties and constraint no armature

see image here

can someone help with this simple rig

I added an empty to control the damper rotation to close or open it!

thanks
happy bl

Attachments


Hi my friend, I am rushed for time today, but there are some ideas in this file for how to rig with constraints and empties instead of bones, or as well as bones, try it and see how you get on I may be able to do something more specific in the next day or so. To be honest it is easier with bones…

Cheers, Clock.

cylinder-problem-ver3.blend (1.84 MB)

it might be interesting afterward to see how to do it with bones
but then have to use pose mode !

I wanted something to change rotation of damper in viewport with empty
using the transform constraint
I think it should be possible

be able to copy all ob to another location and simply change the rotation at will with empty

but have not played with constraints in years LOL

will check sample and see if I can understand it

thanks
happy bl

this is using pistons examples

can you elaborate a little

my example is only with a simple damper doing a rotation between let say 0 and max 90 degrees or a little bit less
then simply transform empty location into a rotation angle using transform constraint should do the work I hope
but still trying to figure out this complicated constraint !

thanks
happy bl

this is using pistons examples

can you elaborate a little

my example is only with a simple damper doing a rotation between let say 0 and max 90 degrees or a little bit less
then simply transform empty location into a rotation angle using transform constraint should do the work I hope
but still trying to figure out this complicated constraint !

where do you specify the source and destination name ?
I see only one target = source name
but where is the destination name ?

thanks
happy bl

found this simple example to start with
I can see like 3 constraints
not certain how this work
have to study it a little

here is basic file for dampers

thanks
happy bl

Attachments

Trans_Cstr.blend (435 KB)damper-motorize2.blend (2.28 MB)

ok got the transform to start working

see file here move arrow up and down

now the rest of the things to add and follow it !

happy bl

Attachments

damper-motorize3.blend (2.29 MB)

Hi Ricky, I’ll take a look at your file tomorrow - been busy rigging steam engine under carriages for Steve H…

Cheers, Clock.

This is something that is definately easier to do using Drivers…

Well… I take that back… we could do this with just constraints…

OKay first I like your Transformation constraint on Cube004 target linked with empty e2…

however I would use a copy rotation constraint on all the other slats of the damper to copy Cube004…
the ‘copy’ constraints are less computationally intense that the transformation constraint is…

when you use the copy rotation constraints uncheck the unused axis… in this case we only need to copy the local ‘X’ axis…

now I"m going to use a copy location constraint on the Plane.003… linking it also to object e2…

again… uncheck the ‘X’ and ‘Y’ axis in the constraint as we only want to use the ‘Z’ axis…
further… we need to set the ‘space:’ settings to ‘local’ in both text fields of the constraint…
check the box… “offset” for the Plane.003 object to move in offset to the e2 object…

Finally your empty seems to be Rotated and Scaled … (not sure why you would do that)…
use Alt+R and Alt+S to reset it back to normal…
if you want your Empty larger or bigger use the settings in the Attributes Panel… Under the Object Data (the little propeller Icon) and change the scale there…

finally… place a “limit Location” constraint to the Plane.003 object so that it does not move out of mechanical range of the damper connections…

the two limit numbers I came up with were… Maximum Z = 1m 19.6cm and Minimum Z = 43cm
just me eyeballin it…

However… Doing it this way there is a definite disconnect between how the ‘copy location’ constraint and the ‘transformation’ constraint interpret the distance ratios of movement in the two constraints…

Thus… again… I say… the easiest way to do one these kind of things is to go ahead and do with drivers…

Okay … I worked on this a bit and got it to work without using a Driver on it…

here’s the file…

damper-motorize3_NorvMod002.blend (7.28 MB)

Note that I copied your Circle Object and made pivot object out if… Curve circles work great for this…

also I modified your two objects ‘Cube004’ and ‘Plane.003’

note they both have a edge drawin inside their holes… to use to line up for a perfect pivot…

these are easy to make in edit mode… this only works however if your circle has a even number of segments …
which your circles did coming in at a nice 32 divisions…
Thus I selected two points that were exactly opposite each other and hit ‘F’ to create an edge…
I then hit ‘W’ to bring up the ‘Specials’ menu… then hit ‘S’ to select subdivide…
that gives us a perfect point right in the center of that circle…
I usally like to connect another couple of lines to that center point to form a cross or cross hairs… to make it easier to see and more obvious what that line is…

Now in edit mode I select that center point and hit Shift+S > then Cursor to Selected… Then I can Tab out into Object mode and snap an object to that center point to line it perfectly to that holes center point…

Remember that edges all by themselves don’t render out… even if they did… usally an alignment aid like this will be covered up inside the objects they are a part of…

Okay… next… I align the new ‘Pivot’ object to the hole (that you just set the cursor to) on the ‘Cube004’ object… and Parent it to Cube004… Next I do the same crosshairs operation on the ‘Plane.003’ object…
once you do this…
do a ‘Cursor to Selected’ on that new crosshair…
Now Tab back out to Object mode… and goto the bottom tool bar > Object > Transform > select ‘Origin to 3D cursor’

Now Plane.003 pivots perfectly around it’s top hole…

now select the Pivot Object… and do a Shift+S > Cursor to Selected… > then select Plane.003 > and do a Shift+S > ‘Selection to Cursor’…

now parent the Plane.003 to the Pivot object…

Using the same setup as you had before with the Transform constraint on the Cube004 object…
you can now place a Copy Rotation constraint on the ‘X’ axis on the Pivot Object… then set it to ‘invert’… set ‘influence’ at .5

Note that I don’t have any constraints so far on the Plane.003 object… (no limit location or rotation stuff) (not yet anywayz)…

Notice that on all your objects that I was messing with I did a ‘Ctrl+A’ > Apply > Rotation and Scale…
not having everything ‘Applied’ can really mess up a bunch of stuff when you start animating…

Here’s one done with bones, hope this helps you, just move the arrow object to see it working.

(I needed to do something to take my mind off things…)

damper-motorize3.blend (2.3 MB)

Clock.

I know there are more then one way to do it
use Drivers or using Armature or even anim frames or shapekeys

but I wanted with min basic using constraints and empties may be as a challenge
there are a lot of things that can be done that way like it was before in 2.49 for instance.

@ norman in your file how do you make it works ?

and still need to connect the other 2 members at the base for the motor
might be possible with other constraints and empties.

the main idea was to get it working in the viewport by just moving an empty
and not use any anim or pose mode.

mind you using control bone in viewport can do that too like Clockmender did

constraints are very powerful but need to practice a lot i guess and I would like to learn more about.

I never really learn blender for anim or rigging
just do 3D models which is amazing in blender using cycles and it is free LOL

thanks guys
happy bl

@ norman in your file how do you make it works ?

Oh… I thought you were using your empty e2… which I made to be represented by a box… move it up and down on the z axis… and the dampers will open and close…

the main idea was to get it working in the viewport by just moving an empty
and not use any anim or pose mode.

I used all constraints… no pose mode and no no action constraint or anything like that…

your correct it is absolutely a good thing to learn how to just Rigg using constraints…
this gives a much higher level of understanding of mechanical aspects of movement…
and also will help you in Rigging Mechanical Objects… even if you use bones…
learning to understand Rigging with Objects, Parenting, and Constraints is a very good information to know…

This is do-able but complex with constraints, particularly if the length of the actuating crank on the motor is not the same as the levers on the damper plates (bones “actuator-crank” and “Slat…”, which aren’t the same length on my file to you) then you need to add a Transform to rotate the actuator crank the right amount for a rotation of the slat. Also you will run into Cyclic dependency issues with trying to get the blue link piece to behave correctly (by getting it to point to the actuator crank using a Track To or Damped Track constraint) - it needs more than one empty at the joint to the actuator arm to avoid this, see example piston in the first file I sent you. To be honest - IK constraints on bones does this simply when you have an unequal “parallelogram” setup like this. I can easily get the slats and the slat connecting rod to work with Transform, Limit Rotation and Copy Rotation constraints, but the actuator crank and the blue slotted connector are more trouble than it’s worth to do with parenting, constraints, etc. IMHO.

The other advantage with an armature is that you keep all the actions for the animation in one object rather than spreading them around, I am told that this is better/more efficient Blender practice.

Here’s my file modded to use object constraints on a second copy - I haven’t done the motor bits, it would take me too long to work it all out… I haven’t looked at Novman’s file, hope he isn’t offended by my interventions.

damper-motorize3.blend (2.36 MB)

Sorry to be unhelpful here with what you really want to do, but I hope this helps you in some way.

Cheers, Clock.

OK so here is the challenge for everybody :eek: in Blenderland, first a picture:


Here is the blend file:

challenge.blend (698 KB)

To see the meshes moving just grab the arrow object on the right (it is already selected) and move it in the Z axis (it is constrained to that anyway) and observe the animation.

The Challenge:

Make a copy of all the meshes from level 1 (yes - I know they are really simple, that’s not the point of the exercise) onto a different layer and remove their parenting. This is the easy part, so you can take as long as you like here.

Rig the whole lot so they move exactly as they do now in either: The time it takes you, or your partner/husband/boyfriend for the ladies, to make love, or the time it took me to rig them, i.e. just under 23 minutes, whichever is the quickest - so for some that’s going to be about 32 seconds… :smiley:

The rules:

  1. You may not use an Armature with any IK constraints in it.

  2. You may use an armature with any other type of constraint, or not an armature at all.

  3. There is no rule 3.

  4. You may use any other techniques you chose - you must post the blend file here for scrutiny along with the time taken and no “porkies”!.

Seriously, though this really explains why IK is such a powerful, quick and simple tool :eek: for building complex lever/crank/link systems like the one Ricky needs here.

Cheers, Clock. :slight_smile:

NB “Porkies” = Cockney rhyming slang Porkies = Pork-pies = lies…

Clock, you got a great sense of humor - oh and I fold on that challenge…

I believe the answer is drivers. But it takes some fiddling to know what to multiply the input variable value by.

There’s also an alternate solution, but it means building an action and setting up action constraints on a rig. Works surprisingly well for repeating motions or sequential sets of motions.

Those two are the best solutions when IK’s spaz out, have too much overhead, or are too tricky for whatever reason when it comes to avoiding cyclic dependencies.

I haven’t looked at Novman’s file, hope he isn’t offended by my interventions.

Sorry I have given you the impression I would get offended…
I’ve have found with my years of working with 3Dsoftwares… especially when it comes to Rigging… trying to see all the options and what and why any certain way may be better than another is always a good thing… some times people take my statements as challenges to their own… they are not… they are only opinions that I often try to back up with some kind of reasoning…

in an effort to help the other guy solve his problem at hand…

by the way…

The other advantage with an armature is that you keep all the actions for the animation in one object rather than spreading them around, I am told that this is better/more efficient Blender practice.

is absolutely a correct statement … if you get into working with other Riggers and modelers on a big multi- person project Bones are almost the only way to go… simply because you will be using the ‘linking’ system in blender to move stuff from file to file… and using the “make proxy” to open up the Rigging in that other file… that is when you will discover that constraints in on the “object” level will not be transferring over so easily… some times they will sometimes they won’t and it can get very very complex to work out what is not working and what is not…

Armatures are almost always the way to go…

however… Armatures can be an extra complication to people new to Rigging so It’s almost always a better Idea to learn to Rigg a Little bit first just using objects, Parenting and constraints before you dive off into Armatures…

Clock does a great job on all the Rigging stuff he does… I have no problems with any of the stuff I have seen him present…

but there are alternatives…

more than one way to skin a cat…
and the more of those ways you know…
the better off you are…
the quickest and easiest way won’t always serve you well…

Many opinions and Ideas make us all more intelligent…
Sharing is the key…
that’s what forums are for…

It’s my sincere hope to get as many people up to speed in the Art of 3D and especially Rigging such they can think up many new and better ways of doing things…

a great example of this the new Bendy Bones…

@Novman - I know you have put a lot of effort into doing this the way Ricky wanted, I didn’t want you to be upset because I suggested another method. I didn’t get the impression you get offended, just didn’t want to offend you!

Cheers, Clock.

@Novman - I know you have put a lot of effort into doing this the way Ricky wanted, I didn’t want you to be upset because I suggested another method. I didn’t get the impression you get offended, just didn’t want to offend you!

Thanks …

I think what you should consider is that Forums are here for a reason…
if some one gets offended by you posting a different way…
Remind them that there is more than one way to skin a cat…
and that your way does… in fact work… and that your giving more options to the original poster…
and that he/she is the one that should have the freedom to choose which way they want to use… or need to use… or must use…

when it comes to problem solving…
rarely is there ever one ‘right’ way …
There only a the ‘best’ way for the task at hand…
but even that way will have flaws that someone has yet to address…

all the arguments about ‘how’ to accomplish it …
well really is a waste of time…
and you get into selfish pecking order BullSuds…

don’t listen to the Art for Art sake people or even the Commuism vs Captialism crap that people will try to site…
if your doing work for a customer… that customer is your Dictator… if they like it… your done… get paid… move to the next project and do better on that one… don’t waste your precious time on other people’s opinions…

If your doing a work for yourself… sure take everyones advise… but… your the Dictator… (the one to please) so in the end you choose which advise your going to take and which your not…

There is only one Dictator we all must please…
and that is Mother Nature… (the Universe)
and if you have pleased her…
then you’ve done your job…

having said all this… there still is no reason to not play ‘nice’ with others…
the Road to Intelligence for us all lies along the Road of Reason… Debate… Discourse… the exchange of ideas…

the Road blocks on that road are Screaming Noise making Nonsensical Hair Pulling Back Flipping Flip Flopping Troll baiting Back Biters…
(I probably left out a few choice words in that description) … but I think you know who I’m talking about when the show up…

Post your stuff… and give reason why you like using your method…
others will post their stuff… and do the same…
if you see a flaw in a particular method… bring it up… so that the Thread starter will benefit from your knowledge…
Every time you post… you risk having what you have posted critiqued…
and that’s the way it should be…
except some only Crit to scratch their Troll bug…
ignore them if they don’t make any since…
but if they do make some since… study what they have said to see if it is valid…
you have now benefited from their information… wither they wanted you too or not…

So finally, I will tell you this… and I learned this a long time ago from a very wise Teacher…
If you can’t teach what you know too others… you definitely don’t understand what your doing enough…

So keep on Teaching others what you know Clock…
because you will only get smarter by doing it…
and you will make someone else smarter than you eventually and they will start to teach you more stuff… and the cycle will benefit us all…

and don’t let me… or anybody else stop you from doing that…