©2004 Henry O. Hubich
TurboCAD v9 introduced the ability to insert a raster image into a drawing and to edit that image in various ways within the drawing. This ability is the key to easy and accurate wrapping of that image onto a 3D object using the Arbitrary Plane mode.
I shall briefly review the principles of AP wrapping and then explain in detail how to use TurboCAD's new dexterity with raster images to make the job easier. Although the traditional procedure is entirely adequate for very simple wrapping tasks, the method described here will eliminate the guesswork often necessary in more complex situations.
"Arbitrary Plane" is the elite of TurboCAD's planar wrapping modes, conferring precise control over the placement of a specified image onto a specified object. When applied correctly, this procedure leads to surprisingly lifelike renderings.
You must keep in mind that all of TurboCAD's wrapping modes apply as many copies of the specified image, arranged in rows and columns, as it takes to cover the whole thing. It is, in fact, not possible to apply an image to only a part of an object.
![]() Figure 1 An Image, an Object, and the Marriage of the Two |
Arbitrary Plane wrapping requires you to supply numerical values for the following parameters in the Material Editor's Wrapping dialog. (We shall see later how to determine what those numerical values must be for any given situation.)
Scale. Use this parameter, in conjunction with Aspect Ratio (discussed below) to match the image to the dimensions of the 3D object. Scale tells the program how wide the image should be once it's been applied to the object. This width is expressed in terms of Drawing Units (DU) - a catchall term for whatever units you have selected in your Drawing Setup.
Aspect Ratio specifies the height of the applied image, expressed as a percentage of the width. If you want to maintain the proportions of the original image, this number should be equal to one hundred times the height of that original image divided by its width.
Origin is a set of coordinates which determine the location of the image on the object; specifically, it is the position of the lower left hand corner of the image as it appears on the rendered object.
Normal vector and Up vector describe for TurboCAD the orientation of the plane of the wrapped image. The first-named is a vector directed along the normal to that plane, and the second specifies which direction in that plane is the top of the image. (I'll explain in a moment what's meant by the "plane of the wrapped image." And don't worry if you're not comfortable with the concept of a vector. We shall get along just fine here without it.)
The "plane of the wrapped image' is the plane on which your image will appear without distortion. Here are some examples…
|
Example 1 (Figure 2) |
![]() Figure 2 Building a Picture |
Example 2 (Figure 3) |
![]() Figure 3 A Fence Post |
|
Example 3 (Figure 4) |
![]() Figure 4 Oak Leaves |
We assume here that the object already exists and that you have created a Material for it, and that you now have to determine the correct values to enter in the Material Editor's "Arbitrary Plane" Wrapping dialog. The procedure for doing so consists of just the following three basic steps (which I'll discuss in detail after presenting the list):
![]() Figure 5 Items Used in Case 2 |
Now let's see how we actually do those three things. We shall consider two quite different examples here - a very simple but typical situation, and a more complex one. I'll call the simple one Case 1 and the other Case 2. The "picture" shown in Figure 2 can serve as Case 1. Let's use the items in Figure 5 as Case 2.
Step 1, Case 1. Because this object was created as a 3D Box in the default World WP, we need only switch to World Plan View and verify that the current WorkPlane is the World WP.
Step 1, Case 2. As with the hypothetical 4×4 post mentioned earlier, we want the wood grain to be almost but not quite parallel to the long axis of the object. Hence the required view is almost but not quite the standard Left (or Right) view. We can either work by eye, switching to the Left view and using Examine to rotate our viewpoint a little, or insert and adjust a Camera Object to give ourselves more precise control. Here, briefly, is how to do this step with a Camera Object:
![]() Figure 6 The Camera Object, Selected to Show Nodes |
Working in World Plan view and the World WP, zoom out to give yourself some working space around the object. Use "Camera by 2 points" to insert a Camera Object into the drawing, clicking once to emplace the camera itself (off to the left of the object, approximately in line with its axis), then once again to designate what it's looking at ( a point on the left end of the object). You want the imaginary line defined by the two clicks to be not quitehorizontal in that World Plan view. Figure 6 shows the Camera Object and its two nodes as seen in World Plan view.
Double click on the Camera Object, select "Camera Object" in the dialog which appears, and be sure the "Visible" and the "Attached/Detached" boxes are both checked. Click OK. You'll probably see a warning message announcing the opening of a new window and asking if you want to continue. Click Yes.
The next thing you'll see is a view of the object as seen by the new Camera. You're in a brand new Window now - the "Camera" window. Do not do anything to change your viewpoint while you're in this window, because if you do, the Camera Object will be messed up. (Better save what you're seeing as a Named View, because in all likelihood you're going to forget this warning.) Switch back to the original window (using the Window menu) before changing anything.
You can adjust the view displayed in the Camera window by switching back to the normal window and editing the two Nodes of the Camera Object in exactly the way you'd adjust the location and target of a Spotlight. If the view is tilted wrongly, set the Camera's Up Vector to (0.0,0.0,1.0).
We are not finished yet with Step 1, Case 2, because we still have to create a WorkPlane in this new view and change the object's own WP to this new one. The first part is straightforward; just click the "Plane by Active View" Toolbutton or use Workspace|WorkPlane|By View. The second part requires a little trick first described by Winston Mitchell…
After verifying that you're really in that new WP, create a tiny Sphere - small enough that you can bury it out of sight inside the existing object. Now do that: bury the Sphere in the object. Then Boolean Add the object to the Sphere, being sure to click first on the object and then on the Sphere. The WorkPlane of the new object (which looks exactly like the old one) has become the WP of your new view of the wrapping plane. Now we're really finished with Step 1, Case 2.
Step 2, Case 1.
Use Insert|Picture |From File to insert your image into an open drawing. Navigate to the image file and click the "Open" button, then click in the drawing and drag a rectangle to define the location and size of the inserted image. The rectangle's aspect ratio will automatically match that of the image as you drag, and the image will appear as soon as you release the mouse button. It will lie on the current WorkPlane.
Once the image has been inserted, you can treat it like an ordinary 2D TurboCAD entity. Your next step is to resize it to match the object, either by dragging with the mouse or by entering values in the Inspector Bar. For the simple cuboid of Case 1, I suggest you use the Inspector Bar, having first measured the object to determine the necessary dimensions. Verify the fit by using Assemble by 3 Points to place the image on the face of the object.
It's assumed for Case 1 that the correct image orientation is either upright (i.e., just as it appears when first inserted) or rotated 90 degrees counterclockwise. After completing the material assignment, you can rotate the object itself if it needs to be upside down or turned 90 degrees clockwise.
Step 2, Case 2. |
![]() Figure 7 Case 2: The Image as First Inserted |
To facilitate adjusting the image to suit the object, I place it directly on the object and use Format|Send to Back so I can see both the image and the object. (The latter isn't visible until I deselect the image.) Working with the mouse only, I can resize, relocate, and rotate the image until I'm satisfied with the result. Figure 8 shows this final arrangement. |
![]() Figure 8 Final Configurationn of the Image |
Note: Take care to maintain the rectangular shape of the image as you manipulate it. Change its size and aspect ratio as you wish, but do not distort its basic shape.
Step 3, Case 1. Still working in the WP of the wrapping plane, select the image and read its X and Y dimensions from the Inspector Bar. The correct values to place in the "Arbitrary Plane" Wrapping dialog are these:
| If you did not have to rotate the image to fit the object | If you rotated the image 90 degrees counterclockwise |
|---|---|
| Scale is the X dimension of the image or the object. (They are equal.) | Scale is the Y dimension of the image or the object. (They are equal.) |
| Aspect ratio is equal to 100 times the Y dimension of the image (or the object) divided by its X dimension | Aspect ratio is equal to 100 times the X dimension of the image (or the object) divided by its Y dimension |
| The three numbers for Origin are one half the image's or object's X dimension, negative one half the image's or object's Y dimension, zero | The three numbers for Origin are negative one half the image's or object's X dimension, negative onehalf the image's or object's Y dimension, zero |
| The three numbers for Normal vector are (0,0,1) | The three numbers for Normal vector are (0,0,1) |
| The three numbers for Up are (0,1,0) | The three numbers for Up are (-1,0,0) |
Please note: If you've followed this procedure closely, you will realize that Case 1 could have been handled very nicely without inserting the image into the drawing at all. Doing it that way is in fact the traditional method of AP wrapping. But you will also have realized by now that the traditional method leaves much to be desired in any wrapping exercise other than the very simplest.
Step 3, Case 2. Not surprisingly, this is a lot more complicated than Case 1. Here's what you must do:
Working in the view established in Step 1, measure and record the image's own X and Y dimensions. Of the several reasonable ways to do this, my own preference is to switch to the WP of the image (using WorkPlane by Entity) and read Size X and Size Y from the Inspector Bar after selecting the image. The value you enter for the wrapping dialog's Scale parameter is the measured X dimension of the image. The value for Aspect ratio is one hundred times the image's Y dimension divided by its X dimension.
Next we must determine the location of the image's own lower left corner with respect to the object's WorkPlane - which, you recall, is the definition of the wrapping Origin parameter.
|
Vertex-snap a Point object to the lower left corner of the image to give us something definite to work with. (don't use a Star; it'll give an inaccurate reading.) Snap another Point to the upper left corner, too; we'll need that in the next paragraph. (Figure 9 shows these two Point objects in place.) Next, working in 3D Select mode, click the "Selector 3D Properties" button on the Inspector Bar and set both "Extents CS" and "Coordinate System" to "User CS." With the object's own WorkPlane as the current WP, select the object and click the "Set UCS by Selector" button on the Inspector Bar. You'll see "Pos X," "Pos Y," and "Pos Z" values are now zero, meaning that the coordinates of anything you select henceforth will be referenced to the object itself. Finally, select the Point object and read its Pos X and Pos Y values. Enter those two values in the first two fields of the Origin parameter, and enter a zero in the third field. |
![]() Figure 9 Point Objects Snapped to Image Corners |
|
One final measurement remains to be made: the location of the image's upper left corner with respect to its lower left corner. This set of relative coordinates will serve admirably as the wrapping Up vector. To determine these coordinates, be sure your current WP is the object's own WorkPlane, then select the Point object you placed at the lower left corner and press the "Set UCS by Selector" button. Select the Point object at the upper left and read its Pos X and Pos Y values. Enter these two numbers in the first two fields of the Up vector window, and enter a zero in the third field. That's it. The result is shown in Figure 10. |
![]() Figure 10 Case 2 completed |
Download a PDF version (501K) of this page.