ACME 3: Configuring acme.cfg

This configuration file is interpreted literally. Please be very careful, avoid typo’s, extra spaces and so on. Also, read and understand what you’re editing.

The file has the following structure and details are discussed below:

### ACME configuration data
## Path environment variables used:
## Modemacro value, a . for no value
## Search File Support Paths, ordering, inclusion
# CAD program path names pattern:
# Priority path names pattern:
# Local drives priority order:
## Help file locations NedCAD:
## Lisp pool settings, add-to… is T or nil
## User related data, "OS-based" or "Custom":

Using environment variables

ACME supports expansion of environment variables for file location and path tags. This works outside the CAD programs due to their differences. ACME needs to be able to run on both platforms and must have it’s own mechanism to deal with environment variables.

If you want ACME to handle variables other than %programfiles% and %appdata%, then you’ll first have to add them to acme.cfg. This way, ACME knows which variables should be expanded.

A variable can occur only once in a definition line, but using different variables is permitted. Obvious are %appdata% and %programfiles%, but you can add more variables here.

For example, %networklisp% has value “G:\groups\engineering\tools\lisp”.

In DOS:

C:\Users\nanos>set
…
NetworkLisp=G:\groups\engineering\tools\lisp
…

In acme.cfg:


## Path environment variables used:
path-env;appdata;programfiles;networklisp

In AppX.acme:

…
SearchPath "%networklisp%\electronics"
…

Modemacro value

This entry can contain a value for modemacro. For example the following DIESEL string:

…
## Modemacro value, a . for no value
modemacro-diesel-string;$(if,$(getvar,pickstyle),Group Select: ON,Group Select: OFF)
…

In this case it shows “Group Select ON” or “OFF“, depending on the value of pickstyle.

Use a dot (.) for no value of modemacro.

Search File Support Paths

Often abbreviated as SFSP.

Before explanation, let’s take a quick look at the configuration:

…
## Search File Support Paths, ordering, inclusion
# CAD program path names pattern:
platform-prefix;%programfiles%\Bricsys
platform-prefix;%programfiles%\Autodesk
platform-prefix;%appdata%\Bricsys
platform-prefix;%appdata%\Autodesk
# Priority path names pattern:
priority-prefix;%appdata%\NedCAD\Patches
# Local drives priority order:
drive-prefix;C
drive-prefix;B
drive-prefix;L
…

So there are three blocks with tags:

  • platform-prefix
  • priority-prefix
  • drive-prefix

ACME uses these tags to create an ordered setting for Search File Support Paths (SFSP). This is an important piece of optimization.

The order is important:

  • First found, first used. The CAD program uses what it finds first. So if you have two Lisp files or configuration files then this is the mechanism, the first one found will be used.
    • This creates the possibility to manipulate settings. Simply place a (modified) copy higher in the stack.
  • Another aspect is that you don’t want the slow network drives before the fast local drives in the search path, to keep the system responsive.

What is what?

platform-prefix

To start with platform-prefix, these are the first path parts of default values for used CAD programs. You always want these values on top. These values are easy to check with command acadprefix.

If you use BricsCAD, you don’t have to remove the AutoCAD entries and vice versa.

Everything that starts with this pattern will stay on top of the stack.

The original order will not be changed.

priority-prefix

The next part contains tags of type priority-prefix. This is a way to give priority to files, locations, over the rest.

The example shows a directory for patches. Suppose all is “packaged” and bug fixes are available. Then it is easier to put the patched files in the patch directory for the time being and give it priority over the file with the bug.

The order of priority-prefix in the configuration file is applied.

drive-prefix

Finally there are local drives, sometimes mapped, and this is the way to designate them. i.e. use tag drive-prefix.

So this is how your Search File Support Path (SFSP) is ordered. All other locations, the rest, will be put under these prefixes.

In other words, the remainder does not need prefix entries.

The order of drive-prefix in the configuration file is applied per drive letter. The order within a drive letter range will not be changed.

Help file locations

These are the default locations for help files.

Command acme-help (or help-acme) uses this data to create a help HTML file. It is suggested not to change these values.

…
# Help file locations NedCAD
help-commands-local;%programfiles%\NedCAD\Help\nedcad_command_reference_guide.pdf
help-commands-online;https://nedcad.nl/help/nedcad_command_reference_guide.pdf
help-acme-local;%programfiles%\NedCAD\Help\nedcad_acme_reference_guide.pdf
help-acme-online;https://nedcad.nl/help/nedcad_acme_reference_guide.pdf
help-root-online;https://nedcad.nl/help/
…

Other help locations are retrieved from .acme files.

Lisp pool settings

It is suggested to keep things as is. This way Lisp loads and links are handled correctly and added to SFSP and – in case of AutoCAD – added to the trusted paths.

User related data

## User related data, "OS-based" or "Custom":
UserDisplayName;OS-based
UserJobTitle;OS-based
UserDepartment;OS-based
UserCompany;OS-based

Keeping these OS-based means that these names are set environment variables for things like title blocks. It is suggested to use this mechanism. However, as an alternative, file %appdata%\NedCAD\ACME\user_data.cfg can be used after editing. In that case use Custom here.

ACME 3: Configuring acme.cfg
Scroll to top