cut and paste data paths into drivers does not seem to work

Can anyone confirm that cut and paste data paths into a drivers feild does not seem to work?

some the Drivers interface seems to be changed up from a few versions back (why change it blender guys?) I know can’t seem to cut and paste a data path into a driver text field the way I use to…

for instance…

Hey norvman,

Not up to date here (running blender 2.74 on this computer), but isn’t it left click -> copy data path, then paste the data to the field you want?

Then again, I guess I should upgrade to the latest and best to make sure before I offer advice…

Randy

Heeeyyyy Revolt! what’s up guy! We had an Indian summer this year… how about you…

but isn’t it left click -> copy data path, then paste the data to the field you want?

well Okay here’s a procedure to recreate what I am saying…

open blender and create 2 cubes…

cube and cube.001

First lets create a custom property controller in cube.001
select cube.001 > goto the properties panel > Object(cube icon) > scroll down to the ‘Custom Properties’ panel > hit ‘add’ > hit ‘edit’ > rename it ‘Prop Test’ and leave all other settings as is… > hit okay

Now in the 3D view in the Right hand tool bar find ‘Properties’ panel
> RMB click in the text field of the new “Prop Test” Property… and pick from the popup menu ‘copy data path’

you should now have a ‘data path’ copied into your clip board…

Now I want to make a driver on the ‘X’ Rotation of the object ‘cube’ for the custom property to control…
so select the object ‘cube’ in the 3D window…
in the Right hand tool bar > under transforms > RMB on the ‘X’ Rotation > select from the popup menu ‘Drivers’ > ‘Manually create later (single)’…

now go to your Drivers window…
> Graph editor > Bottom tool bar > change ‘Fcurve’ to ‘Drivers’ > Select ‘X Euler Rotation’ in the Left hand selection menu > hit ‘N’ for the right hand tool bar > Select the ‘Drivers’ Tab > under variable select the little RGB triangle and pick ‘single property’ > now in Prop: select ‘cube’ and you should get a ‘property’ field to paste into…

now Ctrl+V to paste your ‘data path’ into that field…

it goes in just fine but stays red… indicating that there is some problem preventing it from working…

copy ‘var’ into the Scripted Expression field to finish the connection…

everything should work from that point forward…

but I’m still getting red… and the driver doesn’t work…

This procedure use to work like a charm…

not sure what has changed…

It works properly on my end. Notice in your example you add the custom property to Cube.001 but are trying to add it as a variable as a property of Cube.

Notice in your example you add the custom property to Cube.001 but are trying to add it as a variable as a property of Cube.

No… Not Trying… that ‘is’ what I am doing…

and your saying you can or cannot get that to work ‘on your end’…

I can not make the property path for cube.001 work on cube. That is what you wrote you are doing. Make sure you select the proper object before pasting the path. The path is simple, [“Prop Test”]. The copy-paste is working if [“Prop Test”] gets pasted. If it fails at that point it’s not a copy-paste problem.


I can not make the property path for cube.001 work on cube. That is what you wrote you are doing. Make sure you select the proper object before pasting the path. The path is simple, [“Prop Test”]. The copy-paste is working if [“Prop Test”] gets pasted. If it fails at that point it’s not a copy-paste problem.

I clarified the problem in the procedure I gave in post #3

It works properly on my end. Notice in your example you add the custom property to Cube.001 but are trying to add it as a variable as a property of Cube.

your saying the procedure is incorrect…
please clarify…

because in the procedure in post #3 I make it clear that I am creating a Custom Property in one object (cube.001) to control a transform property in another object (cube) via the use of a ‘driver’ …

by your statement in post #4 and your saying that can or cannot be done?

I can not make the property path for cube.001 work on cube. That is what you wrote you are doing.

No no no… that is your statement not mine…

the actual act of cut and paste is not the issue…
it is once the data path has been pasted into the driver it does not seem to take…

You said you were getting it to work following my procedure or were you simply talking about getting cut and paste to work properly?

I used your procedure exactly, except rather than choosing the cube object in the driver variable, I chose the cube.001 object, which is the object that actually contains the property that’s being used.

If that is what you are doing it won’t work. The single property variable, object and path have to point to the object that contains the property you’re trying to use.

Hi @Norvman & @SkpFx,

I must admit I got a little confused reading all the posts, so I did it myself to see if I could recreate the issue. :wink:

But, this works:


Note the object in the Var settings is cube.001, which has the property “prop test”. You can see that cube has been rotated 1 Radian about its X axis.

And here is the blend file: proptest.blend (469 KB)

Hope this helps you my friends. :yes:

Cheers, Clock.

EDIT:

One thing to note - make sure none of your variables or properties have a hyphen (-) in them - the scripted expression driver parser sees this as a minus sign, not a hyphen - so, for example var-1 as a variable name will not work (parser sees this as var - 1 and fails because var doesn’t exist), whereas var_1 will work…

I forgot to say that if you wanted the value of “prop test” to be a rotation in degrees the scripted expression would be:

var * (2 * pi / 360), or var * (pi / 180) - if you want to remove one maths step…

This converts the value of what’s in “prop test” from Radians to Degrees, there being 2 * pi Radians in a full circle. Drivers always work in Radians for rotations - but if you already know this; sorry for stating the bleeding obvious!

Cheers, Clock.

Hey Norvman; I too had this problem several times before long ago - I can’t explain why it does not work that way but some where I read that you have to go digging thru the ‘DNA’ section. So as long as I do it that way it ALWAYS works. It is a bit of a pain but thats the way it goes. Try it and let us know if it works.

My disclosure [ Win32 XP, 2.75 version ]

EDIT: I was re-reading your post #3, when you copy a ‘data path’ like ‘LOC, ROT, Scale’ & paste it IT IS STILL INCOMPLETE because Blender does not know which (X,Y,Z) you want. Now you would think if you hovered over (rotation X) & ‘Copy Data’ it would know that you want X rotation…Nope. Blender gives you the ‘path’ to rotation but you still have to manually add the rest. Since there are 3 options for rotation & you want ‘X’ which is the first in Blender you have to add ‘[0]’ to your rotation data path. X=[0],Y=[1],Z=[2]

@ ajcdfin

Thanks this was very close to the problem… I asked some on at the Blender.org sight and they said the same thing… that the DNA and RNA copies are not always complete… so sometimes you have to go digging to find them…

that solved the problem…

the example I gave in post #3 was a simplified test procedure from the actual file I was working on to see if anyone else was having any issues that might have cropped up as a result of a UI change… which has occurred in the Drivers panels since I last built a Driver that need a Copy Data in it…
I needed to test it at a lower level of complexity that the file I was working on to make sure of where the problem was cropping up…

some people just don’t seem to have the patience to read through all the material before the post…
however…
but I am glad to see most people were able to put together the test and work it out…

@clockmender

var * (2 * pi / 360), or var * (pi / 180) - if you want to remove one maths step…

Thanks Clock for the formula and the post…

That’s quite a piece of work Norv. Two people showed you your procedure was broken. You were trying to use the wrong object in the driver variable. Then you concoct this “Oh, it’s an RNA, DNA thing. Some people just don’t know how to read.” No matter how deep you go “digging” the cube object didn’t have a property to use. If you can show where I’m wrong I’ll admit it in a heartbeat. Just wish others would show that same courtesy.

There are too many assumptions and misdirections in your statement that are frankly ‘off topic’ and trivial at best to give you any direct response…

I will recommend a ‘subject at hand’ based approach and not a ‘personal attack’ approach to your future comments…

in the spirit of fairness…

I used your procedure exactly, except

you followed my procedure exactly or you did not?

which is it?

did my procedure work or did it not? please state?

Two people showed you your procedure was broken.

you say two people they say it’s broken yet…

from clockmender

I must admit I got a little confused reading all the posts, so I did it myself to see if I could recreate the issue. https://blenderartists.org/forum/images/smilies/sago/wink.gif

But, this works:

there one that says it does work…
where are the people who say it does not?

you won’t say wither it does or does not… so I can’t understand your argument or angst at all…

ajcdfin did not work the procedure but understood the problem I was getting at

Oh, it’s an RNA, DNA thing

so your saying that ajcdfin statements are incorrect?

now go to your Drivers window…
> Graph editor > Bottom tool bar > change ‘Fcurve’ to ‘Drivers’ > Select ‘X Euler Rotation’ in the Left hand selection menu > hit ‘N’ for the right hand tool bar > Select the ‘Drivers’ Tab > under variable select the little RGB triangle and pick ‘single property’ > now in Prop: select ‘cube’ and you should get a ‘property’ field to paste into…

now Ctrl+V to paste your ‘data path’ into that field…

it goes in just fine but stays red… indicating that there is some problem preventing it from working…
I believe what SkpFX is saying and clockmender shows you in the screenshot is that the object named ‘cube’ does not have the property named ‘Prop Test’. That property belongs to the object named ‘cube.001’ so you would select that object as the prop setting.

Select the correct object and changing the ‘Prop Test’ value of ‘cube.001’ does change the x rotation of ‘cube’.

Go back and read the rest of the sentence. You chop it off mid-sentence, then say please explain? Here it is again…

I used your procedure exactly, except rather than choosing the cube object in the driver variable, I chose the cube.001 object, which is the object that actually contains the property that’s being used.

And, I am very confident that when you choose the proper object, it will work for you too.

You go on to say…

no they showed that my procedure worked…
which is what I wanted them to do…

What? Your procedure of not entering the correct object in the driver variable is broken. That’s why you started the thread. It wasn’t working for you, and it won’t work if you don’t enter the object that contains the custom property you’re try to access. You do know that now, I’m sure, but still you insist on trying to make me your whipping post of sorts.

Just give it up.

EDIT:

so your saying that ajcdfin statements are incorrect?

No, absolutely not. But this has nothing to do with what he said. This works perfectly as designed when you choose the correct object.