Creating a surface between two surfaces along a curved edge line (repost)


Relatively new to Rhino and my first time on this forum so please forgive incorrect terminology etc… I’m trying to make a model of a lamp head that I carved out of wood but Im stuck on a particular detail - any help would be appreciated

Here are two photos of what the detail it is meant to look like in reality:

Here are screenshots of my attempts so far I’m creating one half of the shape then I’ll mirror it as it is symmetrical:

I basically started with a ‘boolianintersection’ of the extruded plan and section then I have been using the ‘fillet’ command to create the curved intersections between the surfaces. Im happy with the underside of the shape but the issue is on the top where the flat surface meets what is effectively a round pole which is joined to the lamp head.

image 1 shows what the model looks like before any filleting has taken place in the problem area
image 2 shows the round pole correctly and the model is joined up but the intersection between pole and flat surface does not have an edge which follows the correct edge line (shown in orange)
image 3 shows the pole to be accurate and the edge line has been followed but the surface of the pole does not curve correctly to meet the edge line

So I think the solution is either

  1. to somehow morph the surface of the pole on no.3 so that its perimeter meets the orange curve edge.
    2 to create a new surface on the existing model which joins the orange edge and the curved surface of the pole at the top. I think that this surface would have to follow the red lines shown in these secion cuts:

Please let me know what you think


model attached below.

Lamp Head JA for Rhino forum.3dm (1.2 MB)

Hi Joe- I am not reading the photo as a tangent fillet where it meets the flat - it is a soft shape that intersects the flat at a hard line- I’d think of it that way- make the roundy shape first - it will be too tall as it approaches the center/light fixture, but you then cut it with the plane- the trick is to get that nice tapered shape. I’d make a simple surface and Intersect with the plane with History on- then edit the shape until that intersection curve has the shape you want, then trim.


Hi Pascal,

Many thanks for your help.

I think I’ve don it! I created a patch between the key perimeter lines of the surface then cut the unwanted surface away with a series of surfaces. See two screenshots below:

Its pretty much bang on - the only issue is that there are some very small gaps between the new surface and the surrounding surfaces. I am going to get it CNC’d so i’m concerned that an unclosed model will cause issues. See gaps in the screen shot below

You can also see some faint light coloured lines in this shot which I think are bad joins

Do you have any thoughts? Many thanks once again for your help


Hi Joe- see the attached file- I’d make the new surface really simple - the blue curve is the intersection with the plane and the red surface. If you turn on the points of the red surface you can adjust them and watch the blue curve update - it is pretty close. Notice the points on the red surface are fairly well organized to reflect the transition from curved end to straight end- generally, or often, it is possible to find a simple, progressive surface to make a smooth transitions like this look clean. The round end flows right into the straight bit so it should join up.

Lamp Head JA for Rhino forum_PG.3dm (90.3 KB)

Zebra likes this pretty well:




That is perfect many thanks. Ive been doing a few tutorials to try to get to the stage that you got to with the red surface.

I basically used the ‘sweep1’ command using the bottom line of the surface as the rail, and the two borders (one straight vertical and one curved) as the cross section curves.

The result is nearly there but it is not nearly as nearly as smooth as yours nor is it following the orange line. I think it is becase I have too many control points and the degree value is too low but Ive been fiddling with ‘rebuild’ and I haven’t got anywhere.

Can you also tell me how you got the blue line? Is it a plugin?

Also, how did you know that the surface should be defined by an extended vertical on the right hand side - is that just experience? Is the length of this vertical line the same as length of the curved cross section line on the left?

And thank you for the heads up with ‘zebra’ analysis - its seems like a useful tool

Best Regards


you may find a surface layout example for your problem attached.

surface layout.3dm (298.7 KB)

Just an update - Ive now re adjusted the rail so that the surface is smooth like yours but it also closes up with the rest of the form (which your one didn’t as the bottom rail on my original drawing was kinked)

My Zebra analysis is now good:

However I cannot work out how to adjust the surface so that it intersects the top flat surface along the curved orange line.

Thanks @Blastered, I’m almost there with this model, its now a case of adjusting the curved surface so that it intersects the flat top surface along the orange line.

Lamp Head 2 for Rhino forum.3dm (445.8 KB)

Hi Joe-

The blue curve is the reault of the Intersect command, with the plane and the curvy surface as inputs. If History recording is turned on for Intersect, then the result will update as you edit either of the inputs - in this case just the curvy surface gets edited.

I created the surface initially by lofting the vertical line with the curved curve defining the shape of the ‘pole’ thing. After that, ChangeDegree to 5 in the loft direction to get more - but not too many! - points to monkey with to make that intersection curve as close as possible to the target orange curve.

The line was not the same length as the curve but it could be.



Many thanks for your help. Here are some pictures of the final thing. Took me a while to get my head around removeknots, changedegree and general control point manipulation but im happy with the result:

Best regards


1 Like

Looks great- well done, thanks for posting the image.