January 30, 2014

ACA: MNL Files Have Moved in 2014

AutoCAD® AutoLISP® Menu Source files have long been used to enable the loading of AutoLISP code and support files used by an AutoCAD Customization File (CUIX) and, if you go back far enough, the old AutoCAD Menu files. All that is required is that the file name (other than the file extension) of the MNL file match that of customization file and that the MNL file be found in the AutoCAD search path, and when the customization file is loaded, so is the MNL file.

In previous releases, the MNL file was kept in the same folder as the associated CUIX file, so if you knew where the CUIX file was, you knew where the MNL file was, as well. The default installation location in Windows 7 was under C:\Users\[USERNAME]\AppData\Roaming\Autodesk\ACA 20xx\enu\Support, where [USERNAME] is your user name and xx represents the last two digits of the release year for the version being used.

In ACA 2014, this has changed. The default installation location for the CUIX files remains the same, but the MNL files are now installed in C:\Program Files\Autodesk\AutoCAD 2014\Support\en-us (Windows 7).

Why should you care? If you are running ACA more or less out-of-the-box, or at least using the ACA.cuix file as your main customization file, you probably do not need to care. But if you choose to make a copy of the CUIX file and give it a different name (in anticipation of making customizations for yourself or your office), then you will also want to copy the ACA.mnl file, renaming it to match the name of your copied/renamed CUIX file. ACA uses the MNL file to undefine and then redefine several AutoCAD commands, including the FILLET command (which is redefined to run the AECFILLET command, enabling it to work on Walls as well as the usual AutoCAD objects). If you want that to happen for your renamed CUIX file, then you have to be able to find the MNL file in order to copy and rename it.


Richard Binning said...

Hi David,

I, too, am deploying the 2014 products. Our deployment uses the ACA menu as a partial menu attached to our corporate custom menu. As long as the ACA menu is partially loaded, these mnl and lsp files will be found automatically since they are under the application root.

Thanks for the heads up though!

David Koch said...

Moving the MNL file is really only an issue if you or your firm creates a custom CUIX file by copying the ACA.cuix file and renaming it, or if you use the ACA.cuix file and customize it and want to add additional code to the MNL file.

In the latter case, I would likely recommend doing the customization in a separate CUIX file, loaded as a partial file, and then creating an MNL file for that CUIX file to handle any LISP code that the CUIX file requires.