Ruby challenge 2 ?
-
Since the test seems to involve only the single face... first copy the face into a group. Make a transformation of that round a given vertex/axis so that it's 'flat' (the face's plane z=1). Find the copied face's longest edge, find the rotation of that edge, transform rotate the group around the start of that edge so that its now at 0 rotation around the z axis. Find the bounding box of the 'flat'/rotated copy. Make a rectangle using the four corners of the bbox. Erase the rest of the group's contents and transform the bbox rectangle backwards onto the original face and you then have that face's minimum bounding box...
.
-
Hi TIG !!
Wow, great idea... I will try to do what you say ! Thank you ! -
Wow !! You're the man, Fredo !!
Thank you so much ! -
Matt,
Here is a rather brute force version functioning for a single face, when selected. It works in 3D.
The command is in the menu Plugins "Best Bounding Box for a single face" (there is no icon).
You can extract the algorithm (3 methods) from the code to do what you have in mind. On my side, I may use it to develop a Face Scaling macro that use the Best-fitting bounding rectangle instead of the default box aligned on axes.The bounding box (actually always a rectangle) is created as a Group.
Fred
-
this would be good for making proxy objects (when vray decides to implement proxies )
-
What is a proxy object ?
-
Its like a dummy piece of geometry that you place instead of something else. In the case of render engines, its usually used so your scene can be kept low poly, but when you export to the render engine, it will load up a high poly component in place of the low poly proxy.
Very useful for trees and the like.
-
Ok, thank you Remus !
-
No worries, its nice to be able to contribute to the ruby forum for once
-
Did anyone was able to do the same for groups or any volume ?
-
The "untransformed bounds" is now a new group property accessible in the v7 API...
-
WHOA, So I have to give a try to the free versionof SU7, but, I think my computer will begin to say ARRGHH... (quite old... )
Advertisement