Modeling Mechanical Surfaces - Questions & Answers (in no particular order)

Return to main page

graphic_delimiter

One of the advantages of patches is you can create surfaces with very few control points (cp's) making for a very "light" model from a memory standpoint. But the trick is finding the balance between using the fewest possible patches with having an accurate model. Obviously a highly contoured surface like an automobile's steering wheel will require more cp's than its hood. I first try to make the surface with as few patches as possible and still maintain the desired shape, laying in a cp every time there is a major shape change in the surface profile I'm modeling. If a progressive render looks good (not a real-time shaded view) it's finished. Otherwise it's time to stitch in some extra splines.

cpler_01 cplr_02

This railroad coupler is an example of using more splines on the more visible side of a model. The left image shows the top with two splines to more accurately define the outside corners. While the right image shows the coupler's bottom where I just used single splines with a reduced mag. I was pleasantly surprised when the two hooks matched their continuous neighbours in mag and bias.

Return to questions

graphic_delimiter

I've found that the render engine likes symmetry and regularity - the perfect Hash surface is an array of square patches. If you find that in modeling a complicated part that you've had to really stretch a group of patches in one direction with a bunch of smaller patches at either end, you may want to break up that stretched patch into smaller ones and take advantage of hooks.

Return to questions

graphic_delimiter

box

If you're building something with a rectangular cross-section and you like razor sharp corners, by all means use the sharpen function. If you want rounded corners, you can use low values of mag and vary their values along the corner to change the radius. Using this technique I have sometimes found the renderer tends to get indecisive about blending adjacent, varying mags. And you can only make two sides parallel by tweaking the bias. The other two sides will be rounded

But if you want realistic, controllable corners use two cps. For instance a rectangular object should look like the image at right.

corner

A three sided corner should look like the example at left.

How obsessive you get about using this corner is up to you. Its certainly more patch heavy than a single peaked cp but most real world objects, even machined parts, have edges like this. So it's a question of how big the object is in the camera's field of view and how stingy you want to be with cp's.

By the way, in the above examples, I had to tweak the gammas on most of the side splines to make them straight and parallel. Click here for a discussion of optimizing this type of corner.

trk_01

One of the advantages to building corners the preceding way is that it can be tolerant of the dreaded three spline intersection creases. Don't let anyone scare you with talk of having to avoid three point patches or (five pointers for that matter) because they don't render properly. You can plainly see in the corner illustrated above that if the patch's three sides are formed by three continuous splines it renders just fine. Where you will almost always get into trouble with creases is when you add a third spline to an existing intersection or when one of the splines is a dead end.

The two images at right are real-time shaded views of details of the Bettendorf style trucks used on my railroad rolling stock. As long as you have enough splines to define the radiused corners you can easily have 3,4 and 5 pt. patches smoothly co-existing. The anomalies in the 5 pointers do not appear during real renders. Don't use real-time shading as the final quality control.

Return to questions

graphic_delimiter

cyl_to_flat

Five point patches are wonderful for connecting dis-similar geometries such as cylinders to planes. But how much you can distort a 5 pointer without causing creasing seems to depend on what its neighbouring splines are doing. For instance there is no obvious difference between the shape of the creased 5 pointer on the upper cylinder-to-plane image and the preceding image of the railroad truck, other than the the relationships of its neighbours. Yet one creases in a final render while the other does not. If a 5 point patch is behaving badly, my solution is to add another spline to make the 5 pointer as un-contoured as possible and let the 4 pointers do the curved transition, as shown in the lower image to the right.

This is a specialized case but it does illustrate the rule of thumb if you have a 5 point patch that isn't as smooth as you'd like; re-arrange or add patches to reduce the size and especially curvature of the offending area.

Return to questions

graphic_delimiter

From the standpoint of a hardware modeler, the biggest difficulty with Hash splines is the default spline magnitude and bias values at each cp. They are optimized to ease character animation. They are definitely not optimized to simplify modeling plumbing elbows, bowling balls, or automobile hoods. I'm not saying you can't model these things, but I am saying that Hash splines don't go out of their way to simplify their construction. Most frustrating, and ultimately time consuming, are the bias values which are designed to automatically maintain some predetermined level of curviness depending upon their location with respect to neighbouring cp's. The effect of this is that after perfectly tweaking the two ends of a 90 deg. corner, should you move the spline next to the corner, the corner's shape will change and you'll have to re-tweak. My only suggestion to this problem is to not adjust bias until you are absolutely finished arranging your splinage.

Equally frustrating are unexpected bias flips. You can build one half of an object and lovingly adjust the bias values to get the desired shapes. But when you make a mirrored copy and attach it to the original half, some bias values (mostly alphas) in both the original and new sides become incorrect and usually need their signs changed (+ to - or - to +). Unfortunately I have no real solution to this. I am simply warning you so you'll be prepared for the extra work.

Return to questions

graphic_delimiter

trk_03

I do very little modeling in real-time shaded mode. I only turn on shading to test surfaces for creases. For final tweaking I find that it is more helpful to look along the splines, close up, and judge their shape with respect to their bias handles.

For instance look at the hilighted spline in the side-view on the upper right. If it wasn't green or if it was a shaded view you'd probably think it was straight. But rotate the model in a bird's eye view until you are looking along the spline and its bias handle as in the lower picture.

Now the curve is obvious in what is supposed to a straight line. By tweaking the gamma you can get the bias handle to lie almost directly along the spline, giving you a straight line from this cp to the next.

Return to questions

graphic_delimiter

The one operation that I find real-time shading to be very useful is finding subtle bumps and waves in what is supposed to be a smoothly curved surface like an automobile hood. Set the colour of the surface to some dark colour and the specular attributes to large numbers, e.g. size and intensity equals 50 or larger. Select a cp in the middle of the surface of interest. Turn on real-time shading. Rotate the part until the surface is facing you so the specular highlights are visible.

hood_01

Slowly rotate the part to make the specular highlights move through the area with the crease. In the images above you can see the highlights broaden out as it passes through the green cp, signifying that the surface curvature changes in an unnatural way for typical auto sheet metal.

hood_04

At this point you have two choices. You can either stay in shaded mode and try to fix it there. Or my preference, go to wireframe mode and take a close-up look along the offending spline. The image at right shows the problem. The bias handle is not tangent to the surface as it should be. In other words the bias handles are on opposite sides of the spline which is a guaranteed crease. Changing the bias value for this spline improves the shape of the surface and thus the look of its specular reflections.

Return to questions

graphic_delimiter

trk_05

Sometimes you need to add a feature to an otherwise plain surface, such as the casting detail on the railroad truck above. It would have been a pain to try to build a continuous mesh with this detail built in. And since it's basically a useless detail I didn't want to waste a lot of patches on it. But with a liberal use of mag and bias, I was able to get the detail to blend in quite well. Especially after a material has been applied to the part.

trk_06

air_pipe_01

The compressed air valve on the flat car is a good example of building detail with as few cp's as possible. For instance, typical pipes and cylinders can be built by extruding 3 pt. circles. And intersecting pipes don't have to be a continuous mesh.

air_pipe_02

I could have put radiused corners on the valve handle but it's just a model of a piece of stamped, bent metal plate. So I opted for a 4 pt. spline cross-section, (part of one is shown at left), with the magnitude at each cp set to 40 and the gammas set so the top and bottom surfaces were parallel.

Return to questions

graphic_delimiter

long_section_00

One of the advantages of patches is being able to define long straight sections with a few intermittent cross sectional splines. However I have found that in certain circumstances there is a limit on how far apart these cross sections can be. At right is a close-up of a long, thin, reinforcing strip I modeled for the mail car. As usual, I filleted all the edges.

I had originally put cross sections approximately every 9 ft (2.7 m). However my test renders showed the following behaviour. Notice how the shape of the top fillet of the riveted strip tends to wander with occasional black patches. I suspect that unavoidable numerical errors are creeping in as the render engine tries to interpolate the fillet shape between the two cross sections. They are simply too far apart.

long_section_01

Through trial and error I found I could eliminate the interpolation errors (as shown below) by reducing the distance between defining cross sections to 6 ft. (1.8m). It certainly adds more patches but the modeling accuracy is worth it.

long_section_02

Return to questions

graphic_delimiter

fltcar_rend

Don't apply the finishing touches to your model (especially materials and decals) only in the model window. The lighting in modeling mode is not very natural. Spend some time to develop a choreography with a good approximation of the lighting design in which you are planning to use the model. (All my models are built using separate bild_it.prj and view_it.cho files). This way when you do a quick render, like the one of the flat car below, you'll know exactly how its going to look in the final scene. You'll also see which details are highly visible and hence need more care.

Return to questions

graphic_delimiter

I don't care whether your working with A:M or any other app on your computer, hitting the Ctrl-S key combination should be second nature to you. If you have enough time stretch your arms or sip your favorite beverage you have enough time to save the file your working on. Ctrl-S costs you nothing and may pay huge dividends. The times that I've had A:M hang on me are usually those occasions when I've gotten so involved with breaking, rearranging and re-attaching splines that I've gone 10 or 20 min. without saving. My theory is that in these cases, you've put off the "finding patches and aligning normals" functions for so long that when you eventually invoke them, the program gives up in frustration.

Not only do I regularly save the file I'm working on but whenever I'm about to add or change a major model detail, I save the model with sequential version numbers. For instance, say I'm going to build a model of a claw hammer with a rubber handle and a steel shank. I start modeling the base of the handle and save this as hammer.mdl. Once I'm happy with the handle and want to move on to the shank, I save the .mdl file twice. The first is a Save As hammer_00.mdl and the second is a Save As hammer.mdl. Once the shank is complete I do a Save As hammer_01.mdl and a Save As hammer.mdl. Using this double Save As process, I'm always working on hammer.mdl but I have a series of backups. If I get into trouble with my current splinage, I can always open a past version, do a Save As hammer.mdl and I haven't lost a thing. I highly recommend this practice over counting on unlimited levels of Undo.

Return to questions