Jump to content

dopfield expression to get geometry data


sanostol

Recommended Posts

hi,

I want get data from the geometry level into the doplevel by using a modify data node with a dopfield expression but it does not work

for impacts it works like this:

dopfield("/obj/AutoDopNetwork","rbdobject1","Impacts","Impacts",$PT,"positionx")

but for geometry I don't know the correct path, as the geometry seems to be stored directly under the data

dopfield("/obj/AutoDopNetwork","rbdobject1", "Geometry","????",0,"point")

how can i acces data stored on points on the geometry?

Martin

Link to comment
Share on other sites

hi,

I want get data from the geometry level into the doplevel by using a modify data node with a dopfield expression but it does not work

for impacts it works like this:

dopfield("/obj/AutoDopNetwork","rbdobject1","Impacts","Impacts",$PT,"positionx")

but for geometry I don't know the correct path, as the geometry seems to be stored directly under the data

dopfield("/obj/AutoDopNetwork","rbdobject1", "Geometry","????",0,"point")

how can i acces data stored on points on the geometry?

Martin

you dont need to use the dopfield() expression AFAIK that expression is just for getting data out of dops. You can use standard prim()/point() expression in dops to get attributes from SOPs, but instead of the path to the sop you want, you can just use $OBJID, so its something like this

point($OBJID, 0, "Cd", 0)

It does give a warning flag, but has always worked for me. Not sure if there is a more "acceptable" way of doing this. Remember, if your geometry attributes change over the course of the sim then you need to have "deforming geo" ticked on. Also, the point()/prim() attr will be applied to the entire dop object, so varying attr values wont work on a per object basis.

  • Like 1
Link to comment
Share on other sites

  • 2 years later...

Does anyone know a better or more "correct/appropriate/standardised" way to gather one peice of geometry-style data from objects, within dops? I attached an arbritrary geometry data point to each dop object. To access this, the hack was a bit more sloppy ...

point(strcat($OBJNAME,"/Init"),0,"angvel",0) .. which set's an initial angular velocity from incoming point data attached to the object. I'm wondering if there's betterish ways to work with data imported with the SOP Geometry DOP. It would be ideal to either ..

a. Get this data, and then manipulate it into data feilds with the modify data dop

b. Be able to reference it in a standardised way

Any insight into this .. I'm feeling like it's working but I have no idea why (which is not a good feeling in Houdini lol) thanks!

Link to comment
Share on other sites

what you are using is pretty standardised method

to get geometry of DOP object you can use dopnetPath:object/geometryData syntax

so usually something like

..:$OBJID/Geometry[/CODE]

so in your case if you have named your geometry Init

[CODE]..:$OBJID/Init[/CODE]

and therefore

[CODE]point("..:$OBJID/Init", 0, "angvel", 0)[/CODE]

[size=4]but as you have noticed[/size]

[CODE]point("$OBJID/Init", 0, "angvel", 0)[/CODE]

works as well, which I don't know if is just convenience, but I rather always use full dopnetpath:object/data syntax

and use $OBJID instead of $OBJNAME since many dop objects can have the same name

Link to comment
Share on other sites

  • 10 months later...

on a similar if not the same problem :
 
I have a DOP sim, and I want to modify the scale of the incoming geo depending on a distance to a reference object, INSIDE the dop sim, because I want the distance to be calculated in relation to the simulated movement

so I lay down a multiple solver, input a SOP solver into it, create a custom myscale, modify it
down the line, I use a modifydata op, to modify the scale value, inside the Geometry data.

 

I see I have different values already, for each piece, in myscale using details view
but I fail to apply the data properly to Geometry/scale, per each object
 
I know I am reading it wrong with the expression, as if I put a constant there, I can see data, so I can modify Geometry/scale for sure
but how do I read the data from the Geometry level ?...

 

please take a look

 

 

scaleByDistInDOPs.hip

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...