I am familiar with the Top-down Design approach but, have one question. How do you intergrate a known part/ sub-assembly into the design process?
Suppose I want to use a existing standard motor. I have a top level assembly with a skeleton model. The motor will eventually be assembled at a later time but, I need it to develope the skeleton surfaces that will be used to create the housing around the motor. I need to pass information from the motor to the top-level skeleton. What are the best practices for this?
I've created a public geometry in the reference part, in the case the motor, and then creating an external copy geom in my skeleton to bring that in. I typically will create a dedicated CS in the skeleton to poosition the imported geometry properly. I then use that CS to assemble my part (the motor) in the assy. This works well as you can then drive any number of skeletons in different assemblies by the common motor. It can create a lot of dependencies, however, although these dependencies exist in your real physical parts already.
Another way, if the important geometry is simple, is to simply re-create the geometry in the skeleton from the spec sheet. If your reference part is a known entity that isn't going to change, that's a more reasonable method that creates fewer dependencies.
You could also take that a step farther and drive your model of the motor from your skeleton, assuming that you are making this model not a vendor. This doesn't seem wise, however, for a couple reasons. First, you don't control the motor so driving the model from your skeleton isn't true to the design intent. Second, this ties the motor, which may get re-used in a number of other designs, to a specific assembly.