Lesson 1

Creo Elements/Pro 5.0 (Pro/ENGINEER Wildfire 5.0) Tutorial 1: Introduction to Creo

  1. Creating Parts in Creo
    1. Introduction to Sketcher
    2. Creating 3D Features
    3. Removing Material
    4. Adding Holes
    5. Defining Unit Systems
  2. Modifying Existing Parts
    1. Naming Features
    2. Redefining Features
    3. Editing Relations
    4. Creating Patterns of Features
    5. Extruding to Datum Planes
  3. Creating Parts with Radial Symmetry
    1. Creating Diametric Dimensions
    2. Batch Modification of Dimensions
    3. Creating Revolved Features
  4. Questions

1. Creating Parts in Creo

Creo Elements/Pro 5.0 is a high-level, well-featured solid-modeling program which allows users to create, test, and simulate complex parts and assemblies. LEGO bricks are a set of building blocks that allow users to create intricate mechanical assemblies using a diverse set of components. Together, Creo Elements/Pro and LEGO can be used to build and test virtual LEGO models of limitless size, or to verify physical models. The goal of this first tutorial is to introduce the reader to the Creo interface and guide the reader through making his or her first part, modifying existing parts, and understanding part references and relations.

Note: A collection of LEGO components included in the LEGO Mindstorms NXT Educational Kit (#9797) has been produced for use with Pro/ENGINEER Wildfire 4.0 and later editions and can be found here. The dimensions for the standard LEGO unit (LU) used in this tutorial are derived from this part library and all parts created in this tutorial are compatible with these parts.

1. i. Introduction to Sketcher

Upon launching Creo, the program displays the folder browser window and a web browser showing the PTC homepage. The menu bar at the top contains drop-down menus for file operations, modifying and adding features to parts, and switching modes between part creation and simulation. The top tool strip contains the controls for creating and opening files, changing part views, and viewing and hiding datum features. The side tool strip contains tools for modifying part features. Because no part is present in the editor, many of the icons are gray and inactive.

We will begin by creating a new part. Click on the new icon in the top tool strip. The Type (Part) and Sub-type (Solid) should be pre-selected, though many other options are available for both fields. Most LEGOs are homogenous solid parts, so this is the proper selection for the parts we will create.

In the name field, enter "plate_1x1". The common name may be left blank. We will create a 1 LU by 1 LU plate. Press OK to proceed.

The default template is loaded. When a part is created, a set of mutually-orthogonal datum planes (Top, Front, and Right) and a part coordinate system will be created as the first features. Features are displayed under the Model Tree in the window to the left. When features are created by the user, the datum planes and coordinate system are used as references to place the features. The default view of the part is an orthographic view, which can be changed by holding down the middle-mouse-button and moving the mouse. Pressing Ctrl + D will reorient the view to the standard orientation.

The Top datum plane is shown in the picture above.

The Front datum plane is shown in the picture above.

The Right datum plane is shown in the picture above.

1. ii. Creating 3D Features

We will begin our part by first creating a sketch of the profile of the brick. On the side tool strip, select the Sketch icon to enter sketcher mode and begin creating features.

The Sketch setup window will appear. Select the Top datum plane by clicking on the feature. The text fields in the Sketch setup window will be populated with the necessary information indicating the reference planes and sketch orientation.

The view of the part will reorient to the view of the sketching plane. Dotted lines coincident with the Front and Right datum planes will appear to denote the reference axes.

Notice that the side tool strip has also changed and now contains the sketcher tools used to draw and edit sketch features.

We will draw the profile of the brick using the rectangle command. Icons on the sketcher tool strip with an arrow to the right contain additional settings for the feature, such as drawing a rotated rectangle or drawing a parallelogram. In our case, click on the rectangle icon and draw in the sketcher window a rectangle as shown below.

Once the feature is created, sketcher will insert dimension lines into the drawing to place the features with respect to the reference axes.

The dimensions generated by sketcher are called weak dimensions, denoted by their gray color. With the arrow selected, double-click the dimension text. A text field should appear. Enter "0.8065", the length in centimeters of the LU, as the desired line length and press Enter. The drawing should regenerate and reflect the change in dimension.

The dimension specified should change color from gray to gold and upon hovering over the text, sketcher should indicate that the dimension is a strong dimension. The sketcher window will also reorient to reflect the change in dimension. If the sketch becomes too small to view, use the mouse scroll-wheel to zoom in and out of the drawing. The window will zoom toward or away from the mouse cursor. Using Shift + Middle-mouse-click will pan the drawing in the current view plane. While in sketcher, the part can be rotated while drawing to change the view plane. An easy way to reorient to the sketching plane is to press the Sketch Orientation button in the top tool strip.

We must change the height of the rectangle to reflect our desired height of the part. While we can specify the same dimension using the process above, it is sometimes more convenient to use constraints to set equivalent entities, such as dimensions, feature lengths, or radii. The equal constraint command can be found under Sketch ® Constrain ® Equal, or on the Sketcher tool strip. Once equal constraint has been selected, select the previously specified dimension and then select the dimension defining the height of the rectangle. If done correctly, the vertical dimension will turn gold and display "E1", corresponding to the horizontal dimension's value. This new dimension is referenced from the rectangle's horizontal dimension and if the horizontal dimension changes, the vertical dimension will also change.

By now, the basic profile of the part is defined albeit loosely defined with respect to the part datum planes. These dimension can also be specified numerically by the user, but we will explore another way to define dimensions using relations.

Before we set up our relation, we must tweak the dimensions specifying the distance from the drawn part to the reference lines. Specifically, we must define dimensions referencing the top and left edges of the rectangle. From the menu bar, select Sketch ® Dimension ® Normal, or click on the Dimension icon in the Sketcher tool strip.

Left-click on the vertical reference line. The line should turn red.

Then, click on the left side of the rectangle. The line should also turn red. Middle-mouse-click to place the dimension. Repeat the previous steps to define the dimension between the top line of the rectangle and the horizontal reference axis.

Next, we want to center the drawing with respect to the reference axes. We could just set these dimensions numerically, but instead we will explore another aspect of the sketcher that will allow us to create entities driven by relations. The dimensions of the sketch are not just represented by numbers, but can be represented by variables.

Click the arrow icon (One-by-One) on the side tool strip and mouse over the rectangle's horizontal dimension text. The dimension should show the variable name of the dimension, in this case, "sd1". Double-click the horizontal dimension referencing the vertical axis and type "sd1/2". The relation manager will ask you to confirm the relation.

Click Yes. The sketch will regenerate and display the rectangle centered on the vertical reference axis. Repeat the steps above for the vertical dimension referencing the horizontal reference axis, and use the same relation as before.

With these steps complete, the rectangle should be centered with respect to the origin.

This concludes the creation of the part profile. Click the Check Mark at the bottom right of the window in the side tool strip.

Press Ctrl + D to reorient the part in the default view.

Now that a sketch has been created, we can use the sketch to create part features. To form the brick itself, we will extrude the sketch to create a 3-dimensional solid part. Select Extrude from the side tool strip or from the menu bar, select Insert ® Extrude to begin creating the feature.

The red text in the top, left-hand corner indicates that the placement of the extrusion requires a sketch (i.e. the one we just created).

Click on the sketch outline in the part window to indicate the feature to extrude.

The white box node can be dragged to manually set a blind-depth extrusion, or the dimension value can be set to the desired dimension. The yellow arrow in the center of the extrusion denotes the direction of the extrusion. Clicking on the arrow will reverse the direction of extrusion (as will setting a negative dimension value).

Set the depth of the extrusion as "0.3226". Click the Green Check Mark in the top right-hand corner or middle-mouse-click to confirm the extrusion. The sketch created before is now a solid feature that can be manipulated in many other ways to create our LEGO part.

We will now create the stud feature that allows the LEGO brick to connect with other LEGOs. Select the top surface of the brick as the sketching plane.

Note: Creating the sketch on the top face of the part will reference the sketch to the previously defined extrusion. If the extrusion is redefined or deleted, the placement of the sketch will be redefined or deleted as well. This is due to the references that are created between both entities and the parent-child (extrusion-sketch) feature relationship.

Select the Circle icon on the Sketcher tool strip, and draw a circle at the origin.

The cursor will snap at the intersection of the axes. Set the diameter of the circle to "0.478".

Confirm the feature and exit Sketcher.

Extrude the circle to a depth of "0.178", and confirm the extrusion.

The LEGO brick is coming along well. We now need to create the profile of the underside of the brick.

1. iii. Removing Material

We will now create the hollow portion of the brick where the stud fits on the underside of the brick. Begin by creating a sketch on the bottom plane of the brick.

The Use icon is a tool that allows us to create an outline from a previously created feature.

The Offset tool allows us to create an offset outline of a previously defined feature. Using this tool, we can specify the thickness of the part walls.

Select Offset, and in the Type window, select Loop.

Click the bottom plane perimeter and type "0.16425" in the text field.

The offset feature will be created and referenced from the edges of the part.

Confirm the feature and exit Sketcher.

Select the Extrude tool and select the option to remove material. Set the extrusion direction into the part. The yellow arrow pointing toward the center arrow denotes the direction of the cut. The cut can be made both inside of the sketch or outside of the sketch. In our case, we want to cut out the material inside the brick. Input "0.178" as the depth of the cut and confirm.

1. iv. Adding Holes

The LEGO part is nearly complete. Our last task is to add a cosmetic detail to the underside of the brick to more accurately mimic the shape of the injection-molded brick

Select the Hole feature near the bottom of the side tool strip. This tool acts similar to the extrude/cut tool, which removes material in a circular shape but also can create standard-sized holes for tapping and clearance, and can also create features such as counter-bores.

Holes can be constrained by datum axes or planes. Our hole will be concentric with the stud previously created. On the part, left-click the datum axis A_1 and then Ctrl + left-click the bottom surface to fully constrain the feature.

Set the depth of the hole to "0.388" and set the diameter of the hole to "0.258". Confirm the feature.

1. v. Defining Unit Systems

Until now, we have worked under the assumption that our part is dimensioned in centimeters. The model units can be verified under the Model Properties window by selecting File ® Properties. Under the Materials section, we can see the properties of the part material and units. Generally, the default units of Creo are distance: inches, mass: pound-mass (lbm), and time: seconds. Click on the change text next to Units.

The Units Manager will open and display a list of saved unit systems. The parts in the NXT library use the unit system "Centimeter Gram Second (CGS)", and we will select this as our preferred part unit system. Click on the CGS option in the text field and click Set.

The Unit Manager will ask if the current part units should be scaled to the desired units or interpreted as the desired units. In our case, the measurements are already in centimeters, so the dimensions will be interpreted. Press OK to confirm.

Be sure to save the part by pressing Ctrl + S. Navigate to an appropriate folder and then confirm the save.

Congratulations! You have just created the first part of the multiple thousands of LEGO parts in existence!

2. Modifying Existing Parts

Many of the LEGO parts we will create have features similar to the part that we have just created. Instead of recreating each part from scratch and possibly botching dimensions, thereby creating non-uniform parts, it is possible to copy and reuse existing parts by modifying features in the Model Tree.

With "plate_1x1.prt" open in the editor, select File ® Save a Copy… to save an editable copy of the current part. Since we have created one of the most basic and extensible parts in the LEGO library, we will create a more complex part from this part. In the Save a Copy window, enter "plate_2x2" in the New Name text field. Press OK. Now, open the newly created part.

2. i. Naming Features

As parts become more complex, it may be necessary to assign meaningful names to the features within the Model Tree. Right-click on the feature "Sketch 1" and select Rename. Recall that this sketch represented the outline and basic shape of the brick, so we may rename it to "outline" to distinguish it from the other features.

Additionally, we will rename the other features to their respective descriptive names.

Sketch 1


Extrude 1


Sketch 2


Extrude 2


Sketch 3


Extrude 3


Hole 1


2. ii. Redefining Features

Previously defined features in the Model Tree can be reopened and edited to make design changes or redefine references. Right-click on the "OUTLINE" sketch and click Edit Definition.

The sketcher window should appear. The previously defined features are now suppressed, meaning that the model is regressed to a previous state in the Model Tree.

Note: Deleting or modifying elements of sketches that are referenced by other features  may cause regeneration errors upon exiting sketcher. In this case, all child elements of the feature will remained suppressed until their missing references are redefined.

We want to make a 2 LU by 2 LU plate, and we can do so simply by editing the rectangle's horizontal dimension. We can double the lengths of the sides of the part by multiplying the dimension by 2, but there exists another way to better define and reuse constants in sketches using relations.

2. iii. Editing Relations

Recall that we set up relations to constrain the profile to the center axes and that the relation will remain true even as we edit the dimension of the side of the rectangle. Relations are mathematical equations that set the dimension value of entities such as lines or circles as a function of other dimension values or user-defined variables. We will create a user-defined variable to store the value of the LU and use it to control the size of the part we create.

Open the Relations Manager from the menu bar under Tools ® Relations…. The Relations Manager will show the two previously defined relations. On the first and second lines, insert "LU = 0.8065" and "sd1 = 2*LU". The first line sets up a user-defined variable to store the value of the LU, and the second line defines the length of the rectangle as twice the value of the LU.

Relations can be driven by all types of functions and are an extremely effective way to create reusable parts.

The part will regenerate to show the desired changes. Click the Check Mark to finish the edits.

Upon regeneration, we see that the outline and cut have resized properly but the stud has not moved from the center of the part. Recall that the placement of the stud was defined only at the intersection of the right and front datum planes, therefore, changing the brick profile has no effect on the placement of the stud. In order to fix this, right-click on the "STUD_OUTLINE" feature and select Edit Definition. We want to create a dimension referencing the top corner of the brick and the center point of the circle.

Immediately, the Resolve Sketch window will appear to indicate that the circle feature is over-constrained, meaning that the feature has too many dimension constraints preventing it from being placed properly. In our case, we want to move the stud away from the center and toward the top, left-hand corner. Select the second entry, "Constraint Point on Entity", and click Delete. Repeat the process for the horizontal dimension.

Once the circle is referenced by the top and left-hand corner of the part, we can change the dimension value. Set the horizontal dimension using the relation "LU/2" and set an equivalent dimension between the horizontal and vertical dimension of the circle.

Once the part has regenerated, both the extruded stud and the hole should have moved to the top, left-hand corner of the part.

2. iv. Creating Patterns of Features

Instead of creating a new sketch, extrusion, and hole for every new stud, we can use the pattern tool to create a pattern of studs to cover the top of the part. Patterns can not only duplicate entities but modify them as well in uniform and non-uniform patterns.

Select the "STUD" feature. From the menu bar, either select Edit ® Pattern, right-click the feature and select Pattern, or click on the Pattern icon in the side tool strip to open the pattern editor.

In the pattern menu, select the Direction as the pattern type.

Select the Front and Right datum planes to denote the desired directions. Enter "LU" as the dimension separating the patterned features. This will link the spacing of the studs to the previously defined "LU" relation.

Confirm the feature to create the pattern of studs.

The holes can be patterned in a similar fashion. Select the "STUD_HOLE" feature and create a pattern.

Because the feature uses the stud as a reference, the pattern will automatically snap to the pattern previously created.

Confirm the pattern and exit the pattern editor.

2. v. Extruding to Datum Planes

We are almost finished the 2 LU by 2 LU plate. We only need to add the ring to the bottom surface of the part to allow the physical LEGO part to mesh with other bricks.

Begin creating the feature by creating a sketch on the plane in the center of the part. Draw a circle and make sure that the center does not snap to the intersection of the reference axes.

Set the diameter dimension of the circle to "0.662563" and set the horizontal and vertical dimension of the center point to "LU".

Confirm the sketch and select Extrude from the side tool strip. Extrude the circle and under the extrude type, select Extrude to Surface.

Click the bottom surface of the part. The extrusion should extend to the bottom surface, which represents the depth of the previously defined cut. Confirm the extrusion.

Place a hole in the center of the circle we just created. Constrain the hole to the circle's axis and place the hole on the circle's face.

Features like holes can also be extended to surfaces. Select Extrude to Surface and select the middle plane of the part. Set the diameter of the hole to "0.478" and confirm the feature.

As we have demonstrated, we have modified an existing part to create a new part without needing to recreate every feature.

3. Creating Parts with Radial Symmetry

Until now, we have focused primarily on creating and modifying rectangular-shaped parts with bilateral symmetry. These parts generally require many extrusions and cuts to create complex shapes, which produce a lengthy Model Tree. Radially symmetric parts, however, can be produced in relatively few steps and can have features such as conical or spherical geometries that could not be produced using extrusions.

In this section, we will create a round stud brick of the same thickness as the previous parts. Begin by creating a new part, and name it "stud_1x1". Create a sketch on the Right datum plane.

Draw a shape similar to the one in the figure below.

Constrain the bottom and rightmost lines to the vertical and horizontal axes, respectively. Additionally, draw a Centerline, located in the line tool.

3. i. Creating Diametric Dimensions

When measuring the thickness of circular parts, the value of the diameter of the part is more easily measured than the value of the radius. The horizontal lines in the sketch, by default, act as the radii of the revolved feature. Since we have primarily worked with the diameters of all circular features thus far, we will dimension the part to make it more convenient for us to work with.

For all horizontal dimensions, set up diametric dimensions by clicking on a vertical line, clicking on the centerline, clicking again on the vertical line, and then clicking the middle-mouse-button to place the dimension. Repeat these steps for each vertical line in the sketch.

3. ii. Batch Modification of Dimensions

We have, once again, an arbitrarily dimensioned part with an approximately correct shape. Individually modifying the dimensions of a shape like the current shape may prove very difficult as our desired shape will change as the sketch regenerates after the dimension has been modified.

We will use the Modify tool in the Sketcher tool strip. Click on the icon and highlight the entire sketch.

The Modify Dimensions window will appear and display values of the highlighted dimensions. The scroll wheel next to each dimension can be used to dynamically vary the value of the dimension and display the change in the sketch.

In our case, we want to change all of the dimensions at once to preserve the shape of the sketch. Click on the Lock Scale checkbox to lock the scaling of the dimensions. Move the scroll wheel to scale down the sketch. Optionally, the sensitivity of the scroll wheels can be changed using the Sensitivity slider, which changes the rate of scaling of the dimensions.

Once the part is scaled so that the maximum diameter is around 1 LU (0.8065), exit the modify tool and fill in the dimensions as shown in the picture above. Once the dimensions are filled in, confirm the sketch.

3. iii. Creating Revolved Features

So far, we have created half of the cross-section of our part. In order to create our full 3D model, we will revolve our current sketch around the center axis to create the full part.

Select the Revolve tool from the side tools trip and click on the sketch.

The sketch should turn orange, indicating that it can be revolved. Click on the rightmost line segment.

A preview of the revolved feature will be displayed. The default angle for the revolve tool is 360°. The white node can be dragged to change the shape of the revolved section and the value of the angle can also be edited directly to produce a specific feature shape. In this case, set the angle to 360° and confirm the feature.

With that, our part is complete. This example illustrates that certain parts can have complex shapes but will require few features to fully define the part. In the case of large parts, having fewer features and defining features efficiently will cut down on part regeneration times and make parts easier to modify.


  1. Open and modify the LEGO part we have created, "plate_2x2", to produce a LEGO part that is a 2 LU by 4 LU plate similar to part #3020.
  2. From the "sbeam_2" part located in the Pro/E NXT part library, modify the part to create a 4 LU beam with three holes similar to part #3701.
  3. Create a LEGO part not present in the Pro/E NXT part library that is compatible with the parts in the library.
  4. Create a model of a non-LEGO object (either a real object like a pencil or mug, or an imagined part). Experiment with sketch, extrusion, revolution, and pattern options.