If I understand correctly, do you want to create constraints in your X assembly put by putting the constraints in the s/e Y or Z ?
To give it a try, I created an s/e in my head assembly, and I edited the s/e in the assembly. When I try to grab a piece of the head assembly, I get a message! (see image).
Your request is a basic function of SW and you can put a dozen different types of constraints between two assemblies. Practically no limits on the number of constraints you can put on.
On the other hand, precise: whether they are static or dynamic constraints because in this case there are very minimal precautions to take into account.
Kind regards
@matthieu I didn't understand your answer to @Tilli67
I agree with Aliende, but be careful with flexible subsets there is (or had, I haven't tested for a long time) a limit in the depth of subsets. Beyond 5 subsets, from memory, it no longer works and generates errors in all directions.
As a result, the hose requires to leave degrees of freedom in the sub-assemblies so that the parts can be constrained in the upper level. It all depends on the goal you are looking for.
I confirm for the depth of the subassemblies in flexible mode: but by not exceeding three levels of depth we have few constraints. I regularly have up to fifteen subsets in level two. There are bugs sometimes and functions to avoid but I know the workaround methods (hihihi) for a long time. Note that in the 2018 and 2019 versions they have made an effort thanks to better management of the graphics card.
@Aliende for the rigid hose that's what I meant by [[ very minimal precautions to take into account. ]] :-) ;-)
In my X assembly, I would like to be able to put constraints to be able to position my Parts Y 1, because it depends on the X assembly and the Y assembly.
We must, as my eminent colleagues say, give flexible status to the Y assembly. The stress will then be in assembly X.
But be careful, this kind of assembly quickly turns sour, as long as assembly Y is present several times in assembly X and/or in an assembly W. W being itself called by a level higher than that of X and at the same time as X.
You have to consider that you are in the classic case of the Parent-child relationship.
You have a parent named Assembly X
You have two children who are Y Assemblies and Z Assembly. These two children have a relationship with each other only through the parent but not any two-to-two relationship. In other words, without the parent, they have no relationship with each other since they do not share any room (in your example).
In summary of what I understood. ;-)
To constrain Y1, which is a part of Assembly 1, you do not need to refer to Assembly Y. You can use any surface or plane of Y1 to attach (constrain it) to ASSEMBLY X.
You just have to take the precaution at the time of insertion to delete the relation that sets the default subset. (you just have to release the subassembly Y before constraining it in the way that suits you).
As @gt22 says, if it's not that, it's better to post your subassemblies and tell us which part should be constrained first.
Note in passing that in the above explanation we no longer have to worry about whether the subset Y and Z have a kinematics that would justify the use of the Flexible VS Rigid function since the question seems to me to be elsewhere.
Kind regards
PS: I have the somewhat confused feeling that your request is elsewhere: but hey!