Creating A Curved Surface With Two Cross Sections?

When I was younger my carpenter grandfather made me a wooden bus toy by hand. I managed to find the original plans he used which I scanned in and now I am hoping to remake it for my son with the help of a CNC machine!..

In the plans it has a curved front bonnet that is formed by two cross sections as shown below (115 x 46 x 12mm):

However I believe this is too complex to create in my CNC software, so was wondering if this is something that could be formed in Rhino?!

This is how my grandad interpreted the plans (note: it is stuck on a slope):

It seems like it should be simple, but I cant quite get my head around it! Its like the two cross sections have been multiplied or faded together. In reality I could just make the one main cross section then sand it by hand afterwards to round it off, but its puzzling me! So would like to know how it could be created in 3D software. I have attached the vectors traced from the image so people can have a play around with it.

Many Thanks!

Profile (2.4 KB)

1 Like

Several different ways.

A) ExtrudeCrvAlongCrv the short curve along the long curve.

B) Sweep1 using the long curve as the rail and short curve as the section. For these curves the result will be slightly different than the results using ExtrudeCrvAlongCrv

C) Create two surfaces with the blend between them. Trim the surfaces back the width of the blend on each surfce. BlendSrf between the surfaces to create the blend.


Hi David, thanks for the advice. Ive tried methods A and B you mention. I’ve got the top surface looking correct - which is all I really need, but am curious how to create it fully, because it is not a solid block with a rectangular base as the actual wood would be.

If I try method A with two solid cross sections as shown in the plans, rather than one cross section and a rail, then it results in a mess of overlapping geometry. Maybe I’m not setting things up correctly, or is this a limitation of the tool?

Method C sounds like a good workaround, but was really looking for software that simply allows you to enter two cross-sections and it creates the resulting geometry.

Many Thanks.

1 Like

I’m not at all sure I am reading the photos right but possibly something like this:



And then you’d have to do it perfectly symmetrical on right and left sides :grin: :beers:

This looks like a cool project for learning awesome Rhino skills :sunglasses:

A few months ago, I did a bunch of research on iphone apps for reverse engineering, cause of some major issues I had with NextEngine’s litigation.

Here’s an image of the apps I found somewhat useful relative to my parameters:

With the “Scaniverse” app you can scan your object, and export it. I recommend using .stl, and email it to yourself.

Then download and import into Rhino, then use subD’s and other cool tools – maybe V8 shrinkwrap. :beers:

The other two apps there, I plan on using for larger objects in the future but ‘scaniverse’ is my best recommendation for small to medium objects.

1 Like

Thanks Pascal. Yeh thats how it looked in my head too so I think that is correct according to the plans. If its to scale then the maximum height should be 12mm.

It seems like my Grandad actually made it slightly wrong then (although arguably looks better the way he did it), which was throwing me off!!

Which method did you use to construct that (Im a beginner to Rhino)? Would you mind sharing the project file please.

Many Thanks :slight_smile:

Scanning it would enable you to capture his magic handwork. But using my perspective and looking at your sketch and images, I believe his magic handwork probably blended things with “zen” per say, so without knowing more here’s kinda what I see:

Ultimately, I think there’s some secret profiles I’m missing :wink: :beers:
I’d probably need to add some handy sand paper skills to it.

Also, the placement of the profiles, and blends etc.

bonnet.3dm (1.8 MB)

uploaded example file. it’s not to scale yet.

1 Like

Hahah true! Yeh its a fun project :sunglasses:

Thanks for the app recommendations, very handy. In this case though it was less about getting that particular shape but more the principle of how to create geometry from two cross sections.

Initially I intuitively thought it would be super simple for 3D software to achieve, align the two profiles, select them and click, done! Obviously its still easy for experienced users to create as Pascal demonstrated, but still took some manual editing but the looks of it! :thinking: Not knocking Rhino, but just surprised its not a ‘one click’ solution!

1 Like

This is a common belief imo, but the necessary parameters and geometries, dimensions, and tolerances are a must have, when trying to convey the information needed in order to produce any component from thoughts into reality.

There’s literally infinitely many permutations otherwise.

For example, working from just one ‘napkin sketch’ it is difficult to know where those two profiles are positioned in 3D space.

It’s easy to assume they’re supposed to be in the “middle”, but the design intent of the inventor …most likely just sketched them out as a preliminary guide, and likely were adjusted maybe more than once at some point – not to mention the magic handy work over time as fabrication took place.

Just reflecting on my own experience let’s say.

So, it’s always good to nail down all of the degrees of freedom, in order to reduce the infinitely many possible permutations down to as few as possible and then choose which version is desired best.

In the long run, you could develop blue prints and send them off to a manufacturer, and they’d know exactly when they’re producing the product within specifications and also know which batches are blemishes, bad, or good – per say. :beers: :wink:

Now my head hurts again lol, yes what you have created there looks exactly like he made! Nice one.

How is it formed then, create the two cross sections independently then blend the two together with 0% influence of the smaller cross section at the front and rear and 100% in the middle?

Am I correct in saying this is actually wrong according to the plans?

Many thanks for your help :beers:

1 Like

Hi Steve - see if the attached file helps.

Bonnet_Maybe.3dm (142.0 KB)



Well, I basically looked at the sketch of those profiles, and also the images you provided; then I made some educated guesses on what I know in my experience working from napkin sketches and paper templates for fabricating different materials n’ such.

All I can say is in my perspective, those sketch profiles look more like a guide for what the fabrication process began with. Then over time the process may have changed and even may have been reiterated.

So, looking at the images and trying to ignore the optical illusions of the lighting and the shadows, I’ve surmised that the front and back of the component believed to be in question; appears to be rectangular on each end – so I basically added for/aft profiles at an approximate height relative to the sketch profiles at one particular corner.

Then, the main difficulty is deciding where in between those main two profiles should reside.

Notice in this image how it’s not perfectly 12mm. Hence, the “maximum height” should be 12mm +/- how much? 12mm +0.000? and -0.000? :wink:

I’d say that the ‘hand-work’ should always be treated as the correct shape, but it all depends on the ‘design intent’, and where it leads.

Most likely the ‘design intent’ can evolve over time throughout the hand-work process. And ultimately, it all boils down to what the ‘precision’ constraints are.

Of course it’s always really good to have original design profiles, but hard to say how that intent may have evolved over time during each stage in the process.

So, without ‘plans’ that get more specific, there’s merely countless numbers of ‘degrees of freedom’ for the ‘design intent’ to change over time throughout any process.

And, there’s pros and cons to anything really – sometimes pure freedom is good for development, but not good for mass production, per say.

If you want more than one of something or even something with ‘symmetry’ then some ‘constraints’ or rules need to be established to within a certain ‘tolerance’.

So, if I were to reverse engineer that shape for example, I’d be asking specific questions like Length, Width, Height +/-(significant figure units) etc.

And for ‘organic’ (compound curvature hand-work geometry) I’d probably try to get as many dimensions as possible – even as much as 250k measurements per square inch, for example.

But without really sophisticated 3D scanners, you can probably use about a dozen photos or so with certain lighting and texture, to then generate a 3D model of said component with an estimated mesh that is accurate to maybe 10k measurements per square inch… I’m just guessing though.

3D scanners have alot of evolution they need to do – they’re still not very accurate relative to price cost. So, I can’t really say you could scan it to +/-0.0025" without a $25k scanner and some skills – for example.

Some day we should all be able to do that for like $200 I bet – only a matter of time. The last 15 years has been rough though, in terms of that technology development.

That company Ametek currently controls some of the best tech since they acquired Creaform.

Another big one is 3DSystems acquisition of Rapidform.

1 Like

This thread has clearly shown that there are many interpretations of that sketch. How is a computer meant to decide which shape is actually desired. It is a common misconception that computers are magical. They are purely logical, doing exactly as they’re told, and nothing more.

1 Like

Many thanks for your help all - great community!

Very impressive Lander, but sorry you may have misinterpreted my intentions slightly! Its not about recreating the EXACT shape my grandfather created (naturally there will be some human error and perhaps some simplification, additional sanding etc). So surely don’t need to 3D scan anything or estimate sizes from photos etc? I included the photos just to give a rough idea of how it should look (at least according to his interpretation). In theory all that should be needed is the plans I assume!? It was more about understanding the general principle behind it and how to recreate it in Rhino :+1:

The shape you have created looks right (although a bit puzzled why the dimensions aren’t as defined? in reality it makes no difference of course but surely it could be perfect in 3D?). Sorry if you missed it, but as mentioned in the first post the size should be 115 x 46 x 12mm.

Could you kindly explain how you created this in Rhino please. Did you use the ‘ExtrudeCrvAlongCrv’ tool mentioned by others previously? Sorry I dont understand what you mean by “so I basically added for/aft profiles”! :thinking:

1 Like

Understandable. I admit I was kinda messing around a bit, cause I’m quite familiar with this contrast of sanding, human error, versus CNC 0.0001" resolutions and GD&T’s / patent drawings etc.

I like to reflect on extremes to try gaining a contrast of perspectives.

Indeed, honestly I was relating this project to say one where you might want to develop automotive fenders with high precision and class-A surfacing – sorry bout that :grin: :beers: hehe

You’re right, I guess I did neglect those dimensions haha, idk maybe I had tunnel vision mentally. I’ll try to update that. But yes I guess I wasn’t too worried about specific dimensions yet, I was just focused on the fundamental shape I was perceiving from your print and pictures.

I mostly was using ‘networksrf’ – one of my favorites.

I added rectangular forward and aft profiles, per say. Because, I noticed there were some profiles missing from the ‘print’ – imo.

So, I imported your ‘print’ into rhino as a ‘pictureframe’ and then traced it. Which is partially why my dimensions ended up out of spec lets say. And it didn’t scale perfectly to 12mm height cause I was very flexible in how I modeled it. Which I was mostly focused on capturing shapes as I interpreted them with the ‘given’ data I saw.

But yeah I missed that 115x46… I’ll have to incorporate that.

Then to box it up, let’s say, I kinda cheated maybe cause I networksrf’ed the left/right/front/back sides and then ‘capped’ the bottom – to seal it solid, for visual purposes.

Later, I would probably not networksrf the front/back/left/right sides, cause those should probably be ‘planarsrfs’ instead – like the bottom…

But, I also noticed on one end, from a picture it looks not to be a rectangle really just more like an L-shape let’s say.

So, depending on how that wood piece is built, it’s either two rectangular wood pieces bonded together and sanded, or one piece machined like a billet – maybe not planar on the bottom…

:thinking: or more than two…

1 Like

Haha no worries. Felt a bit rude critiquing the person helping me but wondered why you were using such random measurements! :laughing: Good estimates though to be fair!

Many thanks. To be honest it probably wouldnt matter, but might as well try and reduce the chances of issues and stick as close as possible to plans!

Aaah I believe thats what I tried at first, but looked odd to me. Probably due to the lack of extra profiles you added.

Nah the part in question does just have flat rectangular base, dont worry!

1 Like

Honestly I didn’t check the ratios yet :blush: but I mostly relied on tracing your ‘blue print drawings’.

So, I partially did that to reference one of the points I was making where things might be close but no way of knowing without having more dimensional constraints.

But I did fail to reference those earlier dimensions you provided, so it’s still interesting how close maybe I got them without revising them yet :sweat_smile:

Yeah in the reverse engineering work I’ve done in my day, I eventually evolved to become very familiar with ‘network surfaces’ – they are so awesome, I just wish they didn’t have to be “rectangular” per say.

Sometimes you can cheat and make them triangular, but the grain is still smooshed on one end to zero length. You can even smoosh two sides to zero length like a football… I don’t think I’ve ever done it with 3 out of 4 sides tho … that would be weird :thinking: but might be able to make a tear drop shape with all sides zero length lol. idk I don’t think I’ve tried that yet.

I’ve been using sub-D’s lately and going back n’ forth to NURBS n’ meshes omg so amazing :exploding_head:

1 Like

Sounds impressive! Yeh my first attempt looked very (american) football like so assumed I was using the wrong tool lol. I think what you created above looks great though, and very close to what my grandfather made, so “all” that needs doing is correcting the size slightly and making it a solid 3D shape if you get time. Look forward to seeing what you come up with! Many thanks. :beers:

1 Like

k did revision.

bonnet.3dm (1.8 MB)

part of the issues still are the profiles in blue and green (in image) aren’t really intersecting and not necessarily in correct positions – I think.

Their positions would have to be quantified, and their shape would have to be adjusted in order for them to intersect and more closely comply with the network-surface – although, Rhino still did make a surface from them included in the network as they are.

I’d just recommend further developing the intent of where their positions and final shapes might be.

the network so far appears to have averaged them in the middle and blended that to the perimeter curves that were used, which are probably matched more closely than the middle ones mentioned.

As i said before i traced the print you provided, in order to obtain a basic shape of the profiles intended from the design.

later I found that based on my assumptions and tracings, some things needed to be modified a bit.

After doing some revisions I feel there still needs to be some adjustments.

but from here, things can basically be infinitesimally modified – so it’s up to the designer to decide how the degrees of freedom should be changed or not.

1 Like

Excellent. Many thanks for taking the time to do that lander, much appreciated!

You’re right though there is still some ambiguity around the plans! To be honest I’m not sure if the corners look quite right? Since we last spoke I gave it some more thought and did some extra research…

I found a ‘one click solution’ IS indeed possible in software called Moi3D (hope admins dont mind me mentioning it). You simply use the two cross sections in Boolean Intersection mode and boom it creates the 3D shape (although the mesh doesn’t look particularly smooth lol):

Maybe a similar feature that could be added to Rhino 8!..

However I still wasnt convinced the plans were being read correctly, so tried a similar method to what Pascal did above with the ExtrudeCrvAlongCrv command but lowered the profile, this way the cross section is correct at the maximum height rather from the side and front faces:

This is now at the correct height. This isn’t how my Grandfather interpreted the plans however it does look more bonnet like, so was maybe what was intended?!

I might make it both ways and see what looks best in person… Thanks for your help all :beers:

1 Like