Curve.SolidIntersection Error

Can you provide a data set to illustrate this? In theory when using feet medium scale should be able to accurately represent objects as small as a fraction of the thickness of a piece of paper as long as they are within a distance that is 1/3 the depth of the Marianas Trench from the origin.

Confirming the upper limit for geometry scaling is actually fairly easy. Find the minimum and maximum point for the bounding box for all elements, and create a vector from the origin to each of those points and get it’s length. Call that value D.

  • D < 100 then you can use small.
  • D < 10000 then you can use medium.
  • D < 1000000 then you can use large.
  • D < 100000000 then you can use extra large.
  • D > 100000000 then it’s time to step back and ask ‘why’ you’re using these units.

In building scale units of measure (meters, feet), 100000000 is a fraction of the way around the globe. In a product scale unit of measure (say mm) it is 90% of the way across the English Channel. So either way if you have gone this far with your measurements then you will struggle with the curvature of the earth when you put down the tape, so best to rethink things.

For the ‘lower limit’ this is a bit harder to quantify, but I think something along the lines of the minimum distance between the simplest geometry primitives in use would do the trick - so the distance between points defining a curve, the radius value of a sphere, length of a line, etc. Once you have the ‘small’ number you know your lower bounds - call this one d.

  • d > 1 then you can use extra large.
  • d < 1 then you can use large.
  • d < 0.01 then you can use medium.
  • d < 0.0001 then you can use small.
  • d < 0.000001 then it’s time to step back and ask ‘why’ you’re using these units.

At values less then 0.000001 you’re extremely optimistic about our understanding of the nature of distance. In building scale units (meters, feet) you’re talking measurements which are smaller then a fraction of a sheet of paper. Even in city scale units of measure (KM, miles) you’re returning something less then 2mm in size (exactly 1mm for KM).

I have started a chart illustrating selecting the correct working range, but need to do a bit more research before I share anything out. Hopefully this helps shed some light on things.