I had this piece of code in 2010. Now when I re-reference the dll to 2012 . I get a warning message showing:
Public Sub IntersectWith( blah blah blah ) is obsolete. "Use the overload taking IntPrt instead.". I don't know how . Anybody can help me with this ?
Already appreciated .
Here is code.
Dim intpts As New Point3dCollection()
List_Entities(I).IntersectWith(List_Entities(I + 1), Intersect.OnBothOperands, intpts, 0, 0)
Solved! Go to Solution.
I had the same thing come up, and while the "obsolete" version still works for now, it eventually won't. As it turned out , the function where I had this warning come up was not being used, so my fix has not been tested.
Anyway, seeing that you were just passing zero (as I was) I think you just want to pass New IntPtr(0).
Thanks for Reply ,Chief.
What I need is just finding all intersections of objects Not only intpts(0). Is there anything wrong with the Zero I assigned for
thisGraphicSystemMarker and otherGraphicSystemMarker ?. Is that what you referring to ?
Maybe this will clear my intention better.
Dim intpts As New Point3dCollection() List_Entities(I).IntersectWith(List_Entities(I + 1), Intersect.OnBothOperands, intpts, 0, 0) If intpts.Count = 1 Then ' Do this else ' do something else. end if.
My reply says New IntPtr (0), not intpts(0)...
I mean to pass New IntPtr(0) for the graphics system markers, but like I said, it doesn't give any compile errors, but I have not tested it to make sure that it works as expected.
Using your code example, changing the function call to this should work:
List_Entities(I).IntersectWith(List_Entities(I + 1), Intersect.OnBothOperands, intpts, IntPtr.Zero, IntPtr.Zero)
Autodesk Developer Network