Get information from a mesh node?
- stratified
- Posts: 945
- Joined: Wed Aug 15, 2012 6:32 am
- Location: Auckland, New Zealand
If you go via the vertices, it gives you the same dimensions as the original OBJ file... So if you scale it, you have to recalculate the scaling yourself.
ok thomas, thanks for the clarification 
ciao beppe

ciao beppe
- AndreasBergmann
- Posts: 16
- Joined: Fri May 20, 2016 7:49 am
Hi,
I like this script, thanks!
Do you think it is posssible to get not only position but also rotation of a plane?
Best,
Andreas
I like this script, thanks!
Do you think it is posssible to get not only position but also rotation of a plane?
Best,
Andreas
Hey Jason,
This script is still working well.
But can you help with converting this to a Scripted Nodegraph?
I want to use the output bounding box values in dynamically positioning other object (e.g. ground floor).
Happy to pay for the task as well.
Thanks.
This script is still working well.
But can you help with converting this to a Scripted Nodegraph?
I want to use the output bounding box values in dynamically positioning other object (e.g. ground floor).
Happy to pay for the task as well.
Thanks.
grimm wrote:Thanks Thomas, that's good to know. Here is my function if anyone is interested, any ideas to make it better will be greatly appreciated.
If you do run the script, just make sure to select a mesh node first. Otherwise it will not work.Code: Select all
-- calculate the statistics of a mesh and return a table of those values function getMeshStats(verts) local meshStats = {} local minX = 0 local maxX = 0 local minY = 0 local maxY = 0 local minZ = 0 local maxZ = 0 local lengthX = 0 local lengthY = 0 local lengthZ = 0 local x, y, z -- find the bounding box for k,v in pairs(verts) do x = v[1] if x > maxX then maxX = x end if x < minX then minX = x end y = v[2] if y > maxY then maxY = y end if y < minY then minY = y end z = v[3] if z > maxZ then maxZ = z end if z < minZ then minZ = z end end meshStats["min_x"] = minX meshStats["max_x"] = maxX meshStats["min_y"] = minY meshStats["max_y"] = maxY meshStats["min_z"] = minZ meshStats["max_z"] = maxZ -- find the mesh's length for each axis lengthX = maxX - minX lengthY = maxY - minY lengthZ = maxZ - minZ meshStats["x_len"] = lengthX meshStats["y_len"] = lengthY meshStats["z_len"] = lengthZ -- find the mesh's position local posX = lengthX/2.0 + minX local posY = lengthY/2.0 + minY local posZ = lengthZ/2.0 + minZ meshStats["pos_x"] = posX meshStats["pos_y"] = posY meshStats["pos_z"] = posZ return meshStats end selectedMesh = octane.project.getSelection()[1] verts = selectedMesh:getAttribute(octane.A_VERTICES) meshStats = getMeshStats(verts) print "X info" print(meshStats["pos_x"]) print(meshStats["min_x"]) print(meshStats["max_x"]) print "Y info" print(meshStats["pos_y"]) print(meshStats["min_y"]) print(meshStats["max_y"]) print "Z info" print(meshStats["pos_z"]) print(meshStats["min_z"]) print(meshStats["max_z"])
Jason
Best Regards, Jitendra
Hi jitendra,jitendra wrote:Hey Jason,
This script is still working well.
But can you help with converting this to a Scripted Nodegraph?
I want to use the output bounding box values in dynamically positioning other object (e.g. ground floor).
Happy to pay for the task as well.
Thanks.
Sorry for not getting back to you sooner, I didn't see your message until today. If you still need my help with converting the function over that is no problem.
Jason
Linux Mint 21.3 x64 | Nvidia GTX 980 4GB (displays) RTX 2070 8GB| Intel I7 5820K 3.8 Ghz | 32Gb Memory | Nvidia Driver 535.171