how to apply mate to parts in the same sub assembly in an upper level assembly?

Due to assembly structure requirements, we have things that are modeled in a sub assembly that is not fully defined, then used as flexible in the upper-level assemblies they go to. It is normal to need to position components in the same sub assembly in an upper-level assembly. How can we do this?

Did not have this problem in Solid Edge, this is new to me.
image.png
Thank you

Can you be a little more specific?

The error you get is due to the fact that you are trying to mate from Assembly A but you only select components/mating entities from Subassembly B within A.
Is that the intention? Why are you not able to mate those earlier? Can you choose different entities not from Subassembly B for mating?

Can you set up your assemblies in a different way?
Example:
We “split” our hinges into 3 configurations.
1 full hinge (part a + b)
1/2 hinge part a
1/2 hinge part b
“1/2 hinge part a” does not show up on a BOM. So if we ever have to put the movement in, we can just put the config “1/2 hinge part a” in and on the top level place the configuration “1/2 hinge part b”. The movement can be simulated like this without having to have any flexible sub-assemblies.
I know that this is not always possible - esp. regarding more complex movements/assemblies but maybe this helps.

Position the sub assembly as needed in the upper level assembly.

Then edit the sub assembly in the context of the main assembly.

Add the mates inside the sub assembly

Now your sub assembly is in the position you want.

For one where used, but not all the others. This is the point of a “flexible assembly”

I was hoping the process could be defined in more generic terms. Such as assembly A has parts 1 and 2 that are not fully constrained. Assembly B has components A, 3 and 4; component A is set to be flexible. In assembly B I can mate part 1 to part 4. How can I mate part 1 to part 2 in assembly B and leave them loose in assembly A?

Why do this? Because we have subassemblies in CAD to match the BOM structure in ERP, the hardware and other bits are positioned differently in the various where used. It does not work very well to make them each a config in the subassembly.

You can’t add mate to components in the Flex assembly.
You need to mate them to components in the Upper assembly.
Upper assembly should have features to locate the flex assembly.

I use flex on cylinders. To show ext, ret and free.
I use “Positional Rep” (IV) or config.

Need to set the assembly Flexible in the Upper assembly.

You cannot mate Part 1 and Part 2 in B
You need to mate Part 1 to B and Part 2 to B.

Door hinge assembly. Upper and Lower. Free to rotate.
Put it in cabinet assembly.
Upper hinge mate to door, Lower mate to cabinet.
Add angle mate between door and cabinet.

hhhh

We’ve learned a lot of new ways to accomplish the same end while migrating to SW and much of it’s ok. But I’ve been blind sighted (or blindsided) by a few missing functions that ended up with crappy work arounds. This is one of them.

bnemec I think I see what you want although I don’t know why without seeing an example. We have lots of kits that we manufacture that get assembled in the field. So we create “bolt” kits as assemblies that contain for example:

10x Hex Bolts
10x Flat washers

Then what you want is to insert that kit “as flexible” into an upper assembly and mate them together at that level, right? I see the error, but we’ve never encountered it as we would mate the bolt to the washer in the kit sub-assembly. Then just mate the “group” to the location in the upper assembly. You must have a different use case I’m not visualizing.

He try to add mate on bolt and washer in upper assembly.

I typically create configurations for critical positions in the sub assembly. (For example, an actuator will have fully retracted, fully extended, and any other critical positions needed.) These configurations have to travel all the way up the assembly to the level where you want to control the position. It isn’t the quickest way to solve the problem, and it can be a bit of a mess if the actuator is used across different designs and needs several different positions. Despite the time investment, it has been rock solid.

As Fred said, mating bolt to washer in upper level. Not exactly that simple but it paints the picture. Sometimes we can do as you state; mate the washer on the bolt in the subassembly then position the bolt in the upper level. But when there’s more hardware with various combinations it must be done in the upper assembly.

So now when there’s a stack of parts in the subassembly the only option we’ve come up with is to position them with distance using “magic numbers” for the distance or aligning them with parts that are far from adjacent. Then some just gave up and locked/fixed the parts.

I feel like I’m missing something here, but for the bolt and nut assembly you can leave it flexible, then mate the bolt and nut to their appropriate locations in the upper level Assembly. That shouldn’t throw any errors.

Or is this example too generic?

For what we’re doing, we’ve avoided configs for things like this. Couple of reasons.
The sub kit should not have an awareness of how it will be used; we shouldn’t need to edit the sub assembly file when using it in a new way. That is cemented with states in PDM as the sub assembly is in a released state with rev control so editing it to add a new config would require PDM admin to put the file in WIP with a no rev change; something we’re trying to keep out of our normal process.
Second reason you already mentioned, it’s a bit of a mess when the where used tree fans out to dozens of files, with unknown number of people maintaining the models for the next couple decades or until we change CAD again.

But as usual it’s a choice of the least bad options.

A flex robot arm will go crazy. Too many DoF.
You’ll need some way to limit it’s movement/travel which usually is not possible in CAD.
Sometime you’ll need to add plane, axis, point, sketch to help locate it in upper assembly.

Hi Glenn, add a few custom spacers. Keep in mind there’s probably 4 screws and let’s say 8 spacers. Some will have 4 spacers on 2 screws, some will have 2 spacers on four screws. The problem goes back to the MFG BOM only cares about the pn and count (well along with where it’s consumed and such but…) it does not define the position. So to actually work in all the where used we need to mate spacers to spacers sometimes.

But as Fred plainly stated SW does not support that. I’m a fool for assuming it could.

This is the Solidworks way.

Sometime its process, purchasing and sales want their BOM a certain way.
I’ve encountered a recursive part list.

We haven’t done that yet. LOL. I can’t imagine what would happen when MRP rolls that night after someone tries that. There might be some locks that prevent it.

This is why our BOMs are often manually done. We design a complete product but it’s assembled in the field on the job site. Manufacturing builds sub-components of the products and does a lot of kitting and combining that makes little sense from an “Engineers” view. But they are forced to work with MFG and build the structure their way so often our models don’t reflect the BOM…meaning no kits usually in the model. Or if we do, its a flexible kit sub-assy. Wiring is worse than kits with harnesses and the different ways tot route the same thing. Honestly it’s a bit of mess and I envy those places that get to completely work on a model and BOM that match.

As we move to Windchill, we now have a global standard design engineering view. The model and BOM have the same structure. Windchill allows you to create a “Mfg” BOM view where you can rip the Eng-BOM apart, insert sub-assys and kits, etc. We still have the challenge that the MFG BOM and engineering 3d model/drawing don’t jive. Now we are creating a near duplicate Mfg drawing and in some cases a near duplicate Mfg model because they deviate so much from the E-BOM. I’m not sure which way is better but I can’t imagine that any CAD system handles this sort of thing that well.