No intersection found between clearly intersecting surfaces

Hello, I’m having a problem with trying to trim a surface with another surface. The model is a propeller blade, which has some pretty complex 3D curvature (not sure if that is part of the problem), consisting of four faces. In an attempt to join them to the propeller hub (a slightly tapered cylinder), three of those faces trim just fine, but one face does not. All of these extend to the same length beyond the hub cylinder, so there should be no problem with intersecting. However, this one face shows no intersection and therefore will not split/trim at the cylinder.

I’ve checked for naked edges, checked the surface borders (using DupBorder) to visually ensure that the borders do indeed extend well beyond the cylinder, I’ve tried rebuilding the cylinder, extending it in both directions, even scaling it so that it is so large that its clearly intersecting the middle of this problem surface. Still nothing. And again, the other 3 surfaces worked just fine, which were all constructed in the same manner (2-Rail Sweep of seven cross-section curves).

I’ve literally wasted days trying to make this work. Any help would be greatly appreciated! The file is in the link below (the problem surface is the layer “PROBLEM Surface”):

Ooof - the surfaces are practically solid with isocurves - I’d run FitSrf at .001 or even .0001 on these to make them somewhat tractable.

Still poking at it…

So, Intersect works if you refit the surface - but I’d say there must be a workflow glitch in how you are getting to these vastly over-defined surfaces…

@Justin_Parker It looks like maybe you lofted through some very dense curves. If you analyze your curves with CurvatureGraph (scale 60-70) you can see that they have some messy areas as well in the high curvature areas. These can be split up into vastly simpler and cleaner curves. I’d make the large low curvature surfaces separately from the narrow high curvature ones.

-Pascal

1 Like

Hey! That seemed to help! I ran FitSrf at .0001 and now an intersection is found on that problem surface. Thank you!!!

I had been wondering why there were so many isocurves in the first place (which made rendering soooooo slow) but I suppose that is because I chose “do not simplify” when building the surfaces, since I need this model to be as accurate as possible for CFD simulations.

My question now though is, did I lose any of the curvature fidelity? I understand that FitSrf tries to “maintain the surface’s same general shape” per the Rhino documentation, but in practice do you know if there is any appreciable loss in detail?

Hi Justin - Pull your curves to the refit surface and compare the original to the pulled curves - that will give you an idea.

-Pascal

Looks like your surfaces were created from interpolated curves, and those curves have considerable numerical noise due to discretization.

NURBS curves based on direct interpolation of many closely spaced points tend to have oscillations, and the oscillations can become worse as the degree of the interpolated curves is increased.

So the smoothed surfaces from Fit may be more accurate in representing the “real world” than the very dense surfaces from interpolated curves with numerical oscillations.

Since it appears that Justin has the input points used for creating the surface he could use PointDeviation to directly compare the points to the revised surface.