algorithmic modeling for Rhino
Hi all,
I am new to VB and just struggling with some lines of code.
what I want to do is do copy a curve (which I supplied to VB component) and rotate it while keeping the original as it is.
Attached is screen shot for that. At the output tab A, I want this to be the original and for B, the rotated.
Here is the code. How can I get original curve to A tab? Right not both A and B are assigned with the rotated.
--------------------------------------------------------------------------
Private Sub RunScript(ByVal x As Curve, ByVal y As Vector3d, ByRef A As Object, ByRef B As Object)
Dim crv As Curve = x
Dim ref As curve = x
crv.Rotate(math.PI / 2, y, x.PointAtStart)
A = crv B = ref
End Sub
-------------------------------------------------------------------------
Any comments would be appreciated. Thanks.
Tags:
I found the answer by myself.
I can put .duplicate after x. which is very weird to me, because as far as I understand, "Dim crv as Curve = x" means that I assign a duplicate of x to temporary storage called crv. I mean if that is the case, x should stay intact whatever action do I do to the duplicate called "crv". In the context of the code above, even if "ref" has nothing to do with rotation, at the end of the code it also get rotated.
Anyone can explain this to me?
Thanks.
Curve is a class. Therefore when you assign using the equals operator you do not get a copy of the original.
There is no mechanism in .NET for creating a duplicate of a class unless the class itself specifically provides a Duplicate function or a special constructor or something.
--
David Rutten
david@mcneel.com
Poprad, Slovakia
I see. Really good to know.
If that is the case, I probably have to define instance out of class before I use equall operator. Right?
Thanks much!
You can say:
Dim crv As Curve = x.DuplicateCurve()
--
David Rutten
david@mcneel.com
Poprad, Slovakia
Awesome. Thanks much!
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