Rhino 6 and Honeybee Intersect masses issue

Hi @mostapha, Have you had a chance to check the issue?

Thanks

No! I realized my Rhino 6 trial version is actually expired. :expressionless:

One suggestion is to try a higher tolerance value. 0.001 should be good enough for any architectural project.

Thank you @mostapha for the response, I tried many types of tolerances after your last reply :smile:
BTW, Until the problem is resolved I can use RH5 in my laptop.
Thanks again.

@mostapha ,

I still have a valid Rhino 6 trial and I’ll see if I can fix this now. The main issue is that Rhinocommon no longer supports the boolean difference method we used previously to find the intersection. It fails to generate the intersection both in our python scripts and using Rhino commands manually. Thankfully, the other code that we have, which splits the surface using the intersection curve still works. I’ll see if I can write one component that will work with both Rhino versions.

1 Like

I have found a solution that works for both Rhino 5 and Rhino 6 and I have pushed it to the github:

What is perhaps even nicer about this solution is that it is much faster than the previous one and is far less hacky. The only potential downside for the method is that the previous one could sometimes catch cases of curved surfaces that needed to be split. This one can only split planar surfaces and will always leave all curved surfaces un-split. Given that 99% of the interior geometries that we simulate are planar and the fact that we can reliably say what the component does now (whereas the previous curved splitting capabilities were hit-or-miss), I think we will agree that this implementation is an improvement overall.

2 Likes

Great! Thank you @chris and @mostapha!

A post was split to a new topic: Rhino 6 - SplitFloor2ThermalZones

I agree as long as we’re giving a clear warning to user about this limitation once they have non-planar inputs!

@mostapha ,
I can add a warning. Ideally it would be nice if this warning is for the when component fails to make a curved intersection and not when any curved geometry is connected. This may be tough given that the component doesn’t know if a given surface is on the interior or not. Let me see if I can make this work but it will take me some time. If I can’t get it to work, is it still a good idea to give a warning for any curved geometry? I feel like the vast majority of cases with curved geometry are exterior (like a dome).
-Chris

I took a deeper look into this and realized that i could get the new method working for curved surfaces as well as planar surfaces. I also fixed a bug in the way I had implemented the method a few dats agosince it seems Rhino can return a non-planar intersection geometry even when the geometries that are being intersected are completely planar. All updated are recorded in this commit:

…and are available in the version of the components on the github.

1 Like

Hi @chris, sorry for being here again.
I encountered the same problem again in Rhino 6 doesn’t intersect properly, but in Rhino 5 works fine.
If it possible please check this file:
Intersect problem Again Rhino6.gh (608.2 KB)
Thank you.

@hdimor.mr ,
I opened your file in Rhino 6 and the intersect masses seems to work fine:


Is there something that I am missing?

Thank you @chris for checking out.
Here is my problem the right building is fine, but it does not work in the left building:


and here in Rhino 5:

@hdimor.mr ,
Both buildings are being intersected correctly on my machine. Are you using the latest version of Rhino 6?

If so, what is your Rhino model tolerance? If you changed the tolerance after you made that geometry, it can cause the intersection to fail like this.

@chris, Yes, I’m using (6.4.18114.15591, 04/24/2018) most recent Rhino 6 version.
I’m using 0.00001 in Both Rhino 6 and RH 5 tolerance. when I change the tolerance and recompute GH it doesn’t affect anything.

@hdimor.mr,
I can’t recreate the issue on my machine. I’m using version 6.3.18090.471, though. When I check for updates, it’s telling me that this version of Rhino is up-to-date. Is this version of Rhino that you are using an experimental build or a “service release candidate”? If so, it seems that Rhino might have introduced a bug into their experimental version and they will hopefully fix it before doing another stable service release.

I agree that the tolerance does not seem to be changing it on my end either.

@chris, Yes It is service release candidate I updated from that.
https://www2.mcneel.com/updates/06bb1079-5a56-47a1-ad6d-0b45183d894b/release/win64/en-us/releasecandidate/6.4.18114.15591
If you replace your own version instead of my version on the end of the link you can see the new update available.

@hdimor.mr ,
To clarify my previous post, I recommend NOT using the experimental version of Rhino if you need something that is bug-free. The issue that you are experiencing is a result of a bug that McNeel has accidentally introduced in the experimental version of Rhino, which should be fixed before they do the next stable release of Rhino.

1 Like

@chris,
I apologize that I didn’t understand it correctly. Thank you so much! and Thank you for your great patience.
As your recommendation, I switch to the stable release version like you, and all buildings are being intersected correctly.

best wishes.

Thank you very much Chris! I had the same issue and this update fixed it.