How to Model? Deform based on two curved surfaces

Firstly, I have these two surfaces with a filleted edge inbetween. Both have some curvature to them in one direction at least.

Then, I am punching holes in that edge to create these teeth forms below. I create a separate object in an arry which over extends plenty, and then a nice easy boolean. I get there using a number of methods, from Flow, FlowAlongSrf or CageEdit, all with various guide surfaces of different kinds. The problem I come across is below - keeping the 'depth of this feature consistent, up to where the tooth form rounds off. I’m really hoping some of these sketches make sense, but certainly the file below will help.

These are the objects to subtract:

Subtracted, inside view:

So, I would explain the problem as how to deform this ’ L ’ shape with surfaces parallel to each stalk of the ’ L ', but whilst they both follow surfaces that have different and varying amounts of curvature.

I would be really interested to see how people do this. I’m just finding it’s not an operation that is easily repeatable, and has been a bit of a pain.

eg_deform.3dm (19.7 MB)

Does that make sense? So I’m asking sorta how to deform something based on a relationship between two surfaces. In my mind, this could be so doable with a CageEdit box, but imagine it with just being two faces of the box. I’m trying to make this precise to the 0.1mm if possible really! Just so that the features don’t fall off too much and look they have an uneven depth.

Dear @Jonathan_Hutchinson - do you need the data for a rendering or for production or for you porfolio to show excellent modelling skills ?
(1) Rendering → a displacement-mesh will be the fastest apporach
(2) Data that has to be in production tomorrow - but nobody cares about surface set up, number of cvs and so… ?
(3) polished Portfolio - Stuff ?
i will try an approach something between 2 and 3… and post it later

I would do something like this, work from an offset of the original surfaces, cut the ‘cutouts’ with the offset, then apply the fillets, then cut out from the original surfaces:

eg_deform_SG.3dm (9.9 MB)

Dear @Jonathan_Hutchinson
i think you will not be able to transform / flow / or other UDT tool- Approach to get the constraints you want.
I would recommend to model an L-shaped surface, that has the needed offsets.
(mainly)
_extendSrf
_offsetSrf
_trim _join
_filletEdge

then flow some simple boxes along the edge.
_booleanIntersection (and deleting) will give the green L’s

still some filletEdge to do…


does this somehow help ?

These are both great for helping to dial this in with a way that is dimensionally repeatable, which is what I needed. I like @Gijs work as well for enabling the tops to be ‘flat’ still, but Tom your result is more close to what I was achieving before, where the tops follow a curve (I made these via a Cage Edit when I’d done it).

Does anyone think that kind of constraint would be something to be able to do more automatically?

This method works fine given the objects are somewhat regular in shape. I modelled the cleats separately because I wanted them to be a bit more freeform, but just doing a fillet edge at the end should be fine here and won’t fail anywhere.

Now… bonus points. How would you fillet those outside edges too with, say, a 0.5mm rad without needing to tear one’s hair out. I’ve basically avoided this thus far, but would be interested to know if this would make a modeller completely U-turn in method.

With these small radii I wonder if you really need blended edges? Because this makes things more complicated especially the last step. You might be better off doing all the smaller fillets in one go, or at least in one go per cutout. But take into account that Rhinos automatic filleting is sensitive. You have to make sure all surfaces that are supposed to be tangent are really tangent. The cleaner/ simpler your starting surfaces, the higher your chances are that the filleting succeeds. Also cases where the fillet would consume a surface fully will be a problem.
Using the preview function in the FilletEdge command can sometimes give indications where the problems are (handles turning red). If things still fail, with a bit more manual work you can always get things done with FilletSrf.

Thanks Gijs. It’s odd, that soft edges on the box that were filleted by rhino, after the boolean, are then not deemed tangenet in a tolerance good enough for filletedge to be ran again.

FilletSrf continues to rule things and always ends up being reliable at the cost of pain, tedium and boredom.

don’t forget the pipe trim trick-

1 Like

Ah yes, I did mean to mention that. It can still be a lot of preparatory work, and simplifying the dupedge curves of any nasty stacked points so the pipe is clean.

In the file you sent, the objects in question are far from tangent continuous. If you fillet only the larger fillets first, then do all smaller fillets that are of same radius at once, you have a better chance that it will work. Remind that FilletEdge will fail if the surface curvature is less than the fillet radius and if it needs to fully consume a surface. I also noticed in your file you have quite a high abs. tolerance (0.01) for such small details.