Rhino3d Video Tutorials Transcripts - To further support you as you learn and progress with Rhino we've transcribed each of our video tutorials.
Return to Rhino3d - Modelling in Rhino - Generating Production Surfaces and Solids from 2D Intent - Video
Hi this is Phil from Simply Rhino. In this tutorial, we’re going to take a look at creating production quality surfaces and solids from 2D design intent. We’ve used the example of a ceramic coffee pot as it’s often the case within the ceramics industry that the design progresses quite a way in 2D before any 3D involvement.
The starting point for this exercise is a series of 2D drawings, created in Adobe Illustrator. We’ll look at quickly reconstructing some of the major construction curves in Rhino, before producing a series of surfaces from the minimum of curve input. The emphasis is on creating high quality surfaces relatively quickly before arriving at the final 3D solid model.
This tutorial is in three parts and this is part one.
The starting point for this exercise is a 2D layout presented in Adobe Illustrator. This is a full size drawing containing a plan, a number of elevations and some sectional views. In fact, most if not all the information we need to create an accurate 3D model in Rhino.
If we just zoom in and take a look at the plan and elevations, we can see that the shape is essentially elliptical in plan and also that there is a subtle shape change going on between the curves as shown in the side elevation and as shown in the end elevation. The high point for the curves in the side elevation is somewhere around about here, and it is much higher up, somewhere around here on the end elevation. So clearly this is something that we need to get right when we start to build the surface in Rhino.
Now before I bring the drawing in to Rhino, I’m just going to draw a simple curve in Illustrator, with the aim really of just showing you the similarities and also the differences between how Illustrator and Rhino handle curves.
You’ll see if I click on a node here that as I move a point here, and I’ll just zoom in a little, you’ll see I get these tangent handles that actually move out with this node or control point. And if I pull these tangent handles and move them around, I can change the shape of the curve. So the Illustrator curves are basically controlled by these handles and Illustrator knows to move the appropriate points either side of the centre point on the handle in order to keep the curve smooth.
So let’s save this file and let’s go in to Rhino and open this up.
So I’m not inside of Rhino and I’m going to go to ‘file’ and ‘open’, choose the Illustrator file and bring this in to Rhino. I’ll have a dialogue box come up here and I’m choosing the ‘preserve units’ option which will keep 1mm in Illustrator to 1mm in Rhino and I’m also going to choose this ‘load text’ button here to bring in the text objects. Now the text formatting may get lost as you can see here, and in fact, this isn’t of that much interest to me so I’m going to remove this text, but you’ll see that the text on things like dimensions will come through in the most part correctly.
Now the first thing I need to do is just to double check one of these dimensions. So my dimensions in Rhino are likely to result to more decimal places here, so I’m going to see a slightly different result here in Rhino but you can see that this has come through at full size.
Now before I go on to start looking at the model of the coffee pot, I just wanted to take a quick look at this curve that we drew in Illustrator, and I’m going to pick this curve and turn on the control points for it. You can see here the rows of three control points in a line, which are effectively where the tangency handles were in the handlebar editing tools that we were using in Illustrator on the curve. Now technically, Illustrator draws cubic Beziers which are degree three single span or 4 point curves. So this curve that we have here is not a single curve, it’s actually a number of curves joined together. So if I explode this, you’ll see that we’ve got these small segments here, each one of which has got four control points. So technically a Bezier is similar to a nurbs curve with the exception that it can only have one more control point than the degree and what this means is that with curves that are brought in from Illustrator, when these curves have some complexity to it like this, then this curve is not going to be curvature continuous. It’s only going to be tangent continuous at these ends of the separate curves. And of course, if we turn on the control points in Rhino and we effectively move one of the points that’s on a tangent point here, then of course we’ll expose that fact and we’ll get a kink in the curve. So there’s nothing wrong intrinsically with Bezier’s but just be careful when you start point editing curves that have been built in Illustrator. Very often for the type of work that we’re doing here, nurbs curves are slightly more useful to us.
Okay, so let’s go ahead and delete this curve and then centralise this imported drawing on to our Rhino construction plane and then let’s start to do a little bit of organisation here. So I’m going to change the layer name from default to imported CAD. I’m going to put a numerical prefix in front of that layer as well, so that I can always get my layers back in order if anything untoward happens with them, and I’m also going to have a blank layer right at the top of my layer stack as well. Then I’m going to create another new layer and I’m going to call this elevation’s in place. Now what I’m going to start to do is to move some copies of these elevations and plans in to a common position in 3D space so that they’re all sitting in their appropriate positions. So I’m going to create a new sub-layer here under elevations in place and call this side elevation and make that layer active and I’m going to copy the side elevation here on to that new layer, and then turn off the imported CAD layer, just a bit of extra information there that I don’t want. And I’m going to try and find a midpoint of this bottom edge and centre it around zero, so that’s centred around the axis now on our world construction plane and I just want to check the accuracy of that midpoint there. So I’m going to just snap on to that midpoint there and find a position here, find a position there, check that these dimensions are the same which they are, so that’s good. So it looks as though there’s some symmetry about this model which is good.
So that’s our first object in position, except that of course, this is sitting in the top construction plane at the moment and it would make more sense if this was on the left construction plane. So to move this from its position to the same relative position on for example, the left construction plane, I pick this in the top construction plane and then go to transform, orient and remap to C-Plane. Click on the C-Plane I want to move it to and this moves the object from one C-Plane to another, keeping the relative position to 00 the same. So this is an effective way of bringing in a 2D drawing like we have at the moment and orienting the views in to their correct 3D positions.
So I can now go back to our imported CAD and lets essentially repeat this process let’s say, with this end elevation here. So I’ll create a second sub-layer here and I’ll give this again the numerical prefix and I’ll call it handle elevation. I’ll make this active, grab this drawing here and copy it on to this layer and essentially repeat the process here. Centre that around an axis, let’s just check another element here. Let’s go from 0 with the dimension here to that handle in there, and same again. Okay, that looks good. So again showing me that handle looks symmetrical around 0 and this really needs to be on the rear elevation.
So let’s set view to back, pick this and transform, orient and remap to C-Plane. Okay, so if we, for example, just turn on the side elevation as well as the handle elevation, you’ll now be able to see these, sitting in their respective positions in 3D space.
So now I’m going to go back to the imported CAD and I’m going to repeat the process of orienting these views one by one until they’re all done.
Okay so now we have the various sections in place. Okay, so you can see that everything is just placed where it should be in 3D space. So this makes it pretty easy for us now to start tracing off some curves. Probably the best thing here is probably to start drawing these curves afresh in Rhino. If we look at what’s come through from Illustrator, some of the curves look quite clean, some of the other curves look very dense, very difficult to work with.
So let’s say that we’re going to create some new curves in Rhino here for everything rather than relying on any of the imported curves. So as we sort of pointed out earlier on, the shape of the body of the coffee pot is essentially elliptical and then there is a change in cross-section from the side elevation to the end elevation, where the high point is at the mid here and it’s much lower down here. So it’s a reasonably subtle shape and we want to maintain this elliptical cross-section as well.
So I guess the first thing we need to do really is to actually take a look at the base of this. We’ve got some call out dimensions here at the high point of the curves, but we know that these high points are in slightly different positions. So we might need to start by slightly approximating this and by that I mean that we can actually draw an ellipse of these dimensions here and produce a surface that is close to the side elevation and then amend that surface so that it matches the end elevation.
So I’m going to create another set of layers here. I’m going to call these 2D curves and I’m going to create a sub-layer here and call this body curves. Again, this needs a prefix in front of it and let’s just turn on the side elevation so working on our route view here, turn on project and let’s look at curve fitting a curve over the top of this existing curve here. So I’m going to use an interpolated curve here and I’m going to just change the colour of my layer here so I can see this a little more readily and I’m just going to click on three or four positions there to get that curve. Let’s just extend this curve using the bi-arc option here and pull this up here and pull this down here slightly. Okay, now because I drew an interpolated curve here, I’m not in control of the number of control points in here and obviously where I extended as well, I’m going to get these extra points here as well. So the first thing I need to do is to rebuild this curve and I’m just going to keep this nice and simple. Degree three, four control points. Now this obviously much simpler and easier to work with, and I just want to check the deviation between this and the existing curve. I can do this by going to analyse, curve and deviation and then pick the two curves here and Rhino will tell me that I’m 0.003 of a millimetre out here and if I repeat that command again, with the keep marks option on, it should give me some points where I’m closest and furthest away. So 0.003 of a millimetre, not particularly worried about that, so let’s remove these points and let’s say that this rebuilt curve is close enough for what we need at the moment and I’m just going to trim the bottom off this curve. So just make sure the bottom part of it is the right height and I’m going to leave the top slightly over long here. It doesn’t need to be quite as long as it is.
Okay now when you trim a curve, you don’t change the degree or number of control points. Rhino actually reapproximates this curve when you trim it. So as you trim it remains degree three with four control points.
Okay now the idea of the exercise here is to try and build the shape as quickly as possible without having to rely on building too many curves. So I think that I can use just one side elevation curve here and the ellipse and can then start to build the shape from there. So I’m going to now go to either a perspective or a planned view would do the job here. Let’s do this in perspective, and I’m going to draw my ellipse and I’m just going to check off the size that I need here. So I need it to be 126.1 x 101.1 and of course I need it to be centred around 0. Okay, so I’m going to run the ellipse tool here from centre, type 0 for the centre and for this axis here, it’s going to be 126.1, but I only want half of that dimension, so just type in the maths for that in the command line. That fixes that axis, and then this one is going to be 101.1 over 2 and that is the axis that way.
Okay so we’ve now got some body curves here. Let’s just take a look at how that ellipse compares to the planned view that we had here. So let’s turn off the handle elevation and let’s just have a look in top view here. It’s actually pretty close. Now we’re expecting to modify this slightly, so I’m not expecting it to be exact, but that looks pretty good for the moment. So because I’m going to build a surface here that I’m going to modify, I want to build this quite simply. So let’s create a new set of layers here, and call this surfaces. We’ll call this one, again with a numerical prefix, we’ll call this body surface. And we’ll call this body surface outer because I think we may be building the B-Surface, the inside surface of this.
So the technique that I’m going to use here is a rail revolve. This is a fairly kind of simple way of building a surface where we have a combination between a one rail sweep and a revolve. So I need to take off my project constraint and then rail revolve, pick the profile curve, the rail curve and then define the axis. Pull up vertically to define the axis and this will build my rail revolve surface. Now you’ll see this is quite a nice simple surface and an advantage of this, if we look at the control points here, it will retain the degree two orientation about the elliptical profile and we can check this here by picking a surface and going to what and you can see that it’s degree two in u and degree three in v.
Okay now if we now compare this with first of all the side elevation, that looks reasonably close. In fact, it’s as close as our original curve was. But if we now look at the handle elevation for example, you’ll see that this is where we can see that the shape is changing. Now the idea here is that it is fairly easy to point edit this surface as long as we’re careful. So I’m going to turn on the control points for this surface and I’m going to turn off my Rhino curves that I’ve built and I’m going to lock the handle elevation layer and we could work in Ghost here, it might help us see a little better. What I’m going to do is to pick some rows of points here, let’s just have a look at this in 3D. So it’s important to maintain the elliptical structure of this, that these three points and these three points stay in line. So these need to be moved together. So in other words, what I’m going to do is change the shape just as it appears in this elevation. Let’s go back to wireframe to do this, and what I’m going to do is to scale this. I’m going to use the transform and scale 1D command, and I can snap for example to the middle point here. Pull over here, and then start to pull out those points. Do the same here, and just gradually get this shape correct. Okay, needs a bit of iteration to do this. Just be careful when you’re selecting the points for this type of thing that you don’t select anything that you shouldn’t be selecting. So I’ve been careful to lock layers here. These ones want to come in slightly. So all the time using scale 1D here. So we’re getting closer now. Okay that looks pretty good now, so let’s turn on the shaded view for that and what we should see here is that our shape has stayed the same in our side elevation, but we’ve modified it in the end elevation. And if we’ve been careful with this, then we should see here that we don’t have any disruption of the Zebra’s as we move along here.
Okay, remember to get good feedback from the meshes for the analysis meshes. Go to detailed controls and a quick way of setting the meshes as ever, is to set everything to 0 which overrides the setting. Just use this one value here, maximum distance edge to surface. Set this as something similar to the absolute modelling tolerance to get a really nice tight mesh here and there we go, and get a nice smooth mesh there. So you see, there’s no disruption over where the quad points would be on the ellipsis here. That all looks nice and smooth and again, if we see this within environment map, again that’s nice and smooth.
Okay so that’s our basic outer surface for the coffee pot. Now if we wanted to offset this surface to create the inner surface, rather than to create a solid outer volume and shell inwards, then we have some choices to think about when we offset. So I’m going to create a new layer here. Call this body surface inner, make it active and let’s look at offsetting.
So pick the object, surface, offset surface. Offset will occur in the direction of the arrows, so if you want to flip that direction just hit the flip option here. I’m going to set my distance to three and I’m going to offset. Now when you offset normally, you offset to a tolerance and that means that your inner surface is going to be more complex than the outer surface. Now in this instance, that’s probably not too much of an issue because this is really a B-Surface and in fact this surface wouldn’t even be used to define any tooling in this instance because this part would be slip cast, so that it would only be the A-Surface that was being used to define the tooling. But of course, we need to create the B-Surface, so that we can work out things like the fit of the lid. Let’s just take a look at this and see whether we’ve got any disruption over the tangencies.
Sometimes when we offset a surface that is degree two in one direction and three in the other, we may very occasionally get some disruption around the quad points. We haven’t got any there. So this is a reasonably good way of creating a surface that is not really for aesthetic purposes. It’s just a functional inner shell. However, if we wanted to offset and have a surface that had fewer control points, then we would use the loose option. The loose option really is a control point offset, so it offsets the control points by a fixed distance, giving us effectively the same control point structure and degree on the offset as on the original object. So that’s this loose option here. When this option is enabled and you have a surface that has the quad points in it, then first of all, the surface is going to split around those tangent positions, and it’s likely that if we run the Zebra’s on here that we’re going to see a discontinuity here because those tangent points would be lost. We’re only moving control points and there isn’t enough information in the loose option to maintain the tangencies.
So let’s say that we were offsetting here, a surface of mixed degree, and we wanted to actually maintain those tangencies. Well again, it’s not too difficult to achieve this. What we could do is explode the poly-surface that we get, and essentially discard three of the quadrants. Turn on the control points for the remaining quadrants, and we can use set points – set x, y, z co-ordinates to realign these points, snapping to the end points. So this is what I mean here. So we’re going to go to transform, set x, y, z co-ordinates and I want to align these to the x axis in world space here and just snap back to that end point. And then repeat the process here. Of course make sure that you have the point snap enabled when you do this. And then we’ll now do this for this pair of points in the other direction. So that pair of points now, and I want those to be in y, not x this time.
Okay so these points now if we look at them in top view for example, you can see these are all lined up with each other in x and y now. So they’re all giving us effectively these 90 degree conditions, which should mean now that when we mirror this back out around 0, that we have now a surface where our Zebras are consistent and our continuity has been regained.
Okay, so once we’ve created the offset, let’s just now concentrate on the next part of the design which is going to be the handle. So I’ll just turn on my elevations in place and I’ll look at the side elevation and the handle elevation and just look at these here and it looks as though the handle has got a completely consistent width to it here, and it looks as though the section thickness is constant as well. So this should be a fairly straightforward exercise and something that we can probably use a sweep 1 rail for. So I’m going to create some new curves here on my 2D curves layer, create a new layer for these and these are going to be handle curves. Make this active, and change the layer colour so I can see what I’m doing and make sure that my elevations in place are locked and then I just want to go to analyse and distance, and just look what the perpendicular distance is across here in a couple of places. Okay, so it’s 6.5 millimetres fairly consistently here.
So let’s again do something similar to what we did last time, and that is to use interpolated curve to create a curve here and extend the curve by an arc and then rebuild. You can see that curve is very close to our intent there. I only need to draw the outside curves in this instance. I’ll put the radius part in the smaller radius last of all. So I’ll build the three main curves here. So once again, rebuild and then finally this curve. Once again, these curves are all slightly over long. Okay so those are rebuilt now. I’m just going to see what, if we are reporting a radius back from these from our Illustrator artwork, roughly about 20 millimetre radius here and the same here actually.
So I think what I’m going to do here is just put a fillet curve in here with a radius of 20 and just have a look at this with the elevations in place. That looks about right, but the fillet of course is only tangent continuous at the start and end. So I’m going to take this out now and replace this with a curvature continuous blend. So I’m going to show the elevations in place so I can style the blend and curve fit it to our fillet as much as possible. But of course I want this additional continuity that I’m going to get. So I’m going to set the continuity to curvature which is G2 curvature. I’m going to take the middle point here and I’m just going to pull this back until I get a shape which is closer to the handle. Now of course, we won’t be able to match this exactly at this point now because our curvature continuity is going to give us a slightly different shape, particularly round about here, because what happens is that the radius here is gradually training, going from something that is about 20 here and going to almost an infinite radius here where we’ve got very little curvature going on. So we just want to make this blend look good, not look to stressed at the end of the blends. Okay so we’ll leave those blends a little bit fuller in the middle.
Okay, so let’s look now at the cross-section for the handle. So let’s turn on the elevations in place and look at the handle elevation here and just take a measurement across here, so 20 millimetres across the handle there. So our handle cross-section then is a rectangular section of 20 x 6.5 millimetres. Now the rectangular section isn’t going to look particularly good if we sweep this along the curve. Generally speaking, where you have these flat areas, this is going to look as though it’s almost probably going to be sunken in slightly. So I want to give the surface here a bit of crown on both of the two rectangular sides. So I’ll do that before putting in the corner radii of the blend which seem to be something of the order of 4 millimetres. So those 4 millimetre radii are going to go on after we’ve done the sweep. So let’s just go to the handle curves layer again and I’m going to draw in the basic rectangle, using a rectangle from the centre here, starting this at 0 and this is 20 millimetres wide x 6.5 millimetres high. Now in order to add a bit of crown on to this, I’m going to just take a line here at 0.25 of a millimetre and at this side, slightly less, 0.15 of a millimetre and use that to snap a midpoint of an arc too. So I’m going to use the three point arc here, which is start, end point on arc and repeat the process here.
Now the arc looks pretty good here but I need a bit more in the mass here in this curve, so that when this sweeps around and creates a double curvature surface, I’ve got a little bit more room for blending edges and matching curvature. So I’m going to rebuild this as a freeform curve or a spine, again a degree three, four control points and you can see here when we preview the rebuild that our deviation is extremely negligible, and repeat the process here. So these are both free form curves. So I’m going to mirror this using the x axis prompt here and mirror this one using the y axis prompt. Okay and then I’m just going to draw up a little point here, that’s going to be the point that sits on the rail and I’m going to remove the rectangle and just join these four arcs together.
Okay, now I can think about orienting this on to the handle curve. So for this I’m going to use the orient perpendicular to curve command and I always like to use this command with the curve or object that I’m going to orient in a similar position and I do this for both orient perpendicular to curve and orient on surface. So what I tend to like to do is have the cross-section in this place so it’s lying planer with the active construction plane so that the perpendicular direction is actually the vertical direction in this instance. So I know that what’s vertical is going to be perpendicular when I do the orientation. So transform, orient, perpendicular to curve, pick the objects to orient, the base point and then snap to the curve that I want to orient too. Okay so I’m going to enable to copy option here and I’m also going to enable the rotate option. Move this right to the end of the curve and then because I’ve got my ortho on here, it’s very easy to just rotate to 90 degrees and I should only need to have one cross section here to propagate that correctly along all of these rail curves here.
So let’s create a new layer on our surfaces and call this handle surface and make this active and then look at our sweep. So I’m going to use a one rail sweep and I’m going to use the chain edges option, which means that these various curves don’t need to be joined together. If I have the auto-chain option on, anything that is tangent or above is going to pick in the chain. So I can just pick one curve and all the other curves which are tangent or better, continuous will pick. Then I enter and pick the cross-section curves and enter to get to the curve seam option.
Now the sweep in this case is going to produce a poly-surface which is comprised of four separate surfaces. Each one of these has four curves. So I want the curve seam to be in a corner. So that’s in a good position there. So I’ll enter to get in to preview. I’m going to use the freeform style of sweep here which allows this cross-section to move about the curve, always staying perpendicular to the curve and of course use the do not simplify option here, and then okay to accept that. So I can then just turn off the curves temporarily, and cap the ends of this and then add the fillets. Now we had 4 millimetre approximate radii on the outer edges which means we’re going to need obviously to put a smaller radii on this inside edge and I’m going to look at using a blend rather than a fillet here, just to give me some slightly better continuity. But I’m still going to use a solid command for this. So it’s solid, fillet edge and blend edge. I am going to pick a radius of 4 here, set a radius of 4 and pick an edge. Okay, and let’s enter to get to a preview and just have a look at whether we go for distance between rails or a rolling ball fillet here. It shouldn’t really make any difference here because our angular condition here between the two edges where I’m setting back to fillet is actually consistent. So rolling ball will actually give me something that matches more closely the description that exists in Illustrator.
So that builds okay, so let’s repeat this on the other side, and let’s put a smaller radius, maybe a 2 millimetre radius on the inside edge, again with a blend. Okay, and let’s quickly check this over with the environment map. All we’re checking here is that the blend just looks smooth and that we haven’t really got any little kinks or creases going on where we’ve filleted. So that looks okay and this is how it’s going to fit in to the body. So that’s the handle finished for now.
Thanks for watching and please do check out the second and third parts of this tutorial.