Shopping cart

Subtotal $0.00

View cartCheckout

CREO Best, Standard, and Procedural Practices


This document contains both Standard Practices and Recommended Practices for Creo. It is necessary to follow “standard practices” so users can understand and work with each other’s models. “Recommended practices” also help with efficiency and understanding each other’s models, but are not strictly enforced. You should read this entire document.

Below is a list of key considerations. These are the most crucial things to consider in order to create models which can be used effectively at your CAD facility.


  • Always use startpart and startassy.
  • Be sure your naming conventions are compatible with the rest of your project.
  • Never allow two models with the same name to exist in your project directory structure. (See File Management)
  • Be sure your configuration files have the appropriate options set. (i.e. default layer names, file saving etc.)

If you have any suggestions, comments or questions about these documents or using Creo, e-mail me at


Standard Practice:

Launch Pro from your working directory, which is directly below “mechanical” in your project directory structure (see Pro-Standard-Directory-Structure.doc). In Windows NT you can setup your shortcut to do this automatically. (See Starting Creo)

Your working directory should contain a project-specific (see Configuration).


Standard Practice:

ALWAYS save any time you leave your station. If you are not at your station, we assume you have saved and it’s okay to exit if we need the machine for something.

Recommended Practice:

As with any CAD system, it is a good idea to save after any significant change (anything you don’t want to do over). CAD stations can and do crash, causing the loss of valuable work. It is up to the user to save frequently enough so that no more than 20 minutes of work will ever be lost.


Standard Practice:

All projects that use Creo will have a directory structure on a server as shown in Pro-Standard-Directory-Structure.doc. Also refer to that document for location of archived files etc.

Every pro user will have a directory which only that user has write permissions to.  All project Creo files will be stored in that directory.  This directory will contain a ‘ file’ which has search-paths defined for all other user-directories for that project. (See Configuration Files) The search paths allow a user to load an assembly that contains parts that are owned by other users. Since these parts reside in other users’ directories, they can not be saved, or accidentally overwritten.

Any file (prt, drw, or asm etc.) may have only one owner. That is, only one person has the ability to write to that file.  Any file that you are the owner of should exist in your own directory and nowhere else.  If a file is to change owners, the current owner must follow the proper procedure. (See Transferring Files)

NOTE: It is crucial that neither user, original owner or new, have the file in memory at the time that ownership is transferred.  The easiest way to assure this is to exit your session of Creo.  If you choose to use DBMS ‘erase’, then be sure to use ‘search/retrieve’ ‘in session’ to verify that the file in question has been cleared from memory.

It is very important that users understand that there must never be a situation where two users can write to the same file name, because one user’s changes would be overwritten and lost without warning.

Similarly it is important to understand that no two parts can have the same name. DO NOT name parts with commonly used terms like ‘motor’, ‘bracket’ etc. because some one else’s module could have parts with the same names.  This would cause problems in an assembly that contained both modules.

(See Naming Conventions)  It may be a good idea to periodically scan other users’ directories to be sure they do not have parts named the same as yours.


Standard Practice:

When outside resources are contributing Creo files to a project, but are not working directly on our network, they will be treated as follows:

Each contractor or agency will have a directory just like an internal user. When we receive files from the outside source, they will be archived and copied to the ‘user’ directory. (See Receiving Files) Note that this directory must be added to the search_paths of other users.


Standard Practice:

Any time electronic files are sent to, or received from, vendors, clients, or any other outside party, there must be a record of what was sent/received. Copies of all such files will reside in directories as shown in Pro-Standard-Directory-Structure.doc. For instructions see Sending Files.


Standard Practice:

Files can be named in either of two ways. One is to use the ID part number. The other is to use a meaningful descriptive name. Either method can be used but must be consistent within any given project.

When using descriptive names:

File names for parts, drawings and assemblies cannot contain underscores, you must use dashes. E.g. “lamp-base” is okay but not “lamp_base”. A part’s name should generally imply the assembly in which it will be used. For example, on a project with two major modules called the “input queue” and the “luminometer”, parts would have names like “iq-bracket”, “iq-motor”, “lum-base”, “lum-bracket”, etc.  It is suggested that each project decide on a two or three letter abbreviation for each module.

Parts should NEVER have ambiguous names, such as, ‘arm’, ‘base’,  ‘motor’ etc. they should be distinguished from each other. E.g. ‘gripper-arm’, ‘indexer-arm’, ‘unit-base’, ‘lamp-base’ etc. When possible, include the vendor’s part number in the name. For example ‘motor-vexta-px243-03aa’.

Drawing files should have the same name as the part or assembly that they represent.

If you use numbers to distinguish different iterations, then the most current should be the one with no number. For example if you have ‘robot-motor’, ‘robot-motor2’ and ‘robot-motor3’ other users and their assemblies will be looking for ‘robot-motor’. ‘Robot-motor’ is always the current up-to-date file, and older versions are renamed to ‘robot-motorx’.

Layers containing datum planes should be named ‘DTM-<whatever>’.

There are default layers for many entities in Use these names. If you need more differentiation, make layer names which start with the default names. For example, ‘DTM’ is the default layer for datums, so you could create ‘DTM-CHASSIS’, but NOT ‘DATUM-CHASSIS’ nor ‘CHASSIS-DTM’. Features with default layers are AUTOMATICALLY placed on those layers by Pro. The default layers are:

DTM:  for all datum planes

DCURVE:  for datum curves

COSM:  for cosmetic sketches

DIMS-REF:  for reference dimensions

DIM-DRIVEN:  for driven dimensions

DIM-DRAFT:  for draft dimensions

SURFACE:  for surface features

DTM-DEF:  for the default datum planes (if you use the mapkey  ‘dddd’ to create them, or use ‘startpart’ or ‘startassy’)

DTM-GDT:  for layers used as GDT datums in detail mode  (This one is not automatic, you must create it and put the datums on it yourself.)

COSM-THD:  for cosmetic threads (not automatic)

Recommended Practice:

Datums that have special functions and are likely to be used frequently should be named. It is not necessary to name the default datums since we always use the same orientation.

Datums that are used to rotate or move objects should have the likely values as part of the name. E.g. ‘ARM-ROT-5down-15home-25up’. These datums should reside in the part or assembly which they are used to move, not the master assembly. I.e. The above datum should reside in the ARM assembly not TOP-SYSTEM. Note: It is extremely helpful to reorder these datums to the last features of the part, to reduce regen time when they are used. Also it is helpful to define parameters to drive any dimensions that are used for motion, and mapkeys to drive the parameters should be created as well.


Recommended Practice:

Design intent, and ease of modification should be priorities.

Avoid unnecessary parent/child relationships.

Ideally, parts, assemblies etc. should regen with no errors and no warnings. Fix errors and warnings as soon as you can, they will get worse (more destructive and hard to fix) down the road. There are some warnings which are acceptable, investigate all warnings and once they are understood, you can decide whether or not they are acceptable. When a regen error occurs, use “info” to find out exactly what is failing and why. Don’t use the ‘trim part’ menu arbitrarily, don’t suppress parts/features unless you know what they are, especially in someone else’s model.

Models should not have any suppressed features/components. (The ‘resume’ menu should be grayed out, so that anyone working with the model knows that it is complete.) All features/components that have been suppressed while recovering from a regen failure should be resumed and recovered as soon as possible. If you do need to use suppress, put the items to be suppressed on a separate layer so they can be resumed/suppressed by layer.

Layers should be displayed and un-displayed using ‘blank’. Do not use ‘display’, you can get the same result by entering ‘blank’ mode and clicking on ‘select all’ then click on the individual layers to display. This method will not have the undesirable side effects of ‘display’ mode.


Standard Practice:

All parts should begin with the standard startpart. (See Using Startpart)

All parts should be oriented the same way. I.e. picture the final assembly sitting on a table in front of your left hand, so you are looking down and to the left at it. This is how you are looking at the default datums in the default view. DTM1 is a wall to your left. DTM2 is the table. DTM3 is a wall in front of you on the other side of the table. This paradigm applies to orientation only. You can place your part under the table, partway into a wall etc. Note: For some products it is not clear what to consider the “front”, in this case talk to the other people on the project and reach an agreement so that your orientation will be consistent within the project.

Subsequent datum planes will automatically be placed on layer ‘DTM’, due to the setting. The user may then create additional layers for datum planes, but ALL datum planes must be on layers that have names starting with ‘DTM-‘.

Parts should ALWAYS be created in Part mode, never in assemblies.  Do not change the color of a part. Colors should be assigned in the assembly.

Recommended Practice:

Features should, whenever possible, reference/be dimensioned to, the default datums, second choice is secondary datums, next is surfaces. It is not good to reference or dimension to edges, especially not silhouette edges created by rounds. Design intent, however is the most important, so use your judgment and build features in the most sensible way you can.

It is a good idea to change to an isometric view before aligning to part surfaces or edges, to be sure of which one you are picking. It is best to align to datums, next best is surfaces, and then edges.  NOTE: As of release 16, you can align to surfaces without reorienting the view.

Sketches should be kept simple. Use additional cuts, protrusions, etc. for more complex shapes.

Parts should ‘stand on their own. That is, they should regen without the assembly or other parts in memory.

A guideline for the order to create features:
Default datums, other datums and axes, base feature, pre-shell features (including large rounds), shell, pre-mirror, mirror, other fit/form/function features, draft, and rounds.  As always, design intent supersedes this rule of thumb.

Use reorder and insert mode to keep features in a sensible order.  In addition to the above guidelines it is helpful to have related features ordered together.  This helps in understanding the model and is useful when using insert mode.


Standard Practice:

All parts should begin with the standard startassy. (See Using Startpart)

When using datums to assemble parts or sub-assemblies, ALWAYS use the yellow side of the datum planes. It is possible, choosing between ‘mate’, ‘mate offset’, ‘align’, or ‘align offset’ will always work. If you can’t avoid it, ‘orienting’ to the red side is acceptable.

NEVER create parts in assembly mode. Always create them in part mode and then assemble them. Parts should ‘stand on their own’. That is, they should regen without the assembly or other parts in memory.

Recommended Practice:

There are two primary strategies for creating assemblies.

  1. Create the assembly as it will be manufactured.

Start with the base or chassis and assemble parts and sub-assemblies to it in the same order that will be used in manufacturing. This may give the most desirable end results, but is often difficult to achieve.

  1. Create the assembly according to function.

Start with the most important functional unit and build on that. For example, on Clipper it was the optics base, this was where most of the action was taking place, and many other sub-assemblies had to interface with it. This gave us the most meaningful model in terms of design intent. Sub-assemblies which interfaced with each other could be assembled together directly with datums at the point of interface, guaranteeing proper alignment. In method #1, each assembly would be assembled to the chassis, and the interface would rely on the chassis being correct. In this method (#2) the function drives the assembly, not vice versa.

Note that it would be possible to get similar results in method #1 by adding assembly relations.

The other reason for using method #2 is that is more closely follows the order in which design in normally done. That is, you can’t build the chassis/base before you know what’s going to go on it.

Parts should be assigned different colors in an assembly to make it easier to understand. Do this in the assembly, not in the individual parts. It can be helpful to have a consistent color scheme, for example:

Green = purchased parts
Blue = steel custom parts
Orange = brass
Purple = delrin
Red = other plastic

Or use colors that most closely represent the real objects. The primary goal of assigning colors is to make the assembly easier to understand, so this should take priority over any color scheme. (i.e. Two adjacent parts should be different colors even if they are the same material.)

Use reorder and insert mode to keep the assembly organized in a sensible way.


Standard Practice:

Whenever possible use the views that are defined in the standard startpart. (i.e. Top, front, right, etc.) Note: If a view name is deleted or redefined in the part, the drawing may lose all dimensions for that view AND all views that are its children. So be careful not to change or delete the standard views.

When detailing a part for someone else DO NOT make any changes that will affect the geometry of the part model. Changes of this type should be made by the responsible engineer, in part mode. This, of course, does not include the creation of x-sec.s or other detailing functions that save information in the part file, these changes are okay.

Make sure that you are getting your formats from the “library” directory for your project. This is accomplished with the following setting in your

pro_format_dir  z:<project name>mechanicallibrary

Recommended Practice:

It is preferred that you use ‘show dim’ instead of creating all driven dims, because otherwise you could miss tolerances etc. which the responsible engineer set in the 3D model. Detailers working off-site should at least use ‘show dim’ to find this type of information, even if we have agreed that you should use driven dims.

Be sure layer COSM-THD (if there is one) is UNblanked before plotting.

For general drafting practices use ANSI/ASME standards unless otherwise specified for your project. The drawing setup files will determine most of the settings (text height, arrows etc.) to ensure consistency within the project. Make sure you are using the same files as the other members of your team.


Standard Practice:

When modifying a model that was designed for molding, add machining features on a layer called “machining”, add extra material for SLA parts to a layer called “SLA”. Obviously, it is best to add these as separate features rather than modifying existing ones.


Standard Practice:

(Most settings are set in the main on the ID server. If you are not working at ID you will need to get a copy of this file.)

Each user will have a in their working directory for each project. There is normally a template in the Library directory for your project. Copy this file to working directory. This file will contain the following settings:

A search_path to the project library, for example:

search_path z:patriotmechanicallibrary

Search_paths to other users’ directories, for example:

search_path z:patriotmechanicallll

search_path z:patriotmechanicallllpt-files

!search_path z:patriotmechanicalram2

Note that you may use an “!” to remove a search_path that you do not need access to. This saves time when loading files.

A location for Creo to find your drawing formats, for example:

pro_format_dir z:patriotmechanicallibrary

Unit settings to ensure that you are working in the same units as the rest of the team such as:

pro_unit_length unit_inch

pro_unit_mass unit_pound


pro_unit_length unit_mm

pro_unit_mass unit_kilogram

save_object_in_current no

override_store_back no

In addition you may add your own personal settings and mapkeys.

Recommended Practice:

(See Configuration Files in Pro-Tips-and-Info.doc)

Creo Procedures


To create an icon for Creo:

  1. Move your cursor on to the desktop.
  2. Hit the right mouse button.
  3. Select “new”.
  4. Select “shortcut”.
  5. Using the browser go to “C:PtcCreo 2.0 M020Common FilesMechPTC” and select “startpro.bat” for Creo r2,
  6. Click on “next”.
  7. Click on “finish”.

There is now a new icon on your desktop.

  1. Click on it with the right mouse button.
  2. Choose “properties”.
  3. Select the “shortcut” tab.
  4. Go the “start in” box and type in the complete path to your working directory. (i.e. “Z:PatriotMechanicalcla”)
  5. Select “apply” and then “close”.

Since your working directory is different on each project, it is suggested that you make a different icon for each project you work on. You should rename the shortcut to indicate which project it is for. You can do this either while creating it, or by right clicking on the icon and choosing rename.



Startpart.prt and Startassy.asm are templates that contain default datums, coordinate systems, tolerance info, several parameters, and many saved views. Using these saves time and helps to insure consistency in models made by different users. Note: NEVER change or delete the default views. Any drawings that reference those views can lose the dimensioning scheme, requiring the user to completely redimension the drawing.

  1. To create a new part type “sp”. This will retrieve the standard startpart from the library directory, and prompt you for a new name.
  2. Type the new file name, and enter the part parameters. Remember, the drawing format and B.O.M’s use these part parameters to simplify your work later, so always fill them in. If you don’t yet know what the parameters should be, you can leave them blank and fix them later through “setup” “parameters” “modify”. See Using Parameters for a list of these parameters and how they are used.

If it doesn’t work:

1     Fill in the parameters manually through “setup” “parameters” “modify”.

  1. Be sure you are in the correct directory and that your has a search_path to the library directory.
  2. Be sure that there is NOT currently a “newpart.prt” in memory or on disk. The macro uses this filename as a temporary step, and if it already exists you will need to delete it for the macro to work.
  3. If you are not on the network, be sure your has definitions for the mapkeys ‘sa’ and ‘sp’. Contact a CAD system support representative if you need help.

The procedure for assemblies is the same, except that the mapkey is “sa”


When using Starpart or Startassy you will be prompted to enter a number of parameter values.

If you are working with a part or assembly that was not created with parameters, you can use the mapkey “cp” to create our standard parameters at any time.

All parameter values should be capitalized. An exception to this rule is a value which you are unsure of, for example if you are making a plastic part but haven’t decided which type of plastic to use you may enter a lower-case “plastic” for the MATERIAL value.

The parameters stored in the part file are used as follows:

Parameter Name Used in Format Parameter Value

drawn_by            yes                        The initials of the initiator of the model

description          yes                        The name of the part or assembly capitalized, and stated in reverse. For a part: PIN, GUIDE, MANIFOLD For an assembly: ASSY, TIPS, MANIFOLD (Assemblies always start with ASSY.)

material                no                          The name of the material used in the part. (Ignore for assemblies.) This parameter is to be used in the drawing notes. If you have a line such as            “2. MATERIAL: &material”, it will update automatically from the part parameter. (&<parameter name> works for any parameter.)

vendor                  no                          Vendor name, ignore if not applicable.

vendor_pn           no                          The vendor’s part number, ignore if not applicable.

ID_pn                   yes                        The part number assigned to the part or assembly (00139-41401).



It is best to create your first view before adding the format. This way the format will automatically fill in values from the part or assembly parameters.

When a format is added, the user is prompted to fill in certain parameters. The following is a guideline for what to enter.

Parameter            Location                             Description of value

description          Title                      * The name of the part or assembly capitalized, and stated in reverse.

For a part: PIN, GUIDE, MANIFOLD For an assembly: ASSY, TIPS, MANIFOLD

(Assemblies always start with ASSY.)

ID_pn                   Title                      * The part number assigned to the part or assembly (00139-41401).

title_rev               Title                      The revision number displayed in the title block.

ID_pn                   Border                  * The part number assigned to the part or assembly (00139-41401). If a model is not present, it is requested twice. This is only on C and D sheet sizes.

border_rev          Border                  The revision number displayed in the border number block. This is only on C and D sheet sizes.

proj_number       Title                      Enter the project number, for example “139”.

drawn_by            Title                      * The initials of the initiator of the drawing.

dwg_date             Title                      The date the drawing is initiated.

file_date              Title                      Enter a “-“.

zone                      Revsion                Enter a “-“.

rev_desc              Revision              A description of the changes to the drawing. If this is the 1.0 revision release, enter “INITIAL DRAFT”.

rev_date               Revision              The date the revision is started on.

chg_by                 Revision              The initials of the individual who is responsible for the release of the drawing.

* These values will be filled in automatically from the data entered in the parameters of the active model when the format is added.


Giving files to another user:

  1. Make sure the files you want to give away are not currently in memory (in session). The easiest way to do this is to exit Creo.
  2. Using a file manager move (do not copy) the files from your personal directory to the new recipient’s directory under the “public-transfer” directory. (i.e. ….PatriotMechanicalPublic-Transfercla)
  3. Be sure you have moved ALL of the revisions! If you give away “box.prt.5” but still have “box.prt.4” in your directory, you are likely to lose work! When YOU load the assembly Creo will find this part (box.prt.4) in your directory before it finds the current revision. A Creo file should NEVER exist in more then one directory at a time!

Receiving files from another user:

  1. Move (do not copy) the files from Public-Transfer to your own directory. (e. from “…PatriotMechanicalPublic-Transfercla” to “…PatriotMechanicalcla.)
  2. Make sure you move ALL of the files. Public-Transfer should always be left empty.
  3. Do this as quickly as possible. Files should not sit in Public-Transfer for long.




Sending files to an outside party:

When you send paper drawings to vendors, it is important to keep a copy of what was sent. This helps when the vendor calls with questions about the print, and it is a useful record in case we receive a part that doesn’t fit.

Similarly, you want a record of all electronic files that we send. Since Creo files may have associations to the assembly, and may have relations etc. it is possible for them to change without our awareness. So it is very important to make an exact copy of what was sent in a directory where it will not affect or be affected by the assembly or other users.

  1. Create a sub-directory under the appropriate directory as shown in Pro-Standard-Directory-Structure.doc.

This directory should be named with the following format: year month day – destination. Year, month, and day should each be two digit numbers.

For example, if you are sending a file to ID-tool on July 14th 2016, your directory will be called

<project name>mechanicalarchiveto-vendors160714-ID-tool

  1. After creating the new directory, COPY the file you are sending into the new directory. NOTE: In this case it is OK to copy instead of move, because your archive directory is not in anyone’s search_path, and therefore the new copy cannot be retrieved by accident.
  2. The last step is to actually send the file. The easiest way to do this is to send it with an e-mail. To do this:
  3. Simply write an e-mail as usual
  4. Open an explorer or file manager
  5. Drag and drop the file from your archive directory onto the e-mail.
  6. Create a file called “readme.txt”. Enter your name, and a brief description of what you are sending. It is a good idea to include comments about why you are sending the files, the current state of the design etc.

NOTES: If the file you are sending has any parents, they must be sent as well. For example, if you are sending a drawing (.drw) file you must also send the part (.prt).  If you are sending an assembly, you must send all of the sub-assemblies and parts too.

If you are sending an IGES, DXF or other translation, it is a good idea to make an archive of the original Creo files as well. This will come in handy if the translation is not readable by the recipient. Also it is easier to check dimensions etc. in the original.


Receiving files from an outside party:

  1. Create a directory as described above. (See Sending files.)
  2. Put the files in the new directory.
  3. Copy any needed files to their appropriate locations.

Just as with the sent files, these directories should not be in any search_paths.


We receive a file from ACME Engineering on July 14th 2016

We archive it to <project name>mechanicalarchivefrom-acme160714

We then copy the file to a directory called <project name>mechanicalacme



Leave A Comment

Your email address will not be published. Required fields are marked *