Shrink! Shrink! Wherefore art thou Shrink?

I have this nice saddle-shaped patch surface formed by the intersection curve of 2 right-angle cylinders:

I want to use SrfMorph to map an array of Breps (here they are cones) onto the surface. But when I do that I get this:

The reason, of course, is that the Rhino Faces.ShrinkFaces() command that used to work doesn’t work now. My guess is that the “Old” message on the module means it has been superceded by something else. So is there an update or some other way to get SrfMorph to map onto the desired surface rather than it’s full internal boundaries? (12.6 KB)

Are you referring to mapping your objects onto the ‘saddle’ surface in such a way that the objects are distributed on it following its ‘circular’ shape?

I guess I got confused with “…rather than its full internal boundaries…”


This is an old issue having to do with Rhino’s internal representation of surfaces. Apparently all Rhino surfaces have rectangular boundaries. When a user-defined surface does not have a rectangular boundary it is called a “trimmed” surface, and Rhino stores the trimmed shape somewhere separate from the basic surface definition so it can display the trimmed surface the way the user expects.

But the full (rectangular) surface definition is always there, and apparently SrfMorph likes to use it. Some time ago someone here made the C script in my GH file that invoked the Rhino “Faces.ShrinkFaces()” command. At that time it caused (somehow) SrfMorph to limit it’s work to the desired/trimmed surface, rather than it’s full (untrimmed) internal definition. But that was then - now that C script no longer works. So my real GH file goes Boom.

Hi Birk - shrinking will reduce the underlying rectangle to what just fits the trimmed face but it cannot and never has shrunk the underlying surface of a face trimmed to an arbitrary boundary - it can only ‘fully’ shrink a surface to match the trimmed face when the trims are exactly on surface isocurves.


Well thanks I guess, that does explain the situation. It just seems to me like there should be a way to morph onto the patch surface I made. Am I the only one on the planet who’s tried to do this?