Many built-in AutoLISP functions accept an arbitrary number of arguments. This is natural for the LISP environment, but to require variable-length argument lists for every comparable function in the ObjectARX library would impose needless complexity. To avoid this problem, a simple rule was applied to the library: an ObjectARX function that is an analog of an AutoLISP function takes all arguments that the AutoLISP function takes. Where an argument is optional in AutoLISP, in the ObjectARX library a special value, usually a null pointer, 0, or 1, can be passed to indicate that the option is not wanted.
A few ObjectARX library functions are exceptions to this rule. The acutPrintf() function is similar to the standard C library printf() function. Like the standard version, it is implemented as a variadic function; that is, it takes a variable-length argument list. The AutoLISP command function not only accepts a variable number of arguments of various types, but it also accepts types defined especially for AutoCAD, such as points and selection sets. In addition, the AutoLISP entget function has an optional argument for retrieving extended data. In ObjectARX, the acdbEntGet() function does not have a corresponding argument. Instead, there is an additional function, acdbEntGetX(), provided specifically for retrieving extended data.