mwganson / DynamicData

FreeCAD workbench for creating and managing custom property container objects.
GNU Lesser General Public License v2.1
41 stars 8 forks source link

DD Objects in Parts #78

Open dustinlacewell opened 7 months ago

dustinlacewell commented 7 months ago

Hey there, thanks for the very helpful plugin. Should I be able to move a DD Object into a Part for organizational purposes? It seems I can move it under individual Pads, Pockets, etc - but not the Part itself.

Thanks!

mwganson commented 7 months ago

Unless something has changed recently you can drag and drop the dd object on top of the Part container to put it inside the Part hierarchy in the tree. If that doesn't work, the Part object has a Group property that can be edited to add the dd object to it. Bear in mind properties in a dd object (and properties in any object, for that matter) are global in scope regardless of where the object is in the tree. Also, you can add the properties directly to the Part object if you wish, instead of to the dd object, just be mindful of potential circular references / cyclic dependencies.

I know there is a change coming to allow for better tree manipulation, but I haven't updated FreeCAD recently to try it out. It's possible that change has created an issue with adding dd objects to Part containers. If so, then that would be a good bug report to add so the developer who made the change can address it.

dustinlacewell commented 7 months ago

Just leaving a note here for now; From the DynamicData settings, if you enable "Add to active container", then creating a new DD object while a Part is the active selection will correctly put it under the part. Still can't drag it in there though.

Bear in mind properties in a dd object (and properties in any object, for that matter) are global in scope regardless of where the object is in the tree.

Yes, but they do seem to be namespaced with reference to the DD object names / labels.

mwganson commented 7 months ago

Drag it on top of the Part object icon to put it inside the container.