Showing results for 
Search instead for 
Did you mean: 
Showing results for 
Search instead for 
Did you mean: 

Stop Model Tree Reorder Becoming a Restructure

Stop Model Tree Reorder Becoming a Restructure

I've been asked to raise this enhancement request on behalf of a couple of colleagues.

Their main issue was:

"When trying to drag a component for reorder in the model tree, the holding time is too short to reorder well, the component will get restructured into another sub-assembly"

And the response we got from TS was:

"The issue is considered as works to spec since the holding time was implemented per PD's decision."

The users are finding that when they try to drag a component in the model tree to reorder, Creo is restructuring the component into a sub assembly.

Once this happpens, the ability to undo is lost and it is a pain to back out of.

Components are snapping way too quickly into a restructure.

We would like to see either:

1. Slow down the process (back to 2 sec as it originally was) so the the user has time to see that a restructure is going to occur instead of a reorder.

2. Have the ability to toggle and choose b/w restructure and reorder if the system defaults to a restructure.

3. A config setting to allow the user to set the default time to a longer value.


Oh this so needs to be fixed!  I "lost" a component recently only to find it in a completely unrelated subassembly.  At the very least I want a notice confirming that this is indeed my intent.  And the undo no longer functioning after the action is insane.  Who wrote the functional specification for this anyway?  It may work as specified, but certainly not as a common user would expect.

Topaz II

If I am not mistaken, this is what I was eluding to back in this post. I just didn't put forth a product improvement idea.

Thanks, Dale


Another idea would be to make the action sensitive to the point where you push the pointer while dragging the component you want to restructure e.g.

If you point to the name of another subassembly or group then you want Creo to drag the component or feature into that specific subassembly or group.


If you instead point to the model tree lines (between the symbols of two subassemblies/groups) Creo should just drag the component/feature in between these two subassemblies or groups.


I would not like to stop the restructuring with the model tree but to improve its behaviour and avoid "intuitive misunderstandings" of the users intension by CREO

Regular Member

My users are complaining about this too, and I have just repaired an assembly where 3 of the 4 first components "magically" dissapeared. This unwanted restructure is my first suspect.


In Piping the reorder is a must to work correctly. This behavior It is causing all kinds of grief with the end users.


It seems to assume that if I'm reordering, I'm restructuring and snaps parts into subassemblies, even when I was trying to do simple reorder. Slowing down software's decision for me may help. Or simply pop up a selection box, reorder/restructure.


I am trying to be very cautious when moving components in the model tree. It does not seem to matter though as I keep getting stung by this "feature" that automatically place components into assemblies. I cannot undo. I cannot drag it out. I have to delete and reassemble the component and anything that is assembled to it. This has cost me alot of time and heartburn.

When dragging and dropping a component between two sub assemblies in model tree, the component ends up in the wrong location because at the last moment, it drops it into the sub assembly instead of in between the two sub assemblies.  The sub assembly icon momentarily changes right before you drop the component in between the two sub assemblies and you inevitably drop the component into the sub assembly.  In fact, it is almost like you have to "throw" the component and hope that it hits between the two sub-assemblies -- it happens that fast.

Product Idea:

Make the hover time over a sub-assembly a longer so that users won't inadvertently drop the component into a sub-assembly

See PTC case numbers:


CS158767 -- see demo;

This issue shows up as #3 in the "Most annoying things with Creo" from the PTC Community, thread 40446 MOST ANNOYING THINGS WITH CREO


This always happens to me too. If I hold the mouse button down and hover I can see it's going to go to a sub assembly so I don't let go of the mounse button and bring it back to where it was. Sometimes I'll try this 3 times in a row before giving up. I noticed this right off with CREO 3. Never used CREO 2, just CREO 1


I would like to have a config Option to disable a restructure.


One thing that would match well with other methods is using a modifier key (CTRL, SHIFT, ALT) to change the function. Though I'd almost see it the other way around where dragging would reorder, and the modifier key would allow for restructuring. That would be the safest, the modifier key would allow the ability to more intensely modify the model tree. You could even make the other keys into other functions.

Default: Move/Reorder

CTRL:   Copy

SHIFT:  Restructure

ALT:      Put into new assembly?



Ever since they changed the spin/pan/zoom function from mouse buttons to ctrl/shift/alt buttons, I’ve disliked that method of guessing which to use. What they’ve adopted that’s particularly helpful is selecting something and getting an RMB menu of available functions. How about one which simply says Move, prompts for another component. Then, after selecting the component, offers options of Before/After/Inside. The first two apply reordering, the last (where applicable, i.e. a sub-assembly) generates a restructure.


The drag and drop functionality worked all right when it was first introduced. But it has a couple inherent problems. You can’t reorder dependents before parents. In order for this to not effect restructuring, that dependency check must be temporarily suspended. That makes the default selection as restructuring. So, to restore reordering as the default, you’d have to turn back on dependency checking and offer some way around it to get to restructuring beyond the parent. I prefer a way that skips those complications from the start, lets the program do its dependency checking so it can tell me there’s a problem when I’m reordering and skips the dependency checking when I’m restructuring. I think drag and drop just has way to much to do and conflicting things to do, to be able to work correctly and efficiently. Add to that trying to drag a component up past the top of a long list of components where drag is also scrolling the list, and it’s just too much to do well, accurately and efficiently.


David Janes



Has this issue still never been resolved?  I came from a company that used Solidworks and this was never a problem.  If you wanted to control which type of "drag and drop" function you wanted you could use the Alt, Shift or CTRL keys.

I found PTC's "solution" online.  See Document CS43568.   Here are the steps you have to do if you want to reorder a component/subassembly before or after a subassembly:

click Model tab > Component group > Component Operations > Reorder > select the target component to be reodered > Done > Before(or After) > select another component > Done/Return

That's 9 clicks just to reorder something!  That's a complete waste of time.


The "solution" you mention is the ancient and venerable method of reorder. Sometime around V20 or 20i, PTC added an insert bar so that you could add features or components earlier in the tree. Down the road, don't remember when, they added drag and drop for reorder. Recently that got changed to a dual function of reorder/restructure which is where this saga begins. I think what you're suggesting could work. I just don't like it, especially in this case where two things are perfectly valid, reorder or restructure, and you have to remember each time what you use the shift/alt/ctrl keys to do. I suppose you could have a default operation, such as reorder and shift for the other function of restructure. I was thinking it might be even easier, after the component is selected in the tree that an RMB activated menu could have the reorder and restructure options clearly spelled out. The program would be forewarned and all geared up to do one and only one of those operations and give itself no opportunity for confusion and error. Seemed simple enough to me. Hope someone agrees.




I have different problems with this reordering: I have often main_assembly with sub_assemblies and sub_sub_assemblies.

Creo is unable to move many parts from sub_sub_assembly_1, sub_assemly_2 and sub_assembly_3 to lets say sub_sub_assembly_4 at the same time.

I have always to select parts from one sub_assembly and move them to different sub_assembly.

This applies to Component Operations>Reorder as well.

Topaz II

Please check out Creo 4.0 M040 for "enable_dragdrop_on_components".


We've now added a new config option to prevent restructuring in the Model Tree. It's called "enable_dragdrop_on_components" and allows to choose between "all"(default) and "reorder".

  • "All" allows both operations, Restructure and Reorder.
  • "Reorder" allows you to only reorder components and features via drag&drop in the Model Tree; Restructure is then prohibited.

Restructuring via the ribbon/menu commands is still then possible.

Community Manager
Status changed to: Acknowledged

The fix is not great.  I restructure concept assemblies all the time.  reordering and restructuring.  So with this config option, I can either have convenient restructuring OR reordering with super-inconvenient restructuring via the component menu.  Why not just increase the ms delay before switching from reordering to restructure?  sorry 50ms is TOO fast!


the workaround I use though is to reorder the assembly and ALWAYS watch for the red-restructure arrow so-as not to mess up.  this doesn't help much when you are just reordering assemblies around.


Alternatively just ONLY make the restructure when hovering over the assembly icon, and NOT the name of the assembly.  OR something intuitive like that.

Another alternative would be to only restructure into an assembly if the assembly is expanded.   If collapsed the behavior would reorder, not restructure.  when expanded you can restructure into the assembly.


Many ways to do this that would beat the way it is being done now.

Hi ckeller, If sometimes you restructure, and sometimes you reorder, you don't want to use "enable_dragdrop_on_components" config option, I agree but I read a trick somewhere in this Community , if you only want to reorder, you can ‘activate’ the part before you move it through the model tree, and this movement never will restructure the part inside any subassembly.

Thanks for the tip, ill give it a try.