Good question. I like to dive under the hood once in a while and try to explain how it all works…
The answer is you should be able to simply copy and paste any Medeek “Assembly” group from one file into another without any problems. The one caveat to that is that if the global axis of the model has been altered you cannot or should not try to create or edit any of your assemblies with the plugins within that file/model.
If you look at the entity name for any Medeek assembly or group you will notice some key words (ie. RECT_WALL_ASSEMBLY) within the name. You will also notice that the key word is followed by a long string of numbers which is nothing more than a timestamp (down to the nearest second) and this is what ensures that each Medeek assembly is unique.
If one was to remove the timestamp portion of the entity name or make it identical to another entity name of another assembly within the model this will create problems. The plugin(s) need to know which “group” they are editing and the entity name serves that purpose across multiple operations in some cases.
A Medeek assembly is simply a group full of various other groups or components. The interesting part is the attribute library for the group, this contains all of the parameters that define the assembly (ie. Wall Height, cladding, sheathing, insulation, windows, doors, etc…) Essentially the attribute library is like a mini database for each assembly. It contains all of the parameters or properties that define that assembly and allow one to completely draw the entire assembly with all of its components from scratch. As I’ve said previously the actual physical geometry created within a wall, roof or foundation assembly is nothing more than a physical manifestation of the attribute library for that assembly.
However, it should be noted that any “CUSTOM” geometry or electrical fixtures added to the assemblies are not being tracked by the plugins (Wall, Truss, Foundation). These drawing entities are simply being ignored and that is why they are allowed to persist within an assembly upon a rebuild.
Since electrical fixtures inserted into Medeek assemblies (or any assembly for that matter) still need to be tracked, modified, and counted by the Electrical plugin each electrical group will have a unique entity name as well (ie. ELECT_ASSEMBLY_PANEL_20210506014425).
The whole system seems to work reasonably well thus far, and if one wants to simply copy an assembly and essentially create a new clone they can just use the native copy and paste commands in SketchUp and then alter the entity name so that it is different from the original. The exact content of the “uniqueness” string at the end of the entity name does not need to be just numerals it can be any sort of alpha-numeric string. The important point is that it needs to be unique within the model.