A coming generation of applications that take advantage of a new standard in computer-aided design and manufacturing (CAD/CAM) will soon take the Windows NT and Windows 95 market by storm. The standard, Object Linking and Embedding for Design & Modeling (OLE for D&M), extends OLE to handle 3D objects. Intergraph authored this new technology, and Microsoft and a number of CAD vendors have endorsed it as a Microsoft OLE industry solution. This new technology, which resulted from Intergraph's Jupiter R&D project is expected to lead to a new breed of OLE-aware CAD/CAM applications for the 32-bit Windows NT and Windows 95 operating systems.

OLE for D&M applications can create documents that contain overlapping, precision-placed 3D or 2D OLE objects, as well as conventional non-overlapping OLE objects such as standard tea spreadsheets, art and images. These documents are commonly called compound documents because they can hold multiple OLE objects, and because users can view their 3D OLE objects from different orientations instead of just from the top.

The commands available in OLE for D&M applications from both the main application (e.g., Microsoft Word) and from the OLE server (e.g., Paintbrush, an OLE server for .BMP files) will allow precision editing of OLE objects. For example, an OLE server for an AutoCAD file that's linked to a Word document can share the menu bar on the main application's frame to provide precision-editing commands such as extend Line. Similarly, the main application can provide precision placement or orientation commands such as move object, scale object, and rotate object that act on the OLE server.

2D vs. 3D
In a 2D world, you use only two coordinates, x and y, to describe a location. When you move off a flat surface into the 3D world, you add a third coordinate, z, to describe the spatial component. Currently, OLE objects are bounded, non-overlapping shapes. OLE for D&M eliminates these boundaries by allowing you to precisely place 3D OLE objects into a document You can look at these objects, which may overlap, from various viewpoints. Because the objects are placed precisely in relation to each other in space, you can build a model or assembly with multiple OLE objects. In the same compound document you can also combine 3D OLE objects with standard OLE objects such as a Word document or an Excel spreadsheet.

The ability to view and incorporate 3D objects into office-automation applications brings the benefits of CAD to desktops across an entire enterprise. You can have access to accurate product models, facility plans, and area maps, and you don't even have to know how to use the technical application itself.

Because of their cost and complexity, CAD applications have been limited to engineering, design, and scientific departments; sharing data with other departments has often been cumbersome. With Windows, OLE, and OLE for D&M technology, all users can take advantage of objects, drawings, and 3D and 2D models without using traditional and often monolithic CAD/CAM applications.

Combining Objects
OLE for D&M applications also allow you to move beyond mere compound documents: You can make compound geometric models that combine OLE objects of various formats. OLE for D&M applications can place these objects correctly in space relative to each other when they are assembled. Each OLE object displays with a position, scale, and orientation specified by its attachment (transformation) matrix. You can also display more than one overlapping OLE object in the same space or view, just as you can in traditional CAD/CAM applications.

Objects do most of the work in OLE. The OLE objects "know" their own formats and how to display and manipulate themselves. This capability takes the burden off the main application because its not required to know how to use different data formats to combine objects with native data into a CAD model. You can construct a seamless model in the main application with objects from various CAD/CAM formats without converting them. The objects retain their native format and you can use OLE for D&M applications to combine them with OLE objects of other data formats to create CAD models.

Just as you can insert a bitmap into a Microsoft Word document OLE for D&M applications allow you to insert multiple, spatially overlapping objects into their documents. For example, you can create a compound document of a bicycle assembly by connecting a bicycle frame to a front wheel. Let's say, for instance, that the bicycle frame is a MicroStation file and the front wheel an AutoCAD file. The two objects can be placed precisely, relative to each other, to provide a seamless, realistic model in a compound document You can then insert other objects into this compound file. As you can see in the example in screen 1, a Word document and an Excel spreadsheet have been inserted to add notes and a title block into a Me. To produce this bicycle assembly with current CAD/CAM technology, you would have to convert either the MicroStation file, the AutoCAD file, or both into the native format of the final document.

Choose Your Views
Typically, current CAD/CAM technology allows you to show multiple simultaneous windows with different views of the same object or model. This means you can see top, right and front views at the same time. Some of the views can even be shaded, or they can contain offset and scale notations. Until now, there has not been an "OLE way" to maintain different views of 3D OLE objects in space. Because they allow you to create 3D OLE objects in a compound document OLE for D&M applications provide the familiar View commands that you see in traditional CAD/CAM applications.

Multiple views make it easier for you to edit objects. With 3D OLE, you can select an object in one view and then select points from multiple views so that you can perform any editing you need. You no longer need to stop and change your view orientation in the middle of an editing command. Lefs say, for example, that you have three windows displayed: an isometric perspective view zoomed out to show the entire model, a front view zoomed in on the object you want to modify, and a top view centered on another object that you want to use to edit the original. You select the object in the second window for editing by using an extend Line command. You are prompted to select a point or element to extend the line, and then you move to the third window to select the object centered in that view. The line is then extended to the object in the third window, and you can see the overall result from all three views. This simple extend Line operation might not have been possible without multiple views. They can enhance the ease, precision, and speed of this editing operation. Screen 2 shows an example of multiple simultaneous views.

A Flexible Advantage
The advantage of OLE for D&M is the freedom and flexibility it gives you to construct composite models without having to worry about whether your objects have compatible formats. Imagine combining hundreds or thousands of differently formatted OLE objects to create a single, seamless CAD/CAM model. In each view, the objects display correctly in space relative to each other and appear to be seamlessly connected, even though all the objects are of various for-mats and may even be displayed by different applications.

Different data formats can also give you more flexibility. An OLE server application for a particular filename extension, which is usually related to a particular file forename provides all the display capabilities for the format to the main application.

The server can also provide other capabilities. For instance, typically when you double-click the mouse on an OLE object the OLE server for the object goes active. While the server is active, it shares the main application's menu bar and provides its own commands in its own pull-down menus. This capability allows servers the flexibility of providing commands such as extend I i ne that work with their own data formats. It also allows them to simply add value to the use of their data format through other types of commands. For example, an OLE server can provide database access commands (e.g., show all widgets that cost Less than $300) or perhaps analytical commands (e.g., generate a flow analysis using specific elements).

Using Constraints
Assembling a CAD model with constraints is perhaps the most necessary capability of current CAD/CAM technology. Ifs also the most difficult capability to deliver. Modeling with constraints refers to defining relationships between objects; for instance, whether two lines are parallel or whether an are and a line touch tangentially.

It is essential to a high-quality CAD/ CAM application that you be able to perform precision modeling with constraints. Let's assume that two or more objects are constrained to each other's dimensions. If one of them is moved or modified, the other constrained object should move or adjust automatically. Therefore, constrained modeling is also called relationship modeling.

Typically, a CAD/CAM user places one object and then places another object next to it as if they were two pieces of a puzzle. To do this, you must select the points on the two objects that you want to connect This selection of points is called locating, and the seamless connection between objects is the constraint These two capabilities are used for the precision placement and assembly of CAD/CAM models in both traditional CAD/CAM and OLE for D&M applications. An OLE for D&M application can enable you to create a CAD model with constraints, even between OLE objects (including those of different data formats) by using the application's capability to locate "into" other OLE objects. With OLE, the main application puts the burden of the locate on the OLE server that understands the specific format.

You can open, or in-place activate, OLE objects for editing simply by using your mouse to double-click on the object. This automatically activates the native application you used to create the object or the OLE server that's responsible for the objects data formal The OLE server or the native application inserts its own pull-down menus together with the main application's pull-down menus.

The native application provides commands for editing and selecting elements by giving a location or by providing a boundary. This type of boundary, called a fence, allows you to select elements if they are lying inside, on, or outside the boundary. You can even make this selection outside the active OLE objects own extent or in separate views, without deactivating the active object For example, suppose you activate an OLE object that provides an extend Line command. You can then select an element or point outside the objects own extent or even in a separate window, to extend the line. When you select outside the extent of an active OLE object using current OLE technology, the active object deactivates and the command is terminated. With OLE for D&M applications, the active object stays active when you select points outside the extent of an active OLE object. This allows OLE for D&M applications to have commands that use data located in separate OLE objects in the compound document model.

Using the Clipboard
Currently, if you select outside an OLE object while it is in-place active, it deactivates. In some cases, you might want to keep one object active while you retrieve data from another. To do this, you need a clipboard format that both objects can use. The active object can actually get data from the other OLE object after the locate and then continue processing.

For example, consider a pipe and valve assembly. You double-click on the "pipe," and the OLE object becomes in-place active. You select the thread fit command, which asks you to select a thread to stretch to fit then you select the threaded valve opening. The command recognizes the threaded opening of the valve you selected and uses this data to calculate a perfect fit between the valve and the pipe. Now that the pipe has been modified, it tells the main application to update the display. The pipe then redisplays with the correct dimensions to fit the thread opening of the valve you selected. The pipe is still in-place active and is waiting for you to select another command (see screen 3).

OLE for D&M applications can bring the precision modeling and editing tools of current CAD/CAM technology to OLE, and therefore to the standard desktop PC. The locate feature gives an OLE for D&M application the ability to extend this geometric-constraint capability to other OLE objects. This extension then allows you to assemble various OLE objects into a constrained CAD/CAM model.

Open Interoperability
One of the biggest advantages of OLE over traditional non-OLE CAD/CAM applications is that you can control data formats from any vendor to create compound documents and to construct models. For example, various OLE for D&M servers for the OLE objects in the bicycle model (see screen 1) handle display and locate requests for the specific data formats they service. In addition, OLE for D&M provides a number of advances over the earlier OLE 2.0 standard including spatially overlapping model placement in both 2D and 3D, correct spatial placement the ability to locate into individual elements of OLE objects, and the ability to locate outside an object's extent without deactivating the object.

The capabilities of OLE for D&M applications are profound and will bring the benefits of CAD into the mainstream of enterprise computing.