Reference Topics > General Customization Concepts Guide
  
General Customization Concepts Guide
Creo Elements/Direct Modeling and all of its add-on modules and applications (including Creo Elements/Direct 3D Access) support a consistent and generic approach to multi-level customization. There are four levels of customization:
SD
Corp
Site
User
The SD level is the factory level of customization. For example, if no other customization has taken place (yet) Creo Elements/Direct Modeling and its modules/applications will show up and behave as defined by Creo Elements/Direct.
A big company can add/modify or even replace the initial look and behavior of Creo Elements/Direct Modeling and all its modules/applications by providing a Corp (= Corporate) customization.
Single sites within a company can decide to overwrite, modify or enhance customizations done on corporate level. This can be done by providing a Site customization. It is not mandatory to have a Corp customization to make a Site customization. If there is no Corp customization given, a Site customization will tweak the default Creo Elements/Direct customization.
Finally, the user has the choice to tweak his system to his needs by changing defaults, UI layouts, toolbars, and so on, either interactively or by editing files in the User customization directory. Usually all User customization files are written automatically as soon as the user modifies a setting during runtime of Creo Elements/Direct Modeling and its add-on modules/applications. The user might need to edit a file such as the standard customization file (sd_customize) to make more sophisticated customizations. User settings can overwrite customizations given by Site, Corp or SD.
Customization Directories
SD Customization Directory:
$INSTALLDIR/personality/sd_customize
Corp Customization Directory:
$SDCORPCUSTOMIZEDIR
Site Customization Directory:
$SDSITECUSTOMIZEDIR
User Customization Directory:
Default: $ProfileDir/PTC/Creo Elements Direct Modeling <release>/<release>
(Example: C:/Documents and Settings/'username'/Application Data/PTC/Creo Elements Direct Modeling 20.2/20.2)
* 
Corp and Site customization directories are optional, so if the respective system variable (see above) is not set, no Corp and/or Site customization is considered.
If the default user customization does not exist the first time Creo Elements/Direct Modeling starts up it will be created automatically. If $SDUSERCUSTOMIZEDIR is set to a non-existing directory, Creo Elements/Direct Modeling tries to create that directory at first startup. If the directory creation fails, Creo Elements/Direct Modeling takes the default user customization directory as fallback.
The version number directory above will be adapted with every release to reflect the actual version. It is composed out of major.minor version numbers.
At runtime you can call
(ui:uic-display-customization-dirs)
to display the actual used and set SD/Corp/Site/User directories.
Deviations for Creo Elements/Direct 3D Access
SD Customization Directory:
$INSTALLDIR/personality/sd_customize
Corp Customization Directory:
$SDCORPCUSTOMIZEDIR/3D Access
Site Customization Directory:
$SDSITECUSTOMIZEDIR/3D Access
User Customization Directory:
Default: $ProfileDir/PTC/Creo Elements Direct 3D Access <release>/<release>
(Example: C:/Documents and Settings/'username'/Application Data/PTC/Creo Elements Direct 3D Access 20.2/20.2)
* 
For the Corp, Site, and User customization, you must manually create the 3D Access directory.
Deviations for Creo Elements/Direct model explorer
SD Customization Directory:
$INSTALLDIR/personality/sd_customize
Corp Customization Directory:
$SDCORPCUSTOMIZEDIR/model_explorer
Site Customization Directory:
$SDSITECUSTOMIZEDIR/model_explorer
User Customization Directory:
Default: $ProfileDir/CoCreate/model_explorer/13.00
(Example: C:/Documents and Settings/'username'/Application Data/CoCreate/model_explorer/13.00)
Localized Versions
If you run Creo Elements/Direct Modeling as a localized version in:
German
Italian
French
Spanish
Japanese
The following customization directories are considered:
SD Customization Directory:
$INSTALLDIR/personality/$LANG/sd_customize
Corp Customization Directory:
$SDCORPCUSTOMIZEDIR
Site Customization Directory:
$SDSITECUSTOMIZEDIR
User Customization Directory:
Default: $ProfileDir/PTC/Creo Elements Direct Modeling <release>/<release>
(Example: C:/Documents and Settings/'username'/Application Data/PTC/Creo Elements Direct Modeling 20.2/20.2)
where $LANG is one of the strings (lowercase) in the list above.
Just the SD directory has changed compared to an English Creo Elements/Direct Modeling. Usually users run just one language of Creo Elements/Direct Modeling and not any mixed environment.
If a Site and/or Corp customization wants to support multiple languages they can do so by means of sd-multi-lang-string or ui:multi-lang (see Integration Kit documentation for more information).
If you want to have language dependent Corp/Site/User directories you can set the system variable:
SDLANGDEPCUSTOMIZEDIRS
to any value (e.g., 1). In that case the following directories become active:
SD Customization Directory:
$INSTALLDIR/personality/$LANG/sd_customize
Corp Customization Directory:
$SDCORPCUSTOMIZEDIR/$LANG
Site Customization Directory:
$SDSITECUSTOMIZEDIR/$LANG
User Customization Directory:
Default: $ProfileDir/PTC/Creo Elements Direct Modeling <release>/<release>/$LANG
(Example: C:/Documents and Settings/'username'/Application Data/PTC/Creo Elements Direct Modeling 20.2/20.2/german)
* 
Creo Elements/Direct Modeling Express will search for customization file only in the above-mentioned directories. There is no fallback search in the non-localized English directory.
With CoCreate Modeling 2004 the former system variable SDLANGDEPSITECORPDIRS becomes obsolete.
Deviations for Creo Elements/Direct model explorer with SDLANGDEPCUSTOMIZEDIRS set
SD Customization Directory:
$INSTALLDIR/personality/$LANG/sd_customize
Corp Customization Directory:
$SDCORPCUSTOMIZEDIR/model_explorer/$LANG
Site Customization Directory:
$SDSITECUSTOMIZEDIR/model_explorer/$LANG
User Customization Directory:
Default: $ProfileDir/CoCreate/model_explorer/12.00_access/$LANG
(Example: C:/Documents and Settings/'username'/Application Data/CoCreate/model_explorer/12.00_access/german)
Load Order
Creo Elements/Direct Modeling distinguishes between two types of files loaded from one or more customization directories:
Files which add/modify customizations done by SD/corp/site
These files are searched and loaded in the following order:
SD
Corp
Site
User
Each file found in any of these directories is loaded in the above-specified order. That way, a Site file can overwrite a setting done by a Corp customization without the need to duplicate the complete Corp customization.
Examples:
Customize files like Creo Elements/Direct Modeling customize file sd_customize
Available command files like Creo Elements/Direct Modeling file sd_avail_cmds.cmd
Files which replace customizations done by site/corp/SD
In this case the first file found is loaded from the directories in this order:
User
Site
Corp
SD
Examples:
Menubar, Context menu and Toolbar files
Modules UI definition file (all_modules.dat)
File Manager file types file
Project Directories file
The Integration Kit supports these two concepts by providing two functions:
sd-load-customization-file
sd-get-customization-file
See the Integration Kit documentation for more information.
If you start Creo Elements/Direct Modeling in verbose mode (-v command line option) you'll see what customization files are loaded from which directory.
* 
The system variable SDCORPISADDITIVE is set to 1 by default with CoCreate Modeling 2004. By default, Corp customizations no longer replace factory customizations but rather add or modify Creo Elements/Direct customizations.
If you want to replace any Creo Elements/Direct customization with a Corp customization (this was the default before CoCreate Modeling 2004) you need to set SDCORPISADDITIVE=0.
Filenames and Directories
A new filename and directory convention for customize files has been established with CoCreate Modeling 2004. Customize filenames have a specific module/application prefix and are located in a specific module/application subdirectory:
'Directory Name'/'Prefix'_'Filename'
At startup of Creo Elements/Direct Modeling a README.txt is written automatically to your personal customization directory ("User" directory as explained above). This file contains a table which maps the module/application name to its specific customization subdirectory and its specific filename prefix.
A few examples:
Product Name Subdirectory Prefix (Internal Name)
-----------------------------------------------------------------------------
Modeling sd [[Frame2.SolidDesigner][SolidDesigner]])
Annotation ANNOTATION am (Annotation)
Sheet Metal SheetAdvisor sha (SheetAdvisor)
3D Documentation 3D_DOCUMENTATION d3d (3D Documentation)
With this table you can easily determine from which customization subdirectory (relative to any SD/Corp/Site/User directories) a module/application-specific customize file is loaded with which filename prefix.
Example:
The Annotation customize file is loaded from all following directories if available (assuming English Creo Elements/Direct Modeling version on Windows and no SDUSERCUSTOMIZEDIR set):
1. $INSTALLDIR/personality/sd_customize/ANNOTATION/am_customize
2. $SDCORPCUSTOMIZEDIR/ANNOTATION/am_customize
3. $SDSITECUSTOMIZEDIR/ANNOTATION/am_customize
4. $ProfileDir/PTC/Creo Elements Direct Modeling <release>/<release>/ANNOTATION/am_customize