Table of Contents

CTC BIM Tools Installation and Configuration Guide

Suites Overview

The CTC Express Tools™ products from CTC Software offer many utilities for enhancing the productivity of users of Revit® software from Autodesk®. Revit users launch these tools from within the Revit software.

Although written to function correctly with the international community in mind wherever possible, CTC Express Tools products are currently only tested on English USA versions of Revit running on English USA versions of Windows.

Controlling Tool Groups and Visibility

A guide explaining how to configure tool buttons and groups for all of the BIM Suites can be found here: CTC BIM Tools Installation and Configuration Guide

A guide explaining how to configure tool buttons and groups for all of the CIM suites can be found here: CTC CIM Tools Installation and Configuration Guide

Configuring Standalone and Network Licensing of CTC Tool Suites

A guide for configuring the cloud licensing of CTC Tools can be found here: Cloud Shared Licensing

A guide for configuring the network licensing of CTC Tools can be found here: Network License Configuration

Installation and Configuration for CTC Tool Suites on Revit Workstations

The standard workstation installation requires little more than running the setup program. The setup program must be run by someone with administrative privileges on the workstation.

For standard installation instructions, jump to [CTC Express Tools Quick Installation Guide](2022/installation)

For more comprehensive information on topics such as automating workstation installations, setting up network license servers and preconfiguring workstation settings, please refer to the CTC BIM Tools Installation and Configuration Guide CTC CIM Tools Installation and Configuration Guide and articles.

In accordance with Autodesk standards for add-ins, during the installation the user does not get to choose where the suites will be installed on their local hard drives.

The CTC Express Tools suites will always get installed to folders like the following examples, as applicable:

%ProgramData%\Autodesk\Revit\Addins\202x\CTC-BIM-Project-Suite.bundle\Contents

%ProgramData%\Autodesk\Revit\Addins\202x\CTC-BIM-Manager-Suite.bundle\Contents

%ProgramData%\Autodesk\Revit\Addins\202x\CTC-BIM-Batch-Suite.bundle\Contents

%ProgramData%\Autodesk\Revit\Addins\202x\CTC-HIVE-Suite.bundle\Contents

%ProgramData%\Autodesk\Revit\Addins\202x\CTC-BIM-Data-Suite.bundle\Contents

%ProgramData%\Autodesk\Revit\Addins\202x\CTC-BIM-SuperDoor-Suite.bundle\Contents

%ProgramData%\Autodesk\Revit\Addins\202x\CTC-BIM-Casework-Suite.bundle\Contents

The “202x” subfolder is specific to the versions of Revit for which the suite being installed was created. Since one suite installer will configure tools for multiple versions of Revit, for example if installing only “BIM Project Suite 2022” the following installation folders will be used:

%ProgramData%\Autodesk\Revit\Addins\2022\CTC-BIM-Project-Suite.bundle\Contents

%ProgramData%\Autodesk\Revit\Addins\2021\CTC-BIM-Project-Suite.bundle\Contents

%ProgramData%\Autodesk\Revit\Addins\2020\CTC-BIM-Project-Suite.bundle\Contents

%ProgramData%\Autodesk\Revit\Addins\2019\CTC-BIM-Project-Suite.bundle\Contents

The following folder will also contain files needed by the CTC Express Tools suites:

%ProgramData%\CTC

IMPORTANT: The workstation setup program will create and permission all of the folders as needed during the install, giving “Authenticated Users” the ability to modify files within them.

The user must also be able to read from, and write to, their own personal default Temp folder, as CTC Express Tools components occasionally need to create temporary files in this folder, which are typically deleted when no longer needed. By default, Windows allows the user to read from and write to their own personal temporary folder.

Upgrading CTC CIM Suites

Upgrading the Same Year Suite

When upgrading a Revit workstation to a new release of the same year of a suite product (e.g. “BIM Project Suite 2021” from version 21.0.1 to version 21.0.2), typically uninstalling an old version is NOT required. Running the latest setup is all that should be needed.

Upgrading to a New Year Suite

If the install for the older version had used command-line parameters to pre-activate a node-locked license, the same command-line parameters will be needed again for the new version. Note that this requires your subscription to be current, and will NOT consume an additional activation against the total number of licenses originally purchased.

When upgrading a Revit workstation to a new year of a suite product (e.g. “BIM Project Suite 2021” to “BIM Project Suite 2022”) the only other special thing to consider is whether or not the oldest year supported in the older version needs to continue to be used.

For example, “BIM Project Suite 2021” also included tools for Revit 2017 and 2018, but “BIM Project Suite 2022” no longer includes tools for Revit 2018. Installing “BIM Project Suite 2020” will actually first automatically uninstall “BIM Project Suite 2021,” which would cause the tools for Revit 2016 to be lost, given that they are no longer in development and are no longer part of the latest suite.

If keeping the tools running for the oldest version of Revit (2018 in this example) is NOT important, then simply run the latest installer. However, if it is important to continue using the oldest version of Revit, a manual workaround can be performed. Note, however, that in this example there would be no more updates in the future for the 2018 tools.

IMPORTANT: This is an UNSUPPORTED configuration. There are no guarantees the older software will work.

This example uses an upgrade from BIM Project Suite 2021 to BIM Project Suite 2022, but the process is the same for all CTC Express Tools suite software:

1. Before installing BIM Project Suite 2022, open Windows File Explorer and navigate to this folder:

C:\ProgramData\Autodesk\Revit\Addins\2018

2. Create a new temporary folder in this folder called: Preserve

C:\ProgramData\Autodesk\Revit\Addins\2018\Preserve

3. Copy the following existing file and folder from the …\Addins\2018 folder into the new Preserve subfolder

File:  CTC-BIM-Project-Suite.addin
Folder:  CTC-BIM-Project-Suite.bundle

4. Run the BIM Project Suite 2022 installer

5. Once the installer is complete, move the saved file and folder still in the “Preserve” subfolder back up one level to the original “2018” folder.

6. Delete the now-empty subfolder: Preserve

The tools should now still be available for Revit 2018.

Note that this is a one-time procedure per suite. Future updates to a 2022 or later suite should no longer try to remove files that were originally installed for Revit 2018.

Standard Workstation Installation

To perform an installation of a CTC Express Tools suite, first download the setup program zip file from https://www.ctcsoftware.com/. Once the download is complete, unzip the files.

Standard Installation Using the Setup Program

A standard installation simply involves running the interactive setup program, accepting all of the default values, and then starting up Revit.

Double-click the installation “msi” file to begin the installation process. In this example we will install CTC BIM Project Suite, but the process is the same for all suites. First, you should see a screen that looks something like this:

Standard Installation Steps

This is a standard welcome screen. Click the “Next” button to proceed.

The next screen should look something like this:

Standard Installation Steps

This is the license agreement screen. In order to be able to move forward with the installation, you must read the software license agreement and then click the “I accept the terms in the license agreement” option. You will then be allowed to click the “Next” button, which needs to be done to proceed with the installation.

The next screen should look something like this:

Standard Installation Steps

This is the standard confirmation screen. It provides one last chance to cancel this process without anything being installed. Click the “Next” button to proceed. The screen during the actual installation should look like this:

Standard Installation Steps

NOTE: If a user is logged in who is not a system administrator and attempts an installation, the installer may prompt them for administrative credentials to allow the installation to continue.

A file called CTCInstallLog.txt can be found in the installation folder once the setup completes. Checking that log can be useful when verifying something like a silent installation (discussed below) worked correctly.

When the installation is complete, the final screen should look like this:

Standard Installation Steps

Click the “Finish” button to complete the installation process.

The next time the user starts the Revit software and opens a project or family document, a “CTC Software” tab will appear in the ribbon at the top of the Revit window, and within that tab will be the buttons needed to launch the tools.

Here is an example of how BIM Project Suite will look in Revit when installed on a computer for the first time:

Standard Installation Steps

Free tools can be found within the left-most drop-down button. For example:

Standard Installation Steps

The icons are color-coded. The icons with the light background color indicate free tools, whereas the icons for the “Premium” (paid) tools have a dark background color. The premium tools require licensing.

Note that it is possible to use the “BIM Project Suite Settings” free tool to turn off some buttons, or to host them natively on the ribbon panel instead of within drop-down buttons. When hosted on the ribbon panel, they can be set to be small as well. For example, this is what it looks like when small icons are used:

Standard Installation Steps

The “CTC Software” tab can also be renamed, or the tools can be placed on the generic “Add-Ins” tab as well. However, the Revit user cannot configure the host tab using the Suite Settings tool. The settings for configuring the host tab can only be made by editing a configuration text file. This is described in detail below, as is a general description of using the Suite Settings tool.

The use of the Suite Settings tool is also described in the detail in [BIM Suites Settings](2022/suitesettings).

Custom Installation (Using Command-Line Parameters)

Silent Installation

IMPORTANT: Just as when running the setup interactively, when running it silently it must be run with elevated privileges (“as Administrator”).

The msi installers for the Revit workstations support performing silent installations. A silent installation does not show any dialogs on the screen during the install.

This is accomplished by using the command-line parameter: /q

So an example command to install BIM Project Suite for Revit 2020 (and older) silently would be:

msiexec /i CTCBIMProjectSuite2021Setup.msi /q

IMPORTANT: By choosing to do a silent installation, you are automatically agreeing to the software license agreement.

Automatically Activating a Standalone Locked License

If you are installing a licensed suite that locks the license to the computer on which it is being installed, you may automatically activate that license with setup command-line parameters.

IMPORTANT: If your organization has chosen to use standalone (node-locked) licensing, you are responsible for tracking and managing on which computers the software has been registered. Uninstalling the software from a computer DOES NOT unregister a license that has been activated on that computer. Licenses must be unregistered from within the software using the license management tools provided, e.g. via the Product and License Information screen.

If the license isn’t activated during the installation process this way, the first user on the computer who launches one of the suite tools which requires a license will be prompted to enter the licensing information needed.

The following command-line parameters are supported for automatically activating a node-locked license:

Parameter Description
name The “registered user” name to which the software is licensed. Typically this is the company name.
sn The serial number for this license

These values are provided in an email message when the software is purchased.

Here is an example command line for silently installing BIM Project Suite 2016 and automatically activating it:

msiexec /i CTCBIMProjectSuite2021Setup.msi /q name=“A & B Consulting” sn=DEAE5FFC8C96A909D2B8

IMPORTANT:

The results of a node-locked activation can be found in the “CTCInstallLog.txt” file, which will be located in the installation folder.

For example, a successful activation looks like this:

01/30/2014 06:39:34.063 PM Automatic license activation was successful (or previously activated).

Whereas an unsuccessful activation might look like this:

01/30/2014 06:32:25.354 PM Automatic license activation returned an exit code of: -532459699

IMPORTANT: Uninstalling the software DOES NOT “unregister” the license and return it to your CTC license pool. Unregistering a license can only be done manually in the software using the Product and License Information screen. The button to unregister the license looks like this:

CTC License Activated

Network Floating License

At a minimum, license servers must have firewall TCP ports 5052 and 5053 open in order for the workstations to be able to successfully check-out and check-in network floating licenses. TCP port 5054 must also be open if it is desirable to remotely access the web application that is used for monitoring and managing license usage.

The license server software is available for 32-bit or 64-bit Windows operating systems, but only 64-bit workstation (Revit) clients are supported.

[Network License Server Installation and Administration Guide](/common/tools/ctclicenseserverinstallguide)

Automatically Referencing a Floating License Server

If you are installing a licensed suite that will be using network floating licenses, you may pre-configure the suite to reference your license server(s) with setup command-line parameters.

The following command-line parameter is supported for automatically referencing a floating license server:

Parameter Description
floatinglicserver The license server name

Here is an example command line for silently installing BIM Project Suite 2016 and instructing it to use the license server computer with the name MyServer:

msiexec /i CTCBIMProjectSuite2021Setup.msi /q floatinglicserver=MyServer

Excluding the Free CTC PDF Writer (BIM Batch Suite Only)

If you do not want to install the free CTC PDF Writer automatically when BIM Batch Suite is installed, you can exclude it using the following command-line parameter:

installctcpdfwriter 0 to exclude it

Here is an example command line for silently installing BIM Batch Suite 2017 and instructing it to NOT install the CTC PDF Writer:

msiexec /i CTCBIMBatchSuite2021Setup.msi /q installctcpdfwriter=0

Installation Using File Copying ("X-Copy Deployment")

IMPORTANT: This technique only works when using network floating licensing or only using the free tools.

All of the suites can be deployed using a simple file copy. This may be useful in larger environments, with many Revit workstations. It is strongly recommended to do the first install on each workstation using the setup program. This is because it automatically installs the CTC digital certificate and correctly permissions the installation folders, specifically:

Path Permissions
%ProgramData%\CTC Authenticated Users / read-write
%ProgramData%\Autodesk\Revit\Addins\<202x>\<Product>.bundle Authenticated Users / read-write
%ProgramData%\Autodesk\Revit\Addins\<202x-1>\<Product>.bundle Authenticated Users / read-write
%ProgramData%\Autodesk\Revit\Addins\<202x-2>\<Product>.bundle Authenticated Users / read-write
%ProgramData%\Autodesk\Revit\Addins\<202x-3>\<Product>.bundle Authenticated Users / read-write
%ProgramData%\Autodesk\Revit\Addins\<202x-4>\<Product>.bundle Authenticated Users / read-write

Where: %ProgramData% is the system Program Data folder. This is typically the C:\ProgramData folder (often hidden)

For example, with the “2022” products whose setups install add-ins for Revit 2019, 2020, 2021 and 2022, the following folders need to have Authenticated Users granted read and write (“modify”) permissions, as appropriate for the installed suites:

C:\ProgramData\CTC

C:\ProgramData\Autodesk\Revit\Addins\2022\CTC-BIM-Project-Suite.bundle

C:\ProgramData\Autodesk\Revit\Addins\2021\CTC-BIM-Project-Suite.bundle

C:\ProgramData\Autodesk\Revit\Addins\2020\CTC-BIM-Project-Suite.bundle

C:\ProgramData\Autodesk\Revit\Addins\2019\CTC-BIM-Project-Suite.bundle


C:\ProgramData\Autodesk\Revit\Addins\2022\CTC-BIM-Manager-Suite.bundle

C:\ProgramData\Autodesk\Revit\Addins\2021\CTC-BIM-Manager-Suite.bundle

C:\ProgramData\Autodesk\Revit\Addins\2020\CTC-BIM-Manager-Suite.bundle

C:\ProgramData\Autodesk\Revit\Addins\2019\CTC-BIM-Manager-Suite.bundle


C:\ProgramData\Autodesk\Revit\Addins\2022\CTC-BIM-Batch-Suite.bundle

C:\ProgramData\Autodesk\Revit\Addins\2021\CTC-BIM-Batch-Suite.bundle

C:\ProgramData\Autodesk\Revit\Addins\2020\CTC-BIM-Batch-Suite.bundle

C:\ProgramData\Autodesk\Revit\Addins\2019\CTC-BIM-Batch-Suite.bundle

Other suites for Revit not shown here, such as CTC HIVE Suite or SuperDoor Configurator, would need to work in similar fashion.

All files and subfolders within these folders must inherit the read-write permissions for Authenticated Users, with the possible exception of some specific configuration files for which more restrictive permissions may be desired, as discussed in the “Post-Installation Configuration” section, below. After copying those files, it may be necessary to permission them again to be more restrictive on the workstations.

The best practice is to use the MSI installer on the “master” computer to get all the proper files installed the first time, and then copy those to the other computers for deployment.

The following folders and files, including all contained files and subfolders, must be copied from the “master” computer to each of the appropriate Revit workstations (examples only, may vary depending on operating system installation).

*For each example, the paths vary only by Revit version; substitute 202X where “X” = last digit of the version year.*

CIM Project Suite 202X

C:\ProgramData\Autodesk\Revit\Addins\202X\CTC-BIM-Project-Suite.bundle

C:\ProgramData\Autodesk\Revit\Addins\2019\CTC-BIM-Project-Suite.bundle

C:\ProgramData\CTC\CommonRevit

C:\ProgramData\CTC\CommonBIMProjectSuite

C:\ProgramData\Autodesk\Revit\Addins\202X\CTC-BIM-Project-Suite.addin

C:\ProgramData\Autodesk\Revit\Addins\2019\CTC-BIM-Project-Suite.addin

C:\ProgramData\CTC\Licensing\CTC BIM Project Suite License Settings.txt

C:\ProgramData\CTC\Suite Settings\CTC BIM Project Suite Icon Settings.txt

CIM Manager Suite 202X

C:\ProgramData\Autodesk\Revit\Addins\202X\CTC-BIM-Manager-Suite.bundle

C:\ProgramData\Autodesk\Revit\Addins\2019\CTC-BIM-Manager-Suite.bundle

C:\ProgramData\CTC\CommonRevit

C:\ProgramData\CTC\CommonBIMManagerSuite

C:\ProgramData\Autodesk\Revit\Addins\202X\CTC-BIM-Manager-Suite.addin

C:\ProgramData\Autodesk\Revit\Addins\2019\CTC-BIM-Manager-Suite.addin

C:\ProgramData\CTC\Licensing\CTC BIM Manager Suite License Settings.txt

C:\ProgramData\CTC\Suite Settings\CTC BIM Manager Suite Icon Settings.txt

Other suites would follow this same pattern.   It may be desirable to copy tool-specific subfolders of the C:\ProgramData\CTC folder as well, depending on how well the related tools were configured on the “master” computer. For example:

C:\ProgramData\CTC\SuperDoor

This folder typically contains settings and content (Revit family files) that are specific to the SuperDoor tool.

Or:

C:\ProgramData\CTC\Plotter and Exporter

Which contains settings and configuration files for the Plotter and Exporter tool in BIM Batch Suite.

Most of the time it will be simpler and may make sense to copy the entire C:\ProgramData\CTC folder from the “master” computer.

Detecting the Version Installed

For all CTC Express Tools suites, a text file called “SuiteVersion.txt” with only the Suite version (e.g. “22.0.1”) in it can be found in the installation folder. For example:

C:\ProgramData\Autodesk\Revit\Addins\2022\CTC-BIM-Project-Suite.bundle\Contents\SuiteVersion.txt

The contents of this file may be useful for checking to see whether an update is appropriate to deploy. For example, you may have master copies of all files to deploy located on a server, and a script that runs on the workstations which compares the contents of these SuiteVersion.txt files (or perhaps just dates on these files) to know whether or not the server's updated versions of the files should be copied to the workstation.

The installed suite version can also be seen in the “About” dialog for any of the tools, which simply gets the value to display from this file.  Digitally Signed Code (Autodesk 2017 or Later Products)

As of the 2017 versions of Autodesk products, Autodesk is strongly encouraging add-in developers to have their code be digitally signed. Digitally signing add-ins means the code being run was verified as published by the stated author, and that the code has not been tampered with since it was published.

In other words, it sets up a level of trust that the code running is exactly as published, and that the identity of the publisher has been verified.

If add-ins are not digitally signed, when the Autodesk 2017 (or later) product starts up, the end user is prompted as to whether or not they want to allow the add-in from an unknown publisher to be loaded.

The user can tell it to always load this add-in, but they would have to do that for each unsigned add-in they install the first time they launch the Autodesk product after the add-in has been installed.

IMPORTANT: All CTC Tools plugins ARE digitally signed.

Things are better for add-in authors who digitally sign their code, as CTC does. Under normal circumstances, even for digitally signed add-ins, the user is still prompted when Revit starts up to allow the add-in to be loaded.

However, once the user has allowed any digitally signed add-in for an author to “Always Load,” all other add-ins from the same author will automatically load in the future, without prompting the user again the first time an Autodesk product is run after they install the new add-in.

This is true even for other add-ins installed from the same author, but for other Autodesk products. In other words, once a verified author is trusted to always load an add-in, all of their tools installed in the future will always start right up with no further prompting, regardless of Autodesk product.

For example, the user may see a dialog like this the first time they launch Revit 2017 or later after installing a new add-in that was digitally signed:

Standard Installation Step

IMPORTANT: The MSI setup programs from CTC will automatically install the CTC digital certificate file into the Windows Trusted Publishers certificates section for the computer.

So when a CTC MSI setup is used to install the add-ins, all users on that computer will never be prompted to allow the add-ins to load. The Autodesk product (e.g. Revit, Civil 3D) will simply start up as normal, with the CTC add-ins available for immediate use. This behavior is the same as it had been for 2016 and earlier Autodesk products.

However, if the CTC add-ins are deployed using another method, such as an X-Copy deployment, or perhaps as embedded in an Autodesk deployment, the CTC certificate will NOT automatically get installed into Windows, and the user will be prompted to allow the CTC add-in to load the first time they launch the Autodesk product.

The CTC digital certificate file can be found in the suite’s installed “Contents” folder for the highest version of the Autodesk product supported. For example, for BIM Batch Suite 2018 the CTC digital certificate file can be found in this location:

C:\ProgramData\Autodesk\Revit\Addins\2018\CTC-BIM-Batch-Suite.bundle\Contents\CTCCodeSigningCertificate.cer

This file can be added to the Trusted Publisher’s store in any normal manner, for example via Group Policy.

CTC Certificate Installer Utility

CTC also provides a small utility to add the CTC Certificate to Windows, which can be used for non-MSI deployments. This program is called CTCCertificateInstaller.exe and, like the certificate file itself, is located in the suite’s installed “Contents” folder for the highest version of the Autodesk product supported. For example, for BIM Batch Suite 2018 the CTC Certificate Installer program can be found in this location:

C:\ProgramData\Autodesk\Revit\Addins\2018\CTC-BIM-Batch-Suite.bundle\Contents\CTCCertificateInstaller.exe

IMPORTANT: For this program to work, the CTCCodeSigningCertificate.cer certificate file must be in the same folder as this program.

In order for this program to install the certificate such that it will work for all users who login to the computer, it must be run with the highest privileges (e.g. “As Administrator”). If it is not run “As Administrator” it will only install the certificate for the currently logged in user.

When run as a regular user, a window appears when complete showing this:

Standard Installation Step

In this case, when the current user starts up the Autodesk product(s), no messages from Autodesk will interrupt the startup process for any CTC products. However, if another user logs into this machine, they will see the dialog asking what to do with the signed add-in that was found, as seen above.

When the program is run “As Administrator”, a window appears when complete showing this:

Standard Installation Step

In this case, regardless of who logs into the computer, the Autodesk product for the add-ins will open smoothly, without asking the user what to do.

The CTCCertificateInstaller.exe program supports the following command-line parameters:

Parameter Description
/Q – quiet. In quiet mode, no dialog window is ever displayed.
/L – Log file location. If a log file is specified, the results seen in the example dialogs above will be written to a new text file specified, overwriting any previous file that may have been there previously.

Example:

CTCCertificateInstaller.exe /Q /L “C:\My Folder\My Cert Installer Log File.txt”

(The /Q and /L may be lowercase)

Post-Installation Configuration

Once installed, you can change how a CTC Express Tools Suite installation behaves.

Silently Activating a Standalone (Locked) License After Installation

IMPORTANT: If you have chosen to use standalone (node-locked) licensing, YOU are responsible for tracking and managing on which computers the software has been registered. Uninstalling the software from a computer DOES NOT unregister a license that has been activated on that computer. Licenses must be unregistered from within the software using the license management tools provided, e.g. via the Product and License Information screen.

A tool is installed to allow node-lock license activation to be done using a command-line approach, allowing it to be done silently. This tool is called Licutil.exe, located in the folder %ProgramData%\CTC\CommonRevit and it supports the following command-line parameters:

Parameter Description
name The “registered user” name to which the software is licensed. Typically this is the company name.
sn The serial number for this license
pid The numeric Program ID for this suite version

The Name and Serial Number values are typically provided to you in an email message when you purchase the software. You will need to contact CTC technical support to get the Program ID number for the specific version of the suite to which the computer is moving.

Example:

Licutil.exe -pid=100 -name=”A & B Consulting” -sn=DEAE5FFC8C96A909D2B8

IMPORTANT:

Controlling Licensing Settings

On the workstation, the suites store license configuration information in simple text files. These are located in this folder:

%ProgramData%\CTC\Licensing

On most recent operating systems, this is the folder: C:\ProgramData\CTC\Licensing

These files have names such as:

CTC CIM Project Suite License Settings.txt

CTC CIM Manager Suite License Settings.txt

Here is an example of what one of these files looks like:

Standard Installation Step

NOTE: Regular users without special privileges can typically change files in this folder. For a truly secure environment, it may be desirable to change the permissions on this file so the user cannot edit it and save those changes themselves.

Access to the dialogs for changing the licensing settings can be controlled using Active Directory groups. This is discussed as “Method 2” in the next section.  Controlling Ribbon Button Visibility and Using Active Directory Group Memberships

It may be desirable to turn off some buttons in the Revit ribbon for specific users. For example, some tools have an Administration button, and it may be that some specific users should not be allowed to have that button available on the Revit ribbon.

There are 2 ways to control the availability of specific ribbon buttons for a Revit user:

1. Direct settings text file (older method, affects all users on the workstation)

2. Using Active Directory group memberships (user-specific regardless of workstation, also controls other things)

Only 1 of these methods can be used. The Active Directory group membership settings file (Method 2) also allows controlling which users can change licensing settings and/or borrow a network floating license, as well as access the button for downloading the latest installation program for the currently running suite.

Method 1: Direct settings text file

This method is the simplest, and may be better for use by smaller organizations or for those organizations who want to give ribbon button visibility control directly to the user. This method is also used out-of-the-box. It provides a very simple, self-explanatory text file which is stored within the installation folder that controls which buttons are visible. It is called Ribbon Button Visibility Settings.txt. For example:

C:\ProgramData\Autodesk\Revit\Addins\2018\CTC-BIM-Project-Suite.bundle\Contents\Ribbon Button Visibility Settings.txt

This file gets manipulated by the Suite Settings tool.

This file looks like this:

Standard Installation Step

To remove a button from the user’s Revit ribbon, simply delete its name from the bottom of the file, or prefix that line with a pound sign (#) to comment it out. This file may need to be updated in separate folders if multiple versions of Revit supported by the product are installed.

IMPORTANT: This file will get overwritten if installing a new or updated version of the suite. This is to help ensure buttons for any new tools get added to the list, in particular for most users who don’t turn off any buttons. Periodically pushing out the correct version of this file for a user by using a mechanism such as Group Policy or a login script may be appropriate.

NOTE: Regular users without special privileges can typically change files in this folder. For a truly secure environment, you may wish to change the permissions on this file so the user cannot edit it and save those changes themselves.

The first item on the list is the Suite Settings tool. If this tool is available to the user, it will allow them to turn on and off buttons themselves unless Method 2 (Active Directory, see below) has been implemented and forbids doing that, or if the user doesn’t have permissions to change the settings file. The Suite Settings tool does that by simply modifying the text file, and looks like this:

Standard Installation Step

Removing the Suite Settings (first) item from the list will remove this tool itself from the user’s Revit ribbon bar.

Changing licensing settings or borrowing a network floating license can also be accomplished using the “Licensing” tab of this add-in. However, each premium add-in also has a “Suite Licensing” menu choice which provides an alternate path to changing the licensing functionality. It is therefore possible to not allow the Suite Settings button to be available while still providing a means for the Revit user to do things like borrow and return a floating license.

Standard Installation Step

Method 2: Using Active Directory Group Memberships

Active Directory group membership can be used to determine the availability of individual ribbon buttons as well as the ability to change licensing settings or to borrow a network floating license.

It can also be used to control things such as who has access to the “Download Latest Suite Installer” button on the About dialog in each add-in.

This approach applies these settings, defined in one place, for all versions of Revit, unlike Method 1.

Also unlike Method 1, this approach does not define ribbon button visibility based on the workstation, but instead based on the user logged into the workstation. With the Active Directory approach, different users can login to the same workstation, and the buttons that are available can vary by user.

Further unlike Method 1, this method must be manually deployed and configured. It is not put in place immediately during installation, nor does it have an application such as Suite Settings to change the configuration settings. The configuration settings can only be changed by editing the file with a text editor such as Notepad.

In the suite installation folder, a self-explanatory template text file for configuring these settings will be found. On more recent operating systems, the installation folder where this template file can be found is typically like one of the following:

C:\ProgramData\Autodesk\Revit\Addins\2021\CTC-BIM-Project-Suite.bundle\Contents

C:\ProgramData\Autodesk\Revit\Addins\2021\CTC-BIM-Manager-Suite.bundle\Contents

The template file must be copied to the %ProgramData%\CTC\Suite Settings folder in order for it to take effect when Revit is started.

Note that “%ProgramData%” will get translated to the local ProgramData folder on your computer. For most recent operating systems, this is typically the C:\ProgramData folder, which is likely set to be hidden.

The name of this file will be like one of these, depending on the suite:

CTC BIM Project Suite Settings.txt

CTC BIM Manager Suite Settings.txt

When copied to the correct folder, the final full file name will be like one of these:

C:\ProgramData\CTC\Suite Settings\CTC BIM Project Suite Settings.txt

C:\ProgramData\CTC\Suite Settings\CTC BIM Manager Suite Settings.txt

The default settings in this file match how the system works when not using this file, with the exception that it assumes Active Directory group membership should be used for controlling the visibility of Revit ribbon buttons instead of the default Method 1 approach, described above.

Here is an example of the default contents for the file for BIM Manager Suite:

CTC Suite License Settings

As the comments in the settings file show, it is possible to control access to license settings and borrowing licenses using Active Directory group memberships while still allowing the user to control which ribbon buttons are available.

Also as mentioned in the file, multiple Active Directory groups can be used to grant access to any item. For example:

AllowBorrowingAFloatingLicenseADGroups = BIM_Managers, Domain Admins

In this case, regular daily users of Revit would not be able to borrow a CTC Express Tools suite network floating license; the button for doing that would be disabled. Only BIM managers or domain administrators could do that.

NOTE: Nested Active Directory group membership checking is supported.

For the example above, if Jeff is a member of the SeniorManagement Active Directory group, and that group is a member of the Domain Admins group, but Jeff is not directly a member of the Domain Admins group, Jeff would still be able to borrow a floating license.

At the bottom of the file is the list of valid button names that will be visible only to those members of the specified Active Directory group(s) for each button.

This list may change when new versions of the suite are released. For example, more buttons may be available in a later release should more tools be added to the suite. Any button that is available in the suite but that is not specifically listed at the bottom of this file is considered an “unspecified” button.

The ShowUnspecifiedRibbonButtonsADGroups setting allows specifying which, if any, users can see buttons that haven’t been specifically configured.

IMPORTANT: When a new version of the suite is installed, the person responsible for maintaining and deploying this security file should review the master copy of this file (found in the suite installation folder) to see if any new buttons are available, and update the copy of the file being used on the Revit workstation(s) to include those new button definitions and define the security groups that are allowed to use those new buttons, as appropriate.

When using Active Directory to control which ribbon buttons are available to the user, the Suite Settings dialog prevents the user from trying to change which buttons are available. The dialog looks like this:

CTC Suite License Settings

This is what the licensing screen looks like when a user is not allowed to see the “Buy Now” button (to the right of the “Timed Trial” choice) and is not permitted to change licensing settings, but is permitted to borrow a network floating license:

CTC Suite License Settings

This is what an About dialog looks like when the Revit user is allowed to see the “Buy Now” button and the “Download Latest Suite Installer” button (the default):

CTC Suite License Settings

These buttons can only be hidden when using the Active Directory configuration file system. It may be desirable to hide the download button to help control exactly which version of a suite is installed.

Managing the Contact Support Button Visibility

The Contact Support button can be found in both the Revit ribbon as well as within each tool:

CTC Suite License Settings

CTC Suite License Settings

The first time Revit is run with a CTC suite installed, a configuration file is created which controls the visibility of this button:

C:\ProgramData\CTC\Suite Settings\Contact Support Settings.xml

Which looks like this:

<?xml version="1.0" encoding="utf-8"?>
<CTCSupportSettings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Version>1</Version>
  <CTCSupportButtonVisible>**true**</CTCSupportButtonVisible>
  <CTCSupportURL>https://ctcsoftware.com/support</CTCSupportURL>
</CTCSupportSettings>

As some organizations may want to control how support for Revit users is handled (e.g. internally) this tool can be turned off. Changing the bold value to false will prevent this button from being visible in either the ribbon or from within the tools.

If this file is deployed to Revit workstations before the first time Revit is run with a CTC suite installed, the deployed file will be used. Errors in the file will result in the button being displayed, which is the default behavior.

If turned off, the support link in the About dialog (seen above) for each tool will also be hidden.  

Managing the Revit Ribbon Tab and Button Appearance

Managing the Revit ribbon can be difficult, particularly as one gets more and more 3rd-party add-in tools installed. The CTC Express Tools suites offer many tools which assist with managing the Revit ribbon.

Using the Suite Settings Program

The Suite Settings program lets the user specify how the buttons to which they have access appear. The default settings are shown in this image:

![CTC Suite License Settings](images/ctc-installguides-revit-25.png)

This is how they appear in Revit:

![CTC Suite License Settings](images/ctc-installguides-revit-26.png)

![CTC Suite License Settings](images/ctc-installguides-revit-27.png)

NOTE: If only one tool is visible within a group when grouping is enabled, the group dropdown button will NOT appear. Instead, only that one tool’s icon will appear in its place.   The Suite Settings program also lets the user ungroup either free or paid tools:

![CTC Suite License Settings](images/ctc-installguides-revit-28.png)

The results of these settings look like this:

![CTC Suite License Settings](images/ctc-installguides-revit-29.png)

The user can also specify to use small icons for those buttons hosted directly on the Revit ribbon, instead of using the default large icons:

![CTC Suite License Settings](images/ctc-installguides-revit-30.png)

The results of these settings look like this:

![CTC Suite License Settings](images/ctc-installguides-revit-31.png)

Using the Icon Settings Configuration File

The settings for ribbon button icon appearance are stored in a text file located in the `%ProgramData%\CTC\Suite Settings` folder. This file gets manipulated by the Suite Settings tool.

Note that “%ProgramData%” will get translated to the local ProgramData folder on your computer. For most recent operating systems, this is typically the C:\ProgramData folder, which is likely set to be hidden.

Example settings file names:

C:\Program Data\CTC\Suite Settings\CTC BIM Project Suite Icon Settings.txt

C:\Program Data\CTC\Suite Settings\CTC BIM Manager Suite Icon Settings.txt

These files may not appear in the folder until Revit is started the first time. These settings will apply to their respective suite regardless of which version of Revit is launched, and will not be overwritten if an updated version of the suite is installed.

The default file for all suites looks like this:

![CTC Suite License Settings](images/ctc-installguides-revit-32.png)

Note the area highlighted. This is the only way to control which Revit ribbon tab the suite buttons appear on.

The name of the tab on which the suite buttons appear cannot be controlled with the Suite Settings tool, or any other tool that comes with the suite. It can only be configured by editing this text file, which (again) will NOT be overwritten when updating the software.

For example, this setting:

`RevitRibbonTabName=CTC`

appears this way in Revit:

![CTC Suite Settings](images/ctc-installguides-revit-33.png)

whereas this setting:

RevitRibbonTabName=

appears this way in Revit:

![CTC Suite Settings](images/ctc-installguides-revit-34.png)

Deploying Default User Settings

Most CTC Express Tools plug-ins have settings which the user can control. Some have even more settings which can be overridden by an administrator by pushing out various settings files (described below).

As of the 18.0.1 release, the general user settings for most tools are stored in a location with the following pattern:

`%AppData%\CTC\<Tool Name>\<Tool Name> User Settings.xml`

For example:

`C:\Users\<UserName>\AppData\Roaming\CTC\Project Cleaner\Project Cleaner User Settings.xml`

A user settings file for a tool is typically not created until the tool is launched the first time by that user. Once these files are created and configured for a user, they can be copied to the Roaming folder for other users (e.g. via login script, Group Policy, etc.) to provide default user settings, should the desired settings be different than the standard settings that come with the tool.

### Controlling Family Processor

The Family Processor tool, available in BIM Manager Suite, allows users to make many changes to one or more family files.

A settings file, which can be pushed out to workstations, controls some of the options in Family Processor.

This settings file is initially created on Family Processor startup, and is located here:

   C:\ProgramData\CTC\Family Processor\Family Processor Options.xml

The contents of this file look like this:

`<?xml version=“1.0” encoding=“utf-8”?>`

`<AutoDeleteDefaultMaterials>true</AutoDeleteDefaultMaterials>`

`<AutoSaveLogFiles>false</AutoSaveLogFiles>`

`<AutoSaveLogFilesToFolder />`

`</FamilyProcessorOptions>`

If the current user does not have permission to update this file, the options in Family Processor will alert them that they cannot change these settings:

![CTC SuiteSettings](images/ctc-installguides-revit-40.png)

### Controlling Model Compare

The Model Compare tool, available in BIM Project Suite, allows users take data “snapshots” of a project file and compare the differences. These snapshots can also be scheduled to run, for example after regular business hours.

It has several settings files which control how it operates. Most of these files are simple XML or text files whose settings are self-explanatory.

These files are all stored in the `%PROGRAMDATA%\CTC\Model Compare` folder. These files can be pushed out by a system administrator to control the behavior of Model Compare.

IMPORTANT: The default versions of these files may not appear until after the Model Compare tool is launched the first time.

ModelCompareDefaultSettings.xml

This file controls much of how the main Model Compare add-in runs. These are the default values of interest:

`<DefaultSnapshotFilterSettingsFile>C:\ProgramData\CTC\Model Compare\ModelCompareDefaultSnapshotFilters.xml</DefaultSnapshotFilterSettingsFile>`

`<CreateScheduledSnapshotLogFiles>true</CreateScheduledSnapshotLogFiles>`

`<AutoDeleteOldLogFiles>true</AutoDeleteOldLogFiles>`

`<AutoDeleteLogFilesOlderThanDays>14</AutoDeleteLogFilesOlderThanDays>`

`<ScheduledSnapshotLogFilesFolder>C:\ProgramData\CTC\Model Compare\Scheduler Logs</ScheduledSnapshotLogFilesFolder>`

`<WorkToDoFolder>C:\ProgramData\CTC\Model Compare\Next Scheduled Work To Do</WorkToDoFolder>`

`<ShowTakeSnapshotToolbarButton>true</ShowTakeSnapshotToolbarButton>`

`<ShowEditFiltersLibraryToolbarButton>true</ShowEditFiltersLibraryToolbarButton>`

`<ShowEditScheduleConfigsToolbarButton>true</ShowEditScheduleConfigsToolbarButton>`

`<ShowSchedulerToolbarButton>true</ShowSchedulerToolbarButton>`

`<FolderBrowserShowsSavedUNCPaths>true</FolderBrowserShowsSavedUNCPaths>`

`<SnapshotFiltersLibraryFolder>C:\ProgramData\CTC\Model Compare\Snapshot Filters</SnapshotFiltersLibraryFolder>`

`<SchedulerConfigurationsLibraryFolder>C:\ProgramData\CTC\Model Compare\Scheduler Configurations</SchedulerConfigurationsLibraryFolder>`

`<DateFormat>yyyy-MM-dd</DateFormat>`

`<DefaultFileNameComponentSeparatorCharacter>_</DefaultFileNameComponentSeparatorCharacter>`

`<FileNameIllegalCharacterReplacementCharacter>-</FileNameIllegalCharacterReplacementCharacter>`

`<ShowSchedulerInstructions>true</ShowSchedulerInstructions>`

The name of each setting should be fairly self-descriptive.

The highlighted options cannot be edited within the Model Compare add-in itself. They can only be edited by modifying this file in a text editor, such as Notepad. The WorkToDoFolder is the folder in which the add-in looks for work to do on Revit startup. A file may be placed there by the scheduler which tells it what to do in terms of the project file to open and what to plot and/or export from that project.

When `FolderBrowserShowsSavedUNCPaths` is true (the default) any “favorite” UNC paths that don’t have drive letters mapped and are saved in Windows will be available under the “This PC” node when browsing for folders. However, when this is set, if the “Network” node is expanded, domain computers will not be visible.

If this file is not writeable by the user, whether by file permissions or simply setting the ReadOnly attribute, the user will not be able to make changes to these settings, and will see a notification such as:

ModelCompareDefaultSnapshotFilters.xml

This file contains the default snapshot filters that will be used whenever the user clicks the “Take Snapshot” button. The user can always change the filter settings to use for actually taking their snapshot, these are just the default values that appear when they first specify to take a snapshot.

If this file is not writeable by the user, whether by file permissions or simply setting the ReadOnly attribute, the user will not be able to make changes to these settings, and will see a notification such as:

FileOpenDialogAutomation.txt

This file controls how pop-up dialogs are automatically dismissed when a Revit file is opened during scheduled snapshot processing. The default file is written based on the English version of Revit, but can be edited to work in other languages.

While detailed instructions are provided in the file itself, here is a small example:

`TitleContains=Audit Warning`

`ButtonAction=Yes`


`TitleContains=Opening Worksets`

`ButtonAction=OK`


`TitleContains=Copied Central Model`

`ButtonAction=Close`

When using Model Compare if you see an (English) window that pops up during processing and doesn’t go away automatically, please contact support@ctcsoftware.com with that information and screen image so the necessary rule can be added to the next release of Project and Families Upgrader.

But in the meantime, you can edit this file yourself to prevent a dialog from appearing which would then stop the scheduled processing.

Email SMTP Server Settings.xml

This file controls how the email SMPT server is defined for Model Compare to use for sending emails (e.g. sending log files). It is where settings seen on the “Email Server Settings” area of the “Scheduler” tab of the Options are stored. If this file is not writeable by the user, whether by file permissions or simply setting the ReadOnly attribute, the edit controls will be disabled and the user will see the following:

  The main contents of this file are as follows (default values shown):

`<ApplicationDisplayName>Model Compare</ApplicationDisplayName>`

`<EmailServer />`

`<EmailServerPort>25</EmailServerPort>`

`<EmailFromAddress />`

`<EmailFromDisplayText>Model Compare</EmailFromDisplayText>`

`<EmailServerRequiresAuthentication>false</EmailServerRequiresAuthentication>`

`<EmailServerAuthUserName />`

`<EmailServerAuthPassword />`

`<EmailServerSendUsingSSL>false</EmailServerSendUsingSSL>`

The highlighted items cannot be edited within the application. For some email servers, when providing a valid “from address” it will force the “from display text” in the emails sent to match the user name for that email account. However, some mail servers do not require providing an existing “from address,” so if a made-up from address is provided, perhaps “modelcompare@mydomain.com” then the text set here will be seen in the “From” field of email messages sent.

IMPORTANT: The “EmailServerAuthPassword” value cannot be edited directly in this file using a text editor. This is because Model Compare stores that password in an encrypted format. Here is an example demonstrating this:

`<ApplicationDisplayName>Plotter and Exporter</ApplicationDisplayName>`

`<EmailServer>MyMailServer</EmailServer>`

`<EmailServerPort>25</EmailServerPort>`

`<EmailFromAddress>PlotterAndExporter@mydomain.com</EmailFromAddress>`

`<EmailFromDisplayText>Plotter and Exporter</EmailFromDisplayText>`

`<EmailServerRequiresAuthentication>true</EmailServerRequiresAuthentication>`

`<EmailServerAuthUserName>MyUserName</EmailServerAuthUserName>`

`<EmailServerAuthPassword>e78N9k8ueGGqBOYzpCU3J8vcA86eFwJLPcxXioAz0Ig=</EmailServerAuthPassword>`

`<EmailServerSendUsingSSL>false</EmailServerSendUsingSSL>`

The add-in will need to be used to specify the password, but the other values in this file may be edited with a text editor at a later time, if desired.

TaskSchedulerDefaultSettings.xml

This file controls the default values that are applied when a new Model Compare configuration file is added to the list for processing when defining a scheduled task. These are the default settings.

`<SaveLogFiles>true</SaveLogFiles>`

`<SaveLogFilesFolder>C:\ProgramData\CTC\Model Compare\Export Logs</SaveLogFilesFolder>`

`<DeleteOldLogFiles>true</DeleteOldLogFiles>`

`<DeleteOldLogFilesOlderThanDays>14</DeleteOldLogFilesOlderThanDays>`

`<EmailLogFiles>false</EmailLogFiles>`

`<EmailLogFilesRecipient />`

`<AutoRunLowestRevitVersion>true</AutoRunLowestRevitVersion>`

`<SpecificRevitEXEToRun />`

`<OpenRevitFilesWithAudit>false</OpenRevitFilesWithAudit>`

These settings are self-explanatory, and correspond directly with the configuration file settings user interface in the scheduler.

TaskSchedulerClientSettings.xml

This configuration file controls how the Plotter and Exporter add-in communicates with the task scheduler, and generally should not be edited.

ScheduledExecutableSettings.xml

This configuration file controls the program which launches Revit at a scheduled time. The following lines from this file may be reasonable to edit:

`<ScheduledProcessorWritesLogFiles>true</ScheduledProcessorWritesLogFiles>`

`<ScheduledProcessorLogFilesFolder>C:\ProgramData\CTC\Model Compare\Scheduled Task Logs</ScheduledProcessorLogFilesFolder>`

`<ScheduledProcessorLogFileDetailLevel>0</ScheduledProcessorLogFileDetailLevel>`

`<AutoDeleteOldScheduledProcessorLogFiles>true</AutoDeleteOldScheduledProcessorLogFiles>`

`<AutoDeleteScheduledProcessorLogFilesOlderThanDays>14</AutoDeleteScheduledProcessorLogFilesOlderThanDays>`

`<EmailScheduledProcessorLogFiles>false</EmailScheduledProcessorLogFiles>`

`<EmailSMTPServerSettingsFile>C:\ProgramData\CTC\Model Compare\Email SMTP Server Settings.xml</EmailSMTPServerSettingsFile>`

`<EmailScheduledProcessorLogFilesToRecipientAddresses />`

`<RevitAddInKeepsScheduledLogFiles>true</RevitAddInKeepsScheduledLogFiles>`

`<LaunchRevitInvisibly>true</LaunchRevitInvisibly>`

`<RunBeforeScriptInvisibly>false</RunBeforeScriptInvisibly>`

`<RunAfterScriptInvisibly>false</RunAfterScriptInvisibly>`

`<MaximumRevitLaunchTimeOutInSeconds>0</MaximumRevitLaunchTimeOutInSeconds>`

`<RunRevitAsAdmin>false</RunRevitAsAdmin>`

`<RunBeforeScriptAsAdmin>false</RunBeforeScriptAsAdmin>`

`<RunAfterScriptAsAdmin>false</RunAfterScriptAsAdmin>`

The scheduled processor log files are always saved in comma-delimited (*.csv) file format. These log files list things like what task is being processed, what project file is being processed, what version of Revit is about to be launched, etc.

A `ScheduledProcessorLogFileDetailLevel` of 0 will store only those events from the scheduler itself, as mentioned immediately above. A value of 1 will include the details of the taking of the snapshot as well.

By default, any script or program set to run before or after the export will be run visibly (e.g. with a visible window). These two settings can be changed here if it’s desirable to have these run without a window. Running them with a window may be useful for testing or debugging a script, for example.

A `MaximumRevitLaunchTimeOutInSeconds` value of 0 will allow each Revit session opened (one per project file to process) to run as long as required. A value greater than zero will force the Revit process to be terminated if it runs for longer than the value specified.

`RunRevitAsAdmin`, `RunBeforeScriptAsAdmin` and `RunAfterScriptAsAdmin` control whether or not these things are run with the highest permissions the user has. Default values are False. On some systems (e.g. Windows 10 with User Account Control turned on) this can stop the scheduled processing by prompting whether or not it’s ok to allow the software (including Revit) being launched to make changes to the system. However, if for some reason these do need to be run with the highest privileges that can be accomplished by changing these values to true. They are false by default to ensure maximum security.

#### Scheduler Troubleshooting Tools

The primary tools for troubleshooting issues are the log files. These can be found in the following locations:

The “Scheduler Logs” folder contains the “mclog” XML files which have information about the actual snapshot creation process from a Revit project. These don’t usually list much information, but can include details about why a snapshot file couldn’t be created due to something like permissions issues.

The “Scheduled Task Logs” folder contains friendlier CSV files with similar information. These can readily be opened in spreadsheet software.

The “!Last Scheduled Revit 202x Startup Log.csv” files contain information generated when Revit starts up after the last time it was launched by the scheduler. These logs show what Revit did on startup, such as to where it copied a central file temporarily for opening as a new central file for processing, and other information about the processing that occurred within Revit as a result of the scheduler launching Revit.

The “!Last Revit 201x Startup Log.csv” files contain information generated the last time Revit started up, whether or not it was started by the scheduler. Most of the time these files report there’s no work for Model Compare to do, but the information will match the information found in the last scheduled startup log file if the scheduler was the last thing to launch Revit.   ### Controlling Plotter and Exporter

The Plotter and Exporter tool, available in BIM Batch Suite, allows users to plot and export from the currently open project (using the “Run Now” button) or they can schedule a plot and/or export to happen in the future.

It has several settings files which control how it operates. Most of these files are simple XML or text files whose settings are self-explanatory.

These files are all stored in the `%PROGRAMDATA%\CTC\Plotter and Exporter` folder. These files can be pushed out by a system administrator to control the behavior of Plotter and Exporter.

IMPORTANT: The default versions of these files may not appear until after the Plotter and Exporter tool is launched the first time.

PlotterandExporterDefaultSettings.xml

This file controls most of how the main Plotter and Exporter add-in runs. It is where settings seen on the “General” tab of the Options are stored. If this file is not writeable by the user, whether by file permissions or simply setting the ReadOnly attribute, the edit controls will be disabled and the user will see the following:

The main contents of this file are as follows (default values shown):

  `<DefaultConfigFile />`

`<RememberLastConfigOnStartup>true</RememberLastConfigOnStartup>`

`<CreateLogFiles>true</CreateLogFiles>`

`<AutoDeleteOldLogFiles>true</AutoDeleteOldLogFiles>`

`<AutoDeleteLogFilesOlderThanDays>14</AutoDeleteLogFilesOlderThanDays>`

`<LogFilesFolder>C:\ProgramData\CTC\Plotter and Exporter\Export Logs</LogFilesFolder>`

`<WildcardSearchLibraryDatabaseFileName>C:\ProgramData\CTC\Plotter and Exporter\Wildcard Search Library.wsl</WildcardSearchLibraryDatabaseFileName>`

`<DateFormat>yyyy-MM-dd</DateFormat>`

`<RunNowShowLogWhenDone>true</RunNowShowLogWhenDone>`

`<RunNowEmailLog>false</RunNowEmailLog>`

`<RunNowEmailToAddress />`

`<MaxTimeInSecondsToRetryPDFFileWriteStart>15</MaxTimeInSecondsToRetryPDFFileWriteStart>`

`<MaxTimeInSecondsToRetryPDFFileWriteComplete>15</MaxTimeInSecondsToRetryPDFFileWriteComplete>`

`<ShowSchedulerInstructions>true</ShowSchedulerInstructions>`

`<WorkToDoFolder>C:\ProgramData\CTC\Plotter and Exporter\Next Scheduled Work To Do</WorkToDoFolder>`

`<HideRunNowToolbarButton>false</HideRunNowToolbarButton>`

`<HideSchedulerToolbarButton>false</HideSchedulerToolbarButton>`

`<FolderBrowserShowsSavedUNCPaths>true</FolderBrowserShowsSavedUNCPaths>`

`<WildcardFilteringAllowUsingAdditionalParameters>true</WildcardFilteringAllowUsingAdditionalParameters>`

`<WildcardFilteringAdditionalParametersLibraryFileName>C:\ProgramData\CTC\Plotter and Exporter\WildcardFilteringAdditionalParametersLibrary.xml</WildcardFilteringAdditionalParametersLibraryFileName>`

`<WildcardFilteringIncludeAdditionalParametersByDefault>true</WildcardFilteringIncludeAdditionalParametersByDefault>`

`<WildcardFilteringWarnIfUnitSymbolsMissing>true</WildcardFilteringWarnIfUnitSymbolsMissing>`

`<WildcardFilteringExcludedParametersListFileName>C:\ProgramData\CTC\Plotter and Exporter\WildcardFilteringExcludedParametersList.txt</WildcardFilteringExcludedParametersListFileName>`

The highlighted options cannot be edited within the Plotter and Exporter add-in itself. They can only be edited by modifying this file in a text editor, such as Notepad. The WorkToDoFolder is the folder in which the add-in looks for work to do on Revit startup. A file may be placed there by the scheduler which tells it what to do in terms of the project file to open and what to plot and/or export from that project.

When `FolderBrowserShowsSavedUNCPaths` is true (the default) any “favorite” UNC paths that don’t have drive letters mapped and are saved in Windows will be available under the “This PC” node when browsing for folders. However, when this is set, if the “Network” node is expanded, domain computers will not be visible.

When `WildcardFilteringAllowUsingAdditionalParameters` is true, the user is allowed to edit the list of “additional parameters” from which they can choose when building a wildcard search for views or sheets, and control whether or not they are used in the list of choices. This is helpful because Plotter and Exporter allows building settings to use on many project files, and parameters in other project files may not be available as choices in the currently open project file. The highlighted controls below will be visible and accessible:

The `WildcardFilteringAdditionalParametersLibraryFileName` value controls the location of the file which lists the additional parameters add to the list of choices.

When `WildcardFilteringIncludeAdditionalParametersByDefault` is true, by default any additional parameters will be in the list of choices when the user starts the add-in. Even if `WildcardFilteringAllowUsingAdditionalParameters` is false (denying the user to control their use and their definitions) if `WildcardFilteringIncludeAdditionalParametersByDefault` is true, any parameters defined in the file will be on the list of choices. The user will simply not be able to get them out of the list of choices or change their definitions.

When `WildcardFilteringWarnIfUnitSymbolsMissing` is true, if the user enters a comparison value for a parameter whose type has units of measure, if the user doesn’t enter units of measure, a warning will appear with a list of choices of valid units of measure which the user can copy and paste into the comparison value field.

The `WildcardFilteringExcludedViewParametersListFileName` and `WildcardFilteringExcludedSheetParametersListFileName` values control the file names whose contents list the names of parameters that should never be visible to the user. These may be common parameters that would never be needed for wildcard searching, and would otherwise just clutter the list of choices the user has to read.

Email SMTP Server Settings.xml

This file controls how the email SMPT server is defined for Plotter and Exporter to use for sending emails (e.g. sending log files). It is where settings seen on the “Email Settings” tab of the Options are stored. If this file is not writeable by the user, whether by file permissions or simply setting the ReadOnly attribute, the edit controls will be disabled and the user will see the following:

  The main contents of this file are as follows (default values shown):

`<ApplicationDisplayName>Plotter and Exporter</ApplicationDisplayName>`

`<EmailServer />`

`<EmailServerPort>25</EmailServerPort>`

`<EmailFromAddress />`

`<EmailFromDisplayText>Plotter and Exporter</EmailFromDisplayText>`

`<EmailServerRequiresAuthentication>false</EmailServerRequiresAuthentication>`

`<EmailServerAuthUserName />`

`<EmailServerAuthPassword />`

`<EmailServerSendUsingSSL>false</EmailServerSendUsingSSL>`

The highlighted items cannot be edited within the application. For some email servers, when providing a valid “from address” it will force the “from display text” in the emails sent to match the user name for that email account. However, some mail servers do not require providing an existing “from address,” so if a made-up from address is provided, perhaps “plotterandexporter@mydomain.com” then the text set here will be seen in the “From” field of email messages sent.

IMPORTANT: The “EmailServerAuthPassword” value cannot be edited directly in this file using a text editor. This is because Plotter and Exporter stores that password in an encrypted format. Here is an example demonstrating this:

`<ApplicationDisplayName>Plotter and Exporter</ApplicationDisplayName>`

`<EmailServer>MyMailServer</EmailServer>`

`<EmailServerPort>25</EmailServerPort>`

`<EmailFromAddress>PlotterAndExporter@mydomain.com</EmailFromAddress>`

`<EmailFromDisplayText>Plotter and Exporter</EmailFromDisplayText>`

`<EmailServerRequiresAuthentication>true</EmailServerRequiresAuthentication>`

`<EmailServerAuthUserName>MyUserName</EmailServerAuthUserName>`

`<EmailServerAuthPassword>e78N9k8ueGGqBOYzpCU3J8vcA86eFwJLPcxXioAz0Ig=</EmailServerAuthPassword>`

`<EmailServerSendUsingSSL>false</EmailServerSendUsingSSL>`

The add-in will need to be used to specify the password, but the other values in this file may be edited with a text editor at a later time, if desired.

TaskSchedulerDefaultSettings.xml

This file controls the default values that are applied when a new Plotter and Exporter configuration file is added to the list for processing when defining a scheduled task. These are the default settings.

`<SaveLogFiles>true</SaveLogFiles>`

`<SaveLogFilesFolder>C:\ProgramData\CTC\Plotter and Exporter\Export Logs</SaveLogFilesFolder>`

`<DeleteOldLogFiles>true</DeleteOldLogFiles>`

`<DeleteOldLogFilesOlderThanDays>14</DeleteOldLogFilesOlderThanDays>`

`<EmailLogFiles>false</EmailLogFiles>`

`<EmailLogFilesRecipient />`

`<AutoRunLowestRevitVersion>true</AutoRunLowestRevitVersion>`

`<SpecificRevitEXEToRun />`

`<OpenRevitFilesWithAudit>false</OpenRevitFilesWithAudit>`

By default, the “SaveLogFilesFolder” value is the same as the regular log files folder. The setting in this file specifies where to save log files to for scheduled exports, whereas the “LogFilesFolder” value in the PlotterAndExporterDefaultSettings.xml specifies where to store logs when the “Run Now” button is clicked.

While not required to be the same folder, it’s helpful to have them match so reviewing logs within the Plotter and Exporter add-in will easily show all the logs from both “Run Now” and scheduled exports in one, convenient list.

TaskSchedulerClientSettings.xml

This configuration file controls how the Plotter and Exporter add-in communicates with the task scheduler, and generally should not be edited.

ScheduledExecutableSettings.xml

This configuration file controls the program which launches Revit at a scheduled time. The following lines from this file may be reasonable to edit:

`<ScheduledProcessorWritesLogFiles>true</ScheduledProcessorWritesLogFiles>`

`<ScheduledProcessorLogFilesFolder>C:\ProgramData\CTC\Plotter and Exporter\Scheduled Task Logs</ScheduledProcessorLogFilesFolder>`

`<ScheduledProcessorLogFileDetailLevel>0</ScheduledProcessorLogFileDetailLevel>`

`<AutoDeleteOldScheduledProcessorLogFiles>true</AutoDeleteOldScheduledProcessorLogFiles>`

`<AutoDeleteScheduledProcessorLogFilesOlderThanDays>14</AutoDeleteScheduledProcessorLogFilesOlderThanDays>`

`<EmailScheduledProcessorLogFiles>false</EmailScheduledProcessorLogFiles>`

`<EmailSMTPServerSettingsFile>C:\ProgramData\CTC\Plotter and Exporter\Email SMTP Server Settings.xml</EmailSMTPServerSettingsFile>`

`<EmailScheduledProcessorLogFilesToRecipientAddresses />`

`<RevitAddInKeepsScheduledLogFiles>true</RevitAddInKeepsScheduledLogFiles>`

`<LaunchRevitInvisibly>true</LaunchRevitInvisibly>`

`<RunBeforeScriptInvisibly>false</RunBeforeScriptInvisibly>`

`<RunAfterScriptInvisibly>false</RunAfterScriptInvisibly>`

`<MaximumRevitLaunchTimeOutInSeconds>0</MaximumRevitLaunchTimeOutInSeconds>`

`<RunRevitAsAdmin>false</RunRevitAsAdmin>`

`<RunBeforeScriptAsAdmin>false</RunBeforeScriptAsAdmin>`

`<RunAfterScriptAsAdmin>false</RunAfterScriptAsAdmin>`

The scheduled processor log files are always saved in comma-delimited (*.csv) file format. These log files list things like what task is being processed, what project file is being processed, what version of Revit is about to be launched, etc.

A `ScheduledProcessorLogFileDetailLevel` of 0 will store only those events from the scheduler itself, as mentioned immediately above. A value of 1 will include the details of the export as well, which are the same as normally seen within the add-in at the end of a “Run Now” execution. These will include things like when the current printer settings are changed, which view is being exported to which file, etc.

If `RevitAddInKeepsScheduledLogFiles` is set to false, then the export logs will not be saved (will not appear in the “View Log” list within the add-in. In that case, only the export logs when the “Run Now” button was clicked would be available for viewing.

By default, any script or program set to run before or after the export will be run visibly (e.g. with a visible window). These two settings can be changed here if it’s desirable to have these run without a window. Running them with a window may be useful for testing or debugging a script, for example.

A `MaximumRevitLaunchTimeOutInSeconds` value of 0 will allow each Revit session opened (one per project file to process) to run as long as required. A value greater than zero will force the Revit process to be terminated if it runs for longer than the value specified.

`RunRevitAsAdmin`, `RunBeforeScriptAsAdmin` and `RunAfterScriptAsAdmin` control whether or not these things are run with the highest permissions the user has. Default values are False. On some systems (e.g. Windows 10 with User Account Control turned on) this can stop the scheduled processing by prompting whether or not it’s ok to allow the software (including Revit) being launched to make changes to the system. However, if for some reason these do need to be run with the highest privileges that can be accomplished by changing these values to true. They are false by default to ensure maximum security. Dialog Automation Files

FileOpenDialogAutomation.txt

ConfigurationDialogAutomation.txt

ExportProcessingDialogAutomation.txt

These files are all of the same structure and control how pop-up dialogs are automatically dismissed when processing is in progress. They are written based on the English version of Revit, but can be edited to work in other languages.

While detailed instructions are provided in the files themselves, here is a small example:

`TitleContains=Printing Setting Changed For Shaded Views`

`ButtonAction=Close`


`TitleContains=DGN Export Unsupported Elements`

`ButtonAction=CommandLink1`


`MessageContains=print settings will be used`

`ButtonAction=Close`


`TitleContains=Opening Worksets`

`ButtonAction=OK`

When using Plotter and Exporter if you see an (English) window that pops up during processing and doesn’t go away automatically, please contact support@ctcsoftware.com with that information and screen image so the necessary rule can be added to the next release of Plotter and Exporter.

But in the meantime, you can edit this file yourself to prevent a dialog from appearing which would then stop the processing.

WildcardFilteringAdditionalParametersLibrary.xml

This file controls the additional parameters that users see when creating a wildcard search for views or sheets. These parameters may be those found in some projects, but not all projects, but should always be available for the user to choose from.

This file should only be edited using Plotter and Exporter itself, via the “Manage Additional Parameters” button on the wildcard definition screen.

WildcardFilteringExcludedViewParametersList.txt

WildcardFilteringExcludedSheetParametersList.txt

These are simple text files which lists parameters users should never see when building a wildcard search for views or sheets. These may be common parameters that would never be needed for filtering, and would otherwise just clutter the list of choices the user has to read.

This file can only be edited using a text editor, such as notepad. Its contents look like this (top few lines):

`# Instructions:`

`#`

`# - Any line that begins with a pound sign (#) is a comment line and will be ignored.`

`# - This file contains a list of parameter names which, if found in the project for views`

`# WILL NOT appear as choices from which to select parameters for filtering when building a`

`# wildcard search for views. This list *is* case-sensitive.` `# `

`# Examples:`

`# ——————————————–`

`# Annotation Crop`

`# Associated Datum`

`# Category` `# ——————————————–`

`#`

Annotation Crop Associated Datum Category <…>

### Troubleshooting Tools

The primary tools for troubleshooting issues are the log files. These can be found in the following locations:

The “Export Logs” folder contains the “pelog” files which have information about the actual export process from a Revit project. For example, they’ll list which views or sheets were found, the locations and filenames of files generated, etc. Pelog files are in XML format, and are really only viewable in the Plotter and Exporter tool directly.

This is why all e-mailed log files are sent in comma-delimited (CSV) file format, so they may easily be opened and read in a spreadsheet program, such as Microsoft Excel, and do not require even having Revit installed to be able to be read.

The files in the Export Logs folder may be from either the “Run Now” (manual) exports or the scheduled task (automated) exports.

The “Scheduled Task Logs” folder contains CSV files which are from the task scheduler. These logs contain information such as each of the configuration files and each of the project files being processed, the project files as they were found by the wildcard search, when and which version of Revit is launched for opening and processing each project file, etc.

The “!Last Scheduled Revit 202x Startup Log.csv” files contain information generated when Revit starts up after the last time it was launched by the scheduler. These logs show what Revit did on startup, such to where it copied a central file temporarily for opening as a new central file for processing, and other information about the processing that occurred within Revit as a result of the scheduler launching Revit.

The “!Last Revit 202x Startup Log.csv” files contain information generated the last time Revit started up, whether or not it was started by the scheduler. Most of the time these files report there’s no work for Plotter and Exporter to do, but the information will match the information found in the last scheduled startup log file if the scheduler was the last thing to launch Revit.

These logs can contain important information, for example if there’s a general problem with the Plotter and Exporter such that it will never plot or export information until that general problem is fixed.

  Controlling Project Snapshot Exporter

The Project Snapshot Exporter tool, available in BIM Data Suite, allows users to extract data from a Revit project and save that data to an XML file and/or Model Compare file and/or Microsoft SQL server database using BIM Data Suite Server.

The files for controlling Project Snapshot Exporter are initially created upon first running the tool, and are stored in the following folder:

`C:\ProgramData\CTC\Project Snapshot Exporter`

ProjectSnapshotExporterDefaultSettings.xml

This XML file controls the settings seen in the Options dialog. If the user does not have write permissions to this file (even if it’s simply made read-only), they will not be allowed to change the options for this tool:

The settings in this file mirror the settings seen in the image above.

BIM Data Suite Server Connection Timeouts.xml

The settings in this file are self-explanatory, and control how long the tool will wait when sending data to the BIM Data Suite server for storage in a Microsoft SQL Server database. The default values should be high enough for even large data transmissions.

### Controlling Projects and Families Upgrader

The Projects and Families Upgrader tool, available in BIM Batch Suite, allows users to upgrade project and family files to the current version of Revit being used. Dialog Automation Files

FileOpenDialogAutomation.txt

This file will be created automatically the first time Projects and Families Upgrader is run. It is typically located in this folder:

`C:\ProgramData\CTC\Projects and Families Upgrader`

This file controls how pop-up dialogs are automatically dismissed when a Revit file is opened. The default file is written based on the English version of Revit, but can be edited to work in other languages.

While detailed instructions are provided in the file itself, here is a small example:

`TitleContains=Audit Warning`

`ButtonAction=Yes`


`TitleContains=Opening Worksets`

`ButtonAction=OK`


`TitleContains=Copied Central Model`

`ButtonAction=Close`

When using Project and Families Upgrader if you see an (English) window that pops up during processing and doesn’t go away automatically, please contact support@ctcsoftware.com with that information and screen image so the necessary rule can be added to the next release of Project and Families Upgrader.

But in the meantime, you can edit this file yourself to prevent a dialog from appearing which would then stop the processing.   ### Controlling Schedule XL

Schedule XL default settings can be set in two configuration files. These files are called: GraphicsOptions.xml and Options.xml. They are located in the folder: %PROGRAMDATA%\CTC\Schedule XL. In GraphicsOptions.xml, set defaults for cells, borders, titles, headers and font overrides. In Options.xml, set the default state for automatic link updating to enabled or disabled.

As is the case with Spreadsheet Drafter, setting this file to a read-only state will prevent changes to these options in the application and will display a user message indicating that the settings are controlled by the administrator.

### Controlling Type Swapper

The Type Swapper tool, available in BIM Manager Suite, has a separate settings file which controls how it operates. This settings file is created the first time Type Swapper is launched.

This file is called: Approved Type Settings.xml and is located in the folder: `%PROGRAMDATA%\CTC\Type Swapper`

Note that “%ProgramData%” will get translated to the local ProgramData folder on your computer. For most recent operating systems, this is typically the C:\ProgramData folder, which is likely set to be hidden.

If Type Swapper cannot write to this file, even if it's just made read-only, the user will not have the ability to change the approved types and styles within the Type Swapper tool. This can be useful for enforcing company standards.

This is what it looks like when this settings file is not writeable. Note that the Approved column shows the settings, but do not allow the user to change those settings.

  ### Controlling SuperDoor

The SuperDoor tool, available in the CTC SuperDoor Configurator, has a separate settings file which controls how it operates. This settings file is created the first time SuperDoor is launched.

This file is called: SuperDoor202x.settings and is located in the folder: `%PROGRAMDATA%\CTC\SuperDoor`

Note that “%ProgramData%” will get translated to the local ProgramData folder on your computer. For most recent operating systems, this is typically the C:\ProgramData folder, which is likely set to be hidden.

The “202x” will match the version of Revit in which it is used, for example: `SuperDoor2022.settings`

If the SuperDoor addin cannot write to this file, even if it's just made read-only, the user will not have the ability to change the SuperDoor database being used by this tool. This can be useful for enforcing a single database be used by certain users.

This is what it looks like when this settings file is not writeable.

  ## Revit Workstation Uninstallation

There are several ways to remove a CTC Express Tools suite from a Revit workstation.


## [BACK to BIM User Guides](/BIM)