Jump to content
GlennimusPrime

Create Absolute Reference Copy Of A Node [SOLVED]

Recommended Posts

Hello, when I right click a node and choose Actions / create reference copy I get what I want, but as soon as I copy those nodes into another subnetwork or another geo node further back in the object context those reference links no longer work. Everything is referencing the original node, which is no longer in the same geo network.

Is there a way to create an absolute reference copy of a node I can move to another geo network and still have the paths reference back to the correct place?

I feel like I may get a python answer to this question, however I am a coding novice. I don't yet know how to call a python script inside Houdini, or where to keep the scripts etc.

Edited by GlennimusPrime

Share this post


Link to post
Share on other sites

of course you can do this, only the way you doing it is not gonna work in this case.

if you middle click referenced parameters you will see it is a relative reference. like ch("../box1/sizex") - this is referencing a box1 node existing in the same network location as the referencing node. if you move the node into a different network, this referencing expression doesn't update and its relative path is not valid any more. 

the trick is to either use absolute references that contain the full path to a references parameter, or you have to place a node first, and then do the relative referencing. This can be done either by drag n drop from one node to another, or from right click menu. to make this process really fast, have two parameter dialogs open and just drag n drop between them.

and obviously, you need to read the manual. this is like one of the most 101 things in houdini ;)  https://www.sidefx.com/docs/houdini/network/copying.html

cheers.

 

Edited by davpe

Share this post


Link to post
Share on other sites

Hi davpe, thanks for your reply.

I understand the reason behind this not working and am familiar with how the relative reference copy / paste commands work, but doing this for every single attribute on a node seems tedious.

As there is a way via the right click action menu to create a reference copy of a node, it would be great if there were a way to create an absolute reference copy of the node too.

Share this post


Link to post
Share on other sites

i see your point.

if i need to reference stuff to other network locations i typically use object merge SOP. 

actually referencing nodes as you described is something i use quite rarely.

Share this post


Link to post
Share on other sites

I found this post where @graham has built some tools which adds a right click menu that allows you to create an absolute reference copy of a node, but I am having troubling getting the script to work.
https://www.sidefx.com/forum/topic/28841/?page=1#post-297277

I've followed the Houdini.env install instructions bu am met with a never ending stream of errors on the Houdini console when opening Houdini.

I've also tried the packages install method without any luck (as I'm a scripting novice).

Share this post


Link to post
Share on other sites

@GlennimusPrime Your problem is real, and it bugs everyone who wants to use Houdini in a meaningful way. Luckily qLib has a shelf tool called "Ref Copyt qL" that is an enhanced version of the original reference copy. It adds an extra parameter to the copied node, that is the reference node what the expressions use. It can be absolute or relative, but what is even better is that you can change it later. You should install qLib with the "package method" and then add the qLib shelf to one of your shelf sets.

  • Like 2

Share this post


Link to post
Share on other sites
Posted (edited)
On 3/8/2021 at 11:50 AM, beeemtee said:

@GlennimusPrime Your problem is real, and it bugs everyone who wants to use Houdini in a meaningful way. Luckily qLib has a shelf tool called "Ref Copyt qL" that is an enhanced version of the original reference copy. It adds an extra parameter to the copied node, that is the reference node what the expressions use. It can be absolute or relative, but what is even better is that you can change it later. You should install qLib with the "package method" and then add the qLib shelf to one of your shelf sets.

Thanks for sharing!

Edited by Krion

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×