BHoM / Rhinoceros_Toolkit

Set of functionalities for communication with Rhinoceros
GNU Lesser General Public License v3.0
7 stars 4 forks source link

Trimmed surface does not convert to BHoMGeometry correctly #170

Closed LMarkowski closed 4 years ago

LMarkowski commented 4 years ago

Description:

Cannot explicitly cast Trimmed Surface to BHoMGeo. NurbsSurface is probably created correctly but cannot be exposed in Rhino.

Steps to reproduce:

See test file.

Expected behaviour:

Should convert to correct BHoM object.

Test file(s):

On SharePoint

pawelbaran commented 4 years ago

I have just debugged the test file and found out that the convert fails due to tolerance issues: one of the values is 5e-6 and does not get caught by standard BH.oM.Geometry.Tolerance.Distance. Taken into account that the dimensions of the surface are in thousands, 1e-6 seems to be too strict and could/should be replaced with BH.oM.Geometry.Tolerance.MacroDistance.

The questions are, however, where does the line between micro/standard/macro lie? Should it be based on the bounding box of a geometry? If so, should it take its maximum or minimum dimension? Or volume? Should the tolerance alignment be centralized? Inside Rhinoceros_Toolkit or globally across BHoM?

I think we already discussed it a bit, but never go to the final decision. Maybe it would be a good moment to try to tackle it? What do you think @al-fisher @rwemay @IsakNaslundBh @epignatelli?