Wire Parameter not working

Wire Parameter not working

daniel
Participant Participant
4,525 Views
5 Replies
Message 1 of 6

Wire Parameter not working

daniel
Participant
Participant

I should start by saying that I am fairly new to 3ds Max - but not Autodesk products.  Sorry for the length of this post, I have been trying to solve this for a while, and wanted to explain what I've tried (in hopes that it might help figure out whats wrong).

 

I cannot seem to figure out how to animate the system shown in the image I attached.  This is part of a much much larger mechanical assembly.  To protect the intellectual property - and to simplify my question - I've removed as much as possible from the machine down to the things I can't get to play nicely with each other.  The machine was also imported from another program - if that matters.  I have tried a multitude of ways (and will explain the problem with each way I've attempted):

 

1)  Initially, I had the bronze part as part of a larger group.  When I tried wire parameters (z rotation to z rotation) from the ring to the group, it didn't work.  Scouring the forum, I read somewhere that groups don't work with wire parameters.  So I moved on.

 

2)  Ungrouped everything then linked all of the parts to the bronze part.  I then tried just connecting the gear to the bronze piece.  This didn't work either and occasionally, seemingly randomly, would rotate the bronze assembly on the x, y, or z axis (meaning, as soon as I'm in the wire parameters dialogue box, and click connect - after setting things up - the bronze assembly would immediately rotate to a new position but wouldn't rotate when I rotated the ring gear).  I was only working on one bronze assembly trying to figure out how to get one to work.  

 

3)  In an attempt to really simplify everything, I unlinked it all, ungrouped it all, and just tried to wire the ring gear to a bronze part.  Similarly, it would rotate at what seemed like random (obviously, it's probably not random, but I don't know whats causing it).  When I tried rotating the ring gear, the bronze assembly didn't rotate.

 

4)  I created a new box in the scene.  When I wired the box to the ring gear, it worked!  When I wired the box to a single box, it worked!  When I would wire the box to the ring and a single bronze part, they would rotate as intended!  So far so good.  The problem was, as I added additional parts wired to the box, they would start to rotate out of initial position (as soon as I connected them).  But I ran a few experiments on this.  The first is, the box can control the ring gear, but the ring gear cannot control the box - no matter what I did.  The same for the bronze parts (the box can control them, but not the other way around).  

 

4a)  If I create two new shapes in this scene (like a box and a sphere), I can get them to work flawlessly, so I thought perhaps it has something to do with the properties of the imported shapes so I converted the newly created shapes to "editable poly" and was still able to get it to work.  I then tried converting the ring gear and bronze part to an editable poly - went through and compared all of the properties between the newly created shapes and they seemed identical.  And it still wouldn't work.  

 

Needless to say I am beyond stumped.  I have scoured the net trying to find someone who has posted a similar issue, but not knowing the program that way, I may have been using the wrong search terms.  

 

Sorry again for the length.  

 

Thanks!

 

Daniel

0 Likes
Accepted solutions (1)
4,526 Views
5 Replies
Replies (5)
Message 2 of 6

ads_royje
Alumni
Alumni

Hi,

 

this seems odd indeed.

According to what you are describing, wire parameters seems to work on max object.

Wire parameters affects controllers.

Some imported objects may inherit controllers from their origin software, I'd first look at their controllers, just to see if they are the default max ones.

This 'may' be the source of the issue, not sure without the scene.

In Motion Panel > Parameters

with one of your object selected, it should look like this :

Transform Pos/Rot/Scale

> Position xyz

> Euler xyx

> bezier scale

DefaultMaxController.jpg

 

 

I would be tempted to suggest to do a 'rigging' system instead of wiring the object themselves.

Creating point helpers for all your gears, one for the central one and one for each of your pieces; then wire parameters the rotations of the helpers.

Linking your imported object to their corresponding helpers. In that way you can also orient your imported object with more ease.

0 Likes
Message 3 of 6

daniel
Participant
Participant

Thanks for the quick response.  Each of the parts match what you are showing.  

 

I can extract just these parts and send them on if possible?  The total model is around 620 MB but this portion is around 6 MB.

 

It must be something inherited though.  As another test, I just connected bronze part on the far left (the driver gear) to the ring gear.  The ring gear turns when I do that, but then connecting the ring gear to the next bronze part causes the odd initial rotation.  I was trying to follow the technical flow of movement (left most drive the ring gear, that then turns the other 5 parts).  When connecting the driver gear to the ring gear though, the ring gear also rotates immediately a few degrees (or a few hundred, it's hard to tell).  

 

Anyway, thank you again for your help.  If there is a way I can share this with you to take a look, I'd greatly appreciate it.

 

Daniel

0 Likes
Message 4 of 6

ads_royje
Alumni
Alumni

Sure thing! 🙂

 

I've send you a private message so you can your file privately.

 

I'll see if I can figure out what can be not working well and try as I can to help you go forward with your task!

 

🙂 

0 Likes
Message 5 of 6

ads_royje
Alumni
Alumni
Accepted solution

Thank you for your file! 🙂

 

That did help a lot understand the issue.

 

When working with Wire Parameters, it is important to look at the Local Axis, in Max this may be a little confusing as the viewport gizmo can be set to align differently. By default it is set to "view". So when trying to use Wire parameters, trying to wire them using the 'view' axis will not give the expected results 😞

 

In the UI, just at the right of the Transform buttons,

LocalAxis.jpg

 

Using the way for the gizmo will help figure out what is the axis you need to wire.

In the file, 1 object is actually causing issue, because it has its Y axis pointing downwards. Although it 'should not' happen, some issues with Euler will cause gimbal locking, and can affect how wire parameters works.

 

There are many different solutions to this type of issues. The most common would be to build a 'rig' system with Helpers, as you can control orientation as you need. Then you can link the meshes to the helpers. The advantage with this technique is that you have full control on the mesh itself, so you can orient it at will.

I've attached a video (Gears.zip) that tries to illustrate this.

 

Another solution, not using helpers, would be to make sure all objects are aligned on the same axis, 'oriented world'. Minimizing euler issues. Dealing with a single axis for all objects. If local axis are not all oriented the same way, in Tools, using Reset-X-form and Collapse stack would align all of them together.

(attached video Gears_NotUsingHelpers.zip).

 

These are two 'fast' solutions to get there fast. But they are not the 'only ones'. It does just simplify the set up.

 

I do hope this can help! 🙂

0 Likes
Message 6 of 6

daniel
Participant
Participant

Thank you very much for your help and the videos (and quick response).  Definitely a good lesson in wire parameters and them using local axis vs world axis.  Hopefully this will help others (and it will certainly help me with other issues I'm having).  

 

Thanks again,

 

Daniel

0 Likes