The design principle of "Top-down" implies the dependence of the parts from the assembly. However, this dependence is not always possible. For example, you may know exactly which geometry elements of one fragment will define the elements of another, but you don't know in which assembly you can make them dependent on each other. Such a case is possible when the final structure of the assembly is not yet clear, or it is hidden because of the secrecy. Then you can assign a link not through the assembly, but directly between the files. In any case, you should specify the link between the fragments via the assembly file. But in this case it can be temporary.
Keep in mind that the use of temporary assemblies, or the unavailability of the assembly when editing fragments, should be caused by a real production or design need. In all other cases, it is not recommended to apply the temporary assembly and remove the assemblies. The very concept of "Top-down" design implies the presence of an assembly that defines all the parts included in it.
Let's consider the case when the "Box Cover" fragment depends on the geometry of the Box Body regardless of the Box assembly. Suppose we have an assembly "Box", in which one fragment is "Box Body". Create a new fragment "Box Cover" with the command Create 3D Fragment, and enable its editing in the context of the assembly. Create two reference elements using the Reference Element command: select the top face that defines the fixing edge and the face on which the cover will rest. In the parameters window, specify Geometry Source: initial fragment.
Exit the context of the assembly with saving . Check through the Assembly Structure window how the reference elements were created. From the Assembly Structure window, you can see that the fragment "Box Cover" has two referenced elements. After selecting the update option from the source fragment (in this case we could choose the update option from the fragment of the first level, because the result would be the same), we specified that Geometry Source is in the "Box Body" file. Source parameters (Get Parameters from the Document) is always the assembly file in the context of which the reference element was created.
Despite the fact that the fragment "Box Cover" is a fragment of the first level, because when creating the reference element, we did not specify that the geometry source is in the assembly, then there is no connection in the reference element Assembly > fragment of the first level, and the reference element did not fall into the geometric parameters, i.e. the created fragment is not adaptive. As you can see, when changing the geometry source option from the assembly to another option, the option to create geometric parameters is not available.
Let's create a Box Cover geometry based on the created reference elements.
If we change the "Box Body" fragment, the "Box Cover" fragment will convert its geometry according to Box Body changes only after updating the reference elements. You can do it in the Assembly Structure or 3D Model window, as shown earlier.
When the source geometry does not depend on the assembly file, we can delete the assembly file, the fragments will not lose their links via the reference elements.
For example, delete the file "Box" and create a new assembly file "Box_2". Insert fragments "Cover Box" and "Box Body" into using the Insert 3D Fragment command.
In the Assembly Structure window of the new "Box_2" assembly, you can see that the "Box Cover" fragment as before contains reference elements whose geometry source is the "Box Body" fragment.
The source of the document parameters (Get Document Parameters from) is still the deleted "Box" file. This means that if we needed to move, rotate, or scale a fragment for correct positioning in the assembly, we would have to do it again. In this case, no transformation parameters were passed from the remote assembly to the fragment, because we did not move or scale the fragments in the assembly.
Change the length of the Box Body in the new "Box_2" assembly, and update the reference elements through the Assembly Structure window.
The new assembly file "Box_2" has been updated as if we were working in the original assembly file "Box".