Solid modelers and other CAD/CAM subsystems are moving to distributed
heterogeneous computing environments, so as to support design and manu
facturing processes that are temporally and spatially distributed. Com
munication and collaboration among the software components of such dis
tributed systems require protocols for accessing remote objects. This
paper discusses an approach that provides transparent access to divers
e solid modelers in a distributed environment. A solid modeler is augm
ented with a software wrapper, called an adaptor, so as to provide a u
niform application programming interface (API). Applications interact
with the uniform API and need not concern themselves with the specific
s of the modeling systems used. API calls are implemented in a client-
server architecture, in which a modeler and its adaptor function as a
geometry server, and various applications communicate with the server
through remote procedure calls (RPCs). A few adaptors have been implem
ented at the University of Southern California's Programmable Automati
on Laboratory, and have been used routinely for several years. This pa
per discusses adaptor design problems and our approach to their soluti
ons. It illustrates the application of our methods through an example
that involves the incremental recognition of machinable features in a
distributed environment. This environment includes a geometry server,
a simple feature-based design system, a state-of-the-art feature recog
nizer, and a graphics renderer, all running as separate processes in d
ifferent machines. To our knowledge, this is the first documented effo
rt in which a complex application such as feature recognition is capab
le of running, unmodified, on top of modelers based on constructive so
lid geometry or on boundary representations, which are fundamentally d
ifferent. (C) 1998 Elsevier Science Ltd. All rights reserved.