Simulation a machine manipulation Objects – one after the other.


I have a task and I do not know if there is a simple solution in blender for doing this:
I have to make a simulation of a machine – an industrial process. The machine is manipulation objects – one after the other.

I can very easily simulate this action in Blender by using a simple rig und a mesh. No problem so far – as long as it is only ONE mesh – I want to call it “mother object”.

Here is my problem:

The machine has to do this action to many hundreds of objects passing through – simply one after the other, while the camera is following the process.
Is there a simply way to multiply this action automatically - maybe in some kind multiply in time or some particle system. So that all the same thing is happening to copies of the “mother object” but simply one after the other?

(Of course I can make many copys of the “mother object” and manipulate there timing manually. But I try to avoid this. Because if I am in the need to make any change on the “mother objects” action, I have to do all the copies again.)

I hope my explanation was clear enough (sorry for my bad English)
Thanks for any help!

Let us imagine that you might want to create a conveyor belt on which widgets are placed. This conveyor belt moves the widgets past a robot/machine which picks up each widget in turn, performs some action on the widget, like screwing in screws, or grinding some metal. Then the robot machine puts the widget back down on the conveyor and waits for the next widget, when it performs the exact same sequence of actions all over again.

If this is what you mean, then there is a simple solution. You animate the actions once, and set the IPO’s to ‘cyclic’. They will then repeat ad infinitum.

If you need clarification or a simple example blend file, let me know.

Thanks for this first Imput. You got the idea. But it is not exactly my problem. To illustrate what I need to do, I uploaded a shot demo-Video.

In this sample I have manually done to three objects what I have to do to hundreds (sorry, there is a texture overlapping, but it is only a quickly done example):
Looping the machine is not the problem. The problem is the product passing through and being manipulated.
I try to illustrate it in the video: In this example I copied the mesh, I copied the armature and I changed the timing of each armature action so the objects doing the same one after the other. There is no problem applying this to three objects. But finally there have to be a stream of hundreds of objects – one following each other.
Is there a way to automate this duplication with a time offset?

I just guess, there might be a solution using scripts? But this is far above my knowledge… If anyone can write a script for this task, I can pay for this service!

I would like to see that in action, beefcalf. Because even if you set an IPO to cyclic, you are still going to have to offset the IPO in time to account for the delay in processing along the conveyor belt. This means a unique IPO for each object which, I think, simoncam is trying to avoid.

I was thinking more along the lines of having a scriptlink on the framechange event. Then when a specific frame is reached, assign an IPO to the specific conveyor belt object. So the same IPO (a single IPO) could be used for every object. It would require code writing, however.

I put together a quick demonstration of the script link concept. If you edit the animated box, it will affect all other objects on the belt.


ras_conveyor_belt_scriptlink.blend (214 KB)

You could try changing the TimeOffset for the copies, i.e. 20 frames for the first copy, 40 frames for the second etc. This would be tedious to do manually but there was a short script floating around to adjust the offset on selected objects.

Thanks for the sugestions. And specialy for that sample project! I try to understand what I see here! you are truly a professional! I have to find our if I can do what I need to do based on this example. In the moment I am not shure.
Maybe you can have a look:
I have made a short sample (manualy!!! with three objects) so you can see what I have to do to hundrets.

In my case the Objects are not only moving. They are manipulated one after the other while they are passing through the machine. in my sample I have done this with an armature. can this be done in this way?

If all aspects of the action are indeed cyclic, including lighting and camera moves, then simply rendering a single cycle and then using either the VSE or the Compositor to to create a multi-cycle rendering seems to me easier than jiggering with IPOs and the like.

If, instead, simoncam is actually talking about having a mesh edit be applied to many objects simultaneously so that he can easily change the look of the manipulated object and its “clones,” then having all the objects share the same Mesh property would be one approach.

This is what I had in mind… ch-ch-check it out.


Conveyor Machine.blend (304 KB)

i was reading this, its very informative, but how did you make the blocks change color?

IPO’s can be used to control many different properties, not just location/rotation/scale.

As the mechanical arm is dipping the widget into the paint bucket, select the widget and hold your mouse over the buttons window, where the material properties panes are visible, including the RGB sliders. Hit the I-key (to insert keyframe). This keyframe, because it is over the materials window, will pop up a menu which contains material specific keys. Select RGB. Move forward 10 or so frames, until the Widget is below the paint surface and then adjust the RGB values to get the color you want. Then hit the I-key again. Boom.

Nice demo beefcalf!

It seemed to break when I extended the frame count. How would I make it last longer?

The point of the demo was that you could perform the cyclic action in a small number of frames (in this case, 90) then it would keep repeating. If you need the animation to loop at the end, as long as you keep the total frame count to be a multiple of 90 + 1 (i.e. 181, 271, 901, etc) everything should work fine. Other objects added to the scene can have their own independent IPO-based animations which do NOT have to be cyclic nor align on the 90 + 1 frame boundary. Hope this makes sense…

BTW… The animation should most probably have used the armature/bone animation system, but I am not extremely proficient at that yet.

EDIT: just checked the blend file… the IPOs of the machine arm were NOT set to cyclic. That is why it breaks past 91 frames… I will fix and repost the blend file later this afternoon.

I am posting the conveyor machine blend file again, this time with the fixes to allow the frame count to be extended beyond 90. To do this, I had to make the IPOs for the robot arm cyclic and perform a few other tweaks.

While I was at it, I made the paint color red to emphasize the painting operation.

To show the mix of 90 frame cyclic and longer, non-cyclic IPO’s, I also animated the camera across 850 or so frames.

@Atom: btw, your concern about delaying the IPO for each widget on the conveyor was sidestepped by making the object origin for each of the conveyor-belt widgets identical.


Conveyor Machine.blend (325 KB)

Thanks for all thsi Ideas!
I want to inform you, that Gwenael is working right now on a extention to his “Big Numbers Toolkit” witch will adress this topic!


I just realized, that my answers and comments I have given already yesterday, are not visible here - I dont know why?!?! I am very sorry!

Great example, beefcalf. Much simpler to manage than my code solution.

Hey, thanks Atom… I’m still looking at your code example, though. There are always little tricks and techniques we can pick up from other artists, and I expect I’ll find a few in yours…