An ObjectARX application can define a set of functions known to AutoLISP as external functions, by using acedDefun(). After the application is loaded, you can invoke an external function exactly as you can invoke a built-in or user-defined AutoLISP function. AutoLISP variables can be passed as arguments to the external function, and the external function can return a result. The external function can also prompt the user to enter data, either from the keyboard or by specifying points or objects with the pointing device, and the external function can set Windows help.
The external function can be invoked by an AutoLISP function, as well as interactively. ObjectARX applications cannot call AutoLISP functions. An ObjectARX application can retrieve and set the value of AutoLISP symbols (the symbol's data type must be recognizable to a C++ program).
An ObjectARX application can define a new AutoCAD command with the same C:XXX convention as AutoLISP. You invoke the external function by entering its name at the Command prompt, with no parentheses.
Defining an external function replaces any previous definition of the same name. If two ObjectARX applications define functions with the same name, the function in the first application to be loaded is lost; if you unload the second application, you cannot call the duplicate function.