Top down for multi-designer enviroment

Hi All,

I am part of a small design group that builds moderately complexelectromechanical assemblies. Right now I am trying to set up amodeling strategy for our group based on some top-downphilosophies. I'm not at all convinced that what Ive come up withis a good way to do things. I know there are other people out therethat do this, and I wanted to see if anyone has advice.

At the top level I have both an ID master model (just surfaces),and master layout sketches (as its own part). These are insertedinto multiple "construction assembles", that are used by thedifferent designers to build parts and sub-assemblies that arein-context to the master parts. These parts are then assembled intoa common "main assembly", which is for general consumption and NOTused for editing.

The dangers here seem great. My feeling is that someone has toreign supreme over the master geometry to make sure that top levelchanges don't trickle through to the parts unknowingly. And eventhen, the relationships might become so complex that an accident isbound to happen. The only thing I can think of is to not allowin-context relationships except for very specific items that areidentified before the project starts.

Here is another issue. Plan all you want but sure as day there aregoing to be sub-assemblies that will need to be formed within thoseconstruction assemblies on the fly. As most people know, if youhave a group of parts that are in-context and then try to use the"form new sub-assembly here" command, you will be stuck with partsthat think they belong to the previous assembly and will beun-editable (unless you check the box that allows multiple contextsfor parts when editing in an assembly). The only option is todis-engage those relations and re-create them in the new assembly(this is not fun, Ive done it before).

I spoke with several people at Solidworks World about this topic,but still have not come up with a "best known method". Right nowI'm thinking that the dangers of top-down modeling outweigh therisk in a multi-user environment. Does anyone have a better method?

Thanks
Craig


In the attached picture:
S=Sub-Assembly
P=PartSolidworksAssemblies