algorithmic modeling for Rhino
Hello everyone,
I am currently scripting using the Rhino.Geometry library in ghPython.
I encounter often the same problem:
I want to use the original data (let's say a vector), which has been transformed (by unitizing it), after the transformation.
print V
UnitizedV = rg.Vector3d.Unitize(V)
print V
V is different before and after the transformation, and UnitizedV is just a boolean.
Then I can't use the original V later in the script.
The problem is the same, each time I want to deal with any type of tranformations (plane translations, scaling objects, etc...)
I tried to rename the variables, append them in lists, I didn't figure out. Then I decided to use rhinoscriptsyntax because you don't get this type of problem but I hate using it because of all the GUID problems.
I hope I was clear enough.
Attached you will find the GH example.
Best,
Roger
Tags:
Hi Roger,
You are experiencing a transformation in place - while rhinoscriptsyntax function would create a new instance of your initial "V" vector and unitize it, RhinoCommon method would edit the present one. Vector3d.Unitize method returns either True or False informing the user if vector has been unitized or not.
Putting it in a new list or variable, would not help, because python will always reference the same vector.
To use the initial "V" vector, create a new instance before unitizing it:
print V
unitizedV = rg.Vector3d(V)
rg.Vector3d.Unitize(unitizedV)
print unitizedV
Welcome to
Grasshopper
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
© 2024 Created by Scott Davidson. Powered by