One of the most often asked questions of me is how do you reorder the specification tree in CATIA V5 with a macro? I am putting together a complete tutorial about one method to do it, shown in the video below.
A couple of potential alternative methods you could try to sort the tree or reorder components are as follows:
Create a VBA Listbox in a userform
To manually choose the order of components, one method might be to create a VBA userform with two listboxes, the first containing the list of parts in the assembly and the user would click each part in the order they want with that order appearing in the second listbox. The user would then click a button and CATIA would cut and paste the parts into the order displayed in the listbox.
Set prodDoc1 = CATIA.ActiveDocument
Set prod1 = prodDoc1.Product
For i = 1 to prods1.Count
‘Display the userform
Next, insert a new Userform and add a listbox to it. In a VBA listbox a user can select one or more values. Run the macro and a the listbox should pop-up displaying the name of all child parts in an assembly.
Use an Array
To automatically reorder instances in numerical order, you might add each part name into an array, then do cut and paste operations based on that array. If you’ve joined my email newsletter one of the first tips includes a macro to scroll through every item in the tree – a good starting point for this graph tree reordering macro.
Export CATIA names to Excel
Another workaround to sort the tree could also be to export the spec tree to Microsoft Excel, reorder the list of parts, then run a macro to rebuild the assembly based on the order listed in the Excel spreadsheet.
One last tip: Under Knowledgewaretypelib there is a method called “reorder” that you may want to use when copying and pasting:
Dim Selection1 As Selection
Set selection1 = reorder.prodDoc1.Selection
set selection2 = CATIA.ActiveDocument.Selection
Thanks for reading about my ideas for a reorder spec tree macro. I hope this gives you an idea about how you might accomplish part reordering in CATIA V5 tree. If anyone else has any other suggestions I’d love to hear about them in the comments below!
UPDATE APRIL 2016: New version of the reorder spec tree macro is now available. You can either purchase as a stand alone tutorial or it comes with the All-in package. Check it out here.