I have an assembly file in Solidworks 2019 with two components, the green, and yellow rectangular prisms. front left

I'm having trouble understanding the instructions I found online about making an intersection with these two components. Can someone help me with this?

They form a subassembly in a larger file, and I'm really just interested in the volume that they share.

Edit I just found out how to make a 3D sketch outlining the intersection. Tools > Sketch tools > Intersection curve. But I'm not sure how to take this further and extract the intersected volume. intersection

Edit 2 I am looking to take these two parts from the subassembly and make a new single part where they intersect.

Yes, they ultimately do need to be an assembly, but if it can be converted temporarily that's fine. It can be saved under a new name first as a file with a multibody if necessary.

The only remaining part should be the intersection of yellow and green. (Although if I think about it carefully, it might be important not to remove the portion of green below the intersection in the final part.) The leftovers can be removed as long as it's in a separate file. I still need the subassembly for other things in the larger assembly I mentioned.

  • $\begingroup$ Do these have to be in an assembly? If you had them as bodies in a multibody part then it would be effortless to just use the combine tool. $\endgroup$ Commented May 28, 2021 at 7:03
  • $\begingroup$ So, you are looking to take two parts, and create one part at their intersection. Which part do you want to 'become' the only remaining part? Which to be removed? You want to create a new third part and leave the original two in situ? $\endgroup$ Commented May 28, 2021 at 8:28
  • $\begingroup$ I'll clarify that in question. $\endgroup$
    – WnGatRC456
    Commented May 28, 2021 at 10:39
  • $\begingroup$ Ok - final question, is this a one-off task, or is it critical that the intersection part updates dynamically if you were to change the geometry of the green/yellow parts, or their positions in the assembly. (Knowing this will affect my recommendation) $\endgroup$ Commented May 28, 2021 at 11:22
  • $\begingroup$ I'd say it should be as dynamic as possible. The relative positions of green and yellow, as well as their shapes are not perfectly set in stone. I'd like to have a repeatable process to follow if I need change some of the dimensions. $\endgroup$
    – WnGatRC456
    Commented May 28, 2021 at 11:40

2 Answers 2


So, this is actually non-trivial. Here are the key points:

  1. In order to use the "Combine" feature, to create the volume that you want, you need to have a multibody part

  2. In order to move the parts dynamically inside a multibody, you need to use mates with the "move/copy bodies" feature. It cannot accept a global variable for translate/rotate moves, which is a bit annoying.

  3. You cannot mate to an external reference, therefore, the position of the parts in the assembly must be defined by the position of the parts in the multibody, not the other way around.

I have created a demo assembly here, which I believe achieves all of your goals: http://www.filedropper.com/yellowgreenintersect

Intersection in Assembly

The way that this works is as follows:

  1. The green part is fixed at the origin in both the assembly and the multibody - you can follow the same method as explained below for the yellow part if this is not suitable

  2. I created a virtual component for the intersection, and used "Insert Part" to insert both yellow and green parts at the origin.

  3. I created a 3D sketch to fully define the position of the yellow part. Adjusting the geometry of this 3D sketch can control all six degrees of freedom. Currently it's dimensioned for X/Y/Z position, and the rotation is fixed by constraints, but if you were to remove these and place angle dimensions, rotation could be controlled also.

  4. I used move/copy bodies to constrain the yellow body (inside the multibody part) to the 3D sketch

  5. I used the Combine feature to create the common volume (Red)

  6. In the assembly the Yellow body is mated to the 3D sketch from the part, using the same constraints. If you want to move the yellow body position, you must edit the 3D sketch.

  7. Everything updates dynamically, you can change the shape/size/position/rotation of the bodies, you can add bosses or holes etc.

I hope this helps - good luck!

  • $\begingroup$ Sorry - just realised you are using SW2019 so the 2020 files I attached won't be much use... Hopefully you can recreate from the description? Let me know if you need any more info. $\endgroup$ Commented May 28, 2021 at 13:54
  • 1
    $\begingroup$ Hi @JonathanRSwift, it will be a while before I can check to see if this works but it sounds good. Once I can get a chance to confirm I'll accept or add questions in the comments. Please give me a few days to respond. $\endgroup$
    – WnGatRC456
    Commented May 28, 2021 at 15:58
  • 1
    $\begingroup$ I apologize it's been so long since coming back to this. Your solution works for my purposes. I honestly forgot to come back and accept the answer, sorry about that. $\endgroup$
    – WnGatRC456
    Commented Jun 20, 2021 at 18:06

This is surprisingly tricky, even in SW2020.

If you don't need to operate on individual bodies and your parts are "simple", you can use the cavity tool within an assembly to completely remove the volume of GreenPart from YellowPart. Cavity doesn't do an intersection, but you can achieve that effect by modeling one of the parts as a "mold" of the solid you actually want.

If your assembly is "simple", and you just need the final result without keeping live parametrics, you can save-as the assembly as a multi-body part, and then use conventional multi-body operations to perform the intersection. Combine, intersect, etc.

However, if you are in the full general case of multibody parts, need to operate just on individual bodies within these, and want to preserve the parametrics for living updates, it is harder. There are two ways I've found, and what I use depends on the parts in question.

  • Option A: Edit the YellowPart in-context in the assembly and use the offset surface command with an offset of 0 to make surface copies to get the geometry of a body in GreenPart into YellowPart. Then you can knit, and make solid. And then use conventional multi-body operations in YellowPart.

  • Option B: Within your assembly, create an incontext 3D sketch in YellowPart that contains three points that are located at easy-to-find vertices of GreenPart. These will lock down the 6 degrees of freedom. Then do an Insert Part in YellowPart to bring in the bodies of GreenPart. Use the constraints option to locate the selected verticies of GreenPart where it was in the assembly via the sketch points in the 3d sketch. Then you can again use conventional multi-body operations in the YellowPart.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.