Engineer-to-Order Made Easy with Programming in Creo

Written by: Dave Martin

Read Time: 2 min.

Imagine, in these days of working from home, you decide to have a custom desk made. You find a local carpenter and tell him what you want: the type of wood, the dimensions, how many drawers, and so on.

Another customer contacts that same carpenter a month later about a desk, but all the specifications are different for the second desk. In 2D CAD — drawings — the carpenter would redo all their work. However, thanks to the Save As feature in 3D CAD, the carpenter could reuse the first design and save himself from reinventing the wheel (or desk in this case).

This situation is common in the design world. This is a manufacturing strategy known as engineer-to-order. New models and drawings are generated for each custom order. And it can generate a lot of extra work.

Fortunately, in Creo Parametric, there’s a solution. The Program module turns the regeneration process into an interactive process. The module prompts a user to answer a series of questions. Based on their responses and the logic they write; a custom design is generated. Let’s take a deeper look.

Model Programs

Creo parts and assemblies follow a program during the regeneration process. It consists of these five sections:

  • The Header: This lists the model name, type, and Creo version.
  • The Inputs section: This is empty by default.
  • The Relations section: If a model has equations that drive dimensions and parameters, they reside here.
  • The Body: This is the main part of the program. It contains information about your features in a part and the components in an assembly.
  • The Mass Properties section: This contains calculations that use system parameters within the Relations section.

Customizing the regeneration cycle happens in the three middle sections (Inputs, Relations, Body). You write prompts for the user in the Inputs section. Each response is assigned to a parameter, which can be a number, a string, or a yes/no answer.

In the Relations section, you write equations that assign the responses to dimensions and parameters. For example, you can assign the tabletop height response to the height dimension, and the material response to a material parameter. You can also perform math here. You can figure out the height of each drawer based on the desk height and number of drawers. Plus, you can use if-then-else statements to compute other dimensions and parameters.

The Body section is where you experience the real power of configuration and customization.

If your model is an assembly, you can pass values for dimensions and parameters down to the subassemblies and component parts. That way you can generate unique parts at all levels of the product.

You can use if-then-else statements in the Body section to create design branches that control whether certain features or components are included in the model.


Advanced Programming

Programs in Creo Parametric can also make use of family tables and user-defined features (UDF).

In an assembly, inputs can be used to select different instances of a family table. For example, the inputs can include variables like thickness or mounting hole diameter. Then, the program can look up appropriate screws, washers, and nuts based on those values.

A UDF in Creo consists of groups of features or components you want to reuse in a design. You can define different variations of the UDF. The program can then choose which variation of the UDF to incorporate into the model.

Creating Design Variations

When regenerating the model, you can enter new values for selected prompts. It can be saved as a new custom model under a different name or you can create it as an instance in a family table.

Incorporating this functionality into your designs adds another level of intelligence and automation for those working with custom, engineered-to-order products. Creating custom variations is quick and easy. Program functionality comes with every seat of Creo 7.0, so try it out today.

See what's new in Creo 7.

Tags: CAD

About the Author

Dave Martin

Dave Martin is a Creo, Windchill, and PTC Mathcad instructor and consultant. He is the author of the books “Top Down Design in Creo Parametric,” “Design Intent in Creo Parametric,” and “Configuring Creo Parametric,” all available at He can be reached at

Dave currently works as the configuration manager for Elroy Air, which develops autonomous aerial vehicles for middle-mile delivery. Previous employers include Blue Origin, Amazon Prime Air, Amazon Lab126, and PTC. He holds a degree in Mechanical Engineering from MIT and is a former armor officer in the United States Army Reserves.