MeshPlane intersection slow in Rhino 8

Im using MeshPlane intersection to check contact betwen bones and metal plates in 3D preoperative planing. So we have lot of MeshPlane intersections. In R7 it tok 3ms for each intersection. Now its around 13ms or 18ms. Do you have idea how to cut it quickly like in R7 ?
MeshPlane_Int_Bone_plane.gh (645.8 KB)
Thank you guys

I’m posting this here since it’s the most recent question about the new MeshPlane component performance.

Like @Karel_Pěnička I’d also like to know if there is any way to speed up the Mesh-Plane intersection operation, as I have several applications where hundreds of intersections with dense meshes are performed, and this significantly impacts the total computation time.

I’m attaching two Gh files, one for Rhino 7 and one for Rhino 8, where the Mesh/Plane component is around 9 times slower.

The Rhino 8 file includes a script that uses Giulio @piac 's suggestion from here: RhinoCommon MeshPlane intersection slower in Rhino 8?
and this cuts the computation time by around 50%, however this is still more than 4 times slower.

Is there any way to speed up the process? I wouldn’t need maximum precision on this operation, so I tried setting the tolerance to a bigger value, however this did not speed up the process - actually in some cases it made it slower.

Given the relatively loose requirements, it would be even acceptable to have a “legacy” meshplane component that uses the logic from the Rhino7 version.

Is there any possible solution?

Thank you

Marco

MeshPlane Example - Rhino 8.gh (14.6 KB)
MeshPlane Example - Rhino 7.gh (9.8 KB)

Hi,
There hasn’t any feedback on this, so I’m “reviving” the thread hoping that someone from McNeel takes a look…

Thank you

1 Like

@Marco_Traverso - When the Rhino 8 SR14 Release Candidate is available, please test again.

Thanks,

– Dale

Thank you @dale , I’ll test it and post the results here.

I tested on Rhino8 sr14 and it’s still slow
@dale
@Marco_Traverso

@Rh-3d-p - can you post a sample that we can use for testing?

Thanks,

– Dale

i test the sample of @Marco_Traverso and the results very slow in sr14 like above screen Shot
in sr13

Thanks - I’ve logged the issue.

https://mcneel.myjetbrains.com/youtrack/issue/RH-84816

– Dale

@dale , @Rh-3d-p , thank you for testing it and for logging the issue.

Best,

Marco

Hi Marco,

There are two meanings of tolerance that are rather often used interchangeably, one is: “how much error in the result I can tolerate here”, but it means also “How much error in the input I can have” (therefore overlaps, for example, are not really overlapping by this or that amount). In which sense you don’t need much precision/would allow more tolerance? Can the result be more often wrong - as it was the case in the old version? Or the geometry is drawn with less precision so you need more tolerance (besides speed)?

Thanks

Giulio

Hi Giulio,
thanks for the reply.

I would say both cases can be interesting, but in my post I was mainly referring to the first one, where I would accept a not-so-exact result, and the input meshes would be “clean”.

I often use this operation as an intermediate step of a longer process, and the intersection polylines are likely going to be rebuilt or altered in some form, so having a very high accuracy is not crucial.

Thank you,

Marco