A proxy object is an object AutoCAD ® creates in memory as a surrogate data holder for a custom ObjectARX ® object. AutoCAD automatically creates proxy objects when the application that defines the object is not loaded.
Proxies are created for both objects and entities. AutoCAD uses proxy objects to provide read access to data in a custom object derived from AcDbObject or AcDbEntity. Proxy objects also provide controlled edit capabilities for that data. The parent application determines the extent of those edit capabilities with the PROXY_FLAGS argument of the ACRX_DXF_DEFINE_MEMBERS macro.
The proxy object class AcDbProxyObject is derived from AcDbObject, and the proxy entity class AcDbProxyEntity is derived from AcDbEntity. Both are abstract base classes that cannot be instantiated and are included in the ObjectARX API.
Proxy objects convert back to the original custom object whenever the parent application is loaded. For example, if proxy objects are created at the beginning of a drawing session, and the parent application is subsequently loaded, the proxies are restored to custom objects.
Under special circumstances, proxies are written to files, but proxy objects usually exist only in memory.
ObjectARX developers can affect the creation and control the modification of proxies by using the ACRX_DXF_DEFINE_MEMBERS macro and the demand loading features in AutoCAD (see Demand Loading). In addition, they can use functions of the proxy object classes in their own applications to manage proxies that AutoCAD creates for the custom objects of other applications.