reorder product structure in a smart way

Tired of Graph tree reordering?

One of the most annoying CATIA features when you work with large assemblies is reordering of specification tree in Products. Although built-in function for tree reordering is far from being flexible or effective, as a user you just do not have another option. Even as a programmer and this is quite surprising, there is no direct way of reordering components in specification tree. Hopefully it will change in the future, but such a function has not been exposed to CATIA API yet. One known workaround is to use some CUT & PASTE operations but this could be an option perhaps when you work with small assemblies. For large ones you definitely need something stronger. Why? Because CUT & PASTE operations switch components automatically into Design mode which significantly slows down CATIA performance and such a behavior is just not desired when you work with large assemblies. What's worse during CUT & PASTE process you are breaking links (drawing links, constraints).

Wanna see it in action?

Then watch this video:

SmartSort - Catia product tree reordering application

And how SmartSort works?

Do not expect miracles or some hidden CATIA secrets, our application is not even "SMART" :). It uses brute-force approach and built-in CATIA tree reordering function and it just simulates user input. This way you preserve all links and there is no need to switch into Design mode.

Main Features

  • Works in Visualization mode or Design mode
  • Perfect for large assemblies (no need to switch to Design mode)
  • Constraint links are preserved
  • No CUT & PASTE operations and no broken links
  • No components renaming
  • It uses CATIA native Graph tree reordering feature

Small Application Guide

  • Main window consists of two listboxes
    • Initial Order (left one): it is filled when you start an application and it reflects current order of components within active CATIA assembly.
    • New Order (right one): requested order.

With left & right arrow buttons you can move items between left and right listbox, with up & down buttons you move items within right listbox. Multiple selection is supported.

When Move As Group option is checked you move all instances of the same part at once (either in between listboxes or within right listbox)


A - Z, Z – A buttons sort an order in right listbox ascending / descending.

Reload button reloads items from active CATIA assembly to the left listbox and clear the right one.

Reorder button starts reordering of active catia assembly according New Order listbox.


What it looks like

User interface is really simple, all you have to do is copy items from "Initial Order" listbox to "New Order" listbox and press Reorder button.

  • Main application window
    User interface is very simple.
  • Catia window
    Application uses CATIA native Graph tree reordering function.