Creo vs. Common Sense

About the List

In the beginning, I had learned 3D modelling with Solidworks and it had been a mostly pleasant experience from the very beginning. Since early 2016, I’d been using Pro/ENGINEER Wildfile 5.0. I was shocked with the amount of bad design/bad decisions/bad programming one can include in a single program. Even when we switched to the latest, state-of-the-art Creo 4.0 a year ago, not much has changed. Apart from a few beautifications working with Creo is almost exactly the same nightmare as Pro/ENGINEER.  If there’s anyone contemplating buying anything from PTC, there’s a list of reasons why not to do it.

Don’t get me wrong, Creo is a powerful tool and it will do its job no matter how difficult it is. However, it will surely make your life even more difficult. Not because it lacks important features but because it constantly irritates with very small but extremely important design flaws. There are so many of them I had to organize them in a list with chapters.

Also, this is also not a Creo vs. Solidworks or Creo vs. Anything, in fact, this is a Creo vs. common sense type of article.

Files and Sessions

Opening and saving

One does not simply open a file in Creo, works on it, saves it and then closes it. No, Creo uses the so-called sessions that remember stuff like settings, files and so on. Once a file is opened it remains opened in session even when you close it. You cannot have two files of the same name opened at once even if they’re from different directories. If you want to save a copy you have to assign a different name to the copy. If you decide not to save changes to your model and close the file, you haven’t done anything. The model will stay in your session until you clear it. And even then, when you close the last window and exit the program, it will ask you if you wanted to save changes to that very model.

Base Window

There’s also the so-called base window that is the first window you opened and it has to be the last one to close. Once you open a lot of models, a lot of windows will open and there’s no quick way to close all of them. You have to chase down each one and close them first. If a base window is in front of you and you’d want to close it, a subtle message in the console will tell you that Base window cannot be closed until only the base window remains and it can be closed now. Of course, you’ll have to confirm saving/not saving all your closed models, drawings, and sketches.

Saving Settings

Once you manage to close the program, all the settings you’ve set, will be gone. That includes windows, working directory, buttons, shortcuts, tree view items, filters, and so on. Anything you’ve set using the GUI is erased when a session is closed. If you want a setting to stay you have to type it by hand in a separate config file. So much for GUI.

However, it would be very welcome to have some things remembered only within sessions but forgotten when a new session opens. Like the last used extrude depth, latest used thread diameter and similar. Those are never remembered – the modeler just guesses a most useless number. It is, of course, useless and you have to edit it every single time.


We’re using floating licenses – a license server is running on a local computer and distributes remaining licenses to other computers. It is a reasonably complex system that is also dumb enough not to notice one computer is running multiple licenses. So one can accidentally run multiple instances that will consume multiple licenses without knowing and the server will allow it. Now it will be even more difficult to close both base windows.

Working Directory

There is also a very important term called working directory. It is a directory you have to choose before opening a file. If you don’t you’ll start from the default folder and you’ll have to dig down to your project’s folder for every single file open, save, export, model for assembly, and so on. This directory will also contain some files that you don’t want to see such as import and export logs, circular reference logs (more on that later) and other versions of the same file (more of that also later). Of course the location of the working directory is reset when you close the session.

File Versioning

Files that are saved are never overwritten. Instead of that, a new file is created and a version number is appended. The first file will be named, for instance, model.prt. When you save it, the old one will stay and you will get a new file called model.prt.1. When creating big complex models or assemblies you could easily create hundreds of copies of your parts. Wildfire offered no way of deleting older versions. Creo has now a command to delete older versions of the file you’re working on but it’s impossible to manually delete older versions for all parts. You can, however, use an external tool that deletes all older versions of all the older models. Absurdly, it does not come from PTC, the creators of Creo.

User Interface

At a first glance, the user interface is nice. Ribbons, shortcuts bar. An extendable command line at the bottom. Then dialogs, message boxes, balloons, pop-up text boxes, status bar icons, damn popup menus, all in all, a huge mess of every possible user interface one can think of. You never know when something will pop up. When you make an error (or not), any of these  can happen:

  1. A message box pops up that informs you about the error. After you click one of your options the feature you’ve been working on gets paused and you have to click resume (whatever that means) to continue working.
  2. A line of text about the error is added to command line and the feature is aborted. Then, another line of text is added to command line. If you happen to have only one line of text shown to save space, you won’t see the error message unless you remember to look it up in the line above.
  3. A pop-up menu with one or two lines is displayed somewhere on the screen. The menu can be very small (with just a yes/no or even just a single continue). It can be hard to spot it on a big screen but you have to find it because all other GUI is disabled. Also these menus don’t carry a message, just your options. The message is (most likely) hidden somewhere in the command line.
  4. A balloon note pops up, pointing at your mistake. This happens most often (but not always) with wrong number entries. Like entering a decimal comma instead of a point (common here in Europe). You can’t just correct the text with backspace or a delete. You have to click OK and then correct the text. Enter and escape keys don’t work either.
  5. A broken feature is created. You can only find out what’s wrong if you check the feature information. It can be found in a right-click menu of that feature in the feature tree.
  6. An edit box is displayed at the top of the model view window. It asks you for an input and disables everything else.
  7. Any other combination of any of the above point.


Speaking of pop-up menus… They might have been OK in the nineties. Being without any icon they don’t provide any visual cue of the options. You have to do a linear search through all of the options every time one pops up. This can be very tiring with repeating use of large pop-up menus.

Other Friendly Features

Undo-redo works well… kind of. Usually a small change in a parameter will erase the undo history and you’ll have to remake stuff by hand.

Keyboard shortcuts we’re used to from all other programs don’t work here. Ctrl+A usually means Select All. Here, it can mean Abort (it doesn’t even ask for confirmation) or kind of Alternative characters for text entry. Again, it depends on the dialog you’re in.

A simple right click won’t do. You have to wait two tenths of a second to do it. If my coworkers didn’t tell me that I still wouldn’t guess it. The same goes with left click (but as known to me, only in one case).

You have to maximize every new window that you open. They always open restored although of full dimensions of the screen.



The sketcher is a delicate animal. When creating simple features such as rounds you will have to click through quite a few confirmations to cancel the creation. When leaving a (not fully defined) sketch Creo will happily discard it without confirmations. No matter how much effort you put into it.

Updating References

Sketches often fail because something changes from the outside that the sketch refers to. You then have to open the failed sketch and scroll through the used references and click update for the ones that need updating. After that, everything gets updated perfectly. I wonder: why do I have to click for something that can be done automatically?

Also, if I change my mind about repairing the failed sketch, I cannot leave the dialog until I have updated all of the references. I just have to click through everything first, and then cancel sketch editing. Of course, if I then open the same broken sketch again, I will again have to go through the manual update process.

And so on…

There are also quite some little quirks. For instance, when you’re making an offset of a bigger loop. The sketcher will show an all-blocking text box asking you to enter the offset amount in the direction of the arrow. Alas, the arrow cannot be seen because it’s shown on a curve somewhere out of the view. You can’t pan or zoom the view because the text box has blocked everything.

Talking about offsets, spline offsets don’t work as they should. Once created, any change made to them will unlink the offset and create a huge amount of points and a double amount of weak dimensions defining those points.


Regeneration, Regeneration

If you have a fairly big model it can take a while to regenerate. If you decide to change a feature somewhere in the middle and then cancel the editing, Creo will start to regenerate it. Since nothing has changed, there’s point in regenerating anything and you click the cancel button. The regeneration is canceled. Then, a new regeneration is started to regenerate the canceled regeneration.

Dialogs, Dialogs

There are, for instance, problems with the Thickness Analysis dialog. Not only that it takes ages to compute thickness because Creo only uses a single CPU core. You have three options at the bottom: PreviewOK, and Cancel. Preview will take a few minutes to calculate thickness and show the results. Cancel will not do anything and will close the dialog. OK will take a few minutes to calculate and then close the dialog without showing the results. Not sure about the purpose of that. Maybe for fetching coffee.

Other dialogs also have problems. Once I dig deep enough to set the model’s density and enter a wrong value by mistake, the dialog closes. A message about the wrong input is displayed in the command line. Nothing is changed and I have to dig again.



You have two options of organizing bigger assemblies:

  1. Throw all parts and subassemblies in the same directory. The one with the main assembly file. This is not a very organized thing.
  2. Put subassemblies with their parts in separate sub-directories. Creo will never find them because it doesn’t store relative paths with model names. Just names. You have to enter folders of sub-directories into config files. Very handy, manual editing of .txt files. This is organized until you move the models to a different computer. If you make a backup, all files will be put in the same directory again.

Renaming and Moving

If you rename a model outside Creo you’ll never be able to put it back in an assembly again. The name of the model is stored in the assembly for good. You have to rename a file in Creo to make it work. Also, while renaming you have to open all other assemblies, linked parts and drawings that include the part you’re going to rename. This is very handy as well. If you rename a model in a wrong way you lose the drawings and assemblies that included that model. For good.

Mass Properties

Any time something changes you get a warning in the status bar about the outdated mass properties. You have to manually regenerate the assembly to recalculate mass properties. It never takes more than half a second but it always requires a second of my attention for a thing that could be done without me even knowing.

Circular References

The statusbar also provides me with a handy warning about circular references. It only provides a warning, that is. To find out what exactly references what I first have to know what’s my current working directory. Then I have to open it using Explorer and there I have to find a special *.crc file. There’s all the information I need to know. What’s given are very handy internal IDs of the features that are nearly impossible to track down with Creo’s very user-friendly GUI.

The Headache

There’s also a very irritating feature of the assembly module. It keeps highlighting models on mouse over. In a longer assembly session the flickering of all the models can cause a headache.


Clicking Reinvented

You can’t start a new drawing without knowing the long-left click I mentioned earlier. It is required to place a view. After that, you can’t do anything without knowing the long-right click I mentioned earlier for a context menu. You also have to know which function is in what ribbon tab – they only work when that tab is shown. That’s quite a lot to have to know for an intuitive interface. Obviously the designers of the tabs themselves figured out that was a bad idea and enabled some functions in other tabs as well. Like moving views (which belongs to the Layout tab) in the Annotate tab.

Invisible Edges

When adding dimensions, Creo will highlight every single damned invisible tangential edge in the back of the model that is not even shown in the drawing. Why would I want to put a dimensions on an invisible edge? It takes a lot of time, precision and patience to put dimensions in the right places.


There are also layers. Speaking of intuitive interface, layers are meant to unclutter drawings and streamline workflow but all they do is make things impossibly complicated. If I want to hide an unwated surface or a quile (what’s the difference anyway?) I have to find it among dozens of layers and hide it. Then, I have to click Save layer status in the context menu. If I don’t do that, I’ll have to search for that quilt again when the file is re-opened. Funny, the command line warns that layer display status was not saved. But doesn’t save it on its own.

Menus, again

There are, of course, tons and tons of legacy pop-up menus that haven’t been moved to ribbons (yet? they’re probably still there from the first versions). They require a lot of clicking. For instance hatching a part of an assembly. It’s not enough just to click the part. Once the menu shows up and you start editing the hatch you find out that you have to click Pick component first and then choose the way you’ll pick it and only then you can Pick it. After that, you’re presented with a 20-or-so-option menu. You have to read through all the options because -as I have said before – there are no icons on any of them.

Tables and Clicking

Tables are the same story over and over again. Inserting a table sometimes requires a left click, other times middle click. Sometimes an Enter key is enough. Filling values is as irritating as can be. For every cell, you have to double-click inside and delete the space that’s there from beginning. When you enter a value you have to click outside of the whole table and then double-click the next cell you’re going to write to.

The same outside-clicking is required for moving views and other annotations. If the view is big and you’re adding a lot of small dimensions/annotations, zooming in and out and panning takes up almost all of your time. Very amusing indeed.

The Conclusion

I’m not sure how many of these flaws could be avoided by a careful configuration by a Creo Expert (anyone else would not know the config variables anyway). But it doesn’t matter in the end, or, in the beginning – the thing should come user-friendly out of the box. And then let Experts complicate matters.

I’m not trying you to convince you of anything or persuade you to do anything with your copy of Creo. This is just a lenghty rant of mine to blow off some of the steam I’ve built up during my work with it. If you have the same problems you might find this helpful in the same way… If you don’t, you probably don’t use Creo: congratulations! Make sure it stays that way. Also, don’t count on improved future releases – most of the program hasn’t changed in the last 15 years or so.